diff --git a/.docker/services/redis/Dockerfile b/.docker/services/redis/Dockerfile deleted file mode 100644 index 8220abe3f..000000000 --- a/.docker/services/redis/Dockerfile +++ /dev/null @@ -1,5 +0,0 @@ -FROM redis:7-alpine - -RUN mkdir -p /run/redis-socket && chmod 777 /run/redis-socket -COPY ./redis.conf /etc/redis.conf -CMD ["redis-server", "/etc/redis.conf"] diff --git a/.docker/services/redis/redis.conf b/.docker/services/redis/redis.conf deleted file mode 100644 index b067b4c17..000000000 --- a/.docker/services/redis/redis.conf +++ /dev/null @@ -1,7 +0,0 @@ -unixsocket /run/redis-socket/redis.sock -unixsocketperm 777 -port 0 - -save 900 1 -save 300 10 -save 60 10000 diff --git a/.docker/supervisor/supervisord.conf b/.docker/supervisor/supervisord.conf new file mode 100644 index 000000000..768921d42 --- /dev/null +++ b/.docker/supervisor/supervisord.conf @@ -0,0 +1,64 @@ +[supervisord] +nodaemon=true +user=root +logfile=/dev/stdout +logfile_maxbytes=0 +pidfil=/www/storage/logs/supervisor/supervisord.pid +loglevel=info + +[program:octane] +process_name=%(program_name)s_%(process_num)02d +command=php /www/artisan octane:start --host=0.0.0.0 --port=7001 +autostart=%(ENV_ENABLE_WEB)s +autorestart=true +user=www +redirect_stderr=true +stdout_logfile=/dev/stdout +stdout_logfile_maxbytes=0 +stdout_logfile_backups=0 +numprocs=1 +stopwaitsecs=10 +stopsignal=QUIT +stopasgroup=true +killasgroup=true +priority=100 + +[program:horizon] +process_name=%(program_name)s_%(process_num)02d +command=php /www/artisan horizon +autostart=%(ENV_ENABLE_HORIZON)s +autorestart=true +user=www +redirect_stderr=true +stdout_logfile=/dev/stdout +stdout_logfile_maxbytes=0 +stdout_logfile_backups=0 +numprocs=1 +stopwaitsecs=3 +stopsignal=SIGINT +stopasgroup=true +killasgroup=true +priority=200 + +[program:redis] +process_name=%(program_name)s_%(process_num)02d +command=redis-server --dir /data + --dbfilename dump.rdb + --save 900 1 + --save 300 10 + --save 60 10000 + --unixsocket /data/redis.sock + --unixsocketperm 777 +autostart=%(ENV_ENABLE_REDIS)s +autorestart=true +user=redis +redirect_stderr=true +stdout_logfile=/dev/stdout +stdout_logfile_maxbytes=0 +stdout_logfile_backups=0 +numprocs=1 +stopwaitsecs=3 +stopsignal=TERM +stopasgroup=true +killasgroup=true +priority=300 \ No newline at end of file diff --git a/.dockerignore b/.dockerignore index c86c433c6..3b0ee1124 100644 --- a/.dockerignore +++ b/.dockerignore @@ -23,3 +23,4 @@ docker-compose.yml storage/laravels.conf storage/laravels.pid storage/laravels-timer-process.pid +/frontend diff --git "a/.github/ISSUE_TEMPLATE/bug-report----\351\227\256\351\242\230\345\217\215\351\246\210.md" "b/.github/ISSUE_TEMPLATE/bug-report----\351\227\256\351\242\230\345\217\215\351\246\210.md" index beeb6eb53..578ef2e1c 100644 --- "a/.github/ISSUE_TEMPLATE/bug-report----\351\227\256\351\242\230\345\217\215\351\246\210.md" +++ "b/.github/ISSUE_TEMPLATE/bug-report----\351\227\256\351\242\230\345\217\215\351\246\210.md" @@ -1,43 +1,39 @@ --- -name: Bug report | 问题反馈 -about: Tell us what problems you have encountered -title: "[BUG]" -labels: '' +name: 🐛 问题反馈 | Bug Report +about: 提交使用过程中遇到的问题 | Report an issue +title: "问题:" +labels: '🐛 bug' assignees: '' - --- -🙇‍♂️🙇‍♂️🙇‍♂️注意:XrayR等非XBoard问题请前往项目方提问 -🙇‍♂️🙇‍♂️🙇‍♂️Note: XrayR and other non-XBoard issues please go to the project side to ask questions - - -The XBoard version number you are using -当前使用的XBoard版本号(git commit id) --------- - -Would you like to deploy using Docker? -你的部署方式(是否为Docker) --------- - - -Please briefly describe the issue you encountered (preferably with reproducible steps). -简单描述你遇到的问题(最好带上复现步骤) --------- - - + + -Screenshot of the reported error(Please do desensitization) -报告错误的截图(请做脱敏处理) --------- +> ⚠️ 请务必按照模板填写完整信息,没有详细描述的issue可能会被忽略或关闭 +> ⚠️ Please follow the template to provide complete information, issues without detailed description may be ignored or closed +**基本信息 | Basic Info** +```yaml +XBoard版本 | Version: +部署方式 | Deployment: [Docker/手动部署] +PHP版本 | Version: +数据库 | Database: +``` +**问题描述 | Description** + -Screenshot of the reported error(Please do desensitization) -报告错误的截图(请做脱敏处理) --------- +**复现步骤 | Steps** + +1. +2. +**相关截图 | Screenshots** + -Run the php artisan log:export 7 command to export log files (where 7 represents logs for the last 7 days). -运行`php artisan log:export 7` 命令导出的日志文件(其中7为最近7天的日志)。 --------- +**日志信息 | Logs** + +```log +// 粘贴日志内容到这里 +``` diff --git "a/.github/ISSUE_TEMPLATE/feature-request---\345\212\237\350\203\275\350\257\267\346\261\202.md" "b/.github/ISSUE_TEMPLATE/feature-request---\345\212\237\350\203\275\350\257\267\346\261\202.md" index f025311b5..f1374ecd1 100644 --- "a/.github/ISSUE_TEMPLATE/feature-request---\345\212\237\350\203\275\350\257\267\346\261\202.md" +++ "b/.github/ISSUE_TEMPLATE/feature-request---\345\212\237\350\203\275\350\257\267\346\261\202.md" @@ -1,11 +1,28 @@ --- -name: Feature request | 功能请求 -about: Tell us what you need -title: "[Feature request]" -labels: '' +name: ✨ 功能请求 | Feature Request +about: 提交新功能建议或改进意见 | Suggest an idea +title: "建议:" +labels: '✨ enhancement' assignees: '' - --- -Please describe in detail the problems or needs you have encountered. -请详细描述你遇到的问题或需求。 +> ⚠️ 请务必按照模板详细描述你的需求,没有详细描述的issue可能会被忽略或关闭 +> ⚠️ Please follow the template to describe your request in detail, issues without detailed description may be ignored or closed + +**需求描述 | Description** + + + +**使用场景 | Use Case** + + + +**功能建议 | Suggestion** + +```yaml +功能形式 | Type: [新功能/功能优化/界面改进] +预期效果 | Expected: +``` + +**补充说明 | Additional** + diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 00dd38602..155944e84 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -1,89 +1,93 @@ -name: Docker - -# This workflow uses actions that are not certified by GitHub. -# They are provided by a third-party and are governed by -# separate terms of service, privacy policy, and support -# documentation. +name: Docker Build and Publish on: push: - branches: [ "dev" ] - # Publish semver tags as releases. - tags: [ 'v*.*.*' ] - workflow_dispatch: # Enable manual trigger + branches: ["master"] + workflow_dispatch: env: - # Use docker.io for Docker Hub if empty REGISTRY: ghcr.io - # github.repository as / IMAGE_NAME: ${{ github.repository }} - jobs: build: - runs-on: ubuntu-latest permissions: contents: read packages: write - # This is used to complete the identity challenge - # with sigstore/fulcio when running outside of PRs. id-token: write steps: - - name: Checkout repository - uses: actions/checkout@v3 - - uses: satackey/action-docker-layer-caching@v0.0.11 - continue-on-error: true + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 0 - name: Set up QEMU uses: docker/setup-qemu-action@v3 - - - name: Install cosign - uses: sigstore/cosign-installer@v3.4.0 with: - cosign-release: 'v2.2.2' + platforms: 'arm64,amd64' - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3.2.0 + uses: docker/setup-buildx-action@v3 + with: + platforms: linux/amd64,linux/arm64 + driver-opts: | + image=moby/buildkit:latest - # Login against a Docker registry except on PR - # https://github.com/docker/login-action - - name: Log into registry ${{ env.REGISTRY }} - uses: docker/login-action@v3.1.0 + - name: Login to registry + uses: docker/login-action@v3 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - name: Extract Docker metadata + - name: Extract metadata id: meta - uses: docker/metadata-action@v5.5.1 + uses: docker/metadata-action@v5 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: | + type=ref,event=branch + type=sha,format=long + type=raw,value=new - name: Get version id: get_version run: echo "version=$(git describe --tags --always)" >> $GITHUB_OUTPUT - - name: Build and push Docker image + - name: Update version in app.php + run: | + VERSION=$(date '+%Y%m%d')-$(git rev-parse --short HEAD) + sed -i "s/'version' => '.*'/'version' => '$VERSION'/g" config/app.php + echo "Updated version to: $VERSION" + + - name: Build and push id: build-and-push - uses: docker/build-push-action@v5.3.0 + uses: docker/build-push-action@v5 with: context: . push: true platforms: linux/amd64,linux/arm64 - tags: ${{ env.REGISTRY }}/${{ github.repository_owner }}/xboard:latest,${{ env.REGISTRY }}/${{ github.repository_owner }}/xboard,${{ env.REGISTRY }}/${{ github.repository_owner }}/xboard:${{ steps.get_version.outputs.version }} - # Sign the resulting Docker image digest except on PRs. - # This will only write to the public Rekor transparency log when the Docker - # repository is public to avoid leaking data. If you would like to publish - # transparency data even for private images, pass --force to cosign below. - # https://github.com/sigstore/cosign - - name: Sign the published Docker image + cache-from: type=gha + cache-to: type=gha,mode=max + tags: | + ${{ env.REGISTRY }}/${{ github.repository_owner }}/xboard:master + ${{ env.REGISTRY }}/${{ github.repository_owner }}/xboard:latest + ${{ env.REGISTRY }}/${{ github.repository_owner }}/xboard + ${{ env.REGISTRY }}/${{ github.repository_owner }}/xboard:${{ steps.get_version.outputs.version }} + build-args: | + BUILDKIT_INLINE_CACHE=1 + provenance: false + + - name: Install cosign + uses: sigstore/cosign-installer@v3.4.0 + with: + cosign-release: 'v2.2.2' + + - name: Sign image + if: steps.build-and-push.outputs.digest != '' env: - # https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-an-intermediate-environment-variable - TAGS: ${{ steps.meta.outputs.tags }} - DIGEST: ${{ steps.build-and-push.outputs.digest }} - # This step uses the identity token to provision an ephemeral certificate - # against the sigstore community Fulcio instance. - run: echo "${TAGS}" | xargs -I {} cosign sign --yes {}@${DIGEST} + COSIGN_EXPERIMENTAL: 1 + run: | + echo "${{ steps.meta.outputs.tags }}" | xargs -I {} cosign sign --yes "{}@${{ steps.build-and-push.outputs.digest }}" diff --git a/.gitignore b/.gitignore index 90119cde1..6ce6c1908 100755 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,5 @@ cli-php.ini frontend docker-compose.yaml bun.lockb +compose.yaml +.scribe \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index d400310e2..e1e4bf614 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,17 +1,27 @@ -FROM phpswoole/swoole:php8.1-alpine +FROM phpswoole/swoole:php8.2-alpine COPY --from=mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/local/bin/ +RUN install-php-extensions pcntl bcmath zip redis \ + && apk --no-cache add shadow sqlite mysql-client mysql-client mysql-dev mariadb-connector-c git patch supervisor redis \ + && addgroup -S -g 1000 www && adduser -S -G www -u 1000 www \ + && (getent group redis || addgroup -S redis) \ + && (getent passwd redis || adduser -S -G redis -H -h /data redis) -RUN install-php-extensions pcntl bcmath inotify \ - && apk --no-cache add shadow sqlite mysql-client git patch \ - && addgroup -S -g 1000 www && adduser -S -G www -u 1000 www -#复制项目文件以及配置文件 WORKDIR /www COPY .docker / COPY . /www +COPY .docker/supervisor/supervisord.conf /etc/supervisor/conf.d/supervisord.conf + RUN composer install --optimize-autoloader --no-cache --no-dev \ && php artisan storage:link \ && chown -R www:www /www \ - && chmod -R 775 /www + && chmod -R 775 /www \ + && mkdir -p /data \ + && chown redis:redis /data + +ENV ENABLE_WEB=true \ + ENABLE_HORIZON=true \ + ENABLE_REDIS=false -CMD php artisan octane:start --server="swoole" --port=7010 \ No newline at end of file +EXPOSE 7001 +CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf"] \ No newline at end of file diff --git a/README.md b/README.md index 740050de1..2b39cb978 100644 --- a/README.md +++ b/README.md @@ -1,64 +1,91 @@ -# 关于Xboard -Xboard是基于V2board二次开发,在性能上和功能上都有大部分增强的**面板 - -# 免责声明 -本项目只是本人个人学习开发并维护,本人不保证任何可用性,也不对使用本软件造成的任何后果负责。 - -# Xboard 特点 -基于V2board 二次开发,增加了以下特性 -- 升级Laravel10 -- 适配Laravels (提升至10+倍并发) -- 适配Webman (比laravels快50%左右) -- 修改配置从数据库中获取 -- 支持Docker部署、分布式部署 -- 支持根据用户IP归属地来下发订阅 -- 增加Hy2支持 -- 增加sing-box下发 -- 支持直接从cloudflare获取访问者真实IP -- 支持根据客户端版本自动下发新协议 -- 支持线路筛选(订阅地址后面增加 &filter=香港|美国) -- 支持Sqlite安装(代替Mysql,自用用户福音) -- 使用Vue3 + TypeScript + NaiveUI + Unocss + Pinia重构用户前端 -- 修复大量BUG - -# **系统架构** - -- PHP8.1+ -- Composer -- MySQL5.7+ -- Redis -- Laravel - -## 性能对比 [查看详情](./docs/性能对比.md) -> xboard 无论前端还是后端性能都有巨大的提升 - -|场景 | php-fpm(传统) | php-fpm(传统开启opcache) | laravels | webman(docker)| -|---- | ---- |---- |----| ---| -|首页 | 6请求/秒 | 157请求/秒 | 477请求/秒 | 803请求/秒 | -|用户订阅 | 6请求/秒 | 196请求/秒 | 586请求/秒 | 1064请求/秒 | -|用户首页延迟| 308ms | 110ms | 101ms | 98ms | - -## 页面展示 -![示例图片](./docs/images/dashboard.png) - -## 安装 / 更新 / 回滚 -你可以点击查看下列方式的**安装、更新**步骤 -- [1panel 部署](./docs/1panel安装指南.md) -- [Docker Compose 纯命令行快速部署](./docs/docker-compose安装指南.md) -- [aapanel + Docker Compose (推荐)](./docs/aapanel+docker安装指南.md) -- [aapanel 部署](./docs/aapanel安装指南.md) -### 从其他版本迁移 -#### 数据库迁移 -**根据你的版本查看对应的迁移指南进行迁移** -- v2board dev 23/10/27的版本 [点击跳转迁移指南](./docs/v2b_dev迁移指南.md) -- v2board 1.7.4 [点击跳转迁移指南](./docs/v2b_1.7.4迁移指南.md) -- v2board 1.7.3 [点击跳转迁移指南](./docs/v2b_1.7.3迁移指南.md) -- v2board wyx2685 [点击跳转迁移指南](./docs/v2b_wyx2685迁移指南.md) - - -### 注意 -> 修改后台路径需要重启才能生效 +# Xboard + +
+ +[![Telegram](https://img.shields.io/badge/Telegram-Channel-blue)](https://t.me/XboardOfficial) +![PHP](https://img.shields.io/badge/PHP-8.2+-green.svg) +![MySQL](https://img.shields.io/badge/MySQL-5.7+-blue.svg) +[![License](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) + +English | [简体中文](README_CN.md) + +
+ +## 📖 Introduction + +Xboard is a modern panel system built on Laravel 11, focusing on providing a clean and efficient user experience. + +## ✨ Features + +- 🚀 Built with Laravel 11 + Octane for significant performance gains +- 🎨 Redesigned admin interface (React + Shadcn UI) +- 📱 Modern user frontend (Vue3 + TypeScript) +- 🐳 Ready-to-use Docker deployment solution +- 🎯 Optimized system architecture for better maintainability + +## 🚀 Quick Start + +```bash +git clone -b compose --depth 1 https://github.com/cedar2025/Xboard && \ +cd Xboard && \ +docker compose run -it --rm \ + -e ENABLE_SQLITE=true \ + -e ENABLE_REDIS=true \ + -e ADMIN_ACCOUNT=admin@demo.com \ + web php artisan xboard:install && \ +docker compose up -d ``` + +> After installation, visit: http://SERVER_IP:7001 +> ⚠️ Make sure to save the admin credentials shown during installation + +## 📖 Documentation + +### 🔄 Upgrade Notice +> 🚨 **Important:** This version involves significant changes. Please strictly follow the upgrade documentation and backup your database before upgrading. Note that upgrading and migration are different processes, do not confuse them. + +### Deployment Guides +- [Deploy with 1Panel](./docs/zh-CN/installation/1panel.md) +- [Deploy with Docker Compose](./docs/zh-CN/installation/docker-compose.md) +- [Deploy with aaPanel](./docs/zh-CN/installation/aapanel.md) +- [Deploy with aaPanel + Docker](./docs/zh-CN/installation/aapanel-docker.md) (Recommended) + +### Migration Guides +- [Migrate from v2board dev](./docs/zh-CN/migration/v2board-dev.md) +- [Migrate from v2board 1.7.4](./docs/zh-CN/migration/v2board-1.7.4.md) +- [Migrate from v2board 1.7.3](./docs/zh-CN/migration/v2board-1.7.3.md) +- [Migrate from v2board wyx2685](./docs/zh-CN/migration/v2board-wyx2685.md) + +## 🛠️ Tech Stack + +- Backend: Laravel 11 + Octane +- Admin Panel: React + Shadcn UI + TailwindCSS +- User Frontend: Vue3 + TypeScript + NaiveUI +- Deployment: Docker + Docker Compose +- Caching: Redis + Octane Cache + +## 📷 Preview +![Admin Preview](./docs/images/admin.png) + +![User Preview](./docs/images/user.png) + +## ⚠️ Disclaimer + +This project is for learning and communication purposes only. Users are responsible for any consequences of using this project. + +## 🔔 Important Notes + +1. Restart required after modifying admin path: +```bash docker compose restart ``` -> 如果是是aapanel安装则需要重启 webman守护进程 + +2. For aaPanel installations, restart the Octane daemon process + +## 🤝 Contributing + +Issues and Pull Requests are welcome to help improve the project. + +## 📈 Star History + +[![Stargazers over time](https://starchart.cc/cedar2025/Xboard.svg)](https://starchart.cc/cedar2025/Xboard) \ No newline at end of file diff --git a/README_CN.md b/README_CN.md new file mode 100644 index 000000000..90ee1631d --- /dev/null +++ b/README_CN.md @@ -0,0 +1,96 @@ +# Xboard + +
+ +[![Telegram](https://img.shields.io/badge/Telegram-Channel-blue)](https://t.me/XboardOfficial) +![PHP](https://img.shields.io/badge/PHP-8.2+-green.svg) +![MySQL](https://img.shields.io/badge/MySQL-5.7+-blue.svg) +[![License](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) + +[English](README.md) | 简体中文 + +
+ +## 📖 简介 + +Xboard 是一个基于 Laravel 11 开发的现代化面板系统,专注于提供简洁、高效的用户体验。 + +## ✨ 特性 + +- 🚀 基于 Laravel 11 + Octane,性能提升显著 +- 🎨 全新设计的管理界面 (React + Shadcn UI) +- 📱 现代化的用户前端 (Vue3 + TypeScript) +- 🐳 开箱即用的 Docker 部署方案 +- 🎯 优化的系统架构,提供更好的可维护性 + +## 🚀 快速开始 + +```bash +git clone -b compose --depth 1 https://github.com/cedar2025/Xboard && \ +cd Xboard && \ +docker compose run -it --rm \ + -e ENABLE_SQLITE=true \ + -e ENABLE_REDIS=true \ + -e ADMIN_ACCOUNT=admin@demo.com \ + web php artisan xboard:install && \ +docker compose up -d +``` + +> 安装完成后访问:http://服务器IP:7001 +> ⚠️ 请务必保存安装时显示的管理员账号密码 + +## 📚 使用文档 + +### 🔄 升级提示 +> 🚨 **重要:** 此次版本跨度较大,请严格按照升级文档进行升级,必要时请备份数据库再进行升级。升级跟迁移不是一个东西,请不要混淆。 + +### 部署教程 +- [使用 1Panel 部署](./docs/zh-CN/installation/1panel.md) +- [Docker Compose 部署](./docs/zh-CN/installation/docker-compose.md) +- [使用 aaPanel 部署](./docs/zh-CN/installation/aapanel.md) +- [aaPanel + Docker 部署](./docs/zh-CN/installation/aapanel-docker.md)(推荐) + +### 迁移指南 +- [从 v2board dev 迁移](./docs/zh-CN/migration/v2board-dev.md) +- [从 v2board 1.7.4 迁移](./docs/zh-CN/migration/v2board-1.7.4.md) +- [从 v2board 1.7.3 迁移](./docs/zh-CN/migration/v2board-1.7.3.md) +- [从 v2board wyx2685 迁移](./docs/zh-CN/migration/v2board-wyx2685.md) + +## 🤝 参与贡献 + +欢迎提交 Issue 和 Pull Request 来帮助改进项目。 + +## 🛠️ 技术栈 + +- 后端:Laravel 11 + Octane +- 管理面板:React + Shadcn UI + TailwindCSS +- 用户前端:Vue3 + TypeScript + NaiveUI +- 部署方案:Docker + Docker Compose +- 缓存系统:Redis + Octane Cache + +## 📷 界面预览 + +![管理员后台](./docs/images/admin.png) + +![用户前端](./docs/images/user.png) + +## ⚠️ 免责声明 + +本项目仅供学习交流使用,使用本项目造成的任何后果由使用者自行承担。 + +## 🔔 注意事项 + +1. 修改后台路径后需要重启: +```bash +docker compose restart +``` + +2. aaPanel 环境下需要重启 Octane 守护进程 + +## 🤝 参与贡献 + +欢迎提交 Issue 和 Pull Request 来帮助改进项目。 + +## 📈 Star 增长趋势 + +[![Stargazers over time](https://starchart.cc/cedar2025/Xboard.svg)](https://starchart.cc/cedar2025/Xboard) \ No newline at end of file diff --git a/app/Console/Commands/BackupDatabase.php b/app/Console/Commands/BackupDatabase.php index 22a3c3c3f..14c82ee3d 100644 --- a/app/Console/Commands/BackupDatabase.php +++ b/app/Console/Commands/BackupDatabase.php @@ -4,6 +4,8 @@ use Illuminate\Console\Command; use Google\Cloud\Storage\StorageClient; +use Illuminate\Support\Facades\File; +use Illuminate\Support\Facades\Log; use Symfony\Component\Process\Process; class BackupDatabase extends Command @@ -85,14 +87,14 @@ public function handle() ]); // 输出文件链接 - \Log::channel('backup')->info("🎉:数据库备份已上传到 Google Cloud Storage: $objectName"); + Log::channel('backup')->info("🎉:数据库备份已上传到 Google Cloud Storage: $objectName"); $this->info("🎉:数据库备份已上传到 Google Cloud Storage: $objectName"); - \File::delete($compressedBackupPath); + File::delete($compressedBackupPath); } }catch(\Exception $e){ - \Log::channel('backup')->error("😔:数据库备份失败 \n" . $e); + Log::channel('backup')->error("😔:数据库备份失败 \n" . $e); $this->error("😔:数据库备份失败\n" . $e); - \File::delete($compressedBackupPath); + File::delete($compressedBackupPath); } } } diff --git a/app/Console/Commands/ClearUser.php b/app/Console/Commands/ClearUser.php index 30eb33894..cd64abe5c 100644 --- a/app/Console/Commands/ClearUser.php +++ b/app/Console/Commands/ClearUser.php @@ -45,7 +45,7 @@ public function handle() ->where('last_login_at', NULL); $count = $builder->count(); if ($builder->delete()) { - $this->info("已删除${count}位没有任何数据的用户"); + $this->info("已删除{$count}位没有任何数据的用户"); } } } diff --git a/app/Console/Commands/ExportV2Log.php b/app/Console/Commands/ExportV2Log.php index 830ab36ef..ec2ccbe7a 100644 --- a/app/Console/Commands/ExportV2Log.php +++ b/app/Console/Commands/ExportV2Log.php @@ -4,6 +4,7 @@ use Illuminate\Console\Command; use Carbon\Carbon; +use Illuminate\Support\Facades\DB; class ExportV2Log extends Command { @@ -20,7 +21,7 @@ public function handle() $days = $this->argument('days'); $date = Carbon::now()->subDays($days)->startOfDay(); - $logs = \DB::table('v2_log') + $logs = DB::table('v2_log') ->where('created_at', '>=', $date->timestamp) ->get(); diff --git a/app/Console/Commands/MigrateFromV2b.php b/app/Console/Commands/MigrateFromV2b.php index 2209282f4..ace9c85e1 100644 --- a/app/Console/Commands/MigrateFromV2b.php +++ b/app/Console/Commands/MigrateFromV2b.php @@ -4,6 +4,8 @@ use App\Models\Setting; use Illuminate\Console\Command; +use Illuminate\Support\Facades\Artisan; +use Illuminate\Support\Facades\DB; class MigrateFromV2b extends Command { @@ -51,11 +53,12 @@ public function handle() ], '1.7.3' => [ 'ALTER TABLE `v2_stat_order` RENAME TO `v2_stat`;', - "ALTER TABLE `v2_stat` CHANGE COLUMN order_amount order_total INT COMMENT '订单合计';", + "ALTER TABLE `v2_stat` CHANGE COLUMN order_amount paid_total INT COMMENT '订单合计';", + "ALTER TABLE `v2_stat` CHANGE COLUMN order_count paid_count INT COMMENT '邀请佣金';", "ALTER TABLE `v2_stat` CHANGE COLUMN commission_amount commission_total INT COMMENT '佣金合计';", "ALTER TABLE `v2_stat` - ADD COLUMN paid_count INT NULL, - ADD COLUMN paid_total INT NULL, + ADD COLUMN order_count INT NULL, + ADD COLUMN order_total INT NULL, ADD COLUMN register_count INT NULL, ADD COLUMN invite_count INT NULL, ADD COLUMN transfer_used_total VARCHAR(32) NULL; @@ -132,7 +135,7 @@ public function handle() try { foreach ($sqlCommands[$version] as $sqlCommand) { // Execute SQL command - \DB::statement($sqlCommand); + DB::statement($sqlCommand); } $this->info('1️⃣、数据库差异矫正成功'); @@ -158,7 +161,7 @@ public function handle() public function MigrateV2ConfigToV2Settings() { - \Artisan::call('config:clear'); + Artisan::call('config:clear'); $configValue = config('v2board') ?? []; foreach ($configValue as $k => $v) { @@ -167,16 +170,16 @@ public function MigrateV2ConfigToV2Settings() // 如果记录不存在,则插入 if ($existingSetting) { - $this->warn("配置 ${k} 在数据库已经存在, 忽略"); + $this->warn("配置 {$k} 在数据库已经存在, 忽略"); continue; } Setting::create([ 'name' => $k, 'value' => is_array($v)? json_encode($v) : $v, ]); - $this->info("配置 ${k} 迁移成功"); + $this->info("配置 {$k} 迁移成功"); } - \Artisan::call('config:cache'); + Artisan::call('config:cache'); $this->info('所有配置迁移完成'); } diff --git a/app/Console/Commands/SendRemindMail.php b/app/Console/Commands/SendRemindMail.php index 672c37a83..996d14839 100644 --- a/app/Console/Commands/SendRemindMail.php +++ b/app/Console/Commands/SendRemindMail.php @@ -39,11 +39,16 @@ public function __construct() */ public function handle() { + if (!(bool) admin_setting('remind_mail_enable', false)) { + return; + } $users = User::all(); $mailService = new MailService(); foreach ($users as $user) { - if ($user->remind_expire) $mailService->remindExpire($user); - if ($user->remind_traffic) $mailService->remindTraffic($user); + if ($user->remind_expire) + $mailService->remindExpire($user); + if ($user->remind_traffic) + $mailService->remindTraffic($user); } } } diff --git a/app/Console/Commands/XboardInstall.php b/app/Console/Commands/XboardInstall.php index 434dd1084..6d9016cc7 100644 --- a/app/Console/Commands/XboardInstall.php +++ b/app/Console/Commands/XboardInstall.php @@ -7,6 +7,10 @@ use App\Models\User; use App\Utils\Helper; use Illuminate\Support\Env; +use Illuminate\Support\Facades\Artisan; +use Illuminate\Support\Facades\Config; +use Illuminate\Support\Facades\DB; +use Illuminate\Support\Facades\File; use function Laravel\Prompts\confirm; use function Laravel\Prompts\text; use function Laravel\Prompts\note; @@ -45,17 +49,17 @@ public function __construct() public function handle() { try { - $isDocker = env('docker', false); - $enableSqlite = env('enable_sqlite', false); - $enableRedis = env('enable_redis', false); - $adminAccount = env('admin_account', ''); + $isDocker = file_exists('/.dockerenv'); + $enableSqlite = env('ENABLE_SQLITE', false); + $enableRedis = env('ENABLE_REDIS', false); + $adminAccount = env('ADMIN_ACCOUNT', ''); $this->info("__ __ ____ _ "); $this->info("\ \ / /| __ ) ___ __ _ _ __ __| | "); $this->info(" \ \/ / | __ \ / _ \ / _` | '__/ _` | "); $this->info(" / /\ \ | |_) | (_) | (_| | | | (_| | "); $this->info("/_/ \_\|____/ \___/ \__,_|_| \__,_| "); if ( - (\File::exists(base_path() . '/.env') && $this->getEnvValue('INSTALLED')) + (File::exists(base_path() . '/.env') && $this->getEnvValue('INSTALLED')) || (env('INSTALLED', false) && $isDocker) ) { $securePath = admin_setting('secure_path', admin_setting('frontend_admin_path', hash('crc32b', config('app.key')))); @@ -86,11 +90,11 @@ public function handle() 'DB_PASSWORD' => '', ]; try { - \Config::set("database.default", 'sqlite'); - \Config::set("database.connections.sqlite.database", base_path($envConfig['DB_DATABASE'])); - \DB::purge('sqlite'); - \DB::connection('sqlite')->getPdo(); - if (!blank(\DB::connection('sqlite')->getPdo()->query("SELECT name FROM sqlite_master WHERE type='table'")->fetchAll(\PDO::FETCH_COLUMN))) { + Config::set("database.default", 'sqlite'); + Config::set("database.connections.sqlite.database", base_path($envConfig['DB_DATABASE'])); + DB::purge('sqlite'); + DB::connection('sqlite')->getPdo(); + if (!blank(DB::connection('sqlite')->getPdo()->query("SELECT name FROM sqlite_master WHERE type='table'")->fetchAll(\PDO::FETCH_COLUMN))) { if (confirm(label: '检测到数据库中已经存在数据,是否要清空数据库以便安装新的数据?', default: false, yes: '清空', no: '退出安装')) { $this->info('正在清空数据库请稍等'); $this->call('db:wipe', ['--force' => true]); @@ -115,16 +119,16 @@ public function handle() 'DB_PASSWORD' => text(label: '请输入数据库密码', required: false), ]; try { - \Config::set("database.default", 'mysql'); - \Config::set("database.connections.mysql.host", $envConfig['DB_HOST']); - \Config::set("database.connections.mysql.port", $envConfig['DB_PORT']); - \Config::set("database.connections.mysql.database", $envConfig['DB_DATABASE']); - \Config::set("database.connections.mysql.username", $envConfig['DB_USERNAME']); - \Config::set("database.connections.mysql.password", $envConfig['DB_PASSWORD']); - \DB::purge('mysql'); - \DB::connection('mysql')->getPdo(); + Config::set("database.default", 'mysql'); + Config::set("database.connections.mysql.host", $envConfig['DB_HOST']); + Config::set("database.connections.mysql.port", $envConfig['DB_PORT']); + Config::set("database.connections.mysql.database", $envConfig['DB_DATABASE']); + Config::set("database.connections.mysql.username", $envConfig['DB_USERNAME']); + Config::set("database.connections.mysql.password", $envConfig['DB_PASSWORD']); + DB::purge('mysql'); + DB::connection('mysql')->getPdo(); $isMysqlValid = true; - if (!blank(\DB::connection('mysql')->select('SHOW TABLES'))) { + if (!blank(DB::connection('mysql')->select('SHOW TABLES'))) { if (confirm(label: '检测到数据库中已经存在数据,是否要清空数据库以便安装新的数据?', default: false, yes: '清空', no: '不清空')) { $this->info('正在清空数据库请稍等'); $this->call('db:wipe', ['--force' => true]); @@ -141,12 +145,11 @@ public function handle() } } $envConfig['APP_KEY'] = 'base64:' . base64_encode(Encrypter::generateKey('AES-256-CBC')); - $envConfig['INSTALLED'] = true; $isReidsValid = false; while (!$isReidsValid) { // 判断是否为Docker环境 if ($isDocker == 'true' && ($enableRedis || confirm(label: '是否启用Docker内置的Redis', default: true, yes: '启用', no: '不启用'))) { - $envConfig['REDIS_HOST'] = '/run/redis-socket/redis.sock'; + $envConfig['REDIS_HOST'] = '/data/redis.sock'; $envConfig['REDIS_PORT'] = 0; $envConfig['REDIS_PASSWORD'] = null; } else { @@ -171,6 +174,8 @@ public function handle() // 连接失败,输出错误消息 $this->error("redis连接失败:" . $e->getMessage()); $this->info("请重新输入REDIS配置"); + $enableRedis = false; + sleep(1); } } @@ -191,10 +196,10 @@ public function handle() $this->saveToEnv($envConfig); $this->call('config:cache'); - \Artisan::call('cache:clear'); + Artisan::call('cache:clear'); $this->info('正在导入数据库请稍等...'); - \Artisan::call("migrate", ['--force' => true]); - $this->info(\Artisan::output()); + Artisan::call("migrate", ['--force' => true]); + $this->info(Artisan::output()); $this->info('数据库导入完成'); $this->info('开始注册管理员账号'); if (!$this->registerAdmin($email, $password)) { @@ -206,6 +211,8 @@ public function handle() $defaultSecurePath = hash('crc32b', config('app.key')); $this->info("访问 http(s)://你的站点/{$defaultSecurePath} 进入管理面板,你可以在用户中心修改你的密码。"); + $envConfig['INSTALLED'] = true; + $this->saveToEnv($envConfig); } catch (\Exception $e) { $this->error($e); } diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php index 3a39c25f6..62b2fc7b7 100644 --- a/app/Console/Kernel.php +++ b/app/Console/Kernel.php @@ -6,6 +6,7 @@ use Illuminate\Console\Scheduling\Schedule; use Illuminate\Foundation\Console\Kernel as ConsoleKernel; use Illuminate\Support\Facades\Cache; +use App\Services\UserOnlineService; class Kernel extends ConsoleKernel { @@ -44,6 +45,10 @@ protected function schedule(Schedule $schedule) if (env('ENABLE_AUTO_BACKUP_AND_UPDATE', false)) { $schedule->command('backup:database', ['true'])->daily()->onOneServer(); } + // 每分钟清理过期的在线状态 + $schedule->call(function () { + app(UserOnlineService::class)->cleanExpiredOnlineStatus(); + })->everyMinute(); } /** diff --git a/app/Contracts/ProtocolInterface.php b/app/Contracts/ProtocolInterface.php index bf5c589fa..c64617b41 100644 --- a/app/Contracts/ProtocolInterface.php +++ b/app/Contracts/ProtocolInterface.php @@ -1,7 +1,5 @@ getContent() ?: json_encode($_POST); - - } -} - if (! function_exists('admin_setting')) { /** * 获取或保存配置参数. diff --git a/app/Http/Controllers/V1/Client/AppController.php b/app/Http/Controllers/V1/Client/AppController.php index 032d1fc78..4637b089d 100644 --- a/app/Http/Controllers/V1/Client/AppController.php +++ b/app/Http/Controllers/V1/Client/AppController.php @@ -30,8 +30,9 @@ public function getConfig(Request $request) $proxies = []; foreach ($servers as $item) { + $protocol_settings = $item['protocol_settings']; if ($item['type'] === 'shadowsocks' - && in_array($item['cipher'], [ + && in_array(data_get($protocol_settings, 'cipher'), [ 'aes-128-gcm', 'aes-192-gcm', 'aes-256-gcm', diff --git a/app/Http/Controllers/V1/Client/ClientController.php b/app/Http/Controllers/V1/Client/ClientController.php index bcc00bff6..2824635b8 100644 --- a/app/Http/Controllers/V1/Client/ClientController.php +++ b/app/Http/Controllers/V1/Client/ClientController.php @@ -41,11 +41,66 @@ class ClientController extends Controller 'loon' => '637', 'v2rayng' => '1.9.5', 'v2rayN' => '6.31', - 'surge' => '2398' + 'surge' => '2398', + 'flclash' => '0.8.0' ]; private const ALLOWED_TYPES = ['vmess', 'vless', 'trojan', 'hysteria', 'shadowsocks', 'hysteria2']; + /** + * 处理浏览器访问订阅的情况 + */ + private function handleBrowserSubscribe($user, UserService $userService) + { + $useTraffic = $user['u'] + $user['d']; + $totalTraffic = $user['transfer_enable']; + $remainingTraffic = Helper::trafficConvert($totalTraffic - $useTraffic); + $expiredDate = $user['expired_at'] ? date('Y-m-d', $user['expired_at']) : __('Unlimited'); + $resetDay = $userService->getResetDay($user); + + // 获取通用订阅地址 + $subscriptionUrl = Helper::getSubscribeUrl($user->token); + + // 生成二维码 + $writer = new \BaconQrCode\Writer( + new \BaconQrCode\Renderer\ImageRenderer( + new \BaconQrCode\Renderer\RendererStyle\RendererStyle(200), + new \BaconQrCode\Renderer\Image\SvgImageBackEnd() + ) + ); + $qrCode = base64_encode($writer->writeString($subscriptionUrl)); + + $data = [ + 'username' => $user->email, + 'status' => $userService->isAvailable($user) ? 'active' : 'inactive', + 'data_limit' => $totalTraffic ? Helper::trafficConvert($totalTraffic) : '∞', + 'data_used' => Helper::trafficConvert($useTraffic), + 'expired_date' => $expiredDate, + 'reset_day' => $resetDay, + 'subscription_url' => $subscriptionUrl, + 'qr_code' => $qrCode + ]; + + // 只有当 device_limit 不为 null 时才添加到返回数据中 + if ($user->device_limit !== null) { + $data['device_limit'] = $user->device_limit; + } + + return response()->view('client.subscribe', $data); + } + + /** + * 检查是否是浏览器访问 + */ + private function isBrowserAccess(Request $request): bool + { + $userAgent = strtolower($request->input('flag', $request->header('User-Agent'))); + return str_contains($userAgent, 'mozilla') + || str_contains($userAgent, 'chrome') + || str_contains($userAgent, 'safari') + || str_contains($userAgent, 'edge'); + } + public function subscribe(Request $request) { $request->validate([ @@ -61,17 +116,19 @@ public function subscribe(Request $request) return response()->json(['message' => 'Account unavailable'], 403); } - $types = $this->getFilteredTypes($request->input('types', 'all')); - $filterArr = $this->getFilterArray($request->input('filter')); + // 检测是否是浏览器访问 + if ($this->isBrowserAccess($request)) { + return $this->handleBrowserSubscribe($user, $userService); + } $clientInfo = $this->getClientInfo($request); - + $types = $this->getFilteredTypes($request->input('types'), $clientInfo['supportHy2']); + $filterArr = $this->getFilterArray($request->input('filter')); // Get available servers and apply filters $servers = ServerService::getAvailableServers($user); $serversFiltered = $this->filterServers( servers: $servers, types: $types, filters: $filterArr, - supportHy2: $clientInfo['supportHy2'] ); $this->setSubscribeInfoToServers($serversFiltered, $user, count($servers) - count($serversFiltered)); @@ -94,19 +151,29 @@ public function subscribe(Request $request) return (new General($user, $serversFiltered))->handle(); } - private function getFilteredTypes(string $types): array + private function getFilteredTypes(string|null $types, bool $supportHy2): array { - return $types === 'all' + if ($types === 'all') { + return self::ALLOWED_TYPES; + } + + $allowedTypes = $supportHy2 ? self::ALLOWED_TYPES - : array_values(array_intersect( - explode('|', str_replace(['|', '|', ','], '|', $types)), - self::ALLOWED_TYPES - )); + : array_diff(self::ALLOWED_TYPES, ['hysteria2']); + if (!$types) { + return array_values($allowedTypes); + } + + $userTypes = explode('|', str_replace(['|', '|', ','], '|', $types)); + return array_values(array_intersect($userTypes, $allowedTypes)); } private function getFilterArray(?string $filter): ?array { - return mb_strlen($filter ?? '') > 20 ? null : + if ($filter === null) { + return null; + } + return mb_strlen($filter) > 20 ? null : explode('|', str_replace(['|', '|', ','], '|', $filter)); } @@ -127,20 +194,25 @@ private function getClientInfo(Request $request): array private function checkHy2Support(string $flag, string $version): bool { + $result = false; foreach (self::CLIENT_VERSIONS as $client => $minVersion) { if (stripos($flag, $client) !== false) { - return version_compare($version, $minVersion, '>='); + $result = $result || version_compare($version, $minVersion, '>='); } } - return true; + return $result || !count(self::CLIENT_VERSIONS); } - private function filterServers(array $servers, array $types, ?array $filters, bool $supportHy2): array + private function filterServers(array $servers, array $types, ?array $filters): array { - return collect($servers)->reject(function ($server) use ($types, $filters, $supportHy2) { + return collect($servers)->reject(function ($server) use ($types, $filters) { // Check Hysteria2 compatibility if ($server['type'] === 'hysteria' && optional($server['protocol_settings'])['version'] === 2) { - if (!in_array('hysteria2', $types) || !$supportHy2) { + if (!in_array('hysteria2', $types)) { + return true; + } + } else { + if (!in_array($server['type'], $types)) { return true; } } @@ -176,7 +248,7 @@ private function setSubscribeInfoToServers(&$servers, $user, $rejectServerCount $useTraffic = $user['u'] + $user['d']; $totalTraffic = $user['transfer_enable']; $remainingTraffic = Helper::trafficConvert($totalTraffic - $useTraffic); - $expiredDate = $user['expired_at'] ? date('Y-m-d', $user['expired_at']) : '长期有效'; + $expiredDate = $user['expired_at'] ? date('Y-m-d', $user['expired_at']) : __('长期有效'); $userService = new UserService(); $resetDay = $userService->getResetDay($user); array_unshift($servers, array_merge($servers[0], [ diff --git a/app/Http/Controllers/V1/Guest/PlanController.php b/app/Http/Controllers/V1/Guest/PlanController.php index 83d0abd0f..4348a2522 100755 --- a/app/Http/Controllers/V1/Guest/PlanController.php +++ b/app/Http/Controllers/V1/Guest/PlanController.php @@ -3,7 +3,7 @@ namespace App\Http\Controllers\V1\Guest; use App\Http\Controllers\Controller; -use App\Http\Resources\PlanResources; +use App\Http\Resources\PlanResource; use App\Models\Plan; use App\Services\PlanService; use Auth; @@ -20,6 +20,6 @@ public function __construct(PlanService $planService) public function fetch(Request $request) { $plan = $this->planService->getAvailablePlans(); - return $this->success(PlanResources::collection($plan)); + return $this->success(PlanResource::collection($plan)); } } diff --git a/app/Http/Controllers/V1/Guest/TelegramController.php b/app/Http/Controllers/V1/Guest/TelegramController.php index 7edff4966..f836d2b51 100644 --- a/app/Http/Controllers/V1/Guest/TelegramController.php +++ b/app/Http/Controllers/V1/Guest/TelegramController.php @@ -23,7 +23,7 @@ public function webhook(Request $request) if ($request->input('access_token') !== md5(admin_setting('telegram_bot_token'))) { throw new ApiException('access_token is error', 401); } - $data = json_decode(get_request_content(),true); + $data = json_decode(request()->getContent(),true); $this->formatMessage($data); $this->formatChatJoinRequest($data); $this->handle(); diff --git a/app/Http/Controllers/V1/Passport/AuthController.php b/app/Http/Controllers/V1/Passport/AuthController.php index 8979be6dc..cd34e4fe5 100644 --- a/app/Http/Controllers/V1/Passport/AuthController.php +++ b/app/Http/Controllers/V1/Passport/AuthController.php @@ -180,7 +180,7 @@ public function register(AuthRegister $request) $authService = new AuthService($user); - $data = $authService->generateAuthData($request); + $data = $authService->generateAuthData(); return $this->success($data); } @@ -223,48 +223,70 @@ public function login(AuthLogin $request) } $authService = new AuthService($user); - return $this->success($authService->generateAuthData($request)); + return $this->success($authService->generateAuthData()); } public function token2Login(Request $request) { - if ($request->input('token')) { - $redirect = '/#/login?verify=' . $request->input('token') . '&redirect=' . ($request->input('redirect') ? $request->input('redirect') : 'dashboard'); - if (admin_setting('app_url')) { - $location = admin_setting('app_url') . $redirect; - } else { - $location = url($redirect); - } - return redirect()->to($location)->send(); + if ($token = $request->input('token')) { + $redirect = '/#/login?verify=' . $token . '&redirect=' . ($request->input('redirect', 'dashboard')); + + return redirect()->to( + admin_setting('app_url') + ? admin_setting('app_url') . $redirect + : url($redirect) + ); } - if ($request->input('verify')) { - $key = CacheKey::get('TEMP_TOKEN', $request->input('verify')); + if ($verify = $request->input('verify')) { + $key = CacheKey::get('TEMP_TOKEN', $verify); $userId = Cache::get($key); + if (!$userId) { - return $this->fail([400,__('Token error')]); - } - $user = User::find($userId); - if (!$user) { - return $this->fail([400,__('The user does not ')]); + return response()->json([ + 'message' => __('Token error') + ], 400); } + + $user = User::findOrFail($userId); + if ($user->banned) { - return $this->fail([400,__('Your account has been suspended')]); + return response()->json([ + 'message' => __('Your account has been suspended') + ], 400); } + Cache::forget($key); $authService = new AuthService($user); - return $this->success($authService->generateAuthData($request)); + + return response()->json([ + 'data' => $authService->generateAuthData() + ]); } + + return response()->json([ + 'message' => __('Invalid request') + ], 400); } public function getQuickLoginUrl(Request $request) { $authorization = $request->input('auth_data') ?? $request->header('authorization'); - if (!$authorization) return $this->fail(ResponseEnum::CLIENT_HTTP_UNAUTHORIZED); - - $user = AuthService::decryptAuthData($authorization); - if (!$user) return $this->fail(ResponseEnum::CLIENT_HTTP_UNAUTHORIZED_EXPIRED); + + if (!$authorization) { + return response()->json([ + 'message' => ResponseEnum::CLIENT_HTTP_UNAUTHORIZED + ], 401); + } + $user = AuthService::findUserByBearerToken($authorization); + + if (!$user) { + return response()->json([ + 'message' => ResponseEnum::CLIENT_HTTP_UNAUTHORIZED_EXPIRED + ], 401); + } + $code = Helper::guid(); $key = CacheKey::get('TEMP_TOKEN', $code); Cache::put($key, $user['id'], 60); diff --git a/app/Http/Controllers/V1/Server/ShadowsocksTidalabController.php b/app/Http/Controllers/V1/Server/ShadowsocksTidalabController.php new file mode 100644 index 000000000..9566958dd --- /dev/null +++ b/app/Http/Controllers/V1/Server/ShadowsocksTidalabController.php @@ -0,0 +1,65 @@ +input('node_info'); + Cache::put(CacheKey::get('SERVER_SHADOWSOCKS_LAST_CHECK_AT', $server->id), time(), 3600); + $users = ServerService::getAvailableUsers($server->group_ids); + $result = []; + foreach ($users as $user) { + array_push($result, [ + 'id' => $user->id, + 'port' => $server->server_port, + 'cipher' => $server->cipher, + 'secret' => $user->uuid + ]); + } + $eTag = sha1(json_encode($result)); + if (strpos($request->header('If-None-Match'), $eTag) !== false ) { + return response(null,304); + } + return response([ + 'data' => $result + ])->header('ETag', "\"{$eTag}\""); + } + + // 后端提交数据 + public function submit(Request $request) + { + $server = $request->input('node_info'); + $data = json_decode(request()->getContent(), true); + Cache::put(CacheKey::get('SERVER_SHADOWSOCKS_ONLINE_USER', $server->id), count($data), 3600); + Cache::put(CacheKey::get('SERVER_SHADOWSOCKS_LAST_PUSH_AT', $server->id), time(), 3600); + $userService = new UserService(); + $formatData = []; + + foreach ($data as $item) { + $formatData[$item['user_id']] = [$item['u'], $item['d']]; + } + $userService->trafficFetch($server->toArray(), 'shadowsocks', $formatData); + + return response([ + 'ret' => 1, + 'msg' => 'ok' + ]); + } +} \ No newline at end of file diff --git a/app/Http/Controllers/V1/Server/TrojanTidalabController.php b/app/Http/Controllers/V1/Server/TrojanTidalabController.php new file mode 100644 index 000000000..3cd2cbcbb --- /dev/null +++ b/app/Http/Controllers/V1/Server/TrojanTidalabController.php @@ -0,0 +1,108 @@ +input('node_info'); + if ($server->type !== 'trojan') { + return $this->fail([400, '节点不存在']); + } + Cache::put(CacheKey::get('SERVER_TROJAN_LAST_CHECK_AT', $server->id), time(), 3600); + $users = ServerService::getAvailableUsers($server->group_id); + $result = []; + foreach ($users as $user) { + $user->trojan_user = [ + "password" => $user->uuid, + ]; + unset($user->uuid); + array_push($result, $user); + } + $eTag = sha1(json_encode($result)); + if (strpos($request->header('If-None-Match'), $eTag) !== false) { + return response(null, 304); + } + return response([ + 'msg' => 'ok', + 'data' => $result, + ])->header('ETag', "\"{$eTag}\""); + } + + // 后端提交数据 + public function submit(Request $request) + { + $server = $request->input('node_info'); + if ($server->type !== 'trojan') { + return $this->fail([400, '节点不存在']); + } + $data = json_decode(request()->getContent(), true); + Cache::put(CacheKey::get('SERVER_TROJAN_ONLINE_USER', $server->id), count($data), 3600); + Cache::put(CacheKey::get('SERVER_TROJAN_LAST_PUSH_AT', $server->id), time(), 3600); + $userService = new UserService(); + $formatData = []; + foreach ($data as $item) { + $formatData[$item['user_id']] = [$item['u'], $item['d']]; + } + $userService->trafficFetch($server->toArray(), 'trojan', $formatData); + + return response([ + 'ret' => 1, + 'msg' => 'ok' + ]); + } + + // 后端获取配置 + public function config(Request $request) + { + $server = $request->input('node_info'); + if ($server->type !== 'trojan') { + return $this->fail([400, '节点不存在']); + } + $request->validate([ + 'node_id' => 'required', + 'local_port' => 'required' + ], [ + 'node_id.required' => '节点ID不能为空', + 'local_port.required' => '本地端口不能为空' + ]); + try { + $json = $this->getTrojanConfig($server, $request->input('local_port')); + } catch (\Exception $e) { + \Log::error($e); + return $this->fail([500, '配置获取失败']); + } + + return (json_encode($json, JSON_UNESCAPED_UNICODE)); + } + + private function getTrojanConfig($server, int $localPort) + { + $protocolSettings = $server->protocol_settings; + $json = json_decode(self::TROJAN_CONFIG); + $json->local_port = $server->server_port; + $json->ssl->sni = data_get($protocolSettings, 'server_name', $server->host); + $json->ssl->cert = "/root/.cert/server.crt"; + $json->ssl->key = "/root/.cert/server.key"; + $json->api->api_port = $localPort; + return $json; + } +} \ No newline at end of file diff --git a/app/Http/Controllers/V1/Server/UniProxyController.php b/app/Http/Controllers/V1/Server/UniProxyController.php index 5075f6cb7..b6d699f34 100644 --- a/app/Http/Controllers/V1/Server/UniProxyController.php +++ b/app/Http/Controllers/V1/Server/UniProxyController.php @@ -9,10 +9,16 @@ use App\Utils\Helper; use Illuminate\Http\Request; use Illuminate\Support\Facades\Cache; -use Illuminate\Support\Facades\Validator; +use App\Services\UserOnlineService; +use Illuminate\Http\JsonResponse; class UniProxyController extends Controller { + public function __construct( + private readonly UserOnlineService $userOnlineService + ) { + } + // 后端获取用户 public function user(Request $request) { @@ -26,7 +32,7 @@ public function user(Request $request) $response['users'] = $users; $eTag = sha1(json_encode($response)); - if (strpos($request->header('If-None-Match'), $eTag) !== false) { + if (strpos($request->header('If-None-Match', ''), $eTag) !== false) { return response(null, 304); } @@ -36,15 +42,34 @@ public function user(Request $request) // 后端提交数据 public function push(Request $request) { - $res = json_decode(get_request_content(), true); + $res = json_decode(request()->getContent(), true); + if (!is_array($res)) { + return $this->fail([422, 'Invalid data format']); + } $data = array_filter($res, function ($item) { - return is_array($item) && count($item) === 2 && is_numeric($item[0]) && is_numeric($item[1]); + return is_array($item) + && count($item) === 2 + && is_numeric($item[0]) + && is_numeric($item[1]); }); + if (empty($data)) { + return $this->success(true); + } $node = $request->input('node_info'); $nodeType = $node->type; $nodeId = $node->id; - Cache::put(CacheKey::get('SERVER_' . strtoupper($nodeType) . '_ONLINE_USER', $nodeId), count($data), 3600); - Cache::put(CacheKey::get('SERVER_' . strtoupper($nodeType) . '_LAST_PUSH_AT', $nodeId), time(), 3600); + + Cache::put( + CacheKey::get('SERVER_' . strtoupper($nodeType) . '_ONLINE_USER', $nodeId), + count($data), + 3600 + ); + Cache::put( + CacheKey::get('SERVER_' . strtoupper($nodeType) . '_LAST_PUSH_AT', $nodeId), + time(), + 3600 + ); + $userService = new UserService(); $userService->trafficFetch($node->toArray(), $nodeType, $data); return $this->success(true); @@ -55,70 +80,104 @@ public function config(Request $request) { $node = $request->input('node_info'); $nodeType = $node->type; - $protocolSettings = $node->protocol_settings; + + $serverPort = $node->server_port; + $host = $node->host; + + $baseConfig = [ + 'server_port' => (int) $serverPort, + 'network' => data_get($protocolSettings, 'network'), + 'networkSettings' => data_get($protocolSettings, 'network_settings') ?: null, + ]; + $response = match ($nodeType) { 'shadowsocks' => [ - 'server_port' => $node->server_port, + ...$baseConfig, 'cipher' => $protocolSettings['cipher'], 'obfs' => $protocolSettings['obfs'], 'obfs_settings' => $protocolSettings['obfs_settings'], - 'server_key' => $protocolSettings['cipher'] === '2022-blake3-aes-128-gcm' - ? Helper::getServerKey($node->created_at, 16) - : ($protocolSettings['cipher'] === '2022-blake3-aes-256-gcm' - ? Helper::getServerKey($node->created_at, 32) - : null) + 'server_key' => match ($protocolSettings['cipher']) { + '2022-blake3-aes-128-gcm' => Helper::getServerKey($node->created_at, 16), + '2022-blake3-aes-256-gcm' => Helper::getServerKey($node->created_at, 32), + default => null + } ], 'vmess' => [ - 'server_port' => $node->server_port, - 'network' => $protocolSettings['network'], - 'networkSettings' => $protocolSettings['network_settings'], - 'tls' => $protocolSettings['tls'] + ...$baseConfig, + 'tls' => (int) $protocolSettings['tls'] ], 'trojan' => [ - 'host' => $node->host, - 'server_port' => $node->server_port, + ...$baseConfig, + 'host' => $host, 'server_name' => $protocolSettings['server_name'], - 'network' => $protocolSettings['network'], - 'networkSettings' => $protocolSettings['network_settings'], ], 'vless' => [ - 'server_port' => $node->server_port, - 'network' => $protocolSettings['network'], - 'network_settings' => $protocolSettings['network_settings'], - 'tls' => $protocolSettings['tls'], + ...$baseConfig, + 'tls' => (int) $protocolSettings['tls'], 'flow' => $protocolSettings['flow'], - 'tls_settings' => $protocolSettings['tls_settings'] + 'tls_settings' => + match ((int) $protocolSettings['tls']) { + 2 => $protocolSettings['reality_settings'], + default => $protocolSettings['tls_settings'] + } ], 'hysteria' => [ - 'version' => $protocolSettings['version'], - 'host' => $node->host, - 'server_port' => $node->server_port, + 'server_port' => (int) $serverPort, + 'version' => (int) $protocolSettings['version'], + 'host' => $host, 'server_name' => $protocolSettings['tls']['server_name'], - 'up_mbps' => $protocolSettings['bandwidth']['up'], - 'down_mbps' => $protocolSettings['bandwidth']['down'], - 'obfs' => $protocolSettings['obfs']['open'] ? $protocolSettings['obfs']['password'] : null + 'up_mbps' => (int) $protocolSettings['bandwidth']['up'], + 'down_mbps' => (int) $protocolSettings['bandwidth']['down'], + ...match ((int) $protocolSettings['version']) { + 1 => ['obfs' => $protocolSettings['obfs']['password'] ?? null], + 2 => [ + 'obfs' => $protocolSettings['obfs']['open'] ? $protocolSettings['obfs']['type'] : null, + 'obfs-password' => $protocolSettings['obfs']['password'] ?? null + ], + default => [] + } ], default => [] }; + $response['base_config'] = [ 'push_interval' => (int) admin_setting('server_push_interval', 60), 'pull_interval' => (int) admin_setting('server_pull_interval', 60) ]; - if ($node['route_id']) { - $response['routes'] = ServerService::getRoutes($node['route_id']); + + if (!empty($node['route_ids'])) { + $response['routes'] = ServerService::getRoutes($node['route_ids']); } + $eTag = sha1(json_encode($response)); - if (strpos($request->header('If-None-Match'), $eTag) !== false) { + if (strpos($request->header('If-None-Match', '') ?? '', $eTag) !== false) { return response(null, 304); } - return response($response)->header('ETag', "\"{$eTag}\""); } + // 获取在线用户数据(wyx2685 + public function alivelist(Request $request): JsonResponse + { + $node = $request->input('node_info'); + $deviceLimitUsers = ServerService::getAvailableUsers($node->group_ids) + ->where('device_limit', '>', 0); + $alive = $this->userOnlineService->getAliveList($deviceLimitUsers); + return response()->json(['alive' => (object) $alive]); + } + // 后端提交在线数据 - public function alive(Request $request) + public function alive(Request $request): JsonResponse { - return $this->success(true); + $node = $request->input('node_info'); + $data = json_decode(request()->getContent(), true); + if ($data === null) { + return response()->json([ + 'error' => 'Invalid online data' + ], 400); + } + $this->userOnlineService->updateAliveData($data, $node->type, $node->id); + return response()->json(['data' => true]); } } diff --git a/app/Http/Controllers/V1/User/NoticeController.php b/app/Http/Controllers/V1/User/NoticeController.php index b6b9349c3..3ea555b57 100644 --- a/app/Http/Controllers/V1/User/NoticeController.php +++ b/app/Http/Controllers/V1/User/NoticeController.php @@ -12,8 +12,8 @@ public function fetch(Request $request) { $current = $request->input('current') ? $request->input('current') : 1; $pageSize = 5; - $model = Notice::orderBy('created_at', 'DESC') - ->where('show', 1); + $model = Notice::orderBy('sort', 'ASC') + ->where('show', true); $total = $model->count(); $res = $model->forPage($current, $pageSize) ->get(); diff --git a/app/Http/Controllers/V1/User/OrderController.php b/app/Http/Controllers/V1/User/OrderController.php index 623cf3beb..6ad674228 100755 --- a/app/Http/Controllers/V1/User/OrderController.php +++ b/app/Http/Controllers/V1/User/OrderController.php @@ -5,7 +5,7 @@ use App\Exceptions\ApiException; use App\Http\Controllers\Controller; use App\Http\Requests\User\OrderSave; -use App\Http\Resources\OrderResources; +use App\Http\Resources\OrderResource; use App\Models\Order; use App\Models\Payment; use App\Models\Plan; @@ -14,6 +14,7 @@ use App\Services\OrderService; use App\Services\PaymentService; use App\Services\PlanService; +use App\Services\Plugin\HookManager; use App\Services\UserService; use App\Utils\Helper; use Illuminate\Http\Request; @@ -34,7 +35,7 @@ public function fetch(Request $request) ->orderBy('created_at', 'DESC') ->get(); - return $this->success(OrderResources::collection($orders)); + return $this->success(OrderResource::collection($orders)); } public function detail(Request $request) @@ -57,7 +58,7 @@ public function detail(Request $request) if ($order->surplus_order_ids) { $order['surplus_orders'] = Order::whereIn('id', $order->surplus_order_ids)->get(); } - return $this->success(OrderResources::make($order)); + return $this->success(OrderResource::make($order)); } public function save(OrderSave $request) @@ -112,6 +113,7 @@ public function save(OrderSave $request) if (!$order->save()) { throw new ApiException(__('Failed to create order')); } + HookManager::call('order.after_create', $order); return $this->success($order->trade_no); }); diff --git a/app/Http/Controllers/V1/User/PlanController.php b/app/Http/Controllers/V1/User/PlanController.php index 63e062a75..7db7aad43 100755 --- a/app/Http/Controllers/V1/User/PlanController.php +++ b/app/Http/Controllers/V1/User/PlanController.php @@ -4,7 +4,7 @@ use App\Exceptions\ApiException; use App\Http\Controllers\Controller; -use App\Http\Resources\PlanResources; +use App\Http\Resources\PlanResource; use App\Models\Plan; use App\Models\User; use App\Services\PlanService; @@ -29,10 +29,10 @@ public function fetch(Request $request) if (!$this->planService->isPlanAvailableForUser($plan, $user)) { return $this->fail([400, __('Subscription plan does not exist')]); } - return $this->success(PlanResources::make($plan)); + return $this->success(PlanResource::make($plan)); } $plans = $this->planService->getAvailablePlans(); - return $this->success(PlanResources::collection($plans)); + return $this->success(PlanResource::collection($plans)); } } diff --git a/app/Http/Controllers/V1/User/ServerController.php b/app/Http/Controllers/V1/User/ServerController.php index b2f7b15a5..f12b00538 100644 --- a/app/Http/Controllers/V1/User/ServerController.php +++ b/app/Http/Controllers/V1/User/ServerController.php @@ -20,7 +20,7 @@ public function fetch(Request $request) $servers = ServerService::getAvailableServers($user); } $eTag = sha1(json_encode(array_column($servers, 'cache_key'))); - if (strpos($request->header('If-None-Match'), $eTag) !== false ) { + if (strpos($request->header('If-None-Match', ''), $eTag) !== false ) { return response(null,304); } $data = NodeResource::collection($servers); diff --git a/app/Http/Controllers/V2/Admin/ConfigController.php b/app/Http/Controllers/V2/Admin/ConfigController.php index 92d2d82c5..f461daddd 100644 --- a/app/Http/Controllers/V2/Admin/ConfigController.php +++ b/app/Http/Controllers/V2/Admin/ConfigController.php @@ -107,6 +107,7 @@ public function fetch(Request $request) 'show_protocol_to_server_enable' => (bool) admin_setting('show_protocol_to_server_enable', 0), 'default_remind_expire' => (bool) admin_setting('default_remind_expire', 1), 'default_remind_traffic' => (bool) admin_setting('default_remind_traffic', 1), + 'subscribe_path' => admin_setting('subscribe_path', 's'), ], 'frontend' => [ @@ -120,6 +121,7 @@ public function fetch(Request $request) 'server_token' => admin_setting('server_token'), 'server_pull_interval' => admin_setting('server_pull_interval', 60), 'server_push_interval' => admin_setting('server_push_interval', 60), + 'device_limit_mode' => (int) admin_setting('device_limit_mode', 0), ], 'email' => [ 'email_template' => admin_setting('email_template', 'default'), @@ -128,7 +130,8 @@ public function fetch(Request $request) 'email_username' => admin_setting('email_username'), 'email_password' => admin_setting('email_password'), 'email_encryption' => admin_setting('email_encryption'), - 'email_from_address' => admin_setting('email_from_address') + 'email_from_address' => admin_setting('email_from_address'), + 'remind_mail_enable' => (bool) admin_setting('remind_mail_enable', false), ], 'telegram' => [ 'telegram_bot_enable' => (bool) admin_setting('telegram_bot_enable', 0), @@ -176,7 +179,8 @@ public function save(ConfigSave $request) $data = $request->validated(); foreach ($data as $k => $v) { if ($k == 'frontend_theme') { - ThemeService::switchTheme($v); + $themeService = new ThemeService(); + $themeService->switch($v); } admin_setting([$k => $v]); } diff --git a/app/Http/Controllers/V2/Admin/NoticeController.php b/app/Http/Controllers/V2/Admin/NoticeController.php index c3700dfd8..854b3132e 100644 --- a/app/Http/Controllers/V2/Admin/NoticeController.php +++ b/app/Http/Controllers/V2/Admin/NoticeController.php @@ -7,12 +7,17 @@ use App\Http\Requests\Admin\NoticeSave; use App\Models\Notice; use Illuminate\Http\Request; +use Illuminate\Support\Facades\DB; class NoticeController extends Controller { public function fetch(Request $request) { - return $this->success(Notice::orderBy('id', 'DESC')->get()); + return $this->success( + Notice::orderBy('sort', 'ASC') + ->orderBy('id', 'DESC') + ->get() + ); } public function save(NoticeSave $request) @@ -72,4 +77,25 @@ public function drop(Request $request) } return $this->success(true); } + + public function sort(Request $request) + { + $params = $request->validate([ + 'ids' => 'required|array' + ]); + + try { + DB::beginTransaction(); + foreach ($params['ids'] as $k => $v) { + $notice = Notice::findOrFail($v); + $notice->update(['sort' => $k + 1]); + } + DB::commit(); + return $this->success(true); + } catch (\Exception $e) { + DB::rollBack(); + \Log::error($e); + return $this->fail([500, '排序保存失败']); + } + } } diff --git a/app/Http/Controllers/V2/Admin/OrderController.php b/app/Http/Controllers/V2/Admin/OrderController.php index ff0f4dac7..ddc4f50bc 100644 --- a/app/Http/Controllers/V2/Admin/OrderController.php +++ b/app/Http/Controllers/V2/Admin/OrderController.php @@ -14,6 +14,7 @@ use App\Utils\Helper; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; +use Illuminate\Database\Eloquent\Builder; class OrderController extends Controller { @@ -35,47 +36,103 @@ public function fetch(Request $request) $current = $request->input('current', 1); $pageSize = $request->input('pageSize', 10); $orderModel = Order::with('plan:id,name'); - if ($request->input('is_commission')) { + + if ($request->boolean('is_commission')) { $orderModel->whereNotNull('invite_user_id') ->whereNotIn('status', [0, 2]) ->where('commission_balance', '>', 0); } + $this->applyFiltersAndSorts($request, $orderModel); - $orders = $orderModel - ->orderBy('created_at', 'desc') - ->paginate($pageSize, ['*'], 'page', $current); - return response([ - 'data' => $orders->transform(function ($order) { - $order['period'] = PlanService::getLegacyPeriod($order->period); - return $order; - }), - 'total' => $orders->total() - ]); + + return response()->json( + $orderModel + ->latest('created_at') + ->paginate( + perPage: $pageSize, + page: $current + )->through(fn($order) => [ + ...$order->toArray(), + 'period' => PlanService::getLegacyPeriod($order->period) + ]), + ); } - private function applyFiltersAndSorts(Request $request, $builder) + private function applyFiltersAndSorts(Request $request, Builder $builder): void { - if ($request->has('filter')) { - collect($request->input('filter'))->each(callback: function ($filter) use ($builder) { - $key = $filter['id']; - $value = $filter['value']; - $builder->where(function ($query) use ($key, $value) { - if (is_array($value)) { - $query->whereIn($key, $value); - } else { - $query->where($key, 'like', "%{$value}%"); - } - }); - }); + $this->applyFilters($request, $builder); + $this->applySorting($request, $builder); + } + + private function applyFilters(Request $request, Builder $builder): void + { + if (!$request->has('filter')) { + return; } - if ($request->has('sort')) { - collect($request->input('sort'))->each(function ($sort) use ($builder) { - $key = $sort['id']; - $value = $sort['desc'] ? 'DESC' : 'ASC'; - $builder->orderBy($key, $value); + collect($request->input('filter'))->each(function ($filter) use ($builder) { + $field = $filter['id']; + $value = $filter['value']; + + $builder->where(function ($query) use ($field, $value) { + $this->buildFilterQuery($query, $field, $value); }); + }); + } + + private function buildFilterQuery(Builder $query, string $field, mixed $value): void + { + // Handle array values for 'in' operations + if (is_array($value)) { + $query->whereIn($field, $value); + return; } + + // Handle operator-based filtering + if (!is_string($value) || !str_contains($value, ':')) { + $query->where($field, 'like', "%{$value}%"); + return; + } + + [$operator, $filterValue] = explode(':', $value, 2); + + // Convert numeric strings to appropriate type + if (is_numeric($filterValue)) { + $filterValue = strpos($filterValue, '.') !== false + ? (float) $filterValue + : (int) $filterValue; + } + + // Apply operator + $query->where($field, match (strtolower($operator)) { + 'eq' => '=', + 'gt' => '>', + 'gte' => '>=', + 'lt' => '<', + 'lte' => '<=', + 'like' => 'like', + 'notlike' => 'not like', + 'null' => static fn($q) => $q->whereNull($queryField), + 'notnull' => static fn($q) => $q->whereNotNull($queryField), + default => 'like' + }, match (strtolower($operator)) { + 'like', 'notlike' => "%{$filterValue}%", + 'null', 'notnull' => null, + default => $filterValue + }); + } + + private function applySorting(Request $request, Builder $builder): void + { + if (!$request->has('sort')) { + return; + } + + collect($request->input('sort'))->each(function ($sort) use ($builder) { + $field = $sort['id']; + $direction = $sort['desc'] ? 'DESC' : 'ASC'; + $builder->orderBy($field, $direction); + }); } public function paid(Request $request) @@ -158,11 +215,11 @@ public function assign(OrderAssign $request) $orderService = new OrderService($order); $order->user_id = $user->id; $order->plan_id = $plan->id; - $order->period = $request->input('period'); + $order->period = PlanService::getPeriodKey($request->input('period')); $order->trade_no = Helper::guid(); $order->total_amount = $request->input('total_amount'); - if ($order->period === 'reset_price') { + if (PlanService::getPeriodKey($order->period) === Plan::PERIOD_RESET_TRAFFIC) { $order->type = Order::TYPE_RESET_TRAFFIC; } else if ($user->plan_id !== NULL && $order->plan_id !== $user->plan_id) { $order->type = Order::TYPE_UPGRADE; diff --git a/app/Http/Controllers/V2/Admin/PlanController.php b/app/Http/Controllers/V2/Admin/PlanController.php index a584efadd..9d7063aee 100644 --- a/app/Http/Controllers/V2/Admin/PlanController.php +++ b/app/Http/Controllers/V2/Admin/PlanController.php @@ -3,12 +3,9 @@ namespace App\Http\Controllers\V2\Admin; use App\Http\Controllers\Controller; -use App\Http\Requests\Admin\PlanSort; use App\Models\Order; use App\Models\Plan; -use App\Models\ServerGroup; use App\Models\User; -use App\Services\PlanService; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; @@ -32,7 +29,7 @@ public function save(Request $request) 'id' => 'nullable|integer', 'name' => 'required|string', 'content' => 'nullable|string', - 'period_reset_method' => 'integer|required_if:type,0', + 'reset_traffic_method' => 'integer|nullable', 'transfer_enable' => 'integer|required', 'prices' => 'array|nullable', 'group_id' => 'integer|nullable', @@ -52,7 +49,8 @@ public function save(Request $request) User::where('plan_id', $plan->id)->update([ 'group_id' => $params['group_id'], 'transfer_enable' => $params['transfer_enable'] * 1073741824, - 'speed_limit' => $params['speed_limit'] + 'speed_limit' => $params['speed_limit'], + 'device_limit' => $params['device_limit'], ]); } $plan->update($params); diff --git a/app/Http/Controllers/V2/Admin/PluginController.php b/app/Http/Controllers/V2/Admin/PluginController.php new file mode 100644 index 000000000..de78e3c03 --- /dev/null +++ b/app/Http/Controllers/V2/Admin/PluginController.php @@ -0,0 +1,195 @@ +pluginManager = $pluginManager; + $this->configService = $configService; + } + + /** + * 获取插件列表 + */ + public function index() + { + $installedPlugins = Plugin::get() + ->keyBy('code') + ->toArray(); + $pluginPath = base_path('plugins'); + $plugins = []; + + if (File::exists($pluginPath)) { + $directories = File::directories($pluginPath); + foreach ($directories as $directory) { + $pluginName = basename($directory); + $configFile = $directory . '/config.json'; + if (File::exists($configFile)) { + $config = json_decode(File::get($configFile), true); + $installed = isset($installedPlugins[$pluginName]); + // 使用配置服务获取配置 + $pluginConfig = $installed ? $this->configService->getConfig($pluginName) : ($config['config'] ?? []); + $plugins[] = [ + 'code' => $config['code'], + 'name' => $config['name'], + 'version' => $config['version'], + 'description' => $config['description'], + 'author' => $config['author'], + 'is_installed' => $installed, + 'is_enabled' => $installed ? $installedPlugins[$pluginName]['is_enabled'] : false, + 'config' => $pluginConfig, + ]; + } + } + } + + return response()->json([ + 'data' => $plugins + ]); + } + + /** + * 安装插件 + */ + public function install(Request $request) + { + $request->validate([ + 'code' => 'required|string' + ]); + + try { + $this->pluginManager->install($request->input('code')); + return response()->json([ + 'message' => '插件安装成功' + ]); + } catch (\Exception $e) { + return response()->json([ + 'message' => '插件安装失败:' . $e->getMessage() + ], 400); + } + } + + /** + * 卸载插件 + */ + public function uninstall(Request $request) + { + $request->validate([ + 'code' => 'required|string' + ]); + + try { + $this->pluginManager->uninstall($request->input('code')); + return response()->json([ + 'message' => '插件卸载成功' + ]); + } catch (\Exception $e) { + return response()->json([ + 'message' => '插件卸载失败:' . $e->getMessage() + ], 400); + } + } + + /** + * 启用插件 + */ + public function enable(Request $request) + { + $request->validate([ + 'code' => 'required|string' + ]); + + try { + $this->pluginManager->enable($request->input('code')); + return response()->json([ + 'message' => '插件启用成功' + ]); + } catch (\Exception $e) { + return response()->json([ + 'message' => '插件启用失败:' . $e->getMessage() + ], 400); + } + } + + /** + * 禁用插件 + */ + public function disable(Request $request) + { + $request->validate([ + 'code' => 'required|string' + ]); + + try { + $this->pluginManager->disable($request->input('code')); + return response()->json([ + 'message' => '插件禁用成功' + ]); + } catch (\Exception $e) { + return response()->json([ + 'message' => '插件禁用失败:' . $e->getMessage() + ], 400); + } + } + + /** + * 获取插件配置 + */ + public function getConfig(Request $request) + { + $request->validate([ + 'code' => 'required|string' + ]); + + try { + $config = $this->configService->getConfig($request->input('code')); + return response()->json([ + 'data' => $config + ]); + } catch (\Exception $e) { + return response()->json([ + 'message' => '获取配置失败:' . $e->getMessage() + ], 400); + } + } + + /** + * 更新插件配置 + */ + public function updateConfig(Request $request) + { + $request->validate([ + 'code' => 'required|string', + 'config' => 'required|array' + ]); + + try { + $this->configService->updateConfig( + $request->input('code'), + $request->input('config') + ); + + return response()->json([ + 'message' => '配置更新成功' + ]); + } catch (\Exception $e) { + return response()->json([ + 'message' => '配置更新失败:' . $e->getMessage() + ], 400); + } + } +} \ No newline at end of file diff --git a/app/Http/Controllers/V2/Admin/Server/ManageController.php b/app/Http/Controllers/V2/Admin/Server/ManageController.php index a2fd83677..2def3afcf 100644 --- a/app/Http/Controllers/V2/Admin/Server/ManageController.php +++ b/app/Http/Controllers/V2/Admin/Server/ManageController.php @@ -17,6 +17,7 @@ public function getNodes(Request $request) { $servers = collect(ServerService::getAllServers())->map(function ($item) { $item['groups'] = ServerGroup::whereIn('id', $item['group_ids'])->get(['name', 'id']); + $item['parent'] = $item->parent; return $item; }); return $this->success($servers); @@ -114,6 +115,7 @@ public function copy(Request $request) { $server = Server::find($request->input('id')); $server->show = 0; + $server->code = null; if (!$server) { return $this->fail([400202, '服务器不存在']); } diff --git a/app/Http/Controllers/V2/Admin/StatController.php b/app/Http/Controllers/V2/Admin/StatController.php index 7f6148d2d..5eac16896 100644 --- a/app/Http/Controllers/V2/Admin/StatController.php +++ b/app/Http/Controllers/V2/Admin/StatController.php @@ -23,6 +23,35 @@ public function __construct(StatisticalService $service) } public function getOverride(Request $request) { + // 获取在线节点数 + $onlineNodes = Server::all()->filter(function ($server) { + $server->loadServerStatus(); + return $server->is_online; + })->count(); + // 获取在线设备数和在线用户数 + $onlineDevices = User::where('t', '>=', time() - 600) + ->sum('online_count'); + $onlineUsers = User::where('t', '>=', time() - 600) + ->count(); + + // 获取今日流量统计 + $todayStart = strtotime('today'); + $todayTraffic = StatServer::where('record_at', '>=', $todayStart) + ->where('record_at', '<', time()) + ->selectRaw('SUM(u) as upload, SUM(d) as download, SUM(u + d) as total') + ->first(); + + // 获取本月流量统计 + $monthStart = strtotime(date('Y-m-1')); + $monthTraffic = StatServer::where('record_at', '>=', $monthStart) + ->where('record_at', '<', time()) + ->selectRaw('SUM(u) as upload, SUM(d) as download, SUM(u + d) as total') + ->first(); + + // 获取总流量统计 + $totalTraffic = StatServer::selectRaw('SUM(u) as upload, SUM(d) as download, SUM(u + d) as total') + ->first(); + return [ 'data' => [ 'month_income' => Order::where('created_at', '>=', strtotime(date('Y-m-1'))) @@ -53,47 +82,139 @@ public function getOverride(Request $request) 'commission_last_month_payout' => CommissionLog::where('created_at', '>=', strtotime('-1 month', strtotime(date('Y-m-1')))) ->where('created_at', '<', strtotime(date('Y-m-1'))) ->sum('get_amount'), + // 新增统计数据 + 'online_nodes' => $onlineNodes, + 'online_devices' => $onlineDevices, + 'online_users' => $onlineUsers, + 'today_traffic' => [ + 'upload' => $todayTraffic->upload ?? 0, + 'download' => $todayTraffic->download ?? 0, + 'total' => $todayTraffic->total ?? 0 + ], + 'month_traffic' => [ + 'upload' => $monthTraffic->upload ?? 0, + 'download' => $monthTraffic->download ?? 0, + 'total' => $monthTraffic->total ?? 0 + ], + 'total_traffic' => [ + 'upload' => $totalTraffic->upload ?? 0, + 'download' => $totalTraffic->download ?? 0, + 'total' => $totalTraffic->total ?? 0 + ] ] ]; } + /** + * Get order statistics with filtering and pagination + * + * @param Request $request + * @return array + */ public function getOrder(Request $request) { - $statistics = Stat::where('record_type', 'd') - ->limit(31) - ->orderBy('record_at', 'DESC') - ->get() - ->toArray(); - $result = []; + $request->validate([ + 'start_date' => 'nullable|date_format:Y-m-d', + 'end_date' => 'nullable|date_format:Y-m-d', + 'type' => 'nullable|in:paid_total,paid_count,commission_total,commission_count', + ]); + + $query = Stat::where('record_type', 'd'); + + // Apply date filters + if ($request->input('start_date')) { + $query->where('record_at', '>=', strtotime($request->input('start_date'))); + } + if ($request->input('end_date')) { + $query->where('record_at', '<=', strtotime($request->input('end_date') . ' 23:59:59')); + } + + $statistics = $query->orderBy('record_at', 'DESC') + ->get(); + + $summary = [ + 'paid_total' => 0, + 'paid_count' => 0, + 'commission_total' => 0, + 'commission_count' => 0, + 'start_date' => $request->input('start_date', date('Y-m-d', $statistics->last()?->record_at)), + 'end_date' => $request->input('end_date', date('Y-m-d', $statistics->first()?->record_at)), + 'avg_paid_amount' => 0, + 'avg_commission_amount' => 0 + ]; + + $dailyStats = []; foreach ($statistics as $statistic) { - $date = date('m-d', $statistic['record_at']); - $result[] = [ - 'type' => '收款金额', - 'date' => $date, - 'value' => $statistic['paid_total'] / 100 - ]; - $result[] = [ - 'type' => '收款笔数', - 'date' => $date, - 'value' => $statistic['paid_count'] - ]; - $result[] = [ - 'type' => '佣金金额(已发放)', - 'date' => $date, - 'value' => $statistic['commission_total'] / 100 - ]; - $result[] = [ - 'type' => '佣金笔数(已发放)', + $date = date('Y-m-d', $statistic['record_at']); + + // Update summary + $summary['paid_total'] += $statistic['paid_total']; + $summary['paid_count'] += $statistic['paid_count']; + $summary['commission_total'] += $statistic['commission_total']; + $summary['commission_count'] += $statistic['commission_count']; + + // Calculate daily stats + $dailyData = [ 'date' => $date, - 'value' => $statistic['commission_count'] + 'paid_total' => $statistic['paid_total'], + 'paid_count' => $statistic['paid_count'], + 'commission_total' => $statistic['commission_total'], + 'commission_count' => $statistic['commission_count'], + 'avg_order_amount' => $statistic['paid_count'] > 0 ? round($statistic['paid_total'] / $statistic['paid_count'], 2) : 0, + 'avg_commission_amount' => $statistic['commission_count'] > 0 ? round($statistic['commission_total'] / $statistic['commission_count'], 2) : 0 ]; + + if ($request->input('type')) { + $dailyStats[] = [ + 'date' => $date, + 'value' => $statistic[$request->input('type')], + 'type' => $this->getTypeLabel($request->input('type')) + ]; + } else { + $dailyStats[] = $dailyData; + } } - $result = array_reverse($result); + + // Calculate averages for summary + if ($summary['paid_count'] > 0) { + $summary['avg_paid_amount'] = round($summary['paid_total'] / $summary['paid_count'], 2); + } + if ($summary['commission_count'] > 0) { + $summary['avg_commission_amount'] = round($summary['commission_total'] / $summary['commission_count'], 2); + } + + // Add percentage calculations to summary + $summary['commission_rate'] = $summary['paid_total'] > 0 + ? round(($summary['commission_total'] / $summary['paid_total']) * 100, 2) + : 0; + return [ - 'data' => $result + 'code' => 0, + 'message' => 'success', + 'data' => [ + 'list' => array_reverse($dailyStats), + 'summary' => $summary, + ] ]; } + /** + * Get human readable label for statistic type + * + * @param string $type + * @return string + */ + private function getTypeLabel(string $type): string + { + return match ($type) { + 'paid_total' => '收款金额', + 'paid_count' => '收款笔数', + 'commission_total' => '佣金金额(已发放)', + 'commission_count' => '佣金笔数(已发放)', + default => $type + }; + } + // 获取当日实时流量排行 public function getServerLastRank() { @@ -141,6 +262,50 @@ public function getStats() $lastMonthStart = strtotime('-1 month', $currentMonthStart); $twoMonthsAgoStart = strtotime('-2 month', $currentMonthStart); + // Today's start timestamp + $todayStart = strtotime('today'); + $yesterdayStart = strtotime('-1 day', $todayStart); + + // 获取在线节点数 + $onlineNodes = Server::all()->filter(function ($server) { + $server->loadServerStatus(); + return $server->is_online; + })->count(); + + // 获取在线设备数和在线用户数 + $onlineDevices = User::where('t', '>=', time() - 600) + ->sum('online_count'); + $onlineUsers = User::where('t', '>=', time() - 600) + ->count(); + + // 获取今日流量统计 + $todayTraffic = StatServer::where('record_at', '>=', $todayStart) + ->where('record_at', '<', time()) + ->selectRaw('SUM(u) as upload, SUM(d) as download, SUM(u + d) as total') + ->first(); + + // 获取本月流量统计 + $monthTraffic = StatServer::where('record_at', '>=', $currentMonthStart) + ->where('record_at', '<', time()) + ->selectRaw('SUM(u) as upload, SUM(d) as download, SUM(u + d) as total') + ->first(); + + // 获取总流量统计 + $totalTraffic = StatServer::selectRaw('SUM(u) as upload, SUM(d) as download, SUM(u + d) as total') + ->first(); + + // Today's income + $todayIncome = Order::where('created_at', '>=', $todayStart) + ->where('created_at', '<', time()) + ->whereNotIn('status', [0, 2]) + ->sum('total_amount'); + + // Yesterday's income for day growth calculation + $yesterdayIncome = Order::where('created_at', '>=', $yesterdayStart) + ->where('created_at', '<', $todayStart) + ->whereNotIn('status', [0, 2]) + ->sum('total_amount'); + // Current month income $currentMonthIncome = Order::where('created_at', '>=', $currentMonthStart) ->where('created_at', '<', time()) @@ -158,6 +323,11 @@ public function getStats() ->where('created_at', '<', $currentMonthStart) ->sum('get_amount'); + // Current month commission payout + $currentMonthCommissionPayout = CommissionLog::where('created_at', '>=', $currentMonthStart) + ->where('created_at', '<', time()) + ->sum('get_amount'); + // Current month new users $currentMonthNewUsers = User::where('created_at', '>=', $currentMonthStart) ->where('created_at', '<', time()) @@ -193,19 +363,62 @@ public function getStats() $lastMonthIncomeGrowth = $twoMonthsAgoIncome > 0 ? round(($lastMonthIncome - $twoMonthsAgoIncome) / $twoMonthsAgoIncome * 100, 1) : 0; $commissionGrowth = $twoMonthsAgoCommission > 0 ? round(($lastMonthCommissionPayout - $twoMonthsAgoCommission) / $twoMonthsAgoCommission * 100, 1) : 0; $userGrowth = $lastMonthNewUsers > 0 ? round(($currentMonthNewUsers - $lastMonthNewUsers) / $lastMonthNewUsers * 100, 1) : 0; + $dayIncomeGrowth = $yesterdayIncome > 0 ? round(($todayIncome - $yesterdayIncome) / $yesterdayIncome * 100, 1) : 0; + + // 获取待处理工单和佣金数据 + $ticketPendingTotal = Ticket::where('status', 0)->count(); + $commissionPendingTotal = Order::where('commission_status', 0) + ->where('invite_user_id', '!=', NULL) + ->whereIn('status', [Order::STATUS_COMPLETED]) + ->where('commission_balance', '>', 0) + ->count(); return [ 'data' => [ + // 收入相关 + 'todayIncome' => $todayIncome, + 'dayIncomeGrowth' => $dayIncomeGrowth, 'currentMonthIncome' => $currentMonthIncome, 'lastMonthIncome' => $lastMonthIncome, + 'monthIncomeGrowth' => $monthIncomeGrowth, + 'lastMonthIncomeGrowth' => $lastMonthIncomeGrowth, + + // 佣金相关 + 'currentMonthCommissionPayout' => $currentMonthCommissionPayout, 'lastMonthCommissionPayout' => $lastMonthCommissionPayout, + 'commissionGrowth' => $commissionGrowth, + 'commissionPendingTotal' => $commissionPendingTotal, + + // 用户相关 'currentMonthNewUsers' => $currentMonthNewUsers, 'totalUsers' => $totalUsers, 'activeUsers' => $activeUsers, - 'monthIncomeGrowth' => $monthIncomeGrowth, - 'lastMonthIncomeGrowth' => $lastMonthIncomeGrowth, - 'commissionGrowth' => $commissionGrowth, - 'userGrowth' => $userGrowth + 'userGrowth' => $userGrowth, + 'onlineUsers' => $onlineUsers, + 'onlineDevices' => $onlineDevices, + + // 工单相关 + 'ticketPendingTotal' => $ticketPendingTotal, + + // 节点相关 + 'onlineNodes' => $onlineNodes, + + // 流量统计 + 'todayTraffic' => [ + 'upload' => $todayTraffic->upload ?? 0, + 'download' => $todayTraffic->download ?? 0, + 'total' => $todayTraffic->total ?? 0 + ], + 'monthTraffic' => [ + 'upload' => $monthTraffic->upload ?? 0, + 'download' => $monthTraffic->download ?? 0, + 'total' => $monthTraffic->total ?? 0 + ], + 'totalTraffic' => [ + 'upload' => $totalTraffic->upload ?? 0, + 'download' => $totalTraffic->download ?? 0, + 'total' => $totalTraffic->total ?? 0 + ] ] ]; } @@ -281,8 +494,8 @@ public function getTrafficRank(Request $request) $result[] = [ 'id' => (string) $data->id, 'name' => $name, - 'value' => round($data->value / (1024 * 1024 * 1024), 2), // Convert to GB - 'previousValue' => round($previousValue / (1024 * 1024 * 1024), 2), // Convert to GB + 'value' => $data->value, // Convert to GB + 'previousValue' => $previousValue, // Convert to GB 'change' => $change, 'timestamp' => date('c', $endDate) ]; diff --git a/app/Http/Controllers/V2/Admin/SystemController.php b/app/Http/Controllers/V2/Admin/SystemController.php index 2d42d4219..e6f0b64c6 100644 --- a/app/Http/Controllers/V2/Admin/SystemController.php +++ b/app/Http/Controllers/V2/Admin/SystemController.php @@ -7,8 +7,6 @@ use App\Utils\CacheKey; use Illuminate\Http\Request; use Illuminate\Support\Facades\Cache; -use Illuminate\Support\Facades\DB; -use Illuminate\Support\Facades\Http; use Laravel\Horizon\Contracts\JobRepository; use Laravel\Horizon\Contracts\MasterSupervisorRepository; use Laravel\Horizon\Contracts\MetricsRepository; diff --git a/app/Http/Controllers/V2/Admin/ThemeController.php b/app/Http/Controllers/V2/Admin/ThemeController.php index ca81ba250..c2d31703d 100644 --- a/app/Http/Controllers/V2/Admin/ThemeController.php +++ b/app/Http/Controllers/V2/Admin/ThemeController.php @@ -65,8 +65,8 @@ public function upload(Request $request) // 检查文件名安全性 $originalName = $file->getClientOriginalName(); - if (!preg_match('/^[a-zA-Z0-9\-\_]+\.zip$/', $originalName)) { - throw new ApiException('主题包文件名只能包含字母、数字、下划线和中划线'); + if (!preg_match('/^[a-zA-Z0-9\-\_\.]+\.zip$/', $originalName)) { + throw new ApiException('主题包文件名只能包含字母、数字、下划线、中划线和点'); } $this->themeService->upload($file); @@ -117,7 +117,7 @@ public function switchTheme(Request $request) $payload = $request->validate([ 'name' => 'required' ]); - $this->themeService->switchTheme($payload['name']); + $this->themeService->switch($payload['name']); return $this->success(true); } diff --git a/app/Http/Controllers/V2/Admin/TicketController.php b/app/Http/Controllers/V2/Admin/TicketController.php index 539927cea..fc51d39c2 100644 --- a/app/Http/Controllers/V2/Admin/TicketController.php +++ b/app/Http/Controllers/V2/Admin/TicketController.php @@ -2,11 +2,8 @@ namespace App\Http\Controllers\V2\Admin; -use App\Exceptions\ApiException; use App\Http\Controllers\Controller; use App\Models\Ticket; -use App\Models\TicketMessage; -use App\Models\User; use App\Services\TicketService; use Illuminate\Database\Eloquent\ModelNotFoundException; use Illuminate\Http\Request; @@ -54,15 +51,15 @@ public function fetch(Request $request) private function fetchTicketById(Request $request) { $ticket = Ticket::with('messages', 'user')->find($request->input('id')); - + if (!$ticket) { return $this->fail([400202, '工单不存在']); } - + $ticket->messages->each(function ($message) use ($ticket) { $message->is_me = $message->user_id !== $ticket->user_id; }); - + return $this->success($ticket); } @@ -73,35 +70,27 @@ private function fetchTicketById(Request $request) */ private function fetchTickets(Request $request) { - $current = $request->input('current') ?? 1; - $pageSize = $request->input('pageSize') >= 10 ? $request->input('pageSize') : 10; + $ticketModel = Ticket::query() + ->when($request->has('status'), function ($query) use ($request) { + $query->where('status', $request->input('status')); + }) + ->when($request->has('reply_status'), function ($query) use ($request) { + $query->whereIn('reply_status', $request->input('reply_status')); + }) + ->when($request->has('email'), function ($query) use ($request) { + $query->whereHas('user', function ($q) use ($request) { + $q->where('email', $request->input('email')); + }); + }); - $ticketModel = Ticket::query(); $this->applyFiltersAndSorts($request, $ticketModel); - $ticketModel->orderBy('updated_at', 'DESC'); - - if ($request->has('status')) { - $ticketModel->where('status', $request->input('status')); - } - if ($request->has('reply_status')) { - $ticketModel->whereIn('reply_status', $request->input('reply_status')); - } - - if ($request->has('email')) { - $user = User::where('email', $request->input('email'))->first(); - if ($user) { - $ticketModel->where('user_id', $user->id); - } - } - - $total = $ticketModel->count(); - $res = $ticketModel->forPage($current, $pageSize)->get(); - - return response([ - 'data' => $res, - 'total' => $total - ]); + return response()->json($ticketModel + ->latest('updated_at') + ->paginate( + perPage: $request->integer('pageSize', 10), + page: $request->integer('current', 1) + )); } public function reply(Request $request) diff --git a/app/Http/Controllers/V2/Admin/UserController.php b/app/Http/Controllers/V2/Admin/UserController.php index 376808dee..23ed4dd11 100644 --- a/app/Http/Controllers/V2/Admin/UserController.php +++ b/app/Http/Controllers/V2/Admin/UserController.php @@ -2,9 +2,7 @@ namespace App\Http\Controllers\V2\Admin; -use App\Exceptions\ApiException; use App\Http\Controllers\Controller; -use App\Http\Requests\Admin\UserFetch; use App\Http\Requests\Admin\UserGenerate; use App\Http\Requests\Admin\UserSendMail; use App\Http\Requests\Admin\UserUpdate; @@ -13,6 +11,7 @@ use App\Models\User; use App\Services\AuthService; use App\Utils\Helper; +use Illuminate\Database\Eloquent\Builder; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; @@ -28,57 +27,161 @@ public function resetSecret(Request $request) return $this->success($user->save()); } - private function applyFiltersAndSorts(Request $request, $builder) + /** + * Apply filters and sorts to the query builder + * + * @param Request $request + * @param Builder $builder + * @return void + */ + private function applyFiltersAndSorts(Request $request, Builder $builder): void { - if ($request->has('filter')) { - collect($request->input('filter'))->each(function ($filter) use ($builder) { - $key = $filter['id']; - $value = $filter['value']; - $builder->where(function ($query) use ($key, $value) { - if (is_array($value)) { - if ($key === 'group_ids') { - $query->where(function ($subQuery) use ($value) { - $subQuery->whereIn('group_id', $value); - }); - } else { - $query->whereIn($key, $value); - } - } else { - $query->where($key, 'like', "%{$value}%"); - } - }); - }); + $this->applyFilters($request, $builder); + $this->applySorting($request, $builder); + } + + /** + * Apply filters to the query builder + * + * @param Request $request + * @param Builder $builder + * @return void + */ + private function applyFilters(Request $request, Builder $builder): void + { + if (!$request->has('filter')) { + return; } - if ($request->has('sort')) { - collect($request->input('sort'))->each(function ($sort) use ($builder) { - $key = $sort['id']; - $value = $sort['desc'] ? 'DESC' : 'ASC'; - $builder->orderBy($key, $value); + collect($request->input('filter'))->each(function ($filter) use ($builder) { + $field = $filter['id']; + $value = $filter['value']; + + $builder->where(function ($query) use ($field, $value) { + $this->buildFilterQuery($query, $field, $value); }); + }); + } + + /** + * Build the filter query based on field and value + * + * @param Builder $query + * @param string $field + * @param mixed $value + * @return void + */ + private function buildFilterQuery(Builder $query, string $field, mixed $value): void + { + // Handle array values for 'in' operations + if (is_array($value)) { + $query->whereIn($field === 'group_ids' ? 'group_id' : $field, $value); + return; + } + + // Handle operator-based filtering + if (!is_string($value) || !str_contains($value, ':')) { + $query->where($field, 'like', "%{$value}%"); + return; + } + + [$operator, $filterValue] = explode(':', $value, 2); + + // Convert numeric strings to appropriate type + if (is_numeric($filterValue)) { + $filterValue = strpos($filterValue, '.') !== false + ? (float) $filterValue + : (int) $filterValue; + } + + // Handle computed fields + $queryField = match ($field) { + 'total_used' => DB::raw('(u + d)'), + default => $field + }; + + // Apply operator + $query->where($queryField, match (strtolower($operator)) { + 'eq' => '=', + 'gt' => '>', + 'gte' => '>=', + 'lt' => '<', + 'lte' => '<=', + 'like' => 'like', + 'notlike' => 'not like', + 'null' => static fn($q) => $q->whereNull($queryField), + 'notnull' => static fn($q) => $q->whereNotNull($queryField), + default => 'like' + }, match (strtolower($operator)) { + 'like', 'notlike' => "%{$filterValue}%", + 'null', 'notnull' => null, + default => $filterValue + }); + } + + /** + * Apply sorting to the query builder + * + * @param Request $request + * @param Builder $builder + * @return void + */ + private function applySorting(Request $request, Builder $builder): void + { + if (!$request->has('sort')) { + return; } + + collect($request->input('sort'))->each(function ($sort) use ($builder) { + $field = $sort['id']; + $direction = $sort['desc'] ? 'DESC' : 'ASC'; + $builder->orderBy($field, $direction); + }); } + /** + * Fetch paginated user list with filters and sorting + * + * @param Request $request + * @return \Illuminate\Http\Response + */ public function fetch(Request $request) { $current = $request->input('current', 1); $pageSize = $request->input('pageSize', 10); - $userModel = User::with(['plan:id,name', 'invite_user:id,email', 'group:id,name'])->select( - DB::raw('*'), - DB::raw('(u+d) as total_used') - ); + + $userModel = User::with(['plan:id,name', 'invite_user:id,email', 'group:id,name']) + ->select(DB::raw('*, (u+d) as total_used')); + $this->applyFiltersAndSorts($request, $userModel); - $users = $userModel->orderBy('id', 'desc')->paginate($pageSize, ['*'], 'page', $current); + + $users = $userModel->orderBy('id', 'desc') + ->paginate($pageSize, ['*'], 'page', $current); + $users->getCollection()->transform(function ($user) { - $user->subscribe_url = Helper::getSubscribeUrl( $user->token); - return $user; + return $this->transformUserData($user); }); + return response([ 'data' => $users->items(), 'total' => $users->total() ]); } + /** + * Transform user data for response + * + * @param User $user + * @return User + */ + private function transformUserData(User $user): User + { + $user->subscribe_url = Helper::getSubscribeUrl($user->token); + $user->balance = $user->balance / 100; + $user->commission_balance = $user->commission_balance / 100; + return $user; + } + public function getUserInfoById(Request $request) { $request->validate([ @@ -127,7 +230,13 @@ public function update(UserUpdate $request) if (isset($params['banned']) && (int) $params['banned'] === 1) { $authService = new AuthService($user); - $authService->removeAllSession(); + $authService->removeSession(); + } + if (isset($params['balance'])) { + $params['balance'] = $params['balance'] * 100; + } + if (isset($params['commission_balance'])) { + $params['commission_balance'] = $params['commission_balance'] * 100; } try { diff --git a/app/Http/Middleware/Server.php b/app/Http/Middleware/Server.php index 88fc6b6e2..5ae86fd86 100644 --- a/app/Http/Middleware/Server.php +++ b/app/Http/Middleware/Server.php @@ -1,6 +1,5 @@ 'required', 'node_type' => [ - 'required', 'nullable', function ($attribute, $value, $fail) use ($request) { if (!ServerModel::isValidType($value)) { diff --git a/app/Http/Requests/Admin/ConfigSave.php b/app/Http/Requests/Admin/ConfigSave.php index 7228c17a6..0c80206c7 100755 --- a/app/Http/Requests/Admin/ConfigSave.php +++ b/app/Http/Requests/Admin/ConfigSave.php @@ -9,8 +9,8 @@ class ConfigSave extends FormRequest const RULES = [ // invite & commission 'invite_force' => '', - 'invite_commission' => 'integer', - 'invite_gen_limit' => 'integer', + 'invite_commission' => 'integer|nullable', + 'invite_gen_limit' => 'integer|nullable', 'invite_never_expire' => '', 'commission_first_time_enable' => '', 'commission_auto_check_enable' => '', @@ -44,10 +44,12 @@ class ConfigSave extends FormRequest 'change_order_event_id' => '', 'show_info_to_server_enable' => '', 'show_protocol_to_server_enable' => '', + 'subscribe_path' => '', // server 'server_token' => 'nullable|min:16', 'server_pull_interval' => 'integer', 'server_push_interval' => 'integer', + 'device_limit_mode' => 'integer', // frontend 'frontend_theme' => '', 'frontend_theme_sidebar' => 'nullable|in:dark,light', @@ -62,6 +64,7 @@ class ConfigSave extends FormRequest 'email_password' => '', 'email_encryption' => '', 'email_from_address' => '', + 'remind_mail_enable' => '', // telegram 'telegram_bot_enable' => '', 'telegram_bot_token' => '', @@ -82,8 +85,8 @@ class ConfigSave extends FormRequest 'recaptcha_enable' => 'boolean', 'recaptcha_key' => '', 'recaptcha_site_key' => '', - // 'email_verify' => 'bool|', - // 'safe_mode_enable' => 'boolean', + 'email_verify' => 'bool', + 'safe_mode_enable' => 'boolean', 'register_limit_by_ip_enable' => 'boolean', 'register_limit_count' => 'integer', 'register_limit_expire' => 'integer', @@ -91,8 +94,8 @@ class ConfigSave extends FormRequest 'password_limit_enable' => 'boolean', 'password_limit_count' => 'integer', 'password_limit_expire' => 'integer', - 'default_remind_expire' => 'integer|boolean', - 'default_remind_traffic' => 'integer|boolean' + 'default_remind_expire' => 'boolean', + 'default_remind_traffic' => 'boolean' ]; /** * Get the validation rules that apply to the request. diff --git a/app/Http/Requests/Admin/ServerSave.php b/app/Http/Requests/Admin/ServerSave.php index ed494ffc0..4587519c9 100644 --- a/app/Http/Requests/Admin/ServerSave.php +++ b/app/Http/Requests/Admin/ServerSave.php @@ -1,22 +1,66 @@ [ + 'cipher' => 'required|string', + 'obfs' => 'nullable|string', + 'obfs_settings.path' => 'nullable|string', + 'obfs_settings.host' => 'nullable|string', + ], + 'vmess' => [ + 'tls' => 'required|integer', + 'network' => 'required|string', + 'network_settings' => 'nullable|array', + 'tls_settings.server_name' => 'nullable|string', + 'tls_settings.allow_insecure' => 'nullable|boolean', + ], + 'trojan' => [ + 'network' => 'required|string', + 'network_settings' => 'nullable|array', + 'server_name' => 'nullable|string', + 'allow_insecure' => 'nullable|boolean', + ], + 'hysteria' => [ + 'version' => 'required|integer', + 'alpn' => 'nullable|string', + 'obfs.open' => 'nullable|boolean', + 'obfs.type' => 'string|nullable', + 'obfs.password' => 'string|nullable', + 'tls.server_name' => 'nullable|string', + 'tls.allow_insecure' => 'nullable|boolean', + 'bandwidth.up' => 'nullable|integer', + 'bandwidth.down' => 'nullable|integer', + ], + 'vless' => [ + 'tls' => 'required|integer', + 'network' => 'required|string', + 'network_settings' => 'nullable|array', + 'flow' => 'nullable|string', + 'tls_settings.server_name' => 'nullable|string', + 'tls_settings.allow_insecure' => 'nullable|boolean', + 'reality_settings.allow_insecure' => 'nullable|boolean', + 'reality_settings.server_name' => 'nullable|string', + 'reality_settings.server_port' => 'nullable|integer', + 'reality_settings.public_key' => 'nullable|string', + 'reality_settings.private_key' => 'nullable|string', + 'reality_settings.short_id' => 'nullable|string', + ] + ]; + + private function getBaseRules(): array { - $type = $this->input('type'); - $protocolRules = [ - 'type' => 'required|in:shadowsocks,vmess,trojan,hysteria,vless', + return [ + 'type' => 'required|in:' . implode(',', Server::VALID_TYPES), 'spectific_key' => 'nullable|string', + 'code' => 'nullable|string', 'show' => '', 'name' => 'required|string', 'group_ids' => 'nullable|array', @@ -31,55 +75,14 @@ public function rules() 'rate' => 'required|numeric', 'protocol_settings' => 'array', ]; + } - $protocolSpecificRules = [ - 'shadowsocks' => [ - 'cipher' => 'required|string', - 'obfs' => 'nullable|string', - 'obfs_settings.path' => 'nullable|string', - 'obfs_settings.host' => 'nullable|string', - ], - 'vmess' => [ - 'tls' => 'required|integer', - 'network' => 'required|string', - 'network_settings' => 'nullable|array', - 'tls_settings.server_name' => 'nullable|string', - 'tls_settings.allow_insecure' => 'nullable|boolean', - ], - 'trojan' => [ - 'network' => 'required|string', - 'network_settings' => 'nullable|array', - 'server_name' => 'nullable|string', - 'allow_insecure' => 'nullable|boolean', - ], - 'hysteria' => [ - 'version' => 'required|integer', - 'alpn' => 'nullable|string', - 'obfs.open' => 'nullable|boolean', - 'obfs.type' => 'string|nullable', - 'obfs.password' => 'string|nullable', - 'tls.server_name' => 'nullable|string', - 'tls.allow_insecure' => 'nullable|boolean', - 'bandwidth.up' => 'nullable|numeric', - 'bandwidth.down' => 'nullable|numeric', - ], - 'vless' => [ - 'tls' => 'required|integer', - 'network' => 'required|string', - 'network_settings' => 'nullable|array', - 'flow' => 'nullable|string', - 'tls_settings.server_name' => 'nullable|string', - 'tls_settings.allow_insecure' => 'nullable|boolean', - 'reality_settings.allow_insecure' => 'nullable|boolean', - 'reality_settings.dest' => 'nullable|string', - 'reality_settings.public_key' => 'nullable|string', - 'reality_settings.private_key' => 'nullable|string', - 'reality_settings.short_id' => 'nullable|string', - ] - ]; - - $rules = $protocolRules; - foreach ($protocolSpecificRules[$type] as $field => $rule) { + public function rules(): array + { + $type = $this->input('type'); + $rules = $this->getBaseRules(); + + foreach (self::PROTOCOL_RULES[$type] ?? [] as $field => $rule) { $rules['protocol_settings.' . $field] = $rule; } @@ -90,9 +93,9 @@ public function messages() { return [ 'name.required' => '节点名称不能为空', - 'group_id.required' => '权限组不能为空', - 'group_id.array' => '权限组格式不正确', - 'route_id.array' => '路由组格式不正确', + 'group_ids.required' => '权限组不能为空', + 'group_ids.array' => '权限组格式不正确', + 'route_ids.array' => '路由组格式不正确', 'parent_id.integer' => '父ID格式不正确', 'host.required' => '节点地址不能为空', 'port.required' => '连接端口不能为空', diff --git a/app/Http/Requests/Admin/ServerShadowsocksSave.php b/app/Http/Requests/Admin/ServerShadowsocksSave.php deleted file mode 100644 index ab4ee48e0..000000000 --- a/app/Http/Requests/Admin/ServerShadowsocksSave.php +++ /dev/null @@ -1,54 +0,0 @@ - '', - 'name' => 'required', - 'group_id' => 'required|array', - 'parent_id' => 'nullable|integer', - 'route_id' => 'nullable|array', - 'host' => 'required', - 'port' => 'required', - 'server_port' => 'required', - 'cipher' => 'required|in:aes-128-gcm,aes-192-gcm,aes-256-gcm,chacha20-ietf-poly1305,2022-blake3-aes-128-gcm,2022-blake3-aes-256-gcm', - 'obfs' => 'nullable|in:http', - 'obfs_settings' => 'nullable|array', - 'tags' => 'nullable|array', - 'excludes' => 'nullable|array', - 'ips' => 'nullable|array', - 'rate' => 'required|numeric' - ]; - } - - public function messages() - { - return [ - 'name.required' => '节点名称不能为空', - 'group_id.required' => '权限组不能为空', - 'group_id.array' => '权限组格式不正确', - 'route_id.array' => '路由组格式不正确', - 'parent_id.integer' => '父节点格式不正确', - 'host.required' => '节点地址不能为空', - 'port.required' => '连接端口不能为空', - 'server_port.required' => '后端服务端口不能为空', - 'cipher.required' => '加密方式不能为空', - 'tags.array' => '标签格式不正确', - 'rate.required' => '倍率不能为空', - 'rate.numeric' => '倍率格式不正确', - 'obfs.in' => '混淆格式不正确', - 'obfs_settings.array' => '混淆设置格式不正确' - ]; - } -} diff --git a/app/Http/Requests/Admin/ServerShadowsocksUpdate.php b/app/Http/Requests/Admin/ServerShadowsocksUpdate.php deleted file mode 100755 index 4de0d09a9..000000000 --- a/app/Http/Requests/Admin/ServerShadowsocksUpdate.php +++ /dev/null @@ -1,28 +0,0 @@ - 'in:0,1' - ]; - } - - public function messages() - { - return [ - 'show.in' => '显示状态格式不正确' - ]; - } -} diff --git a/app/Http/Requests/Admin/ServerTrojanSave.php b/app/Http/Requests/Admin/ServerTrojanSave.php deleted file mode 100644 index af008e04b..000000000 --- a/app/Http/Requests/Admin/ServerTrojanSave.php +++ /dev/null @@ -1,54 +0,0 @@ - '', - 'name' => 'required', - 'network' => 'required', - 'networkSettings' => 'nullable', - 'group_id' => 'required|array', - 'route_id' => 'nullable|array', - 'parent_id' => 'nullable|integer', - 'host' => 'required', - 'port' => 'required', - 'server_port' => 'required', - 'allow_insecure' => 'nullable|in:0,1', - 'server_name' => 'nullable', - 'tags' => 'nullable|array', - 'excludes' => 'nullable|array', - 'ips' => 'nullable|array', - 'rate' => 'required|numeric' - ]; - } - - public function messages() - { - return [ - 'name.required' => '节点名称不能为空', - 'network.required' => '传输协议不能为空', - 'group_id.required' => '权限组不能为空', - 'group_id.array' => '权限组格式不正确', - 'route_id.array' => '路由组格式不正确', - 'parent_id.integer' => '父节点格式不正确', - 'host.required' => '节点地址不能为空', - 'port.required' => '连接端口不能为空', - 'server_port.required' => '后端服务端口不能为空', - 'allow_insecure.in' => '允许不安全格式不正确', - 'tags.array' => '标签格式不正确', - 'rate.required' => '倍率不能为空', - 'rate.numeric' => '倍率格式不正确' - ]; - } -} diff --git a/app/Http/Requests/Admin/ServerTrojanUpdate.php b/app/Http/Requests/Admin/ServerTrojanUpdate.php deleted file mode 100755 index fe1786d0a..000000000 --- a/app/Http/Requests/Admin/ServerTrojanUpdate.php +++ /dev/null @@ -1,28 +0,0 @@ - 'in:0,1' - ]; - } - - public function messages() - { - return [ - 'show.in' => '显示状态格式不正确' - ]; - } -} diff --git a/app/Http/Requests/Admin/ServerVmessSave.php b/app/Http/Requests/Admin/ServerVmessSave.php deleted file mode 100755 index c3d08f2c5..000000000 --- a/app/Http/Requests/Admin/ServerVmessSave.php +++ /dev/null @@ -1,61 +0,0 @@ - '', - 'name' => 'required', - 'group_id' => 'required|array', - 'route_id' => 'nullable|array', - 'parent_id' => 'nullable|integer', - 'host' => 'required', - 'port' => 'required', - 'server_port' => 'required', - 'tls' => 'required', - 'tags' => 'nullable|array', - 'excludes' => 'nullable|array', - 'ips' => 'nullable|array', - 'rate' => 'required|numeric', - 'network' => 'required|in:tcp,kcp,ws,http,domainsocket,quic,grpc', - 'networkSettings' => 'nullable|array', - 'ruleSettings' => 'nullable|array', - 'tlsSettings' => 'nullable|array', - 'dnsSettings' => 'nullable|array' - ]; - } - - public function messages() - { - return [ - 'name.required' => '节点名称不能为空', - 'group_id.required' => '权限组不能为空', - 'group_id.array' => '权限组格式不正确', - 'route_id.array' => '路由组格式不正确', - 'parent_id.integer' => '父ID格式不正确', - 'host.required' => '节点地址不能为空', - 'port.required' => '连接端口不能为空', - 'server_port.required' => '后端服务端口不能为空', - 'tls.required' => 'TLS不能为空', - 'tags.array' => '标签格式不正确', - 'rate.required' => '倍率不能为空', - 'rate.numeric' => '倍率格式不正确', - 'network.required' => '传输协议不能为空', - 'network.in' => '传输协议格式不正确', - 'networkSettings.array' => '传输协议配置有误', - 'ruleSettings.array' => '规则配置有误', - 'tlsSettings.array' => 'tls配置有误', - 'dnsSettings.array' => 'dns配置有误' - ]; - } -} diff --git a/app/Http/Requests/Admin/ServerVmessUpdate.php b/app/Http/Requests/Admin/ServerVmessUpdate.php deleted file mode 100755 index 607d74d5b..000000000 --- a/app/Http/Requests/Admin/ServerVmessUpdate.php +++ /dev/null @@ -1,28 +0,0 @@ - 'in:0,1' - ]; - } - - public function messages() - { - return [ - 'show.in' => '显示状态格式不正确' - ]; - } -} diff --git a/app/Http/Requests/Admin/UserUpdate.php b/app/Http/Requests/Admin/UserUpdate.php index a75199778..793606dcf 100644 --- a/app/Http/Requests/Admin/UserUpdate.php +++ b/app/Http/Requests/Admin/UserUpdate.php @@ -26,11 +26,12 @@ public function rules() 'is_staff' => 'required|in:0,1', 'u' => 'integer', 'd' => 'integer', - 'balance' => 'integer', + 'balance' => 'numeric', 'commission_type' => 'integer', - 'commission_balance' => 'integer', + 'commission_balance' => 'numeric', 'remarks' => 'nullable', - 'speed_limit' => 'nullable|integer' + 'speed_limit' => 'nullable|integer', + 'device_limit' => 'nullable|integer' ]; } @@ -60,7 +61,8 @@ public function messages() 'balance.integer' => '余额格式不正确', 'commission_balance.integer' => '佣金格式不正确', 'password.min' => '密码长度最小8位', - 'speed_limit.integer' => '限速格式不正确' + 'speed_limit.integer' => '限速格式不正确', + 'device_limit.integer' => '设备数量格式不正确' ]; } } diff --git a/app/Http/Resources/OrderResources.php b/app/Http/Resources/OrderResource.php similarity index 82% rename from app/Http/Resources/OrderResources.php rename to app/Http/Resources/OrderResource.php index 64a68e527..d2d5ff862 100644 --- a/app/Http/Resources/OrderResources.php +++ b/app/Http/Resources/OrderResource.php @@ -6,7 +6,7 @@ use Illuminate\Http\Request; use Illuminate\Http\Resources\Json\JsonResource; -class OrderResources extends JsonResource +class OrderResource extends JsonResource { /** * Transform the resource into an array. @@ -18,7 +18,7 @@ public function toArray(Request $request): array return [ ...parent::toArray($request), 'period' => PlanService::getLegacyPeriod($this->period), - 'plan' => PlanResources::make($this->plan), + 'plan' => PlanResource::make($this->plan), ]; } } diff --git a/app/Http/Resources/PlanResource.php b/app/Http/Resources/PlanResource.php new file mode 100644 index 000000000..079d96eef --- /dev/null +++ b/app/Http/Resources/PlanResource.php @@ -0,0 +1,75 @@ + + */ + public function toArray(Request $request): array + { + return [ + 'id' => $this->resource['id'], + 'group_id' => $this->resource['group_id'], + 'name' => $this->resource['name'], + 'content' => $this->resource['content'], + ...$this->getPeriodPrices(), + 'capacity_limit' => $this->getFormattedCapacityLimit(), + 'transfer_enable' => $this->resource['transfer_enable'], + 'speed_limit' => $this->resource['speed_limit'], + 'show' => (bool) $this->resource['show'], + 'sell' => (bool) $this->resource['sell'], + 'renew' => (bool) $this->resource['renew'], + 'reset_traffic_method' => $this->resource['reset_traffic_method'], + 'sort' => $this->resource['sort'], + 'created_at' => $this->resource['created_at'], + 'updated_at' => $this->resource['updated_at'] + ]; + } + + /** + * Get transformed period prices using Plan mapping + * + * @return array + */ + protected function getPeriodPrices(): array + { + return collect(Plan::LEGACY_PERIOD_MAPPING) + ->mapWithKeys(function (string $newPeriod, string $legacyPeriod): array { + $price = $this->resource['prices'][$newPeriod] ?? null; + return [ + $legacyPeriod => $price !== null + ? (float) $price * self::PRICE_MULTIPLIER + : null + ]; + }) + ->all(); + } + + /** + * Get formatted capacity limit value + * + * @return int|string|null + */ + protected function getFormattedCapacityLimit(): int|string|null + { + $limit = $this->resource['capacity_limit']; + + return match (true) { + $limit === null => null, + $limit <= 0 => __('Sold out'), + default => (int) $limit, + }; + } +} \ No newline at end of file diff --git a/app/Http/Resources/PlanResources.php b/app/Http/Resources/PlanResources.php deleted file mode 100644 index 2bd8694dd..000000000 --- a/app/Http/Resources/PlanResources.php +++ /dev/null @@ -1,71 +0,0 @@ - - */ - public function toArray(Request $request): array - { - return [ - 'id' => $this['id'], - 'group_id' => $this['group_id'], - 'name' => $this['name'], - 'content' => $this['content'], - ...$this->transformPeriodPrices(), - 'capacity_limit' => $this->formatCapacityLimit(), - 'transfer_enable' => $this['transfer_enable'], - 'speed_limit' => $this['speed_limit'], - 'show' => (bool)$this['show'], - 'sell' => (bool)$this['sell'], - 'renew' => (bool)$this['renew'], - 'reset_traffic_method' => $this['reset_traffic_method'], - 'sort' => $this['sort'], - 'created_at' => $this['created_at'], - 'updated_at' => $this['updated_at'] - ]; - } - - /** - * Transform period prices using PlanService mapping - * - * @return array - */ - protected function transformPeriodPrices(): array - { - $prices = []; - foreach (Plan::LEGACY_PERIOD_MAPPING as $legacyPeriod => $newPeriod) { - $prices[$legacyPeriod] = optional($this['prices'])[$newPeriod] ? (int)$this['prices'][$newPeriod] * 100 : null; - } - return $prices; - } - - /** - * Format the capacity limit value - * - * @return int|string|null - */ - protected function formatCapacityLimit(): int|string|null - { - if ($this['capacity_limit'] === null) { - return null; - } - - if ($this['capacity_limit'] <= 0) { - return __('Sold out'); - } - - return (int)$this['capacity_limit']; - } -} diff --git a/app/Http/Routes/V1/ServerRoute.php b/app/Http/Routes/V1/ServerRoute.php index 51a35c570..29973dc37 100644 --- a/app/Http/Routes/V1/ServerRoute.php +++ b/app/Http/Routes/V1/ServerRoute.php @@ -22,6 +22,22 @@ public function map(Registrar $router) $route->get('user', [UniProxyController::class, 'user']); $route->post('push', [UniProxyController::class, 'push']); $route->post('alive', [UniProxyController::class, 'alive']); + $route->get('alivelist', [UniProxyController::class, 'alivelist']); + }); + $router->group([ + 'prefix' => 'ShadowsocksTidalab', + 'middleware' => 'server:shadowsocks' + ], function ($route) { + $route->get('user', [ShadowsocksTidalabController::class, 'user']); + $route->post('submit', [ShadowsocksTidalabController::class, 'submit']); + }); + $router->group([ + 'prefix' => 'TrojanTidalab', + 'middleware' => 'server:trojan' + ], function ($route) { + $route->get('config', [TrojanTidalabController::class, 'config']); + $route->get('user', [TrojanTidalabController::class, 'user']); + $route->post('submit', [TrojanTidalabController::class, 'submit']); }); }); } diff --git a/app/Http/Routes/V1/StaffRoute.php b/app/Http/Routes/V1/StaffRoute.php index 42e656bb1..3889bee4f 100644 --- a/app/Http/Routes/V1/StaffRoute.php +++ b/app/Http/Routes/V1/StaffRoute.php @@ -12,21 +12,21 @@ public function map(Registrar $router) 'middleware' => 'staff' ], function ($router) { // Ticket - $router->get ('/ticket/fetch', 'V1\\Staff\\TicketController@fetch'); - $router->post('/ticket/reply', 'V1\\Staff\\TicketController@reply'); - $router->post('/ticket/close', 'V1\\Staff\\TicketController@close'); - // User - $router->post('/user/update', 'V1\\Staff\\UserController@update'); - $router->get ('/user/getUserInfoById', 'V1\\Staff\\UserController@getUserInfoById'); - $router->post('/user/sendMail', 'V1\\Staff\\UserController@sendMail'); - $router->post('/user/ban', 'V1\\Staff\\UserController@ban'); - // Plan - $router->get ('/plan/fetch', 'V1\\Staff\\PlanController@fetch'); - // Notice - $router->get ('/notice/fetch', 'V1\\Admin\\NoticeController@fetch'); - $router->post('/notice/save', 'V1\\Admin\\NoticeController@save'); - $router->post('/notice/update', 'V1\\Admin\\NoticeController@update'); - $router->post('/notice/drop', 'V1\\Admin\\NoticeController@drop'); + // $router->get ('/ticket/fetch', 'V1\\Staff\\TicketController@fetch'); + // $router->post('/ticket/reply', 'V1\\Staff\\TicketController@reply'); + // $router->post('/ticket/close', 'V1\\Staff\\TicketController@close'); + // // User + // $router->post('/user/update', 'V1\\Staff\\UserController@update'); + // $router->get ('/user/getUserInfoById', 'V1\\Staff\\UserController@getUserInfoById'); + // $router->post('/user/sendMail', 'V1\\Staff\\UserController@sendMail'); + // $router->post('/user/ban', 'V1\\Staff\\UserController@ban'); + // // Plan + // $router->get ('/plan/fetch', 'V1\\Staff\\PlanController@fetch'); + // // Notice + // $router->get ('/notice/fetch', 'V1\\Admin\\NoticeController@fetch'); + // $router->post('/notice/save', 'V1\\Admin\\NoticeController@save'); + // $router->post('/notice/update', 'V1\\Admin\\NoticeController@update'); + // $router->post('/notice/drop', 'V1\\Admin\\NoticeController@drop'); }); } } diff --git a/app/Http/Routes/V2/AdminRoute.php b/app/Http/Routes/V2/AdminRoute.php index f5876efed..6e48edded 100644 --- a/app/Http/Routes/V2/AdminRoute.php +++ b/app/Http/Routes/V2/AdminRoute.php @@ -6,11 +6,6 @@ use App\Http\Controllers\V2\Admin\Server\GroupController; use App\Http\Controllers\V2\Admin\Server\RouteController; use App\Http\Controllers\V2\Admin\Server\ManageController; -use App\Http\Controllers\V2\Admin\Server\TrojanController; -use App\Http\Controllers\V2\Admin\Server\VmessController; -use App\Http\Controllers\V2\Admin\Server\ShadowsocksController; -use App\Http\Controllers\V2\Admin\Server\HysteriaController; -use App\Http\Controllers\V2\Admin\Server\VlessController; use App\Http\Controllers\V2\Admin\OrderController; use App\Http\Controllers\V2\Admin\UserController; use App\Http\Controllers\V2\Admin\StatController; @@ -22,6 +17,7 @@ use App\Http\Controllers\V2\Admin\SystemController; use App\Http\Controllers\V2\Admin\ThemeController; use Illuminate\Contracts\Routing\Registrar; +use Illuminate\Support\Facades\Route; class AdminRoute { @@ -87,51 +83,6 @@ public function map(Registrar $router) $router->post('/sort', [ManageController::class, 'sort']); }); - $router->group([ - 'prefix' => 'server/trojan' - ], function ($router) { - $router->post('save', [TrojanController::class, 'save']); - $router->post('drop', [TrojanController::class, 'drop']); - $router->post('update', [TrojanController::class, 'update']); - $router->post('copy', [TrojanController::class, 'copy']); - }); - - $router->group([ - 'prefix' => 'server/vmess' - ], function ($router) { - $router->post('save', [VmessController::class, 'save']); - $router->post('drop', [VmessController::class, 'drop']); - $router->post('update', [VmessController::class, 'update']); - $router->post('copy', [VmessController::class, 'copy']); - }); - - $router->group([ - 'prefix' => 'server/shadowsocks' - ], function ($router) { - $router->post('save', [ShadowsocksController::class, 'save']); - $router->post('drop', [ShadowsocksController::class, 'drop']); - $router->post('update', [ShadowsocksController::class, 'update']); - $router->post('copy', [ShadowsocksController::class, 'copy']); - }); - - $router->group([ - 'prefix' => 'server/hysteria' - ], function ($router) { - $router->post('save', [HysteriaController::class, 'save']); - $router->post('drop', [HysteriaController::class, 'drop']); - $router->post('update', [HysteriaController::class, 'update']); - $router->post('copy', [HysteriaController::class, 'copy']); - }); - - $router->group([ - 'prefix' => 'server/vless' - ], function ($router) { - $router->post('save', [VlessController::class, 'save']); - $router->post('drop', [VlessController::class, 'drop']); - $router->post('update', [VlessController::class, 'update']); - $router->post('copy', [VlessController::class, 'copy']); - }); - // Order $router->group([ 'prefix' => 'order' @@ -163,15 +114,14 @@ public function map(Registrar $router) $router->group([ 'prefix' => 'stat' ], function ($router) { - $router->get('/getStat', [StatController::class, 'getStat']); $router->get('/getOverride', [StatController::class, 'getOverride']); + $router->get('/getStats', [StatController::class, 'getStats']); $router->get('/getServerLastRank', [StatController::class, 'getServerLastRank']); $router->get('/getServerYesterdayRank', [StatController::class, 'getServerYesterdayRank']); $router->get('/getOrder', [StatController::class, 'getOrder']); $router->any('/getStatUser', [StatController::class, 'getStatUser']); $router->get('/getRanking', [StatController::class, 'getRanking']); $router->get('/getStatRecord', [StatController::class, 'getStatRecord']); - $router->get('/getStats', [StatController::class, 'getStats']); $router->get('/getTrafficRank', [StatController::class, 'getTrafficRank']); }); @@ -184,6 +134,7 @@ public function map(Registrar $router) $router->post('/update', [NoticeController::class, 'update']); $router->post('/drop', [NoticeController::class, 'drop']); $router->post('/show', [NoticeController::class, 'show']); + $router->post('/sort', [NoticeController::class, 'sort']); }); // Ticket @@ -252,6 +203,20 @@ public function map(Registrar $router) $router->post('/saveThemeConfig', [ThemeController::class, 'saveThemeConfig']); $router->post('/getThemeConfig', [ThemeController::class, 'getThemeConfig']); }); + + // Plugin + $router->group([ + 'prefix' => 'plugin' + ], function ($router) { + $router->get('/getPlugins', [\App\Http\Controllers\V2\Admin\PluginController::class, 'index']); + $router->post('install', [\App\Http\Controllers\V2\Admin\PluginController::class, 'install']); + $router->post('uninstall', [\App\Http\Controllers\V2\Admin\PluginController::class, 'uninstall']); + $router->post('enable', [\App\Http\Controllers\V2\Admin\PluginController::class, 'enable']); + $router->post('disable', [\App\Http\Controllers\V2\Admin\PluginController::class, 'disable']); + $router->get('config', [\App\Http\Controllers\V2\Admin\PluginController::class, 'getConfig']); + $router->post('config', [\App\Http\Controllers\V2\Admin\PluginController::class, 'updateConfig']); + }); }); + } } diff --git a/app/Jobs/StatServerJob.php b/app/Jobs/StatServerJob.php index 21e6089f1..6dfc793c8 100644 --- a/app/Jobs/StatServerJob.php +++ b/app/Jobs/StatServerJob.php @@ -1,6 +1,5 @@ where('record_at', $recordAt) + ->where('server_id', $this->server['id']) + ->where('server_type', $this->protocol) + ->where('record_type', $this->recordType) + ->first(); + + if ($stat) { + $stat->u += $u; + $stat->d += $d; + $stat->save(); + } else { + StatServer::create([ 'record_at' => $recordAt, 'server_id' => $this->server['id'], 'server_type' => $this->protocol, 'record_type' => $this->recordType, - ], - [ - 'u' => DB::raw("COALESCE(u, 0) + $u"), - 'd' => DB::raw("COALESCE(d, 0) + $d"), - ] - ); + 'u' => $u, + 'd' => $d, + ]); + } }); } } diff --git a/app/Jobs/StatUserJob.php b/app/Jobs/StatUserJob.php index da9b71563..950421be1 100644 --- a/app/Jobs/StatUserJob.php +++ b/app/Jobs/StatUserJob.php @@ -1,6 +1,5 @@ data as $uid => $v) { - StatUser::updateOrCreate( - [ - 'user_id' => $uid, - 'server_rate' => $this->server['rate'], - 'record_at' => $recordAt, - 'record_type' => $this->recordType, - ], - [ - 'u' => DB::raw('COALESCE(u, 0) + ' . ($v[0] * $this->server['rate'])), - 'd' => DB::raw('COALESCE(d, 0) + ' . ($v[1] * $this->server['rate'])), - 't' => time(), - ] - ); + DB::transaction(function () use ($uid, $v, $recordAt) { + $stat = StatUser::lockForUpdate() + ->where('user_id', $uid) + ->where('server_rate', $this->server['rate']) + ->where('record_at', $recordAt) + ->where('record_type', $this->recordType) + ->first(); + if ($stat) { + $stat->u += ($v[0] * $this->server['rate']); + $stat->d += ($v[1] * $this->server['rate']); + $stat->save(); + } else { + StatUser::create([ + 'user_id' => $uid, + 'server_rate' => $this->server['rate'], + 'record_at' => $recordAt, + 'record_type' => $this->recordType, + 'u' => ($v[0] * $this->server['rate']), + 'd' => ($v[1] * $this->server['rate']), + ]); + } + }); } } } \ No newline at end of file diff --git a/app/Jobs/SyncUserOnlineStatusJob.php b/app/Jobs/SyncUserOnlineStatusJob.php new file mode 100644 index 000000000..32d463b02 --- /dev/null +++ b/app/Jobs/SyncUserOnlineStatusJob.php @@ -0,0 +1,69 @@ +updates)) { + return; + } + collect($this->updates) + ->chunk(1000) + ->each(function (Collection $chunk) { + $userIds = $chunk->pluck('id')->all(); + User::query() + ->whereIn('id', $userIds) + ->each(function (User $user) use ($chunk) { + $update = $chunk->firstWhere('id', $user->id); + if ($update) { + $user->update([ + 'online_count' => $update['count'], + 'last_online_at' => now(), + ]); + } + }); + }); + } + + /** + * 任务失败的处理 + */ + public function failed(\Throwable $exception): void + { + \Log::error('Failed to sync user online status', [ + 'error' => $exception->getMessage(), + 'updates_count' => count($this->updates) + ]); + } +} \ No newline at end of file diff --git a/app/Models/Notice.php b/app/Models/Notice.php index 649c98d9e..3ae0cb096 100644 --- a/app/Models/Notice.php +++ b/app/Models/Notice.php @@ -14,6 +14,5 @@ class Notice extends Model 'updated_at' => 'timestamp', 'tags' => 'array', 'show' => 'boolean', - ]; } diff --git a/app/Models/Plan.php b/app/Models/Plan.php index ac043e712..ba48ef167 100755 --- a/app/Models/Plan.php +++ b/app/Models/Plan.php @@ -60,7 +60,8 @@ class Plan extends Model 'prices', 'reset_traffic_method', 'capacity_limit', - 'sell' + 'sell', + 'device_limit' ]; protected $casts = [ diff --git a/app/Models/Plugin.php b/app/Models/Plugin.php new file mode 100644 index 000000000..4926c4271 --- /dev/null +++ b/app/Models/Plugin.php @@ -0,0 +1,16 @@ + 'timestamp' ]; - private const DEFAULT_PROTOCOL_SETTINGS = [ + private const PROTOCOL_CONFIGURATIONS = [ self::TYPE_TROJAN => [ - 'allow_insecure' => false, - 'server_name' => null, - 'network' => null, - 'network_settings' => null + 'allow_insecure' => ['type' => 'boolean', 'default' => false], + 'server_name' => ['type' => 'string', 'default' => null], + 'network' => ['type' => 'string', 'default' => null], + 'network_settings' => ['type' => 'array', 'default' => null] ], self::TYPE_VMESS => [ - 'tls' => 0, - 'network' => null, - 'rules' => null, - 'network_settings' => null, - 'tls_settings' => null + 'tls' => ['type' => 'integer', 'default' => 0], + 'network' => ['type' => 'string', 'default' => null], + 'rules' => ['type' => 'array', 'default' => null], + 'network_settings' => ['type' => 'array', 'default' => null], + 'tls_settings' => ['type' => 'array', 'default' => null] ], self::TYPE_VLESS => [ - 'tls' => false, - 'tls_settings' => null, - 'flow' => null, - 'network' => null, - 'network_settings' => null, - 'reality_settings' => null + 'tls' => ['type' => 'integer', 'default' => 0], + 'tls_settings' => ['type' => 'array', 'default' => null], + 'flow' => ['type' => 'string', 'default' => null], + 'network' => ['type' => 'string', 'default' => null], + 'network_settings' => ['type' => 'array', 'default' => null], + 'reality_settings' => [ + 'type' => 'object', + 'fields' => [ + 'allow_insecure' => ['type' => 'boolean', 'default' => false], + 'server_port' => ['type' => 'string', 'default' => null], + 'server_name' => ['type' => 'string', 'default' => null], + 'public_key' => ['type' => 'string', 'default' => null], + 'private_key' => ['type' => 'string', 'default' => null], + 'short_id' => ['type' => 'string', 'default' => null] + ] + ] ], self::TYPE_SHADOWSOCKS => [ - 'cipher' => null, - 'obfs' => null, - 'obfs_settings' => null + 'cipher' => ['type' => 'string', 'default' => null], + 'obfs' => ['type' => 'string', 'default' => null], + 'obfs_settings' => ['type' => 'array', 'default' => null] ], self::TYPE_HYSTERIA => [ - 'version' => 2, + 'version' => ['type' => 'integer', 'default' => 2], 'bandwidth' => [ - 'up' => null, - 'down' => null + 'type' => 'object', + 'fields' => [ + 'up' => ['type' => 'integer', 'default' => null], + 'down' => ['type' => 'integer', 'default' => null] + ] ], 'obfs' => [ - 'open' => false, - 'type' => 'salamander', - 'password' => null + 'type' => 'object', + 'fields' => [ + 'open' => ['type' => 'boolean', 'default' => false], + 'type' => ['type' => 'string', 'default' => 'salamander'], + 'password' => ['type' => 'string', 'default' => null] + ] ], 'tls' => [ - 'server_name' => null, - 'allow_insecure' => false + 'type' => 'object', + 'fields' => [ + 'server_name' => ['type' => 'string', 'default' => null], + 'allow_insecure' => ['type' => 'boolean', 'default' => false] + ] ] ], self::TYPE_TUIC => [ - 'congestion_control' => 'cubic', - 'alpn' => ['h3'], - 'udp_relay_mode' => 'native', - 'allow_insecure' => false, - 'tls_settings' => null + 'congestion_control' => ['type' => 'string', 'default' => 'cubic'], + 'alpn' => ['type' => 'array', 'default' => ['h3']], + 'udp_relay_mode' => ['type' => 'string', 'default' => 'native'], + 'allow_insecure' => ['type' => 'boolean', 'default' => false], + 'tls_settings' => ['type' => 'array', 'default' => null] ] ]; + private function castValueWithConfig($value, array $config) + { + if ($value === null && $config['type'] !== 'object') { + return $config['default'] ?? null; + } + + return match ($config['type']) { + 'integer' => (int) $value, + 'boolean' => (bool) $value, + 'string' => (string) $value, + 'array' => (array) $value, + 'object' => is_array($value) ? + $this->castSettingsWithConfig($value, $config['fields']) : + $config['default'] ?? null, + default => $value + }; + } + + private function castSettingsWithConfig(array $settings, array $configs): array + { + $result = []; + foreach ($configs as $key => $config) { + $value = $settings[$key] ?? null; + $result[$key] = $this->castValueWithConfig($value, $config); + } + return $result; + } + + private function getDefaultSettings(array $configs): array + { + $defaults = []; + foreach ($configs as $key => $config) { + if ($config['type'] === 'object') { + $defaults[$key] = $this->getDefaultSettings($config['fields']); + } else { + $defaults[$key] = $config['default']; + } + } + return $defaults; + } + public function getProtocolSettingsAttribute($value) { $settings = json_decode($value, true) ?? []; - $defaultSettings = self::DEFAULT_PROTOCOL_SETTINGS[$this->type] ?? []; - - return array_replace_recursive($defaultSettings, $settings); + $configs = self::PROTOCOL_CONFIGURATIONS[$this->type] ?? []; + return $this->castSettingsWithConfig($settings, $configs); } public function setProtocolSettingsAttribute($value) @@ -134,10 +193,10 @@ public function setProtocolSettingsAttribute($value) $value = json_decode($value, true); } - $defaultSettings = self::DEFAULT_PROTOCOL_SETTINGS[$this->type] ?? []; - $mergedSettings = array_replace_recursive($defaultSettings, $value ?? []); + $configs = self::PROTOCOL_CONFIGURATIONS[$this->type] ?? []; + $castedSettings = $this->castSettingsWithConfig($value ?? [], $configs); - $this->attributes['protocol_settings'] = json_encode($mergedSettings); + $this->attributes['protocol_settings'] = json_encode($castedSettings); } public function loadParentCreatedAt(): void @@ -165,6 +224,8 @@ public function handlePortAllocation(): void if (strpos($this->port, '-') !== false) { $this->ports = $this->port; $this->port = Helper::randomPort($this->port); + } else { + $this->port = (int) $this->port; } } @@ -176,11 +237,12 @@ public function generateShadowsocksPassword(User $user): void $this->password = $user->uuid; - if (!isset($this->cipher) || !isset(self::CIPHER_CONFIGURATIONS[$this->cipher])) { + $cipher = data_get($this, 'protocol_settings.cipher'); + if (!$cipher || !isset(self::CIPHER_CONFIGURATIONS[$cipher])) { return; } - $config = self::CIPHER_CONFIGURATIONS[$this->cipher]; + $config = self::CIPHER_CONFIGURATIONS[$cipher]; $serverKey = Helper::getServerKey($this->created_at, $config['serverKeySize']); $userKey = Helper::uuidToBase64($user->uuid, $config['userKeySize']); $this->password = "{$serverKey}:{$userKey}"; diff --git a/app/Models/ServerHysteria.php b/app/Models/ServerHysteria.php deleted file mode 100755 index 35c7e9072..000000000 --- a/app/Models/ServerHysteria.php +++ /dev/null @@ -1,35 +0,0 @@ - 'timestamp', - 'updated_at' => 'timestamp', - 'group_id' => 'array', - 'route_id' => 'array', - 'tags' => 'array', - 'ips' => 'array', - 'excludes' => 'array' - ]; - - // ALPN映射表 - public static $alpnMap = [ - 0 => 'hysteria', - 1 => 'http/1.1', - 2 => 'h2', - 3 => 'h3' - ]; - - public function parent(): BelongsTo - { - return $this->belongsTo(self::class, 'parent_id', 'id'); - } -} diff --git a/app/Models/ServerShadowsocks.php b/app/Models/ServerShadowsocks.php deleted file mode 100644 index 1215fb006..000000000 --- a/app/Models/ServerShadowsocks.php +++ /dev/null @@ -1,28 +0,0 @@ - 'timestamp', - 'updated_at' => 'timestamp', - 'group_id' => 'array', - 'route_id' => 'array', - 'tags' => 'array', - 'excludes' => 'array', - 'obfs_settings' => 'array', - 'ips' => 'array' - ]; - - public function parent(): BelongsTo - { - return $this->belongsTo(self::class, 'parent_id', 'id'); - } -} diff --git a/app/Models/ServerTrojan.php b/app/Models/ServerTrojan.php deleted file mode 100644 index 59e327b36..000000000 --- a/app/Models/ServerTrojan.php +++ /dev/null @@ -1,28 +0,0 @@ - 'timestamp', - 'updated_at' => 'timestamp', - 'group_id' => 'array', - 'route_id' => 'array', - 'networkSettings' => 'array', - 'tags' => 'array', - 'excludes' => 'array', - 'ips' => 'array' - ]; - - public function parent(): BelongsTo - { - return $this->belongsTo(self::class, 'parent_id', 'id'); - } -} diff --git a/app/Models/ServerVless.php b/app/Models/ServerVless.php deleted file mode 100755 index a84b4a89c..000000000 --- a/app/Models/ServerVless.php +++ /dev/null @@ -1,29 +0,0 @@ - 'timestamp', - 'updated_at' => 'timestamp', - 'group_id' => 'array', - 'route_id' => 'array', - 'tls_settings' => 'array', - 'network_settings' => 'array', - 'tags' => 'array', - 'excludes' => 'array', - 'ips' => 'array' - ]; - - public function parent(): BelongsTo - { - return $this->belongsTo(self::class, 'parent_id', 'id'); - } -} diff --git a/app/Models/ServerVmess.php b/app/Models/ServerVmess.php deleted file mode 100755 index 2aaba1056..000000000 --- a/app/Models/ServerVmess.php +++ /dev/null @@ -1,31 +0,0 @@ - 'timestamp', - 'updated_at' => 'timestamp', - 'group_id' => 'array', - 'route_id' => 'array', - 'tlsSettings' => 'array', - 'networkSettings' => 'array', - 'dnsSettings' => 'array', - 'ruleSettings' => 'array', - 'tags' => 'array', - 'excludes' => 'array', - 'ips' => 'array' - ]; - - public function parent(): BelongsTo - { - return $this->belongsTo(self::class, 'parent_id', 'id'); - } -} diff --git a/app/Models/User.php b/app/Models/User.php index 5a5366771..7bb66a3f7 100755 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -47,4 +47,9 @@ public function tickets() { return $this->hasMany(Ticket::class, 'user_id', 'id'); } + + public function parent() + { + return $this->belongsTo(self::class, 'parent_id', 'id'); + } } diff --git a/app/Payments/BTCPay.php b/app/Payments/BTCPay.php index 84ca23c78..00a3cea0b 100644 --- a/app/Payments/BTCPay.php +++ b/app/Payments/BTCPay.php @@ -66,9 +66,9 @@ public function pay($order): array ]; } - public function notify(): array|bool + public function notify($params): array|bool { - $payload = trim(get_request_content()); + $payload = trim(request()->getContent()); $headers = getallheaders(); diff --git a/app/Payments/Coinbase.php b/app/Payments/Coinbase.php index f5138a6fc..bb5c3bb89 100644 --- a/app/Payments/Coinbase.php +++ b/app/Payments/Coinbase.php @@ -68,7 +68,7 @@ public function pay($order): array public function notify($params): array { - $payload = trim(get_request_content()); + $payload = trim(request()->getContent()); $json_param = json_decode($payload, true); diff --git a/app/Plugins/Telegram/Commands/Bind.php b/app/Plugins/Telegram/Commands/Bind.php index 93b62b8dc..303b77824 100644 --- a/app/Plugins/Telegram/Commands/Bind.php +++ b/app/Plugins/Telegram/Commands/Bind.php @@ -17,8 +17,19 @@ public function handle($message, $match = []) { } $subscribeUrl = $message->args[0]; $subscribeUrl = parse_url($subscribeUrl); - parse_str($subscribeUrl['query'], $query); - $token = $query['token']; + + // 首先尝试从查询参数获取token + $token = null; + if (isset($subscribeUrl['query'])) { + parse_str($subscribeUrl['query'], $query); + $token = $query['token'] ?? null; + } + + if (!$token && isset($subscribeUrl['path'])) { + $pathParts = explode('/', trim($subscribeUrl['path'], '/')); + $token = end($pathParts); + } + if (!$token) { throw new ApiException('订阅地址无效'); } diff --git a/app/Protocols/Clash.php b/app/Protocols/Clash.php index 2f2ad9ff9..79627b591 100644 --- a/app/Protocols/Clash.php +++ b/app/Protocols/Clash.php @@ -152,30 +152,35 @@ public static function buildVmess($uuid, $server) if (data_get($protocol_settings, 'tls')) { $array['tls'] = true; - $array['skip-cert-verify'] = data_get($protocol_settings, 'tls_settings.allow_insecure'); - $array['servername'] = data_get($protocol_settings, 'tls_settings.server_name'); + $array['skip-cert-verify'] = (bool) data_get($protocol_settings, 'tls_settings.allow_insecure'); + if ($serverName = data_get($protocol_settings, 'tls_settings.server_name')) { + $array['servername'] = $serverName; + } } switch (data_get($protocol_settings, 'network')) { case 'tcp': $array['network'] = data_get($protocol_settings, 'network_settings.header.type'); - $array['http-opts'] = [ - 'headers' => data_get($protocol_settings, 'network_settings.header.request.headers'), - 'path' => \Arr::random(data_get($protocol_settings, 'network_settings.header.request.path', ['/'])) - ]; + if (data_get($protocol_settings, 'network_settings.header.type', 'none') !== 'none') { + $array['http-opts'] = [ + 'headers' => data_get($protocol_settings, 'network_settings.header.request.headers'), + 'path' => \Arr::random(data_get($protocol_settings, 'network_settings.header.request.path', ['/'])) + ]; + } break; case 'ws': $array['network'] = 'ws'; - $array['ws-opts'] = [ - 'path' => data_get($protocol_settings, 'network_settings.path'), - 'headers' => ['Host' => data_get($protocol_settings, 'network_settings.headers.Host')] - ]; + if ($path = data_get($protocol_settings, 'network_settings.path')) + $array['ws-opts']['path'] = $path; + if ($host = data_get($protocol_settings, 'network_settings.headers.Host')) + $array['ws-opts']['headers'] = ['Host' => $host]; break; case 'grpc': $array['network'] = 'grpc'; - $array['grpc-opts'] = [ - 'grpc-service-name' => data_get($protocol_settings, 'network_settings.serviceName') - ]; + if ($serviceName = data_get($protocol_settings, 'network_settings.serviceName')) + $array['grpc-opts']['grpc-service-name'] = $serviceName; + break; + default: break; } return $array; @@ -191,8 +196,10 @@ public static function buildTrojan($password, $server) $array['port'] = $server['port']; $array['password'] = $password; $array['udp'] = true; - $array['sni'] = data_get($protocol_settings, 'server_name'); - $array['skip-cert-verify'] = data_get($protocol_settings, 'allow_insecure'); + if ($serverName = data_get($protocol_settings, 'server_name')) { + $array['sni'] = $serverName; + } + $array['skip-cert-verify'] = (bool) data_get($protocol_settings, 'allow_insecure'); switch (data_get($protocol_settings, 'network')) { case 'tcp': @@ -200,16 +207,15 @@ public static function buildTrojan($password, $server) break; case 'ws': $array['network'] = 'ws'; - $array['ws-opts'] = [ - 'path' => data_get($protocol_settings, 'network_settings.path'), - 'headers' => ['Host' => data_get($protocol_settings, 'network_settings.headers.Host')] - ]; + if ($path = data_get($protocol_settings, 'network_settings.path')) + $array['ws-opts']['path'] = $path; + if ($host = data_get($protocol_settings, 'network_settings.headers.Host')) + $array['ws-opts']['headers'] = ['Host' => $host]; break; case 'grpc': $array['network'] = 'grpc'; - $array['grpc-opts'] = [ - 'grpc-service-name' => data_get($protocol_settings, 'network_settings.serviceName') - ]; + if ($serviceName = data_get($protocol_settings, 'network_settings.serviceName')) + $array['grpc-opts']['grpc-service-name'] = $serviceName; break; default: $array['network'] = 'tcp'; @@ -225,6 +231,9 @@ private function isMatch($exp, $str) private function isRegex($exp) { - return @preg_match($exp, null) !== false; + if (empty($exp)) { + return false; + } + return @preg_match((string) $exp, '') !== false; } } diff --git a/app/Protocols/ClashMeta.php b/app/Protocols/ClashMeta.php index 5d7477100..a1446228f 100644 --- a/app/Protocols/ClashMeta.php +++ b/app/Protocols/ClashMeta.php @@ -9,7 +9,7 @@ class ClashMeta implements ProtocolInterface { - public $flags = ['meta', 'verge']; + public $flags = ['meta', 'verge', 'flclash']; private $servers; private $user; @@ -43,6 +43,7 @@ public function handle() $proxies = []; foreach ($servers as $item) { + $protocol_settings = $item['protocol_settings']; if ($item['type'] === 'shadowsocks') { array_push($proxy, self::buildShadowsocks($item['password'], $item)); array_push($proxies, $item['name']); @@ -55,7 +56,10 @@ public function handle() array_push($proxy, self::buildTrojan($user['uuid'], $item)); array_push($proxies, $item['name']); } - if ($item['type'] === 'vless') { + if ( + $item['type'] === 'vless' + && in_array(data_get($protocol_settings, 'network'), ['tcp', 'ws', 'grpc', 'http', 'h2']) + ) { array_push($proxy, self::buildVless($user['uuid'], $item)); array_push($proxies, $item['name']); } @@ -130,7 +134,7 @@ public static function buildShadowsocks($password, $server) $array['server'] = $server['host']; $array['port'] = $server['port']; $array['cipher'] = data_get($server['protocol_settings'], 'cipher'); - $array['password'] = $password; + $array['password'] = data_get($server, 'password', $password); $array['udp'] = true; return $array; } @@ -151,30 +155,31 @@ public static function buildVmess($uuid, $server) if (data_get($protocol_settings, 'tls')) { $array['tls'] = true; - $array['skip-cert-verify'] = data_get($protocol_settings, 'tls_settings.allow_insecure', false); + $array['skip-cert-verify'] = (bool) data_get($protocol_settings, 'tls_settings.allow_insecure', false); $array['servername'] = data_get($protocol_settings, 'tls_settings.server_name'); } switch (data_get($protocol_settings, 'network')) { case 'tcp': $array['network'] = data_get($protocol_settings, 'network_settings.header.type', 'tcp'); - $array['http-opts'] = [ - 'headers' => data_get($protocol_settings, 'network_settings.header.request.headers'), - 'path' => \Arr::random(data_get($protocol_settings, 'network_settings.header.request.path', ['/']), 1) - ]; + if (data_get($protocol_settings, 'network_settings.header.type', 'none') !== 'none') { + $array['http-opts'] = [ + 'headers' => data_get($protocol_settings, 'network_settings.header.request.headers'), + 'path' => \Arr::random(data_get($protocol_settings, 'network_settings.header.request.path', ['/'])) + ]; + } break; case 'ws': $array['network'] = 'ws'; - $array['ws-opts'] = [ - 'path' => data_get($protocol_settings, 'network_settings.path'), - 'headers' => ['Host' => data_get($protocol_settings, 'network_settings.headers.Host')] - ]; + if ($path = data_get($protocol_settings, 'network_settings.path')) + $array['ws-opts']['path'] = $path; + if ($host = data_get($protocol_settings, 'network_settings.headers.Host')) + $array['ws-opts']['headers'] = ['Host' => $host]; break; case 'grpc': $array['network'] = 'grpc'; - $array['grpc-opts'] = [ - 'grpc-service-name' => data_get($protocol_settings, 'network_settings.serviceName') - ]; + if ($serviceName = data_get($protocol_settings, 'network_settings.serviceName')) + $array['grpc-opts']['grpc-service-name'] = $serviceName; break; default: break; @@ -195,18 +200,21 @@ public static function buildVless($password, $server) 'alterId' => 0, 'cipher' => 'auto', 'udp' => true, - 'flow' => data_get($server, 'flow') + 'flow' => data_get($protocol_settings, 'flow'), + 'tls' => false ]; switch (data_get($protocol_settings, 'tls')) { case 1: $array['tls'] = true; - $array['skip-cert-verify'] = data_get($protocol_settings, 'tls_settings.allow_insecure', false); - $array['servername'] = data_get($protocol_settings, 'tls_settings.server_name'); + $array['skip-cert-verify'] = (bool) data_get($protocol_settings, 'tls_settings.allow_insecure', false); + if ($serverName = data_get($protocol_settings, 'tls_settings.server_name')) { + $array['servername'] = $serverName; + } break; case 2: $array['tls'] = true; - $array['skip-cert-verify'] = data_get($protocol_settings, 'reality_settings.allow_insecure', false); + $array['skip-cert-verify'] = (bool) data_get($protocol_settings, 'reality_settings.allow_insecure', false); $array['servername'] = data_get($protocol_settings, 'reality_settings.server_name'); $array['reality-opts'] = [ 'public-key' => data_get($protocol_settings, 'reality_settings.public_key'), @@ -221,23 +229,15 @@ public static function buildVless($password, $server) switch (data_get($protocol_settings, 'network')) { case 'ws': $array['network'] = 'ws'; - $array['ws-opts'] = [ - 'path' => data_get($protocol_settings, 'network_settings.path'), - 'headers' => ['Host' => data_get($protocol_settings, 'network_settings.headers.Host')] - ]; + if ($path = data_get($protocol_settings, 'network_settings.path')) + $array['ws-opts']['path'] = $path; + if ($host = data_get($protocol_settings, 'network_settings.headers.Host')) + $array['ws-opts']['headers'] = ['Host' => $host]; break; case 'grpc': $array['network'] = 'grpc'; - $array['grpc-opts'] = [ - 'grpc-service-name' => data_get($protocol_settings, 'network_settings.serviceName') - ]; - break; - case 'h2': - $array['network'] = 'h2'; - $array['h2-opts'] = [ - 'path' => data_get($protocol_settings, 'network_settings.path', '/'), - 'host' => data_get($protocol_settings, 'network_settings.host') - ]; + if ($serviceName = data_get($protocol_settings, 'network_settings.serviceName')) + $array['grpc-opts']['grpc-service-name'] = $serviceName; break; default: break; @@ -248,7 +248,7 @@ public static function buildVless($password, $server) public static function buildTrojan($password, $server) { - $settings = data_get($server, 'protocol_settings', []); + $protocol_settings = data_get($server, 'protocol_settings', []); $array = [ 'name' => $server['name'], 'type' => 'trojan', @@ -256,25 +256,30 @@ public static function buildTrojan($password, $server) 'port' => $server['port'], 'password' => $password, 'udp' => true, - 'sni' => data_get($settings, 'server_name'), - 'skip-cert-verify' => data_get($settings, 'allow_insecure', false) + 'skip-cert-verify' => (bool) data_get($protocol_settings, 'allow_insecure', false) ]; + if ($serverName = data_get($protocol_settings, 'server_name')) { + $array['sni'] = $serverName; + } - switch (data_get($settings, 'network')) { - case 'grpc': - $array['network'] = 'grpc'; - $array['grpc-opts'] = [ - 'grpc-service-name' => data_get($settings, 'network_settings.serviceName') - ]; + switch (data_get($protocol_settings, 'network')) { + case 'tcp': + $array['network'] = 'tcp'; break; case 'ws': $array['network'] = 'ws'; - $array['ws-opts'] = [ - 'path' => data_get($settings, 'network_settings.path'), - 'headers' => ['Host' => data_get($settings, 'network_settings.headers.Host')] - ]; + if ($path = data_get($protocol_settings, 'network_settings.path')) + $array['ws-opts']['path'] = $path; + if ($host = data_get($protocol_settings, 'network_settings.headers.Host')) + $array['ws-opts']['headers'] = ['Host' => $host]; + break; + case 'grpc': + $array['network'] = 'grpc'; + if ($serviceName = data_get($protocol_settings, 'network_settings.serviceName')) + $array['grpc-opts']['grpc-service-name'] = $serviceName; break; default: + $array['network'] = 'tcp'; break; } @@ -291,7 +296,7 @@ public static function buildHysteria($password, $server, $user) 'sni' => data_get($protocol_settings, 'tls.server_name'), 'up' => data_get($protocol_settings, 'bandwidth.up'), 'down' => data_get($protocol_settings, 'bandwidth.down'), - 'skip-cert-verify' => data_get($protocol_settings, 'tls.allow_insecure', false), + 'skip-cert-verify' => (bool) data_get($protocol_settings, 'tls.allow_insecure', false), ]; if (isset($server['ports'])) { $array['ports'] = $server['ports']; @@ -327,6 +332,9 @@ private function isMatch($exp, $str) private function isRegex($exp) { - return @preg_match($exp, null) !== false; + if (empty($exp)) { + return false; + } + return @preg_match($exp, '') !== false; } } diff --git a/app/Protocols/General.php b/app/Protocols/General.php index 4c4510bf7..636ee1716 100644 --- a/app/Protocols/General.php +++ b/app/Protocols/General.php @@ -53,6 +53,7 @@ public static function buildShadowsocks($password, $server) { $protocol_settings = $server['protocol_settings']; $name = rawurlencode($server['name']); + $password = data_get($server, 'password', $password); $str = str_replace( ['+', '/', '='], ['-', '_', ''], @@ -76,23 +77,30 @@ public static function buildVmess($uuid, $server) "host" => "", "path" => "", "tls" => $protocol_settings['tls'] ? "tls" : "", - "sni" => data_get($protocol_settings, 'tls_settings.server_name'), ]; + if ($serverName = data_get($protocol_settings, 'tls_settings.server_name')) { + $config['sni'] = $serverName; + } switch ($protocol_settings['network']) { case 'tcp': - $config['type'] = 'http'; - $config['path'] = \Arr::random(data_get($protocol_settings, 'network_settings.header.request.path', [])); - $config['host'] = data_get($protocol_settings, 'network_settings.headers.Host') ? \Arr::random(data_get($protocol_settings, 'network_settings.headers.Host')) : null; + if (data_get($protocol_settings, 'network_settings.header.type', 'none') !== 'none') { + $config['type'] = data_get($protocol_settings, 'network_settings.header.type', 'http'); + $config['path'] = \Arr::random(data_get($protocol_settings, 'network_settings.header.request.path', ['/'])); + $config['host'] = data_get($protocol_settings, 'network_settings.headers.Host') ? \Arr::random(data_get($protocol_settings, 'network_settings.headers.Host'), ['/']) : null; + } break; case 'ws': $config['type'] = 'ws'; - $config['path'] = data_get($protocol_settings, 'network_settings.path'); - $config['host'] = data_get($protocol_settings, 'network_settings.headers.Host') ? \Arr::random(data_get($protocol_settings, 'network_settings.headers.Host')) : null; + if ($path = data_get($protocol_settings, 'network_settings.path')) + $config['path'] = $path; + if ($host = data_get($protocol_settings, 'network_settings.headers.Host')) + $config['host'] = $host; break; case 'grpc': $config['type'] = 'grpc'; - $config['service_name'] = data_get($protocol_settings, 'network_settings.serviceName'); + if ($path = data_get($protocol_settings, 'network_settings.serviceName')) + $config['path'] = $path; break; default: break; @@ -118,7 +126,9 @@ public static function buildVless($uuid, $server) switch ($server['protocol_settings']['tls']) { case 1: $config['security'] = "tls"; - $config['sni'] = data_get($protocol_settings, 'tls_settings.server_name'); + if ($serverName = data_get($protocol_settings, 'tls_settings.server_name')) { + $config['sni'] = $serverName; + } break; case 2: //reality $config['security'] = "reality"; @@ -135,11 +145,30 @@ public static function buildVless($uuid, $server) // 处理传输协议 switch ($server['protocol_settings']['network']) { case 'ws': - $config['path'] = data_get($protocol_settings, 'network_settings.path'); - $config['host'] = data_get($protocol_settings, 'network_settings.headers.Host'); + if ($path = data_get($protocol_settings, 'network_settings.path')) + $config['path'] = $path; + if ($wsHost = data_get($protocol_settings, 'network_settings.headers.Host')) + $config['host'] = $wsHost; break; case 'grpc': - $config['serviceName'] = data_get($protocol_settings, 'network_settings.serviceName'); + if ($path = data_get($protocol_settings, 'network_settings.serviceName')) + $config['path'] = $path; + break; + case 'kcp': + if ($path = data_get($protocol_settings, 'network_settings.seed')) + $config['path'] = $path; + $config['type'] = data_get($protocol_settings, 'network_settings.header.type', 'none'); + break; + case 'httpupgrade': + if ($path = data_get($protocol_settings, 'network_settings.path')) + $config['path'] = $path; + $config['host'] = data_get($protocol_settings, 'network_settings.host', $server['host']); + break; + case 'xhttp': + $config['path'] = data_get($protocol_settings, 'network_settings.path'); + $config['host'] = data_get($protocol_settings, 'network_settings.host', $server['host']); + $config['mode'] = data_get($protocol_settings, 'network_settings.mode', 'auto'); + $config['extra'] = json_encode(data_get($protocol_settings, 'network_settings.extra')); break; } @@ -154,11 +183,30 @@ public static function buildTrojan($password, $server) { $protocol_settings = $server['protocol_settings']; $name = rawurlencode($server['name']); - $query = http_build_query([ - 'allowInsecure' => $protocol_settings['allow_insecure'], - 'peer' => $protocol_settings['server_name'], - 'sni' => $protocol_settings['server_name'] - ]); + $array = []; + $array['allowInsecure'] = $protocol_settings['allow_insecure']; + if ($serverName = data_get($protocol_settings, 'server_name')) { + $array['peer'] = $serverName; + $array['sni'] = $serverName; + } + switch ($server['protocol_settings']['network']) { + case 'ws': + $array['type'] = 'ws'; + if ($path = data_get($protocol_settings, 'network_settings.path')) + $array['path'] = $path; + if ($host = data_get($protocol_settings, 'network_settings.headers.Host')) + $array['host'] = $host; + break; + case 'grpc': + // Follow V2rayN family standards + $array['type'] = 'grpc'; + if ($serviceName = data_get($protocol_settings, 'network_settings.serviceName')) + $array['serviceName'] = $serviceName; + break; + default: + break; + } + $query = http_build_query($array); $uri = "trojan://{$password}@{$server['host']}:{$server['port']}?{$query}#{$name}"; $uri .= "\r\n"; return $uri; @@ -173,8 +221,8 @@ public static function buildHysteria($password, $server) return ''; } - if (data_get($protocol_settings, 'tls.server_name')) { - $params['sni'] = data_get($protocol_settings, 'tls.server_name'); + if ($serverName = data_get($protocol_settings, 'tls.server_name')) { + $params['sni'] = $serverName; $params['security'] = 'tls'; } @@ -182,6 +230,9 @@ public static function buildHysteria($password, $server) $params['obfs'] = 'salamander'; $params['obfs-password'] = data_get($protocol_settings, 'obfs.password'); } + if (isset($server['ports'])) { + $params['mport'] = $server['ports']; + } $params['insecure'] = data_get($protocol_settings, 'tls.allow_insecure'); diff --git a/app/Protocols/Loon.php b/app/Protocols/Loon.php index 7a640e3f6..566322d4b 100644 --- a/app/Protocols/Loon.php +++ b/app/Protocols/Loon.php @@ -89,40 +89,39 @@ public static function buildVmess($uuid, $server) if (data_get($protocol_settings, 'tls')) { if (data_get($protocol_settings, 'network') === 'tcp') - array_push($config, 'over-tls=true'); + $config[] = 'over-tls=true'; if (data_get($protocol_settings, 'tls_settings')) { $tls_settings = data_get($protocol_settings, 'tls_settings'); - if (data_get($tls_settings, 'allow_insecure')) - array_push($config, 'skip-cert-verify=' . ($tls_settings['allow_insecure'] ? 'true' : 'false')); + $config[] = 'skip-cert-verify=' . ($tls_settings['allow_insecure'] ? 'true' : 'false'); if (data_get($tls_settings, 'server_name')) - array_push($config, "tls-name={$tls_settings['server_name']}"); + $config[] = "tls-name={$tls_settings['server_name']}"; } } switch (data_get($server['protocol_settings'], 'network')) { case 'tcp': - array_push($config, 'transport=tcp'); + $config[] = 'transport=tcp'; $tcpSettings = data_get($protocol_settings, 'network_settings'); - if (data_get($protocol_settings, 'network_settings')['header']['type']) + if (data_get($tcpSettings, 'header.type')) $config = str_replace('transport=tcp', "transport={$tcpSettings['header']['type']}", $config); if (data_get($tcpSettings, key: 'header.request.path')) { $paths = data_get($tcpSettings, key: 'header.request.path'); $path = $paths[array_rand($paths)]; - array_push($config, "path={$path}"); + $config[] = "path={$path}"; } if (data_get($tcpSettings, key: 'header.request.headers.Host')) { $hosts = data_get($tcpSettings, key: 'header.request.headers.Host'); $host = $hosts[array_rand($hosts)]; - array_push($config, "host={$host}"); + $config[] = "host={$host}"; } break; case 'ws': - array_push($config, 'transport=ws'); + $config[] = 'transport=ws'; $wsSettings = data_get($protocol_settings, 'network_settings'); if (data_get($wsSettings, key: 'path')) - array_push($config, "path={$wsSettings['path']}"); + $config[] = "path={$wsSettings['path']}"; if (data_get($wsSettings, key: 'headers.Host')) - array_push($config, "host={$wsSettings['headers']['Host']}"); + $config[] = "host={$wsSettings['headers']['Host']}"; break; @@ -145,8 +144,8 @@ public static function buildTrojan($password, $server) 'fast-open=false', 'udp=true' ]; - if (!empty($server['allow_insecure'])) { - array_push($config, data_get($protocol_settings, 'tls_settings')['allow_insecure'] ? 'skip-cert-verify=true' : 'skip-cert-verify=false'); + if (!empty($protocol_settings['allow_insecure'])) { + $config[] = data_get($protocol_settings, 'allow_insecure') ? 'skip-cert-verify=true' : 'skip-cert-verify=false'; } $config = array_filter($config); $uri = implode(',', $config); @@ -154,6 +153,59 @@ public static function buildTrojan($password, $server) return $uri; } + public static function buildVless($uuid, $server) + { + $protocol_settings = $server['protocol_settings']; + $config = [ + "{$server['name']}=vless", + $server['host'], + $server['port'], + $uuid, + 'fast-open=false', + 'udp=true', + 'alterId=0' + ]; + switch ((int) data_get($protocol_settings, 'tls')) { + case 1: + $config[] = 'over-tls=true'; + $tlsSettings = data_get($protocol_settings, 'tls_settings', []); + if ($tlsSettings) { + $config[] = 'skip-cert-verify=' . (data_get($tlsSettings, 'allow_insecure') ? 'true' : 'false'); + if ($serverName = data_get($tlsSettings, 'server_name')) { + $config[] = "tls-name={$serverName}"; + } + } + break; + case 2: + return ''; + } + $network_settings = data_get($protocol_settings, 'network_settings', []); + switch ((string) data_get($network_settings, 'network')) { + case 'tcp': + $config[] = 'transport=tcp'; + if ($headerType = data_get($network_settings, 'header.type')) { + $config = collect($config)->map(function ($item) use ($headerType) { + return $item === 'transport=tcp' ? "transport={$headerType}" : $item; + })->toArray(); + } + if ($paths = data_get($network_settings, 'header.request.path')) { + $config[] = 'path=' . $paths[array_rand($paths)]; + } + break; + case 'ws': + $config[] = 'transport=ws'; + if ($path = data_get($network_settings, 'path')) { + $config[] = "path={$path}"; + } + + if ($host = data_get($network_settings, 'headers.Host')) { + $config[] = "host={$host}"; + } + break; + } + return implode(',', $config) . "\r\n"; + } + public static function buildHysteria($password, $server, $user) { $protocol_settings = $server['protocol_settings']; diff --git a/app/Protocols/QuantumultX.php b/app/Protocols/QuantumultX.php index ce1bfbd0f..25cf6a3aa 100644 --- a/app/Protocols/QuantumultX.php +++ b/app/Protocols/QuantumultX.php @@ -44,6 +44,7 @@ public function handle() public static function buildShadowsocks($password, $server) { $protocol_settings = $server['protocol_settings']; + $password = data_get($server, 'password', $password); $config = [ "shadowsocks={$server['host']}:{$server['port']}", "method={$protocol_settings['cipher']}", diff --git a/app/Protocols/Shadowrocket.php b/app/Protocols/Shadowrocket.php index 599ec7ddb..213db7e2b 100644 --- a/app/Protocols/Shadowrocket.php +++ b/app/Protocols/Shadowrocket.php @@ -60,6 +60,7 @@ public static function buildShadowsocks($password, $server) { $protocol_settings = $server['protocol_settings']; $name = rawurlencode($server['name']); + $password = data_get($server, 'password', $password); $str = str_replace( ['+', '/', '='], ['-', '_', ''], @@ -95,13 +96,18 @@ public static function buildVmess($uuid, $server) switch (data_get($protocol_settings, 'network')) { case 'tcp': - $config['obfs'] = data_get($protocol_settings, 'network_settings.header.type'); - $config['path'] = \Arr::ra(data_get($protocol_settings, 'network_settings.header.request.path', ['/'])); + if (data_get($protocol_settings, 'network_settings.header.type', 'none') !== 'none') { + $config['obfs'] = data_get($protocol_settings, 'network_settings.header.type'); + $config['path'] = \Arr::random(data_get($protocol_settings, 'network_settings.header.request.path', ['/'])); + $config['obfsParam'] = \Arr::random(data_get($protocol_settings, 'network_settings.header.request.headers.Host', ['www.example.com'])); + } break; case 'ws': $config['obfs'] = "websocket"; $config['path'] = data_get($protocol_settings, 'network_settings.path'); - $config['obfsParam'] = data_get($protocol_settings, 'network_settings.headers.Host'); + if ($host = data_get($protocol_settings, 'network_settings.headers.Host')) { + $config['obfsParam'] = $host; + } break; case 'grpc': $config['obfs'] = "grpc"; @@ -142,7 +148,9 @@ public static function buildVless($uuid, $server) case 1: $config['tls'] = 1; $config['allowInsecure'] = (int) data_get($protocol_settings, 'tls_settings.allow_insecure'); - $config['peer'] = data_get($protocol_settings, 'tls_settings.server_name'); + if ($serverName = data_get($protocol_settings, 'tls_settings.server_name')) { + $config['peer'] = $serverName; + } break; case 2: $config['tls'] = 1; @@ -156,14 +164,21 @@ public static function buildVless($uuid, $server) } switch (data_get($protocol_settings, 'network')) { case 'tcp': - $config['obfs'] = data_get($protocol_settings, 'network_settings.header.type'); - $config['path'] = \Arr::random(data_get($protocol_settings, 'network_settings.header.request.path', ['/'])); - $config['obfsParam'] = \Arr::random(data_get($protocol_settings, 'network_settings.header.request.headers.Host', [''])); + if (data_get($protocol_settings, 'network_settings.header.type', 'none') !== 'none') { + $config['obfs'] = data_get($protocol_settings, 'network_settings.header.type'); + $config['path'] = \Arr::random(data_get($protocol_settings, 'network_settings.header.request.path', ['/'])); + $config['obfsParam'] = \Arr::random(data_get($protocol_settings, 'network_settings.header.request.headers.Host', ['www.example.com'])); + } break; case 'ws': $config['obfs'] = "websocket"; - $config['path'] = data_get($protocol_settings, 'network_settings.path'); - $config['obfsParam'] = data_get($protocol_settings, 'network_settings.headers.Host'); + if (data_get($protocol_settings, 'network_settings.path')) { + $config['path'] = data_get($protocol_settings, 'network_settings.path'); + } + + if ($host = data_get($protocol_settings, 'network_settings.headers.Host')) { + $config['obfsParam'] = $host; + } break; case 'grpc': $config['obfs'] = "grpc"; @@ -182,10 +197,10 @@ public static function buildTrojan($password, $server) { $protocol_settings = $server['protocol_settings']; $name = rawurlencode($server['name']); - $params = [ - 'allowInsecure' => data_get($protocol_settings, 'tls.allow_insecure'), - 'peer' => data_get($protocol_settings, 'tls.server_name') - ]; + $params['allowInsecure'] = data_get($protocol_settings, 'allow_insecure'); + if ($serverName = data_get($protocol_settings, 'server_name')) { + $params['peer'] = $serverName; + } switch (data_get($protocol_settings, 'network')) { case 'grpc': $params['obfs'] = 'grpc'; @@ -213,9 +228,11 @@ public static function buildHysteria($password, $server) "upmbps" => data_get($protocol_settings, 'bandwidth.up'), "downmbps" => data_get($protocol_settings, 'bandwidth.down'), "protocol" => 'udp', - "peer" => data_get($protocol_settings, 'tls.server_name'), "fastopen" => 1, ]; + if ($serverName = data_get($protocol_settings, 'tls.server_name')) { + $params['peer'] = $serverName; + } if (data_get($protocol_settings, 'obfs.open')) { $params["obfs"] = "xplus"; $params["obfsParam"] = data_get($protocol_settings, 'obfs_settings.password'); @@ -229,10 +246,12 @@ public static function buildHysteria($password, $server) break; case 2: $params = [ - "peer" => data_get($protocol_settings, 'tls.server_name'), "obfs" => 'none', "fastopen" => 1 ]; + if ($serverName = data_get($protocol_settings, 'tls.server_name')) { + $params['peer'] = $serverName; + } if (data_get($protocol_settings, 'obfs.open')) { $params['obfs'] = data_get($protocol_settings, 'obfs.type'); $params['obfs-password'] = data_get($protocol_settings, 'obfs.password'); diff --git a/app/Protocols/SingBox.php b/app/Protocols/SingBox.php index abff1d409..b5fdf0168 100644 --- a/app/Protocols/SingBox.php +++ b/app/Protocols/SingBox.php @@ -51,6 +51,7 @@ protected function buildOutbounds() $outbounds = $this->config['outbounds']; $proxies = []; foreach ($this->servers as $item) { + $protocol_settings = $item['protocol_settings']; if ($item['type'] === 'shadowsocks') { $ssConfig = $this->buildShadowsocks($item['password'], $item); $proxies[] = $ssConfig; @@ -63,12 +64,14 @@ protected function buildOutbounds() $vmessConfig = $this->buildVmess($this->user['uuid'], $item); $proxies[] = $vmessConfig; } - if ($item['type'] === 'vless') { + if ($item['type'] === 'vless' + && in_array(data_get($protocol_settings, 'network'), ['tcp', 'ws', 'grpc', 'http', 'quic', 'httpupgrade']) + ) { $vlessConfig = $this->buildVless($this->user['uuid'], $item); $proxies[] = $vlessConfig; } if ($item['type'] === 'hysteria') { - $hysteriaConfig = $this->buildHysteria($this->user['uuid'], $item, $this->user); + $hysteriaConfig = $this->buildHysteria($this->user['uuid'], $item); $proxies[] = $hysteriaConfig; } } @@ -107,7 +110,7 @@ protected function buildShadowsocks($password, $server) $array['server'] = $server['host']; $array['server_port'] = $server['port']; $array['method'] = data_get($server, 'protocol_settings.cipher'); - $array['password'] = $password; + $array['password'] = data_get($server, 'password', $password); return $array; } @@ -127,20 +130,22 @@ protected function buildVmess($uuid, $server) 'transport' => [], 'tls' => $protocol_settings['tls'] ? [ 'enabled' => true, - 'insecure' => data_get($protocol_settings, 'tls_settings.allow_insecure'), - 'server_name' => data_get($protocol_settings, 'tls_settings.server_name') + 'insecure' => (bool) data_get($protocol_settings, 'tls_settings.allow_insecure'), ] : null ]; + if ($serverName = data_get($protocol_settings, 'tls_settings.server_name')) { + $array['tls']['server_name'] = $serverName; + } $transport = match ($protocol_settings['network']) { 'tcp' => [ 'type' => 'http', - 'path' => \Arr::random(data_get($protocol_settings, 'network_settings.header.request.path', [])) + 'path' => \Arr::random(data_get($protocol_settings, 'network_settings.header.request.path', ['/'])) ], 'ws' => [ 'type' => 'ws', 'path' => data_get($protocol_settings, 'network_settings.path'), - 'headers' => data_get($protocol_settings, 'network_settings.headers.Host') ? ['Host' => data_get($protocol_settings, 'network_settings.headers.Host')] : null, + 'headers' => ($host = data_get($protocol_settings, 'network_settings.headers.Host')) ? ['Host' => $host] : null, 'max_early_data' => 2048, 'early_data_header_name' => 'Sec-WebSocket-Protocol' ], @@ -166,26 +171,34 @@ protected function buildVless($password, $server) "server" => $server['host'], "server_port" => $server['port'], "uuid" => $password, - "packet_encoding" => "xudp" + "packet_encoding" => "xudp", + 'flow' => data_get($protocol_settings, 'flow', ''), ]; if ($protocol_settings['tls']) { $tlsConfig = [ 'enabled' => true, - 'flow' => data_get($protocol_settings, 'flow', ''), - 'insecure' => data_get($protocol_settings, 'tls_settings.allow_insecure'), - 'server_name' => data_get($protocol_settings, 'tls_settings.server_name'), + 'insecure' => (bool) data_get($protocol_settings, 'tls_settings.allow_insecure'), 'utls' => [ 'enabled' => true, 'fingerprint' => Helper::getRandFingerprint() ] ]; - if ($protocol_settings['tls'] == 2) { - $tlsConfig['reality'] = [ - 'enabled' => true, - 'public_key' => data_get($protocol_settings, 'reality_settings.public_key'), - 'short_id' => data_get($protocol_settings, 'reality_settings.short_id') - ]; + + switch ($protocol_settings['tls']) { + case 1: + if ($serverName = data_get($protocol_settings, 'tls_settings.server_name')) { + $tlsConfig['server_name'] = $serverName; + } + break; + case 2: + $tlsConfig['server_name'] = data_get($protocol_settings, 'reality_settings.server_name'); + $tlsConfig['reality'] = [ + 'enabled' => true, + 'public_key' => data_get($protocol_settings, 'reality_settings.public_key'), + 'short_id' => data_get($protocol_settings, 'reality_settings.short_id') + ]; + break; } $array['tls'] = $tlsConfig; @@ -194,24 +207,30 @@ protected function buildVless($password, $server) $transport = match ($protocol_settings['network']) { 'tcp' => data_get($protocol_settings, 'network_settings.header.type') == 'http' ? [ 'type' => 'http', - 'path' => data_get($protocol_settings, 'network_settings.header.request.path') + 'path' => \Arr::random(data_get($protocol_settings, 'network_settings.header.request.path', ['/'])) ] : null, - 'ws' => [ + 'ws' => array_filter([ 'type' => 'ws', 'path' => data_get($protocol_settings, 'network_settings.path'), - 'headers' => data_get($protocol_settings, 'network_settings.headers.Host') ? ['Host' => [data_get($protocol_settings, 'network_settings.headers.Host')]] : null, + 'headers' => ($host = data_get($protocol_settings, 'network_settings.headers.Host')) ? ['Host' => $host] : null, 'max_early_data' => 2048, 'early_data_header_name' => 'Sec-WebSocket-Protocol' - ], + ], fn($value) => !is_null($value)), 'grpc' => [ 'type' => 'grpc', 'service_name' => data_get($protocol_settings, 'network_settings.serviceName') ], 'h2' => [ 'type' => 'http', - 'host' => data_get($protocol_settings, 'network_settings.host') ? [data_get($protocol_settings, 'network_settings.host')] : null, + 'host' => data_get($protocol_settings, 'network_settings.host'), 'path' => data_get($protocol_settings, 'network_settings.path') ], + 'httpupgrade' => [ + 'type' => 'httpupgrade', + 'path' => data_get($protocol_settings, 'network_settings.path'), + 'host' => data_get($protocol_settings, 'network_settings.host', $server['host']), + 'headers' => data_get($protocol_settings, 'network_settings.headers') + ], default => null }; @@ -233,10 +252,12 @@ protected function buildTrojan($password, $server) 'password' => $password, 'tls' => [ 'enabled' => true, - 'insecure' => data_get($protocol_settings, 'allow_insecure', false), - 'server_name' => data_get($protocol_settings, 'server_name') + 'insecure' => (bool) data_get($protocol_settings, 'allow_insecure', false), ] ]; + if ($serverName = data_get($protocol_settings, 'tls_settings.server_name')) { + $array['tls']['server_name'] = $serverName; + } $transport = match (data_get($protocol_settings, 'network')) { 'grpc' => [ 'type' => 'grpc', @@ -255,7 +276,7 @@ protected function buildTrojan($password, $server) return $array; } - protected function buildHysteria($password, $server, $user): array + protected function buildHysteria($password, $server): array { $protocol_settings = $server['protocol_settings']; $baseConfig = [ @@ -264,15 +285,17 @@ protected function buildHysteria($password, $server, $user): array 'tag' => $server['name'], 'tls' => [ 'enabled' => true, - 'insecure' => $protocol_settings['tls']['allow_insecure'], - 'server_name' => $protocol_settings['tls']['server_name'] + 'insecure' => (bool) $protocol_settings['tls']['allow_insecure'], ] ]; + if ($serverName = data_get($protocol_settings, 'tls_settings.server_name')) { + $baseConfig['tls']['server_name'] = $serverName; + } $speedConfig = [ 'up_mbps' => $protocol_settings['bandwidth']['up'], 'down_mbps' => $protocol_settings['bandwidth']['down'], ]; - $versionConfig = match ($server['version'] ?? 1) { + $versionConfig = match (data_get($protocol_settings, 'version', 1)) { 2 => [ 'type' => 'hysteria2', 'password' => $password, diff --git a/app/Protocols/Stash.php b/app/Protocols/Stash.php index 38c57c3ac..d9a4119c5 100644 --- a/app/Protocols/Stash.php +++ b/app/Protocols/Stash.php @@ -59,10 +59,15 @@ public function handle() array_push($proxy, self::buildVmess($user['uuid'], $item)); array_push($proxies, $item['name']); } - // if ($item['type'] === 'vless') { - // array_push($proxy, self::buildVless($user['uuid'], $item)); - // array_push($proxies, $item['name']); - // } + if ( + $item['type'] === 'vless' + && in_array(data_get($item['protocol_settings'], 'network'), ['tcp', 'ws', 'grpc', 'http', 'h2']) + && in_array(data_get($item['protocol_settings'], 'tls'), [1, 0]) + && in_array(data_get($item['protocol_settings'], 'flow'), ['xtls-rprx-origin', 'xtls-rprx-direct', 'xtls-rprx-splice']) + ) { + array_push($proxy, self::buildVless($user['uuid'], $item)); + array_push($proxies, $item['name']); + } if ($item['type'] === 'hysteria') { array_push($proxy, self::buildHysteria($user['uuid'], $item)); array_push($proxies, $item['name']); @@ -142,7 +147,9 @@ public static function buildVmess($uuid, $server) $array['tls'] = data_get($protocol_settings, 'tls'); $array['skip-cert-verify'] = data_get($protocol_settings, 'tls_settings.allow_insecure'); - $array['servername'] = data_get($protocol_settings, 'tls_settings.server_name'); + if ($serverName = data_get($protocol_settings, 'tls_settings.server_name')) { + $array['servername'] = $serverName; + } switch (data_get($protocol_settings, 'network')) { case 'tcp': @@ -152,7 +159,9 @@ public static function buildVmess($uuid, $server) case 'ws': $array['network'] = 'ws'; $array['ws-opts']['path'] = data_get($protocol_settings, 'network_settings.path'); - $array['ws-opts']['headers'] = data_get($protocol_settings, 'network_settings.headers.Host') ? ['Host' => data_get($protocol_settings, 'network_settings.headers.Host')] : null; + if ($host = data_get($protocol_settings, 'network_settings.headers.Host')) { + $array['ws-opts']['headers'] = ['Host' => $host]; + } break; case 'grpc': $array['network'] = 'grpc'; @@ -184,16 +193,9 @@ public static function buildVless($uuid, $server) case 1: $array['tls'] = true; $array['skip-cert-verify'] = data_get($protocol_settings, 'tls_settings.allow_insecure'); - $array['servername'] = data_get($protocol_settings, 'tls_settings.server_name'); - break; - case 2: - $array['tls'] = true; - $array['skip-cert-verify'] = data_get($protocol_settings, 'reality_settings.allow_insecure'); - $array['servername'] = data_get($protocol_settings, 'reality_settings.server_name'); - $array['reality-opts'] = [ - 'public-key' => data_get($protocol_settings, 'reality_settings.public_key'), - 'short-id' => data_get($protocol_settings, 'reality_settings.short_id') - ]; + if ($serverName = data_get($protocol_settings, 'tls_settings.server_name')) { + $array['servername'] = $serverName; + } break; } @@ -205,12 +207,19 @@ public static function buildVless($uuid, $server) case 'ws': $array['network'] = 'ws'; $array['ws-opts']['path'] = data_get($protocol_settings, 'network_settings.path'); - $array['ws-opts']['headers'] = data_get($protocol_settings, 'network_settings.headers.Host') ? ['Host' => data_get($protocol_settings, 'network_settings.headers.Host')] : null; + if ($host = data_get($protocol_settings, 'network_settings.headers.Host')) { + $array['ws-opts']['headers'] = ['Host' => $host]; + } break; case 'grpc': $array['network'] = 'grpc'; $array['grpc-opts']['grpc-service-name'] = data_get($protocol_settings, 'network_settings.serviceName'); break; + // case 'h2': + // $array['network'] = 'h2'; + // $array['h2-opts']['host'] = data_get($protocol_settings, 'network_settings.host'); + // $array['h2-opts']['path'] = data_get($protocol_settings, 'network_settings.path'); + // break; } return $array; @@ -237,7 +246,9 @@ public static function buildTrojan($password, $server) $array['ws-opts']['headers'] = data_get($protocol_settings, 'network_settings.headers.Host') ? ['Host' => data_get($protocol_settings, 'network_settings.headers.Host')] : null; break; } - $array['sni'] = data_get($protocol_settings, 'server_name'); + if ($serverName = data_get($protocol_settings, 'server_name')) { + $array['sni'] = $serverName; + } $array['skip-cert-verify'] = data_get($protocol_settings, 'allow_insecure'); return $array; } @@ -251,7 +262,9 @@ public static function buildHysteria($password, $server) $array['up-speed'] = data_get($protocol_settings, 'bandwidth.up'); $array['down-speed'] = data_get($protocol_settings, 'bandwidth.down'); $array['skip-cert-verify'] = data_get($protocol_settings, 'tls.allow_insecure'); - $array['sni'] = data_get($protocol_settings, 'tls.server_name') ?? ''; + if ($serverName = data_get($protocol_settings, 'tls.server_name')) { + $array['sni'] = $serverName; + } switch (data_get($protocol_settings, 'version')) { case 1: $array['type'] = 'hysteria'; @@ -272,7 +285,10 @@ public static function buildHysteria($password, $server) private function isRegex($exp) { - return @preg_match($exp, null) !== false; + if (empty($exp)) { + return false; + } + return @preg_match($exp, '') !== false; } private function isMatch($exp, $str) diff --git a/app/Protocols/Surge.php b/app/Protocols/Surge.php index 86c3ec0e6..40b912656 100644 --- a/app/Protocols/Surge.php +++ b/app/Protocols/Surge.php @@ -42,27 +42,19 @@ public function handle() 'chacha20-ietf-poly1305' ]) ) { - // [Proxy] $proxies .= self::buildShadowsocks($item['password'], $item); - // [Proxy Group] $proxyGroup .= $item['name'] . ', '; } if ($item['type'] === 'vmess') { - // [Proxy] $proxies .= self::buildVmess($user['uuid'], $item); - // [Proxy Group] $proxyGroup .= $item['name'] . ', '; } if ($item['type'] === 'trojan') { - // [Proxy] $proxies .= self::buildTrojan($user['uuid'], $item); - // [Proxy Group] $proxyGroup .= $item['name'] . ', '; } if ($item['type'] === 'hysteria') { - // [Proxy] $proxies .= self::buildHysteria($user['uuid'], $item); - // [Proxy Group] $proxyGroup .= $item['name'] . ', '; } } diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php deleted file mode 100755 index d54a1841d..000000000 --- a/app/Providers/AppServiceProvider.php +++ /dev/null @@ -1,28 +0,0 @@ -app['view']->addNamespace('theme', public_path() . '/theme'); - } -} diff --git a/app/Providers/PluginServiceProvider.php b/app/Providers/PluginServiceProvider.php new file mode 100644 index 000000000..b28ce4ea2 --- /dev/null +++ b/app/Providers/PluginServiceProvider.php @@ -0,0 +1,41 @@ +app->scoped(PluginManager::class, function ($app) { + return new PluginManager(); + }); + } + + public function boot(): void + { + + if (!file_exists(base_path('plugins'))) { + mkdir(base_path('plugins'), 0755, true); + } + + try { + $plugins = Plugin::query() + ->where('is_enabled', true) + ->get(); + + foreach ($plugins as $plugin) { + $manager = $this->app->make(PluginManager::class); + $manager->enable($plugin->code); + + } + } catch (\Exception $e) { + \Log::error('Failed to load plugins: ' . $e->getMessage()); + } + } +} \ No newline at end of file diff --git a/app/Services/AuthService.php b/app/Services/AuthService.php index b5c4f8909..9b730724c 100644 --- a/app/Services/AuthService.php +++ b/app/Services/AuthService.php @@ -3,11 +3,8 @@ namespace App\Services; use App\Models\User; -use App\Utils\CacheKey; -use Illuminate\Http\Request; -use Illuminate\Support\Facades\Cache; -use Laravel\Sanctum\NewAccessToken; use Illuminate\Support\Str; +use Laravel\Sanctum\PersonalAccessToken; class AuthService { @@ -32,6 +29,7 @@ public function generateAuthData(): array $formattedToken = 'Bearer ' . ($tokenParts[1] ?? $tokenParts[0]); return [ + 'token' => $this->user->token, 'auth_data' => $formattedToken, 'is_admin' => $this->user->is_admin, ]; @@ -42,9 +40,18 @@ public function getSessions(): array return $this->user->tokens()->get()->toArray(); } - public function removeSession(string $sessionId): bool + public function removeSession(): bool { $this->user->tokens()->delete(); return true; } + + public static function findUserByBearerToken(string $bearerToken): ?User + { + $token = str_replace('Bearer ', '', $bearerToken); + + $accessToken = PersonalAccessToken::findToken($token); + + return $accessToken?->tokenable; + } } diff --git a/app/Services/OrderService.php b/app/Services/OrderService.php index 8912acdfb..73848d131 100644 --- a/app/Services/OrderService.php +++ b/app/Services/OrderService.php @@ -11,13 +11,13 @@ class OrderService { - CONST STR_TO_TIME = [ - 'month_price' => 1, - 'quarter_price' => 3, - 'half_year_price' => 6, - 'year_price' => 12, - 'two_year_price' => 24, - 'three_year_price' => 36 + const STR_TO_TIME = [ + Plan::PERIOD_MONTHLY => 1, + Plan::PERIOD_QUARTERLY => 3, + Plan::PERIOD_HALF_YEARLY => 6, + Plan::PERIOD_YEARLY => 12, + Plan::PERIOD_TWO_YEARLY => 24, + Plan::PERIOD_THREE_YEARLY => 36 ]; public $order; public $user; @@ -36,25 +36,25 @@ public function open() if ($order->refund_amount) { $this->user->balance = $this->user->balance + $order->refund_amount; } - try{ + try { DB::beginTransaction(); if ($order->surplus_order_ids) { Order::whereIn('id', $order->surplus_order_ids)->update([ 'status' => Order::STATUS_DISCOUNTED ]); } - switch ((string)$order->period) { - case 'onetime_price': + switch ((string) $order->period) { + case Plan::PERIOD_ONETIME: $this->buyByOneTime($plan); break; - case 'reset_price': + case Plan::PERIOD_RESET_TRAFFIC: $this->buyByResetTraffic(); break; default: $this->buyByPeriod($order, $plan); } - switch ((int)$order->type) { + switch ((int) $order->type) { case Order::STATUS_PROCESSING: $this->openEvent(admin_setting('new_order_event_id', 0)); break; @@ -67,6 +67,7 @@ public function open() } $this->setSpeedLimit($plan->speed_limit); + $this->setDeviceLimit($plan->device_limit); if (!$this->user->save()) { throw new \Exception('用户信息保存失败'); @@ -76,7 +77,7 @@ public function open() throw new \Exception('订单信息保存失败'); } DB::commit(); - }catch(\Exception $e){ + } catch (\Exception $e) { DB::rollBack(); \Log::error($e); throw new ApiException('开通失败'); @@ -87,12 +88,14 @@ public function open() public function setOrderType(User $user) { $order = $this->order; - if ($order->period === 'reset_price') { + if ($order->period === Plan::PERIOD_RESET_TRAFFIC) { $order->type = Order::TYPE_RESET_TRAFFIC; } else if ($user->plan_id !== NULL && $order->plan_id !== $user->plan_id && ($user->expired_at > time() || $user->expired_at === NULL)) { - if (!(int)admin_setting('plan_change_enable', 1)) throw new ApiException('目前不允许更改订阅,请联系客服或提交工单操作'); + if (!(int) admin_setting('plan_change_enable', 1)) + throw new ApiException('目前不允许更改订阅,请联系客服或提交工单操作'); $order->type = Order::TYPE_UPGRADE; - if ((int)admin_setting('surplus_enable', 1)) $this->getSurplusValue($user, $order); + if ((int) admin_setting('surplus_enable', 1)) + $this->getSurplusValue($user, $order); if ($order->surplus_amount >= $order->total_amount) { $order->refund_amount = $order->surplus_amount - $order->total_amount; $order->total_amount = 0; @@ -115,17 +118,19 @@ public function setVipDiscount(User $user) $order->total_amount = $order->total_amount - $order->discount_amount; } - public function setInvite(User $user):void + public function setInvite(User $user): void { $order = $this->order; - if ($user->invite_user_id && ($order->total_amount <= 0)) return; + if ($user->invite_user_id && ($order->total_amount <= 0)) + return; $order->invite_user_id = $user->invite_user_id; $inviter = User::find($user->invite_user_id); - if (!$inviter) return; + if (!$inviter) + return; $isCommission = false; - switch ((int)$inviter->commission_type) { + switch ((int) $inviter->commission_type) { case 0: - $commissionFirstTime = (int)admin_setting('commission_first_time_enable', 1); + $commissionFirstTime = (int) admin_setting('commission_first_time_enable', 1); $isCommission = (!$commissionFirstTime || ($commissionFirstTime && !$this->haveValidOrder($user))); break; case 1: @@ -136,7 +141,8 @@ public function setInvite(User $user):void break; } - if (!$isCommission) return; + if (!$isCommission) + return; if ($inviter && $inviter->commission_rate) { $order->commission_balance = $order->total_amount * ($inviter->commission_rate / 100); } else { @@ -164,19 +170,22 @@ private function getSurplusValue(User $user, Order $order) private function getSurplusValueByOneTime(User $user, Order $order) { $lastOneTimeOrder = Order::where('user_id', $user->id) - ->where('period', 'onetime_price') + ->where('period', Plan::PERIOD_ONETIME) ->where('status', Order::STATUS_COMPLETED) ->orderBy('id', 'DESC') ->first(); - if (!$lastOneTimeOrder) return; + if (!$lastOneTimeOrder) + return; $nowUserTraffic = $user->transfer_enable / 1073741824; - if (!$nowUserTraffic) return; + if (!$nowUserTraffic) + return; $paidTotalAmount = ($lastOneTimeOrder->total_amount + $lastOneTimeOrder->balance_amount); - if (!$paidTotalAmount) return; + if (!$paidTotalAmount) + return; $trafficUnitPrice = $paidTotalAmount / $nowUserTraffic; $notUsedTraffic = $nowUserTraffic - (($user->u + $user->d) / 1073741824); $result = $trafficUnitPrice * $notUsedTraffic; - $orderModel = Order::where('user_id', $user->id)->where('period', '!=', 'reset_price')->where('status', Order::STATUS_COMPLETED); + $orderModel = Order::where('user_id', $user->id)->where('period', '!=', Plan::PERIOD_RESET_TRAFFIC)->where('status', Order::STATUS_COMPLETED); $order->surplus_amount = $result > 0 ? $result : 0; $order->surplus_order_ids = array_column($orderModel->get()->toArray(), 'id'); } @@ -184,29 +193,34 @@ private function getSurplusValueByOneTime(User $user, Order $order) private function getSurplusValueByPeriod(User $user, Order $order) { $orders = Order::where('user_id', $user->id) - ->whereNotIn('period', ['reset_price', 'onetime_price']) + ->whereNotIn('period', [Plan::PERIOD_RESET_TRAFFIC, Plan::PERIOD_ONETIME]) ->where('status', Order::STATUS_COMPLETED) ->get() ->toArray(); - if (!$orders) return; + if (!$orders) + return; $orderAmountSum = 0; $orderMonthSum = 0; $lastValidateAt = 0; foreach ($orders as $item) { - $period = self::STR_TO_TIME[$item['period']]; - if (strtotime("+{$period} month", $item['created_at']) < time()) continue; + $period = self::STR_TO_TIME[PlanService::getPeriodKey($item['period'])]; + if (strtotime("+{$period} month", $item['created_at']) < time()) + continue; $lastValidateAt = $item['created_at']; $orderMonthSum = $period + $orderMonthSum; $orderAmountSum = $orderAmountSum + ($item['total_amount'] + $item['balance_amount'] + $item['surplus_amount'] - $item['refund_amount']); } - if (!$lastValidateAt) return; + if (!$lastValidateAt) + return; $expiredAtByOrder = strtotime("+{$orderMonthSum} month", $lastValidateAt); - if ($expiredAtByOrder < time()) return; + if ($expiredAtByOrder < time()) + return; $orderSurplusSecond = $expiredAtByOrder - time(); $orderRangeSecond = $expiredAtByOrder - $lastValidateAt; $avgPrice = $orderAmountSum / $orderRangeSecond; $orderSurplusAmount = $avgPrice * $orderSurplusSecond; - if (!$orderSurplusSecond || !$orderSurplusAmount) return; + if (!$orderSurplusSecond || !$orderSurplusAmount) + return; $order->surplus_amount = $orderSurplusAmount > 0 ? $orderSurplusAmount : 0; $order->surplus_order_ids = array_column($orders, 'id'); } @@ -214,11 +228,13 @@ private function getSurplusValueByPeriod(User $user, Order $order) public function paid(string $callbackNo) { $order = $this->order; - if ($order->status !== Order::STATUS_PENDING) return true; + if ($order->status !== Order::STATUS_PENDING) + return true; $order->status = Order::STATUS_PROCESSING; $order->paid_at = time(); $order->callback_no = $callbackNo; - if (!$order->save()) return false; + if (!$order->save()) + return false; try { OrderHandleJob::dispatchSync($order->trade_no); } catch (\Exception $e) { @@ -228,7 +244,7 @@ public function paid(string $callbackNo) return true; } - public function cancel():bool + public function cancel(): bool { $order = $this->order; try { @@ -245,7 +261,7 @@ public function cancel():bool } DB::commit(); return true; - }catch(\Exception $e){ + } catch (\Exception $e) { DB::rollBack(); \Log::error($e); return false; @@ -257,6 +273,11 @@ private function setSpeedLimit($speedLimit) $this->user->speed_limit = $speedLimit; } + private function setDeviceLimit($deviceLimit) + { + $this->user->device_limit = $deviceLimit; + } + private function buyByResetTraffic() { $this->user->u = 0; @@ -266,14 +287,16 @@ private function buyByResetTraffic() private function buyByPeriod(Order $order, Plan $plan) { // change plan process - if ((int)$order->type === Order::TYPE_UPGRADE) { + if ((int) $order->type === Order::TYPE_UPGRADE) { $this->user->expired_at = time(); } $this->user->transfer_enable = $plan->transfer_enable * 1073741824; // 从一次性转换到循环 - if ($this->user->expired_at === NULL) $this->buyByResetTraffic(); + if ($this->user->expired_at === NULL) + $this->buyByResetTraffic(); // 新购 - if ($order->type === Order::TYPE_NEW_PURCHASE) $this->buyByResetTraffic(); + if ($order->type === Order::TYPE_NEW_PURCHASE) + $this->buyByResetTraffic(); $this->user->plan_id = $plan->id; $this->user->group_id = $plan->group_id; $this->user->expired_at = $this->getTime($order->period, $this->user->expired_at); @@ -293,18 +316,19 @@ private function getTime($str, $timestamp) if ($timestamp < time()) { $timestamp = time(); } + $str = PlanService::getPeriodKey($str); switch ($str) { - case 'month_price': + case Plan::PERIOD_MONTHLY: return strtotime('+1 month', $timestamp); - case 'quarter_price': + case Plan::PERIOD_QUARTERLY: return strtotime('+3 month', $timestamp); - case 'half_year_price': + case Plan::PERIOD_HALF_YEARLY: return strtotime('+6 month', $timestamp); - case 'year_price': + case Plan::PERIOD_YEARLY: return strtotime('+12 month', $timestamp); - case 'two_year_price': + case Plan::PERIOD_TWO_YEARLY: return strtotime('+24 month', $timestamp); - case 'three_year_price': + case Plan::PERIOD_THREE_YEARLY: return strtotime('+36 month', $timestamp); } } diff --git a/app/Services/PlanService.php b/app/Services/PlanService.php index 30e855e33..db72b0796 100644 --- a/app/Services/PlanService.php +++ b/app/Services/PlanService.php @@ -59,7 +59,7 @@ public function isPlanAvailableForUser(Plan $plan, User $user): bool { // 如果是续费 if ($user->plan_id === $plan->id) { - return $plan->sell && $plan->renew; + return $plan->renew; } // 如果是新购 diff --git a/app/Services/Plugin/AbstractPlugin.php b/app/Services/Plugin/AbstractPlugin.php new file mode 100644 index 000000000..94caa20c8 --- /dev/null +++ b/app/Services/Plugin/AbstractPlugin.php @@ -0,0 +1,56 @@ +config = $config; + } + + /** + * 获取配置 + */ + public function getConfig(): array + { + return $this->config; + } + + /** + * 注册事件监听器 + */ + protected function listen(string $hook, callable $callback): void + { + HookManager::register($hook, $callback); + } + + /** + * 移除事件监听器 + */ + protected function removeListener(string $hook): void + { + HookManager::remove($hook); + } +} \ No newline at end of file diff --git a/app/Services/Plugin/HookManager.php b/app/Services/Plugin/HookManager.php new file mode 100644 index 000000000..0edc69c3b --- /dev/null +++ b/app/Services/Plugin/HookManager.php @@ -0,0 +1,43 @@ +getDefaultConfig($pluginCode); + if (empty($defaultConfig)) { + return []; + } + $dbConfig = $this->getDbConfig($pluginCode); + + $result = []; + foreach ($defaultConfig as $key => $item) { + $result[$key] = [ + 'type' => $item['type'], + 'label' => $item['label'] ?? '', + 'placeholder' => $item['placeholder'] ?? '', + 'description' => $item['description'] ?? '', + 'value' => $dbConfig[$key] ?? $item['default'] + ]; + } + + return $result; + } + + /** + * 更新插件配置 + * + * @param string $pluginCode + * @param array $config + * @return bool + */ + public function updateConfig(string $pluginCode, array $config): bool + { + $defaultConfig = $this->getDefaultConfig($pluginCode); + if (empty($defaultConfig)) { + throw new \Exception('插件配置结构不存在'); + } + $values = []; + foreach ($config as $key => $value) { + if (!isset($defaultConfig[$key])) { + continue; + } + $values[$key] = $value; + } + Plugin::query() + ->where('code', $pluginCode) + ->update([ + 'config' => json_encode($values), + 'updated_at' => now() + ]); + + return true; + } + + /** + * 获取插件默认配置 + * + * @param string $pluginCode + * @return array + */ + protected function getDefaultConfig(string $pluginCode): array + { + $configFile = base_path("plugins/{$pluginCode}/config.json"); + if (!File::exists($configFile)) { + return []; + } + + $config = json_decode(File::get($configFile), true); + return $config['config'] ?? []; + } + + /** + * 获取数据库中的配置 + * + * @param string $pluginCode + * @return array + */ + protected function getDbConfig(string $pluginCode): array + { + $plugin = Plugin::query() + ->where('code', $pluginCode) + ->first(); + + if (!$plugin || empty($plugin->config)) { + return []; + } + + return json_decode($plugin->config, true); + } +} \ No newline at end of file diff --git a/app/Services/Plugin/PluginManager.php b/app/Services/Plugin/PluginManager.php new file mode 100644 index 000000000..c133bae27 --- /dev/null +++ b/app/Services/Plugin/PluginManager.php @@ -0,0 +1,180 @@ +pluginPath = base_path('plugins'); + } + + /** + * 安装插件 + */ + public function install(string $pluginCode): bool + { + $configFile = $this->pluginPath . '/' . $pluginCode . '/config.json'; + + if (!File::exists($configFile)) { + throw new \Exception('Plugin config file not found'); + } + + $config = json_decode(File::get($configFile), true); + if (!$this->validateConfig($config)) { + throw new \Exception('Invalid plugin config'); + } + + // 检查依赖 + if (!$this->checkDependencies($config['require'] ?? [])) { + throw new \Exception('Dependencies not satisfied'); + } + + // 提取配置默认值 + $defaultValues = []; + if (isset($config['config']) && is_array($config['config'])) { + foreach ($config['config'] as $key => $item) { + $defaultValues[$key] = $item['default'] ?? null; + } + } + + // 注册到数据库 + Plugin::create([ + 'code' => $pluginCode, + 'name' => $config['name'], + 'version' => $config['version'], + 'is_enabled' => false, + 'config' => json_encode($defaultValues), + 'installed_at' => now(), + ]); + + return true; + } + + /** + * 启用插件 + */ + public function enable(string $pluginCode): bool + { + $plugin = $this->loadPlugin($pluginCode); + if (!$plugin) { + throw new \Exception('Plugin not found'); + } + + // 获取插件配置 + $dbPlugin = Plugin::query() + ->where('code', $pluginCode) + ->first(); + + if ($dbPlugin && !empty($dbPlugin->config)) { + $plugin->setConfig(json_decode($dbPlugin->config, true)); + } + + // 更新数据库状态 + Plugin::query() + ->where('code', $pluginCode) + ->update([ + 'is_enabled' => true, + 'updated_at' => now(), + ]); + + // 加载路由 + $routesFile = $this->pluginPath . '/' . $pluginCode . '/routes/web.php'; + if (File::exists($routesFile)) { + require $routesFile; + } + + // 初始化插件 + if (method_exists($plugin, 'boot')) { + $plugin->boot(); + } + + return true; + } + + /** + * 禁用插件 + */ + public function disable(string $pluginCode): bool + { + $plugin = $this->loadPlugin($pluginCode); + if (!$plugin) { + throw new \Exception('Plugin not found'); + } + + // 更新数据库状态 + Plugin::query() + ->where('code', $pluginCode) + ->update([ + 'is_enabled' => false, + 'updated_at' => now(), + ]); + + // 清理插件 + if (method_exists($plugin, 'cleanup')) { + $plugin->cleanup(); + } + + return true; + } + + /** + * 卸载插件 + */ + public function uninstall(string $pluginCode): bool + { + // 先禁用插件 + $this->disable($pluginCode); + + // 删除数据库记录 + Plugin::query()->where('code', $pluginCode)->delete(); + + return true; + } + + /** + * 加载插件实例 + */ + protected function loadPlugin(string $pluginCode) + { + $pluginFile = $this->pluginPath . '/' . $pluginCode . '/Plugin.php'; + if (!File::exists($pluginFile)) { + return null; + } + + require_once $pluginFile; + $className = "Plugin\\{$pluginCode}\\Plugin"; + return new $className(); + } + + /** + * 验证配置文件 + */ + protected function validateConfig(array $config): bool + { + return isset($config['code']) + && isset($config['version']) + && isset($config['description']) + && isset($config['author']); + } + + /** + * 检查依赖关系 + */ + protected function checkDependencies(array $requires): bool + { + foreach ($requires as $package => $version) { + if ($package === 'xboard') { + // 检查xboard版本 + // 实现版本比较逻辑 + } + } + return true; + } +} \ No newline at end of file diff --git a/app/Services/ServerService.php b/app/Services/ServerService.php index 27e9bef7b..b2ff59d36 100644 --- a/app/Services/ServerService.php +++ b/app/Services/ServerService.php @@ -40,7 +40,9 @@ public static function getAvailableServers(User $user): array $server->loadParentCreatedAt(); $server->handlePortAllocation(); $server->loadServerStatus(); - $server->server_key = Helper::getServerKey($server->created_at, 16); + if ($server->type === 'shadowsocks') { + $server->server_key = Helper::getServerKey($server->created_at, 16); + } $server->generateShadowsocksPassword($user); return $server; @@ -48,6 +50,10 @@ public static function getAvailableServers(User $user): array ->toArray(); } + /** + * 加 + */ + /** * 根据权限组获取可用的用户列表 * @param array $groupIds @@ -66,7 +72,8 @@ public static function getAvailableUsers(array $groupIds) ->select([ 'id', 'uuid', - 'speed_limit' + 'speed_limit', + 'device_limit' ]) ->get(); } @@ -99,6 +106,7 @@ public static function getServer($serverId, $serverType) $query->where('code', $serverId) ->orWhere('id', $serverId); }) + ->orderByRaw('CASE WHEN code = ? THEN 0 ELSE 1 END', [$serverId]) ->first(); } } diff --git a/app/Services/ThemeService.php b/app/Services/ThemeService.php index 76606d7e0..c5f1686fc 100644 --- a/app/Services/ThemeService.php +++ b/app/Services/ThemeService.php @@ -4,27 +4,99 @@ use Illuminate\Support\Facades\File; use Illuminate\Support\Facades\Log; +use Illuminate\Support\Facades\View; use Illuminate\Http\UploadedFile; use Exception; use ZipArchive; class ThemeService { - private const THEME_DIR = 'theme/'; + private const SYSTEM_THEME_DIR = 'theme/'; + private const USER_THEME_DIR = '/storage/theme/'; private const CONFIG_FILE = 'config.json'; private const SETTING_PREFIX = 'theme_'; + private const SYSTEM_THEMES = ['Xboard', 'v2board']; + + public function __construct() + { + $this->registerThemeViewPaths(); + } + + /** + * 注册主题视图路径 + */ + private function registerThemeViewPaths(): void + { + // 系统主题路径 + $systemPath = base_path(self::SYSTEM_THEME_DIR); + if (File::exists($systemPath)) { + View::addNamespace('theme', $systemPath); + } + + // 用户主题路径 + $userPath = base_path(self::USER_THEME_DIR); + if (File::exists($userPath)) { + View::prependNamespace('theme', $userPath); + } + } + + /** + * 获取主题视图路径 + */ + public function getThemeViewPath(string $theme): ?string + { + $themePath = $this->getThemePath($theme); + if (!$themePath) { + return null; + } + return $themePath . '/dashboard.blade.php'; + } /** * 获取所有可用主题列表 */ public function getList(): array { - $path = base_path(self::THEME_DIR); + $themes = []; + + // 获取系统主题 + $systemPath = base_path(self::SYSTEM_THEME_DIR); + if (File::exists($systemPath)) { + $themes = $this->getThemesFromPath($systemPath, false); + } + + // 获取用户主题 + $userPath = base_path(self::USER_THEME_DIR); + if (File::exists($userPath)) { + $themes = array_merge($themes, $this->getThemesFromPath($userPath, true)); + } + + return $themes; + } + + /** + * 从指定路径获取主题列表 + */ + private function getThemesFromPath(string $path, bool $canDelete): array + { return collect(File::directories($path)) - ->mapWithKeys(function ($dir) { + ->mapWithKeys(function ($dir) use ($canDelete) { $name = basename($dir); + // 检查必要文件是否存在 + if ( + !File::exists($dir . '/' . self::CONFIG_FILE) || + !File::exists($dir . '/dashboard.blade.php') + ) { + return []; + } $config = $this->readConfigFile($name); - return $config ? [$name => $config] : []; + if (!$config) { + return []; + } + + $config['can_delete'] = $canDelete && $name !== admin_setting('current_theme'); + $config['is_system'] = !$canDelete; + return [$name => $config]; })->toArray(); } @@ -38,56 +110,70 @@ public function upload(UploadedFile $file): bool try { if ($zip->open($file->path()) !== true) { - throw new Exception('Invalid theme package'); + throw new Exception('无效的主题包'); } - // 验证主题包结构 - $hasConfig = false; - for ($i = 0; $i < $zip->numFiles; $i++) { - if (basename($zip->getNameIndex($i)) === self::CONFIG_FILE) { - $hasConfig = true; - break; - } - } + // 查找配置文件 + $configEntry = collect(range(0, $zip->numFiles - 1)) + ->map(fn($i) => $zip->getNameIndex($i)) + ->first(fn($name) => basename($name) === self::CONFIG_FILE); - if (!$hasConfig) { - throw new Exception('Theme configuration file not found'); + if (!$configEntry) { + throw new Exception('主题配置文件不存在'); } - // 解压并移动到主题目录 + // 解压并读取配置 $zip->extractTo($tmpPath); $zip->close(); - $themeName = basename($tmpPath); - $targetPath = base_path(self::THEME_DIR . $themeName); + $sourcePath = $tmpPath . '/' . rtrim(dirname($configEntry), '.'); + $configFile = $sourcePath . '/' . self::CONFIG_FILE; + + if (!File::exists($configFile)) { + throw new Exception('主题配置文件不存在'); + } + + $config = json_decode(File::get($configFile), true); + if (empty($config['name'])) { + throw new Exception('主题名称未配置'); + } + + // 检查是否为系统主题 + if (in_array($config['name'], self::SYSTEM_THEMES)) { + throw new Exception('不能上传与系统主题同名的主题'); + } + + // 检查必要文件 + if (!File::exists($sourcePath . '/dashboard.blade.php')) { + throw new Exception('缺少必要的主题文件:dashboard.blade.php'); + } + // 确保目标目录存在 + $userThemePath = base_path(self::USER_THEME_DIR); + if (!File::exists($userThemePath)) { + File::makeDirectory($userThemePath, 0755, true); + } + + $targetPath = $userThemePath . $config['name']; if (File::exists($targetPath)) { - throw new Exception('Theme already exists'); + throw new Exception('主题已存在'); } - File::moveDirectory($tmpPath, $targetPath); + File::copyDirectory($sourcePath, $targetPath); + $this->initConfig($config['name']); - // 初始化主题配置 - $this->initConfig($themeName); return true; } catch (Exception $e) { - Log::error('Theme upload failed', ['error' => $e->getMessage()]); + throw $e; + } finally { + // 清理临时文件 if (File::exists($tmpPath)) { File::deleteDirectory($tmpPath); } - throw $e; } } - /** - * 切换主题 - */ - public static function switchTheme(string $theme): bool - { - return (new self())->switch($theme); - } - /** * 切换主题 */ @@ -99,20 +185,29 @@ public function switch(string $theme): bool } try { - $this->validateTheme($theme); + // 验证主题是否存在 + $themePath = $this->getThemePath($theme); + if (!$themePath) { + throw new Exception('主题不存在'); + } - // 复制主题文件到public目录 - $sourcePath = base_path(self::THEME_DIR . $theme); - $targetPath = public_path(self::THEME_DIR . $theme); + // 验证视图文件是否存在 + if (!File::exists($this->getThemeViewPath($theme))) { + throw new Exception('主题视图文件不存在'); + } - if (!File::copyDirectory($sourcePath, $targetPath)) { - throw new Exception('Failed to copy theme files'); + // 复制主题文件到public目录 + $targetPath = public_path('theme/' . $theme); + if (!File::copyDirectory($themePath, $targetPath)) { + throw new Exception('复制主题文件失败'); } // 清理旧主题文件 if ($currentTheme) { - $oldPath = public_path(self::THEME_DIR . $currentTheme); - File::exists($oldPath) && File::deleteDirectory($oldPath); + $oldPath = public_path('theme/' . $currentTheme); + if (File::exists($oldPath)) { + File::deleteDirectory($oldPath); + } } admin_setting(['current_theme' => $theme]); @@ -129,20 +224,31 @@ public function switch(string $theme): bool */ public function delete(string $theme): bool { - if ($theme === admin_setting('current_theme')) { - throw new Exception('Cannot delete active theme'); - } - try { - $themePath = base_path(self::THEME_DIR . $theme); - $publicPath = public_path(self::THEME_DIR . $theme); + // 检查是否为系统主题 + if (in_array($theme, self::SYSTEM_THEMES)) { + throw new Exception('系统主题不能删除'); + } + + // 检查是否为当前使用的主题 + if ($theme === admin_setting('current_theme')) { + throw new Exception('当前使用的主题不能删除'); + } + // 获取主题路径 + $themePath = base_path(self::USER_THEME_DIR . $theme); if (!File::exists($themePath)) { - throw new Exception('Theme not found'); + throw new Exception('主题不存在'); } + // 删除主题文件 File::deleteDirectory($themePath); - File::exists($publicPath) && File::deleteDirectory($publicPath); + + // 删除public目录下的主题文件 + $publicPath = public_path('theme/' . $theme); + if (File::exists($publicPath)) { + File::deleteDirectory($publicPath); + } // 清理主题配置 admin_setting([self::SETTING_PREFIX . $theme => null]); @@ -154,6 +260,32 @@ public function delete(string $theme): bool } } + /** + * 检查主题是否存在 + */ + public function exists(string $theme): bool + { + return $this->getThemePath($theme) !== null; + } + + /** + * 获取主题路径 + */ + public function getThemePath(string $theme): ?string + { + $systemPath = base_path(self::SYSTEM_THEME_DIR . $theme); + if (File::exists($systemPath)) { + return $systemPath; + } + + $userPath = base_path(self::USER_THEME_DIR . $theme); + if (File::exists($userPath)) { + return $userPath; + } + + return null; + } + /** * 获取主题配置 */ @@ -173,8 +305,15 @@ public function getConfig(string $theme): ?array public function updateConfig(string $theme, array $config): bool { try { - $this->validateTheme($theme); + // 验证主题是否存在 + if (!$this->getThemePath($theme)) { + throw new Exception('主题不存在'); + } + $schema = $this->readConfigFile($theme); + if (!$schema) { + throw new Exception('主题配置文件无效'); + } // 只保留有效的配置字段 $validFields = collect($schema['configs'] ?? [])->pluck('field_name')->toArray(); @@ -199,18 +338,13 @@ public function updateConfig(string $theme, array $config): bool */ private function readConfigFile(string $theme): ?array { - $file = base_path(self::THEME_DIR . $theme . '/' . self::CONFIG_FILE); - return File::exists($file) ? json_decode(File::get($file), true) : null; - } - - /** - * 验证主题 - */ - private function validateTheme(string $theme): void - { - if (!$this->readConfigFile($theme)) { - throw new Exception("Invalid theme: {$theme}"); + $themePath = $this->getThemePath($theme); + if (!$themePath) { + return null; } + + $file = $themePath . '/' . self::CONFIG_FILE; + return File::exists($file) ? json_decode(File::get($file), true) : null; } /** @@ -219,13 +353,13 @@ private function validateTheme(string $theme): void private function initConfig(string $theme): void { $config = $this->readConfigFile($theme); - if (!$config) + if (!$config) { return; + } $defaults = collect($config['configs'] ?? []) ->mapWithKeys(fn($col) => [$col['field_name'] => $col['default_value'] ?? '']) ->toArray(); - admin_setting([self::SETTING_PREFIX . $theme => $defaults]); } } diff --git a/app/Services/UserOnlineService.php b/app/Services/UserOnlineService.php new file mode 100644 index 000000000..5445fa01f --- /dev/null +++ b/app/Services/UserOnlineService.php @@ -0,0 +1,181 @@ +isEmpty()) { + return []; + } + + $cacheKeys = $deviceLimitUsers->pluck('id') + ->map(fn(int $id): string => self::CACHE_PREFIX . $id) + ->all(); + + return collect(cache()->many($cacheKeys)) + ->filter() + ->map(fn(array $data): ?int => $data['alive_ip'] ?? null) + ->filter() + ->mapWithKeys(fn(int $count, string $key): array => [ + (int) Str::after($key, self::CACHE_PREFIX) => $count + ]) + ->all(); + } + + /** + * 获取指定用户的在线设备信息 + */ + public static function getUserDevices(int $userId): array + { + $data = cache()->get(self::CACHE_PREFIX . $userId, []); + if (empty($data)) { + return ['total_count' => 0, 'devices' => []]; + } + + $devices = collect($data) + ->filter(fn(mixed $item): bool => is_array($item) && isset($item['aliveips'])) + ->flatMap(function (array $nodeData, string $nodeKey): array { + return collect($nodeData['aliveips']) + ->mapWithKeys(function (string $ipNodeId) use ($nodeData, $nodeKey): array { + $ip = Str::before($ipNodeId, '_'); + return [ + $ip => [ + 'ip' => $ip, + 'last_seen' => $nodeData['lastupdateAt'], + 'node_type' => Str::before($nodeKey, (string) $nodeData['lastupdateAt']) + ] + ]; + }) + ->all(); + }) + ->values() + ->all(); + + return [ + 'total_count' => $data['alive_ip'] ?? 0, + 'devices' => $devices + ]; + } + + /** + * 更新用户在线数据 + */ + public function updateAliveData(array $data, string $nodeType, int $nodeId): void + { + $updateAt = now()->timestamp; + $nodeKey = $nodeType . $nodeId; + $userUpdates = []; + + foreach ($data as $uid => $ips) { + $cacheKey = self::CACHE_PREFIX . $uid; + $ipsArray = cache()->get($cacheKey, []); + $ipsArray = [ + ...collect($ipsArray) + ->filter( + fn(mixed $value): bool => + is_array($value) && + ($updateAt - ($value['lastupdateAt'] ?? 0) <= self::NODE_DATA_EXPIRY) + ), + $nodeKey => [ + 'aliveips' => $ips, + 'lastupdateAt' => $updateAt + ] + ]; + $count = $this->calculateDeviceCount($ipsArray); + $ipsArray['alive_ip'] = $count; + cache()->put($cacheKey, $ipsArray, now()->addSeconds(self::CACHE_TTL)); + + $userUpdates[] = [ + 'id' => $uid, + 'count' => $count, + ]; + } + + // 使用队列异步更新数据库 + if (!empty($userUpdates)) { + dispatch(new SyncUserOnlineStatusJob($userUpdates)) + ->onQueue('online_sync') + ->afterCommit(); + } + } + + /** + * 批量获取用户在线设备数 + */ + public function getOnlineCounts(array $userIds): array + { + $cacheKeys = collect($userIds) + ->map(fn(int $id): string => self::CACHE_PREFIX . $id) + ->all(); + + return collect(cache()->many($cacheKeys)) + ->filter() + ->map(fn(array $data): int => $data['alive_ip'] ?? 0) + ->all(); + } + + /** + * 获取用户在线设备数 + */ + public function getOnlineCount(int $userId): int + { + $data = cache()->get(self::CACHE_PREFIX . $userId, []); + return $data['alive_ip'] ?? 0; + } + + /** + * 清理过期的在线记录 + */ + public function cleanExpiredOnlineStatus(): void + { + dispatch(function () { + User::query() + ->where('last_online_at', '<', now()->subMinutes(5)) + ->update(['online_count' => 0]); + })->onQueue('online_sync'); + } + + /** + * 计算设备数量 + */ + private function calculateDeviceCount(array $ipsArray): int + { + // 设备限制模式 + return match ((int) admin_setting('device_limit_mode', 0)) { + // 宽松模式 + 1 => collect($ipsArray) + ->filter(fn(mixed $data): bool => is_array($data) && isset($data['aliveips'])) + ->flatMap( + fn(array $data): array => collect($data['aliveips']) + ->map(fn(string $ipNodeId): string => Str::before($ipNodeId, '_')) + ->unique() + ->all() + ) + ->unique() + ->count(), + 0 => collect($ipsArray) + ->filter(fn(mixed $data): bool => is_array($data) && isset($data['aliveips'])) + ->sum(fn(array $data): int => count($data['aliveips'])) + }; + } +} \ No newline at end of file diff --git a/app/Support/Setting.php b/app/Support/Setting.php index 5b2cd5277..09507b975 100644 --- a/app/Support/Setting.php +++ b/app/Support/Setting.php @@ -25,6 +25,7 @@ public function __construct() */ public function get($key, $default = null) { + $key = strtolower($key); return Arr::get($this->fromDatabase(), $key, $default); } @@ -39,6 +40,7 @@ public function set($key, $value = null): bool if (is_array($value)) { $value = json_encode($value); } + $key = strtolower($key); SettingModel::updateOrCreate(['name' => $key], ['value' => $value]); $this->cache->forget(self::CACHE_KEY); return true; @@ -81,11 +83,10 @@ public function fromDatabase(): array { try { return $this->cache->rememberForever(self::CACHE_KEY, function (): array { - return SettingModel::pluck('value', 'name')->toArray(); + return array_change_key_case(SettingModel::pluck('value', 'name')->toArray(), CASE_LOWER); }); } catch (\Throwable $th) { return []; } - } } diff --git a/app/Utils/Helper.php b/app/Utils/Helper.php index 7f81d8c1e..b7df1cff4 100644 --- a/app/Utils/Helper.php +++ b/app/Utils/Helper.php @@ -119,9 +119,9 @@ public static function getSubscribeUrl(string $token, $subscribeUrl = null) return $subscribeUrl ? rtrim($subscribeUrl, '/') . $path : url($path); } - public static function randomPort($range) { + public static function randomPort($range): int { $portRange = explode('-', $range); - return rand($portRange[0], $portRange[1]); + return random_int($portRange[0], $portRange[1]); } public static function base64EncodeUrlSafe($data) @@ -166,4 +166,10 @@ public static function getRandFingerprint() { $fingerprints = ['chrome', 'firefox', 'safari', 'ios', 'edge', 'qq']; return \Arr::random($fingerprints); } + + public static function encodeURIComponent($str) { + $revert = array('%21'=>'!', '%2A'=>'*', '%27'=>"'", '%28'=>'(', '%29'=>')'); + return strtr(rawurlencode($str), $revert); + } + } diff --git a/bin/fswatch b/bin/fswatch deleted file mode 100755 index dd60014ff..000000000 --- a/bin/fswatch +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env bash -WORK_DIR=$1 -if [ ! -n "${WORK_DIR}" ] ;then - WORK_DIR="." -fi - -echo "Restarting LaravelS..." -./bin/laravels restart -d -i - -echo "Starting fswatch..." -LOCKING=0 -fswatch -e ".*" -i "\\.php$" -r ${WORK_DIR} | while read file -do - if [[ ! ${file} =~ .php$ ]] ;then - continue - fi - if [ ${LOCKING} -eq 1 ] ;then - echo "Reloading, skipped." - continue - fi - echo "File ${file} has been modified." - LOCKING=1 - ./bin/laravels reload - LOCKING=0 -done -exit 0 \ No newline at end of file diff --git a/bin/inotify b/bin/inotify deleted file mode 100755 index ea3a3bd4c..000000000 --- a/bin/inotify +++ /dev/null @@ -1,28 +0,0 @@ -#!/usr/bin/env bash -WORK_DIR=$1 -if [ ! -n "${WORK_DIR}" ] ;then - WORK_DIR="." -fi - -echo "Restarting LaravelS..." -./bin/laravels restart -d -i - -echo "Starting inotifywait..." -LOCKING=0 - -inotifywait --event modify --event create --event move --event delete -mrq ${WORK_DIR} | while read file - -do - if [[ ! ${file} =~ .php$ ]] ;then - continue - fi - if [ ${LOCKING} -eq 1 ] ;then - echo "Reloading, skipped." - continue - fi - echo "File ${file} has been modified." - LOCKING=1 - ./bin/laravels reload - LOCKING=0 -done -exit 0 \ No newline at end of file diff --git a/bin/laravels b/bin/laravels deleted file mode 100755 index c17313efb..000000000 --- a/bin/laravels +++ /dev/null @@ -1,168 +0,0 @@ -#!/usr/bin/env php -prefixes[$prefix]) === false) { - $this->prefixes[$prefix] = []; - } - - // retain the base directory for the namespace prefix - if ($prepend) { - array_unshift($this->prefixes[$prefix], $base_dir); - } else { - $this->prefixes[$prefix][] = $base_dir; - } - } - - /** - * Loads the class file for a given class name. - * - * @param string $class The fully-qualified class name. - * @return mixed The mapped file name on success, or boolean false on - * failure. - */ - public function loadClass($class) - { - // the current namespace prefix - $prefix = $class; - - // work backwards through the namespace names of the fully-qualified - // class name to find a mapped file name - while (false !== $pos = strrpos($prefix, '\\')) { - // retain the trailing namespace separator in the prefix - $prefix = substr($class, 0, $pos + 1); - - // the rest is the relative class name - $relative_class = substr($class, $pos + 1); - - // try to load a mapped file for the prefix and relative class - $mapped_file = $this->loadMappedFile($prefix, $relative_class); - if ($mapped_file) { - return $mapped_file; - } - - // remove the trailing namespace separator for the next iteration - // of strrpos() - $prefix = rtrim($prefix, '\\'); - } - - // never found a mapped file - return false; - } - - /** - * Load the mapped file for a namespace prefix and relative class. - * - * @param string $prefix The namespace prefix. - * @param string $relative_class The relative class name. - * @return mixed Boolean false if no mapped file can be loaded, or the - * name of the mapped file that was loaded. - */ - protected function loadMappedFile($prefix, $relative_class) - { - // are there any base directories for this namespace prefix? - if (isset($this->prefixes[$prefix]) === false) { - return false; - } - - // look through base directories for this namespace prefix - foreach ($this->prefixes[$prefix] as $base_dir) { - // replace the namespace prefix with the base directory, - // replace namespace separators with directory separators - // in the relative class name, append with .php - $file = $base_dir - . str_replace('\\', '/', $relative_class) - . '.php'; - - // if the mapped file exists, require it - if ($this->requireFile($file)) { - // yes, we're done - return $file; - } - } - - // never found it - return false; - } - - /** - * If a file exists, require it from the file system. - * - * @param string $file The file to require. - * @return bool True if the file exists, false if not. - */ - public function requireFile($file) - { - if (file_exists($file)) { - require $file; - return true; - } - return false; - } -} - -$basePath = dirname(__DIR__) . '/'; -$loader = new Psr4Autoloader(); -$loader->register(); - -// Register laravel-s -$loader->addNamespace('Hhxsv5\LaravelS', $basePath . '/vendor/hhxsv5/laravel-s/src'); - -// Register laravel-s dependencies - -// To fix issue #364 https://github.com/hhxsv5/laravel-s/issues/364 -$loader->addNamespace('Symfony\Polyfill\Php80', $basePath . '/vendor/symfony/polyfill-php80'); -$loader->requireFile($basePath . '/vendor/symfony/polyfill-php80/bootstrap.php'); - -$loader->addNamespace('Symfony\Component\Console', $basePath . '/vendor/symfony/console'); -$loader->addNamespace('Symfony\Contracts\Service', $basePath . '/vendor/symfony/service-contracts'); -$loader->addNamespace('Symfony\Contracts', $basePath . '/vendor/symfony/contracts'); - -$command = new Hhxsv5\LaravelS\Console\Portal($basePath); -$input = new Symfony\Component\Console\Input\ArgvInput(); -$output = new Symfony\Component\Console\Output\ConsoleOutput(); -$code = $command->run($input, $output); -exit($code); \ No newline at end of file diff --git a/compose.sample.yaml b/compose.sample.yaml new file mode 100644 index 000000000..693169383 --- /dev/null +++ b/compose.sample.yaml @@ -0,0 +1,31 @@ +services: + web: + image: ghcr.io/cedar2025/xboard:latest + volumes: + - ./.docker/.data/redis/:/data/ + - ./:/www/ + environment: + - docker=true + depends_on: + - redis + network_mode: host + command: php artisan octane:start --port=7001 --host=0.0.0.0 + restart: on-failure + horizon: + image: ghcr.io/cedar2025/xboard:latest + volumes: + - ./.docker/.data/redis/:/data/ + - ./:/www/ + restart: on-failure + network_mode: host + command: php artisan horizon + depends_on: + - redis + redis: + image: redis:7-alpine + command: redis-server --unixsocket /data/redis.sock --unixsocketperm 777 --save 900 1 --save 300 10 --save 60 10000 + restart: unless-stopped + volumes: + - ./.docker/.data/redis:/data + sysctls: + net.core.somaxconn: 1024 \ No newline at end of file diff --git a/composer.json b/composer.json index bcc858cc0..67a67b070 100755 --- a/composer.json +++ b/composer.json @@ -11,17 +11,18 @@ ], "license": "MIT", "require": { - "php": "^8.1", + "php": "^8.2", + "bacon/bacon-qr-code": "^2.0", "doctrine/dbal": "^3.7", "google/cloud-storage": "^1.35", "google/recaptcha": "^1.2", - "guzzlehttp/guzzle": "^7.4.3", - "laravel/framework": "10.*", - "laravel/horizon": "^5.9.6", - "laravel/octane": "*", - "laravel/prompts": "^0.1.22", - "laravel/sanctum": "^3.3", - "laravel/tinker": "^2.5", + "guzzlehttp/guzzle": "^7.8", + "laravel/framework": "^11.0", + "laravel/horizon": "^5.21", + "laravel/octane": "^2.3", + "laravel/prompts": "^0.1.13", + "laravel/sanctum": "^4.0", + "laravel/tinker": "^2.9", "linfo/linfo": "^4.0", "paragonie/sodium_compat": "^1.20", "php-curl-class/php-curl-class": "^8.6", @@ -29,33 +30,26 @@ "stripe/stripe-php": "^7.36.1", "symfony/http-client": "^6.4", "symfony/mailgun-mailer": "^6.4", - "symfony/yaml": "*" + "symfony/yaml": "*", + "zoujingli/ip2region": "^2.0" }, "require-dev": { "barryvdh/laravel-debugbar": "^3.9", "fakerphp/faker": "^1.9.1", - "mockery/mockery": "^1.3.1", - "nunomaduro/collision": "^7.10", + "mockery/mockery": "^1.6", + "nunomaduro/collision": "^8.0", "orangehill/iseed": "^3.0", - "phpunit/phpunit": "^10.0", - "spatie/laravel-ignition": "^2.0" + "phpunit/phpunit": "^10.5", + "spatie/laravel-ignition": "^2.4" }, "config": { "optimize-autoloader": true, "preferred-install": "dist", - "sort-packages": true, - "allow-plugins": { - "cweagans/composer-patches": true - } + "sort-packages": true }, "extra": { "laravel": { "dont-discover": [] - }, - "patches": { - "joanhey/adapterman": { - "http": "patches/Http.patch" - } } }, "autoload": { diff --git a/config/app.php b/config/app.php index c5dbbbe65..1b7311d8b 100755 --- a/config/app.php +++ b/config/app.php @@ -169,7 +169,6 @@ /* * Application Service Providers... */ - App\Providers\AppServiceProvider::class, App\Providers\AuthServiceProvider::class, // App\Providers\BroadcastServiceProvider::class, App\Providers\EventServiceProvider::class, @@ -177,57 +176,7 @@ App\Providers\RouteServiceProvider::class, App\Providers\SettingServiceProvider::class, App\Providers\OctaneSchedulerProvider::class, - - ], - - /* - |-------------------------------------------------------------------------- - | Class Aliases - |-------------------------------------------------------------------------- - | - | 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. - | - */ - - 'aliases' => [ - - 'App' => Illuminate\Support\Facades\App::class, - 'Arr' => Illuminate\Support\Arr::class, - 'Artisan' => Illuminate\Support\Facades\Artisan::class, - 'Auth' => Illuminate\Support\Facades\Auth::class, - 'Blade' => Illuminate\Support\Facades\Blade::class, - 'Broadcast' => Illuminate\Support\Facades\Broadcast::class, - 'Bus' => Illuminate\Support\Facades\Bus::class, - 'Cache' => Illuminate\Support\Facades\Cache::class, - 'Config' => Illuminate\Support\Facades\Config::class, - 'Cookie' => Illuminate\Support\Facades\Cookie::class, - 'Crypt' => Illuminate\Support\Facades\Crypt::class, - 'DB' => Illuminate\Support\Facades\DB::class, - 'Eloquent' => Illuminate\Database\Eloquent\Model::class, - 'Event' => Illuminate\Support\Facades\Event::class, - 'File' => Illuminate\Support\Facades\File::class, - 'Gate' => Illuminate\Support\Facades\Gate::class, - 'Hash' => Illuminate\Support\Facades\Hash::class, - 'Lang' => Illuminate\Support\Facades\Lang::class, - 'Log' => Illuminate\Support\Facades\Log::class, - 'Mail' => Illuminate\Support\Facades\Mail::class, - 'Notification' => Illuminate\Support\Facades\Notification::class, - 'Password' => Illuminate\Support\Facades\Password::class, - 'Queue' => Illuminate\Support\Facades\Queue::class, - 'Redirect' => Illuminate\Support\Facades\Redirect::class, - 'Redis' => Illuminate\Support\Facades\Redis::class, - 'Request' => Illuminate\Support\Facades\Request::class, - 'Response' => Illuminate\Support\Facades\Response::class, - 'Route' => Illuminate\Support\Facades\Route::class, - 'Schema' => Illuminate\Support\Facades\Schema::class, - 'Session' => Illuminate\Support\Facades\Session::class, - 'Storage' => Illuminate\Support\Facades\Storage::class, - 'Str' => Illuminate\Support\Str::class, - 'URL' => Illuminate\Support\Facades\URL::class, - 'Validator' => Illuminate\Support\Facades\Validator::class, - 'View' => Illuminate\Support\Facades\View::class, + App\Providers\PluginServiceProvider::class, ], @@ -239,5 +188,5 @@ | The only modification by laravel config | */ - 'version' => '0.1.1-dev' + 'version' => '1.0.0' ]; diff --git a/config/database.php b/config/database.php index df5152c64..7c0c3aba4 100755 --- a/config/database.php +++ b/config/database.php @@ -59,8 +59,14 @@ 'strict' => true, 'engine' => null, 'options' => (extension_loaded('pdo_mysql') ? array_filter([ - PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA') - ]) : []) + [ \PDO::ATTR_PERSISTENT => true ], + PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), + PDO::ATTR_PERSISTENT => false, + ]) : []), + 'pool' => [ + 'min_connections' => 1, + 'max_connections' => 10, + 'idle_timeout' => 60, + ], ], 'pgsql' => [ diff --git a/config/horizon.php b/config/horizon.php index 4b20ff811..99ec3d375 100644 --- a/config/horizon.php +++ b/config/horizon.php @@ -179,6 +179,7 @@ 'send_email', 'send_email_mass', 'send_telegram', + 'online_sync' ], 'balance' => 'auto', 'minProcesses' => 1, diff --git a/config/logging.php b/config/logging.php index beb28345e..3e3e90e5c 100755 --- a/config/logging.php +++ b/config/logging.php @@ -100,6 +100,13 @@ 'driver' => 'errorlog', 'level' => 'debug', ], + + 'deprecations' => [ + 'driver' => 'daily', + 'path' => storage_path('logs/deprecations.log'), + 'level' => 'debug', + 'days' => 14, + ], ], ]; diff --git a/config/octane.php b/config/octane.php index 818ee7036..f2cc571d7 100644 --- a/config/octane.php +++ b/config/octane.php @@ -36,7 +36,7 @@ | */ - 'server' => env('OCTANE_SERVER', 'roadrunner'), + 'server' => env('OCTANE_SERVER', 'swoole'), /* |-------------------------------------------------------------------------- diff --git a/config/scribe.php b/config/scribe.php new file mode 100644 index 000000000..b2e0c0368 --- /dev/null +++ b/config/scribe.php @@ -0,0 +1,270 @@ + for the generated documentation. If this is empty, Scribe will infer it from config('app.name'). + 'title' => null, + + // A short description of your API. Will be included in the docs webpage, Postman collection and OpenAPI spec. + 'description' => '', + + // The base URL displayed in the docs. If this is empty, Scribe will use the value of config('app.url') at generation time. + // If you're using `laravel` type, you can set this to a dynamic string, like '{{ config("app.tenant_url") }}' to get a dynamic base URL. + 'base_url' => null, + + 'routes' => [ + [ + // Routes that match these conditions will be included in the docs + 'match' => [ + // Match only routes whose paths match this pattern (use * as a wildcard to match any characters). Example: 'users/*'. + 'prefixes' => ['api/*'], + + // Match only routes whose domains match this pattern (use * as a wildcard to match any characters). Example: 'api.*'. + 'domains' => ['*'], + + // [Dingo router only] Match only routes registered under this version. Wildcards are NOT supported. + 'versions' => ['v1'], + ], + + // Include these routes even if they did not match the rules above. + 'include' => [ + // 'users.index', 'POST /new', '/auth/*' + ], + + // Exclude these routes even if they matched the rules above. + 'exclude' => [ + // 'GET /health', 'admin.*' + ], + ], + ], + + // The type of documentation output to generate. + // - "static" will generate a static HTMl page in the /public/docs folder, + // - "laravel" will generate the documentation as a Blade view, so you can add routing and authentication. + // - "external_static" and "external_laravel" do the same as above, but generate a basic template, + // passing the OpenAPI spec as a URL, allowing you to easily use the docs with an external generator + 'type' => 'static', + + // See https://scribe.knuckles.wtf/laravel/reference/config#theme for supported options + 'theme' => 'default', + + 'static' => [ + // HTML documentation, assets and Postman collection will be generated to this folder. + // Source Markdown will still be in resources/docs. + 'output_path' => 'public/docs', + ], + + 'laravel' => [ + // Whether to automatically create a docs endpoint for you to view your generated docs. + // If this is false, you can still set up routing manually. + 'add_routes' => true, + + // URL path to use for the docs endpoint (if `add_routes` is true). + // By default, `/docs` opens the HTML page, `/docs.postman` opens the Postman collection, and `/docs.openapi` the OpenAPI spec. + 'docs_url' => '/docs', + + // Directory within `public` in which to store CSS and JS assets. + // By default, assets are stored in `public/vendor/scribe`. + // If set, assets will be stored in `public/{{assets_directory}}` + 'assets_directory' => null, + + // Middleware to attach to the docs endpoint (if `add_routes` is true). + 'middleware' => [], + ], + + 'external' => [ + 'html_attributes' => [] + ], + + 'try_it_out' => [ + // Add a Try It Out button to your endpoints so consumers can test endpoints right from their browser. + // Don't forget to enable CORS headers for your endpoints. + 'enabled' => true, + + // The base URL for the API tester to use (for example, you can set this to your staging URL). + // Leave as null to use the current app URL when generating (config("app.url")). + 'base_url' => null, + + // [Laravel Sanctum] Fetch a CSRF token before each request, and add it as an X-XSRF-TOKEN header. + 'use_csrf' => false, + + // The URL to fetch the CSRF token from (if `use_csrf` is true). + 'csrf_url' => '/sanctum/csrf-cookie', + ], + + // How is your API authenticated? This information will be used in the displayed docs, generated examples and response calls. + 'auth' => [ + // Set this to true if ANY endpoints in your API use authentication. + 'enabled' => false, + + // Set this to true if your API should be authenticated by default. If so, you must also set `enabled` (above) to true. + // You can then use @unauthenticated or @authenticated on individual endpoints to change their status from the default. + 'default' => false, + + // Where is the auth value meant to be sent in a request? + // Options: query, body, basic, bearer, header (for custom header) + 'in' => 'bearer', + + // The name of the auth parameter (e.g. token, key, apiKey) or header (e.g. Authorization, Api-Key). + 'name' => 'key', + + // The value of the parameter to be used by Scribe to authenticate response calls. + // This will NOT be included in the generated documentation. If empty, Scribe will use a random value. + 'use_value' => env('SCRIBE_AUTH_KEY'), + + // Placeholder your users will see for the auth parameter in the example requests. + // Set this to null if you want Scribe to use a random value as placeholder instead. + 'placeholder' => '{YOUR_AUTH_KEY}', + + // Any extra authentication-related info for your users. Markdown and HTML are supported. + 'extra_info' => 'You can retrieve your token by visiting your dashboard and clicking Generate API token.', + ], + + // Text to place in the "Introduction" section, right after the `description`. Markdown and HTML are supported. + 'intro_text' => <<As you scroll, you'll see code examples for working with the API in different programming languages in the dark area to the right (or as part of the content on mobile). +You can switch the language used with the tabs at the top right (or from the nav menu at the top left on mobile). +INTRO + , + + // Example requests for each endpoint will be shown in each of these languages. + // Supported options are: bash, javascript, php, python + // To add a language of your own, see https://scribe.knuckles.wtf/laravel/advanced/example-requests + 'example_languages' => [ + 'bash', + 'javascript', + ], + + // Generate a Postman collection (v2.1.0) in addition to HTML docs. + // For 'static' docs, the collection will be generated to public/docs/collection.json. + // For 'laravel' docs, it will be generated to storage/app/scribe/collection.json. + // Setting `laravel.add_routes` to true (above) will also add a route for the collection. + 'postman' => [ + 'enabled' => true, + + 'overrides' => [ + // 'info.version' => '2.0.0', + ], + ], + + // Generate an OpenAPI spec (v3.0.1) in addition to docs webpage. + // For 'static' docs, the collection will be generated to public/docs/openapi.yaml. + // For 'laravel' docs, it will be generated to storage/app/scribe/openapi.yaml. + // Setting `laravel.add_routes` to true (above) will also add a route for the spec. + 'openapi' => [ + 'enabled' => true, + + 'overrides' => [ + // 'info.version' => '2.0.0', + ], + ], + + 'groups' => [ + // Endpoints which don't have a @group will be placed in this default group. + 'default' => 'Endpoints', + + // By default, Scribe will sort groups alphabetically, and endpoints in the order their routes are defined. + // You can override this by listing the groups, subgroups and endpoints here in the order you want them. + // See https://scribe.knuckles.wtf/blog/laravel-v4#easier-sorting and https://scribe.knuckles.wtf/laravel/reference/config#order for details + 'order' => [], + ], + + // Custom logo path. This will be used as the value of the src attribute for the tag, + // so make sure it points to an accessible URL or path. Set to false to not use a logo. + // For example, if your logo is in public/img: + // - 'logo' => '../img/logo.png' // for `static` type (output folder is public/docs) + // - 'logo' => 'img/logo.png' // for `laravel` type + 'logo' => false, + + // Customize the "Last updated" value displayed in the docs by specifying tokens and formats. + // Examples: + // - {date:F j Y} => March 28, 2022 + // - {git:short} => Short hash of the last Git commit + // Available tokens are `{date:}` and `{git:}`. + // The format you pass to `date` will be passed to PHP's `date()` function. + // The format you pass to `git` can be either "short" or "long". + 'last_updated' => 'Last updated: {date:F j, Y}', + + 'examples' => [ + // Set this to any number (e.g. 1234) to generate the same example values for parameters on each run, + 'faker_seed' => null, + + // With API resources and transformers, Scribe tries to generate example models to use in your API responses. + // By default, Scribe will try the model's factory, and if that fails, try fetching the first from the database. + // You can reorder or remove strategies here. + 'models_source' => ['factoryCreate', 'factoryMake', 'databaseFirst'], + ], + + // The strategies Scribe will use to extract information about your routes at each stage. + // If you create or install a custom strategy, add it here. + 'strategies' => [ + 'metadata' => [ + Strategies\Metadata\GetFromDocBlocks::class, + Strategies\Metadata\GetFromMetadataAttributes::class, + ], + 'urlParameters' => [ + Strategies\UrlParameters\GetFromLaravelAPI::class, + Strategies\UrlParameters\GetFromUrlParamAttribute::class, + Strategies\UrlParameters\GetFromUrlParamTag::class, + ], + 'queryParameters' => [ + Strategies\QueryParameters\GetFromFormRequest::class, + Strategies\QueryParameters\GetFromInlineValidator::class, + Strategies\QueryParameters\GetFromQueryParamAttribute::class, + Strategies\QueryParameters\GetFromQueryParamTag::class, + ], + 'headers' => [ + Strategies\Headers\GetFromHeaderAttribute::class, + Strategies\Headers\GetFromHeaderTag::class, + [ + 'override', + [ + 'Content-Type' => 'application/json', + 'Accept' => 'application/json', + ] + ] + ], + 'bodyParameters' => [ + Strategies\BodyParameters\GetFromFormRequest::class, + Strategies\BodyParameters\GetFromInlineValidator::class, + Strategies\BodyParameters\GetFromBodyParamAttribute::class, + Strategies\BodyParameters\GetFromBodyParamTag::class, + ], + 'responses' => [ + Strategies\Responses\UseResponseAttributes::class, + Strategies\Responses\UseTransformerTags::class, + Strategies\Responses\UseApiResourceTags::class, + Strategies\Responses\UseResponseTag::class, + Strategies\Responses\UseResponseFileTag::class, + [ + Strategies\Responses\ResponseCalls::class, + [ + 'only' => ['GET *'], + // Disable debug mode when generating response calls to avoid error stack traces in responses + 'config' => [ + 'app.debug' => false, + ], + ] + ] + ], + 'responseFields' => [ + Strategies\ResponseFields\GetFromResponseFieldAttribute::class, + Strategies\ResponseFields\GetFromResponseFieldTag::class, + ], + ], + + // For response calls, API resource responses and transformer responses, + // Scribe will try to start database transactions, so no changes are persisted to your database. + // Tell Scribe which connections should be transacted here. If you only use one db connection, you can leave this as is. + 'database_connections_to_transact' => [config('database.default')], + + 'fractal' => [ + // If you are using a custom serializer with league/fractal, you can specify it here. + 'serializer' => null, + ], + + 'routeMatcher' => \Knuckles\Scribe\Matching\RouteMatcher::class, +]; diff --git a/config/swoole_http.php b/config/swoole_http.php deleted file mode 100644 index a73b139d9..000000000 --- a/config/swoole_http.php +++ /dev/null @@ -1,137 +0,0 @@ - [ - 'host' => env('SWOOLE_HTTP_HOST', '0.0.0.0'), - 'port' => env('SWOOLE_HTTP_PORT', '1215'), - 'public_path' => base_path('public'), - // Determine if to use swoole to respond request for static files - 'handle_static_files' => env('SWOOLE_HANDLE_STATIC', true), - 'access_log' => env('SWOOLE_HTTP_ACCESS_LOG', false), - // You must add --enable-openssl while compiling Swoole - // Put `SWOOLE_SOCK_TCP | SWOOLE_SSL` if you want to enable SSL - 'socket_type' => SWOOLE_SOCK_TCP, - 'process_type' => SWOOLE_PROCESS, - 'options' => [ - 'pid_file' => env('SWOOLE_HTTP_PID_FILE', base_path('storage/logs/swoole_http.pid')), - 'log_file' => env('SWOOLE_HTTP_LOG_FILE', base_path('storage/logs/swoole_http.log')), - 'daemonize' => env('SWOOLE_HTTP_DAEMONIZE', false), - // Normally this value should be 1~4 times larger according to your cpu cores. - 'reactor_num' => env('SWOOLE_HTTP_REACTOR_NUM', swoole_cpu_num()), - 'worker_num' => env('SWOOLE_HTTP_WORKER_NUM', swoole_cpu_num()), - 'task_worker_num' => env('SWOOLE_HTTP_TASK_WORKER_NUM', swoole_cpu_num()), - // The data to receive can't be larger than buffer_output_size. - 'package_max_length' => 20 * 1024 * 1024, - // The data to send can't be larger than buffer_output_size. - 'buffer_output_size' => 10 * 1024 * 1024, - // Max buffer size for socket connections - 'socket_buffer_size' => 128 * 1024 * 1024, - // Worker will restart after processing this number of requests - 'max_request' => 3000, - // Enable coroutine send - 'send_yield' => true, - // You must add --enable-openssl while compiling Swoole - 'ssl_cert_file' => null, - 'ssl_key_file' => null, - ], - ], - - /* - |-------------------------------------------------------------------------- - | Enable to turn on websocket server. - |-------------------------------------------------------------------------- - */ - 'websocket' => [ - 'enabled' => env('SWOOLE_HTTP_WEBSOCKET', false), - ], - - /* - |-------------------------------------------------------------------------- - | Hot reload configuration - |-------------------------------------------------------------------------- - */ - 'hot_reload' => [ - 'enabled' => env('SWOOLE_HOT_RELOAD_ENABLE', false), - 'recursively' => env('SWOOLE_HOT_RELOAD_RECURSIVELY', true), - 'directory' => env('SWOOLE_HOT_RELOAD_DIRECTORY', base_path()), - 'log' => env('SWOOLE_HOT_RELOAD_LOG', true), - 'filter' => env('SWOOLE_HOT_RELOAD_FILTER', '.php'), - ], - - /* - |-------------------------------------------------------------------------- - | Console output will be transferred to response content if enabled. - |-------------------------------------------------------------------------- - */ - 'ob_output' => env('SWOOLE_OB_OUTPUT', true), - - /* - |-------------------------------------------------------------------------- - | Pre-resolved instances here will be resolved when sandbox created. - |-------------------------------------------------------------------------- - */ - 'pre_resolved' => [ - 'view', 'files', 'session', 'session.store', 'routes', - 'db', 'db.factory', 'cache', 'cache.store', 'config', 'cookie', - 'encrypter', 'hash', 'router', 'translator', 'url', 'log', - ], - - /* - |-------------------------------------------------------------------------- - | Instances here will be cleared on every request. - |-------------------------------------------------------------------------- - */ - 'instances' => [ - 'auth', - ], - - /* - |-------------------------------------------------------------------------- - | Providers here will be registered on every request. - |-------------------------------------------------------------------------- - */ - 'providers' => [ - Illuminate\Pagination\PaginationServiceProvider::class, - ], - - /* - |-------------------------------------------------------------------------- - | Resetters for sandbox app. - |-------------------------------------------------------------------------- - */ - 'resetters' => [ - SwooleTW\Http\Server\Resetters\ResetConfig::class, - SwooleTW\Http\Server\Resetters\ResetSession::class, - SwooleTW\Http\Server\Resetters\ResetCookie::class, - SwooleTW\Http\Server\Resetters\ClearInstances::class, - SwooleTW\Http\Server\Resetters\BindRequest::class, - SwooleTW\Http\Server\Resetters\RebindKernelContainer::class, - SwooleTW\Http\Server\Resetters\RebindRouterContainer::class, - SwooleTW\Http\Server\Resetters\RebindViewContainer::class, - SwooleTW\Http\Server\Resetters\ResetProviders::class, - ], - - /* - |-------------------------------------------------------------------------- - | Define your swoole tables here. - | - | @see https://www.swoole.co.uk/docs/modules/swoole-table - |-------------------------------------------------------------------------- - */ - 'tables' => [ - // 'table_name' => [ - // 'size' => 1024, - // 'columns' => [ - // ['name' => 'column_name', 'type' => Table::TYPE_STRING, 'size' => 1024], - // ] - // ], - ], -]; diff --git a/config/swoole_websocket.php b/config/swoole_websocket.php deleted file mode 100644 index 867b9df82..000000000 --- a/config/swoole_websocket.php +++ /dev/null @@ -1,107 +0,0 @@ - SwooleTW\Http\Websocket\SocketIO\WebsocketHandler::class, - - /* - |-------------------------------------------------------------------------- - | Default frame parser - | Replace it if you want to customize your websocket payload - |-------------------------------------------------------------------------- - */ - 'parser' => SwooleTW\Http\Websocket\SocketIO\SocketIOParser::class, - - /* - |-------------------------------------------------------------------------- - | Websocket route file path - |-------------------------------------------------------------------------- - */ - 'route_file' => base_path('routes/websocket.php'), - - /* - |-------------------------------------------------------------------------- - | Default middleware for on connect request - |-------------------------------------------------------------------------- - */ - 'middleware' => [ - // SwooleTW\Http\Websocket\Middleware\DecryptCookies::class, - // SwooleTW\Http\Websocket\Middleware\StartSession::class, - // SwooleTW\Http\Websocket\Middleware\Authenticate::class, - ], - - /* - |-------------------------------------------------------------------------- - | Websocket handler for customized onHandShake callback - |-------------------------------------------------------------------------- - */ - 'handshake' => [ - 'enabled' => false, - 'handler' => SwooleTW\Http\Websocket\HandShakeHandler::class, - ], - - /* - |-------------------------------------------------------------------------- - | Default websocket driver - |-------------------------------------------------------------------------- - */ - 'default' => 'table', - - /* - |-------------------------------------------------------------------------- - | Websocket client's heartbeat interval (ms) - |-------------------------------------------------------------------------- - */ - 'ping_interval' => 25000, - - /* - |-------------------------------------------------------------------------- - | Websocket client's heartbeat interval timeout (ms) - |-------------------------------------------------------------------------- - */ - 'ping_timeout' => 60000, - - /* - |-------------------------------------------------------------------------- - | Room drivers mapping - |-------------------------------------------------------------------------- - */ - 'drivers' => [ - 'table' => SwooleTW\Http\Websocket\Rooms\TableRoom::class, - 'redis' => SwooleTW\Http\Websocket\Rooms\RedisRoom::class, - ], - - /* - |-------------------------------------------------------------------------- - | Room drivers settings - |-------------------------------------------------------------------------- - */ - 'settings' => [ - - 'table' => [ - 'room_rows' => 4096, - 'room_size' => 2048, - 'client_rows' => 8192, - 'client_size' => 2048, - ], - - 'redis' => [ - 'server' => [ - 'host' => env('REDIS_HOST', '127.0.0.1'), - 'password' => env('REDIS_PASSWORD', null), - 'port' => env('REDIS_PORT', 6379), - 'database' => 0, - 'persistent' => true, - ], - 'options' => [ - // - ], - 'prefix' => 'swoole:', - ], - ], -]; diff --git a/database/migrations/2019_08_19_000000_create_failed_jobs_table.php b/database/migrations/2019_08_19_000000_create_failed_jobs_table.php index 389bdf768..510e6e738 100644 --- a/database/migrations/2019_08_19_000000_create_failed_jobs_table.php +++ b/database/migrations/2019_08_19_000000_create_failed_jobs_table.php @@ -13,14 +13,16 @@ class CreateFailedJobsTable extends Migration */ public function up() { - Schema::create('failed_jobs', function (Blueprint $table) { - $table->bigIncrements('id'); - $table->text('connection'); - $table->text('queue'); - $table->longText('payload'); - $table->longText('exception'); - $table->timestamp('failed_at')->useCurrent(); - }); + if (!Schema::hasTable('failed_jobs')) { + Schema::create('failed_jobs', function (Blueprint $table) { + $table->bigIncrements('id'); + $table->text('connection'); + $table->text('queue'); + $table->longText('payload'); + $table->longText('exception'); + $table->timestamp('failed_at')->useCurrent(); + }); + } } /** diff --git a/database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php b/database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php index e828ad818..542f19b53 100644 --- a/database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php +++ b/database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php @@ -4,23 +4,24 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. */ public function up(): void { - Schema::create('personal_access_tokens', function (Blueprint $table) { - $table->id(); - $table->morphs('tokenable'); - $table->string('name'); - $table->string('token', 64)->unique(); - $table->text('abilities')->nullable(); - $table->timestamp('last_used_at')->nullable(); - $table->timestamp('expires_at')->nullable(); - $table->timestamps(); - }); + if (!Schema::hasTable('personal_access_tokens')) { + Schema::create('personal_access_tokens', function (Blueprint $table) { + $table->id(); + $table->morphs('tokenable'); + $table->string('name'); + $table->string('token', 64)->unique(); + $table->text('abilities')->nullable(); + $table->timestamp('last_used_at')->nullable(); + $table->timestamp('expires_at')->nullable(); + $table->timestamps(); + }); + } } /** diff --git a/database/migrations/2023_03_19_000000_create_v2_tables.php b/database/migrations/2023_03_19_000000_create_v2_tables.php new file mode 100644 index 000000000..f4915a237 --- /dev/null +++ b/database/migrations/2023_03_19_000000_create_v2_tables.php @@ -0,0 +1,496 @@ +integer('id', true); + $table->integer('invite_user_id'); + $table->integer('user_id'); + $table->char('trade_no', 36); + $table->integer('order_amount'); + $table->integer('get_amount'); + $table->integer('created_at'); + $table->integer('updated_at'); + }); + } + + // Invite Code + if (!Schema::hasTable('v2_invite_code')) { + Schema::create('v2_invite_code', function (Blueprint $table) { + $table->integer('id', true); + $table->integer('user_id'); + $table->char('code', 32); + $table->boolean('status')->default(false); + $table->integer('pv')->default(0); + $table->integer('created_at'); + $table->integer('updated_at'); + }); + } + + // Knowledge + if (!Schema::hasTable('v2_knowledge')) { + Schema::create('v2_knowledge', function (Blueprint $table) { + $table->integer('id', true); + $table->char('language', 5)->comment('語言'); + $table->string('category')->comment('分類名'); + $table->string('title')->comment('標題'); + $table->text('body')->comment('內容'); + $table->integer('sort')->nullable()->comment('排序'); + $table->boolean('show')->default(false)->comment('顯示'); + $table->integer('created_at')->comment('創建時間'); + $table->integer('updated_at')->comment('更新時間'); + }); + } + + // Plan + if (!Schema::hasTable('v2_plan')) { + Schema::create('v2_plan', function (Blueprint $table) { + $table->integer('id', true); + $table->integer('group_id'); + $table->integer('transfer_enable'); + $table->string('name'); + $table->integer('speed_limit')->nullable(); + $table->boolean('show')->default(false); + $table->integer('sort')->nullable(); + $table->boolean('renew')->default(true); + $table->text('content')->nullable(); + $table->integer('month_price')->nullable(); + $table->integer('quarter_price')->nullable(); + $table->integer('half_year_price')->nullable(); + $table->integer('year_price')->nullable(); + $table->integer('two_year_price')->nullable(); + $table->integer('three_year_price')->nullable(); + $table->integer('onetime_price')->nullable(); + $table->integer('reset_price')->nullable(); + $table->integer('reset_traffic_method')->nullable()->comment('重置流量方式:0跟随系统设置、1每月1号、2按月重置、3不重置、4每年1月1日、5按年重置'); + $table->integer('capacity_limit')->nullable(); + $table->integer('created_at'); + $table->integer('updated_at'); + }); + } + + // Server Group + if (!Schema::hasTable('v2_server_group')) { + Schema::create('v2_server_group', function (Blueprint $table) { + $table->integer('id', true); + $table->string('name'); + $table->integer('created_at'); + $table->integer('updated_at'); + }); + } + + // Server Route + if (!Schema::hasTable('v2_server_route')) { + Schema::create('v2_server_route', function (Blueprint $table) { + $table->integer('id', true); + $table->string('remarks'); + $table->text('match'); + $table->string('action', 11); + $table->string('action_value')->nullable(); + $table->integer('created_at'); + $table->integer('updated_at'); + }); + } + + // stat server + if (!Schema::hasTable('v2_stat_server')) { + Schema::create('v2_stat_server', function (Blueprint $table) { + $table->integer('id', true); + $table->integer('server_id')->index('server_id')->comment('节点id'); + $table->char('server_type', 11)->comment('节点类型'); + $table->bigInteger('u'); + $table->bigInteger('d'); + $table->char('record_type', 1)->comment('d day m month'); + $table->integer('record_at')->index('record_at')->comment('记录时间'); + $table->integer('created_at'); + $table->integer('updated_at'); + + $table->unique(['server_id', 'server_type', 'record_at'], 'server_id_server_type_record_at'); + }); + } + + // User + if (!Schema::hasTable('v2_user')) { + Schema::create('v2_user', function (Blueprint $table) { + $table->integer('id', true); + $table->integer('invite_user_id')->nullable(); + $table->bigInteger('telegram_id')->nullable(); + $table->string('email', 64)->unique('email'); + $table->string('password', 64); + $table->char('password_algo', 10)->nullable(); + $table->char('password_salt', 10)->nullable(); + $table->integer('balance')->default(0); + $table->integer('discount')->nullable(); + $table->tinyInteger('commission_type')->default(0)->comment('0: system 1: period 2: onetime'); + $table->integer('commission_rate')->nullable(); + $table->integer('commission_balance')->default(0); + $table->integer('t')->default(0); + $table->bigInteger('u')->default(0); + $table->bigInteger('d')->default(0); + $table->bigInteger('transfer_enable')->default(0); + $table->boolean('banned')->default(false); + $table->boolean('is_admin')->default(false); + $table->integer('last_login_at')->nullable(); + $table->boolean('is_staff')->default(false); + $table->integer('last_login_ip')->nullable(); + $table->string('uuid', 36); + $table->integer('group_id')->nullable(); + $table->integer('plan_id')->nullable(); + $table->integer('speed_limit')->nullable(); + $table->tinyInteger('remind_expire')->nullable()->default(1); + $table->tinyInteger('remind_traffic')->nullable()->default(1); + $table->char('token', 32); + $table->bigInteger('expired_at')->nullable()->default(0); + $table->text('remarks')->nullable(); + $table->integer('created_at'); + $table->integer('updated_at'); + }); + } + + // Mail Log + if (!Schema::hasTable('v2_mail_log')) { + Schema::create('v2_mail_log', function (Blueprint $table) { + $table->integer('id', true); + $table->string('email', 64); + $table->string('subject'); + $table->string('template_name'); + $table->text('error')->nullable(); + $table->integer('created_at'); + $table->integer('updated_at'); + }); + } + + // Log + if (!Schema::hasTable('v2_log')) { + Schema::create('v2_log', function (Blueprint $table) { + $table->integer('id', true); + $table->text('title'); + $table->string('level', 11)->nullable(); + $table->string('host')->nullable(); + $table->string('uri'); + $table->string('method', 11); + $table->text('data')->nullable(); + $table->string('ip', 128)->nullable(); + $table->text('context')->nullable(); + $table->integer('created_at'); + $table->integer('updated_at'); + }); + } + + // Stat + if (!Schema::hasTable('v2_stat')) { + Schema::create('v2_stat', function (Blueprint $table) { + $table->integer('id', true); + $table->integer('record_at'); + $table->char('record_type', 1); + $table->integer('order_count')->comment('订单数量'); + $table->integer('order_total')->comment('订单合计'); + $table->integer('commission_count'); + $table->integer('commission_total')->comment('佣金合计'); + $table->integer('paid_count'); + $table->integer('paid_total'); + $table->integer('register_count'); + $table->integer('invite_count'); + $table->string('transfer_used_total', 32); + $table->integer('created_at'); + $table->integer('updated_at'); + + if (config('database.default') !== 'sqlite') { + $table->unique(['record_at']); + } + }); + } + + // stat user + if (!Schema::hasTable('v2_stat_user')) { + Schema::create('v2_stat_user', function (Blueprint $table) { + $table->integer('id', true); + $table->integer('user_id'); + $table->decimal('server_rate', 10); + $table->bigInteger('u'); + $table->bigInteger('d'); + $table->char('record_type', 2); + $table->integer('record_at'); + $table->integer('created_at'); + $table->integer('updated_at'); + + // 如果是不是sqlite才添加多个索引 + if (config('database.default') !== 'sqlite') { + $table->index(['user_id', 'server_rate', 'record_at']); + $table->unique(['server_rate', 'user_id', 'record_at'], 'server_rate_user_id_record_at'); + } + }); + } + + // ticket message + if (!Schema::hasTable('v2_ticket_message')) { + Schema::create('v2_ticket_message', function (Blueprint $table) { + $table->integer('id', true); + $table->integer('user_id'); + $table->integer('ticket_id'); + $table->text('message'); + $table->integer('created_at'); + $table->integer('updated_at'); + }); + } + + // Order + if (!Schema::hasTable('v2_order')) { + Schema::create('v2_order', function (Blueprint $table) { + $table->integer('id', true); + $table->integer('invite_user_id')->nullable(); + $table->integer('user_id'); + $table->integer('plan_id'); + $table->integer('coupon_id')->nullable(); + $table->integer('payment_id')->nullable(); + $table->integer('type')->comment('1新购2续费3升级'); + $table->string('period'); + $table->string('trade_no', 36)->unique('trade_no'); + $table->string('callback_no')->nullable(); + $table->integer('total_amount'); + $table->integer('handling_amount')->nullable(); + $table->integer('discount_amount')->nullable(); + $table->integer('surplus_amount')->nullable()->comment('剩余价值'); + $table->integer('refund_amount')->nullable()->comment('退款金额'); + $table->integer('balance_amount')->nullable()->comment('使用余额'); + $table->text('surplus_order_ids')->nullable()->comment('折抵订单'); + $table->integer('status')->default(0)->comment('0待支付1开通中2已取消3已完成4已折抵'); + $table->integer('commission_status')->default(false)->comment('0待确认1发放中2有效3无效'); + $table->integer('commission_balance')->default(0); + $table->integer('actual_commission_balance')->nullable()->comment('实际支付佣金'); + $table->integer('paid_at')->nullable(); + $table->integer('created_at'); + $table->integer('updated_at'); + }); + } + + // Payment + if (!Schema::hasTable('v2_payment')) { + Schema::create('v2_payment', function (Blueprint $table) { + $table->integer('id', true); + $table->char('uuid', 32); + $table->string('payment', 16); + $table->string('name'); + $table->string('icon')->nullable(); + $table->text('config'); + $table->string('notify_domain', 128)->nullable(); + $table->integer('handling_fee_fixed')->nullable(); + $table->decimal('handling_fee_percent', 5)->nullable(); + $table->boolean('enable')->default(false); + $table->integer('sort')->nullable(); + $table->integer('created_at'); + $table->integer('updated_at'); + }); + } + + // Coupon + if (!Schema::hasTable('v2_coupon')) { + Schema::create('v2_coupon', function (Blueprint $table) { + $table->integer('id', true); + $table->string('code'); + $table->string('name'); + $table->integer('type'); + $table->integer('value'); + $table->boolean('show')->default(false); + $table->integer('limit_use')->nullable(); + $table->integer('limit_use_with_user')->nullable(); + $table->string('limit_plan_ids')->nullable(); + $table->string('limit_period')->nullable(); + $table->integer('started_at'); + $table->integer('ended_at'); + $table->integer('created_at'); + $table->integer('updated_at'); + }); + } + + // Notice + if (!Schema::hasTable('v2_notice')) { + Schema::create('v2_notice', function (Blueprint $table) { + $table->integer('id', true); + $table->string('title'); + $table->text('content'); + $table->boolean('show')->default(false); + $table->string('img_url')->nullable(); + $table->string('tags')->nullable(); + $table->integer('created_at'); + $table->integer('updated_at'); + }); + } + + // Ticket + if (!Schema::hasTable('v2_ticket')) { + Schema::create('v2_ticket', function (Blueprint $table) { + $table->integer('id', true); + $table->integer('user_id'); + $table->string('subject'); + $table->integer('level'); + $table->integer('status')->default(0)->comment('0:已开启 1:已关闭'); + $table->integer('reply_status')->default(1)->comment('0:待回复 1:已回复'); + $table->integer('created_at'); + $table->integer('updated_at'); + }); + } + + // Server Hysteria + if (!Schema::hasTable('v2_server_hysteria')) { + Schema::create('v2_server_hysteria', function (Blueprint $table) { + $table->integer('id', true); + $table->string('group_id'); + $table->string('route_id')->nullable(); + $table->string('name'); + $table->integer('parent_id')->nullable(); + $table->string('host'); + $table->string('port', 11); + $table->integer('server_port'); + $table->string('tags')->nullable(); + $table->string('rate', 11); + $table->boolean('show')->default(false); + $table->integer('sort')->nullable(); + $table->integer('up_mbps'); + $table->integer('down_mbps'); + $table->string('server_name', 64)->nullable(); + $table->boolean('insecure')->default(false); + $table->integer('created_at'); + $table->integer('updated_at'); + }); + } + + // Server Shadowsocks + if (!Schema::hasTable('v2_server_shadowsocks')) { + autoIncrement: + Schema::create('v2_server_shadowsocks', function (Blueprint $table) { + $table->integer('id', true); + $table->string('group_id'); + $table->string('route_id')->nullable(); + $table->integer('parent_id')->nullable(); + $table->string('tags')->nullable(); + $table->string('name'); + $table->string('rate', 11); + $table->string('host'); + $table->string('port', 11); + $table->integer('server_port'); + $table->string('cipher'); + $table->char('obfs', 11)->nullable(); + $table->string('obfs_settings')->nullable(); + $table->tinyInteger('show')->default(0); + $table->integer('sort')->nullable(); + $table->integer('created_at'); + $table->integer('updated_at'); + }); + } + // Server Trojan + if (!Schema::hasTable('v2_server_trojan')) { + Schema::create('v2_server_trojan', function (Blueprint $table) { + $table->integer('id', true)->comment('节点ID'); + $table->string('group_id')->comment('节点组'); + $table->string('route_id')->nullable(); + $table->integer('parent_id')->nullable()->comment('父节点'); + $table->string('tags')->nullable()->comment('节点标签'); + $table->string('name')->comment('节点名称'); + $table->string('rate', 11)->comment('倍率'); + $table->string('host')->comment('主机名'); + $table->string('port', 11)->comment('连接端口'); + $table->integer('server_port')->comment('服务端口'); + $table->boolean('allow_insecure')->default(false)->comment('是否允许不安全'); + $table->string('server_name')->nullable(); + $table->boolean('show')->default(false)->comment('是否显示'); + $table->integer('sort')->nullable(); + $table->integer('created_at'); + $table->integer('updated_at'); + }); + } + + // Server Vless + if (!Schema::hasTable('v2_server_vless')) { + Schema::create('v2_server_vless', function (Blueprint $table) { + $table->integer('id', true); + $table->text('group_id'); + $table->text('route_id')->nullable(); + $table->string('name'); + $table->integer('parent_id')->nullable(); + $table->string('host'); + $table->integer('port'); + $table->integer('server_port'); + $table->integer('tls'); + $table->text('tls_settings')->nullable(); + $table->string('flow', 64)->nullable(); + $table->string('network', 11); + $table->text('network_settings')->nullable(); + $table->text('tags')->nullable(); + $table->string('rate', 11); + $table->boolean('show')->default(false); + $table->integer('sort')->nullable(); + $table->integer('created_at'); + $table->integer('updated_at'); + }); + } + + // Server Vmess + if (!Schema::hasTable('v2_server_vmess')) { + Schema::create('v2_server_vmess', function (Blueprint $table) { + $table->integer('id', true); + $table->string('group_id'); + $table->string('route_id')->nullable(); + $table->string('name'); + $table->integer('parent_id')->nullable(); + $table->string('host'); + $table->string('port', 11); + $table->integer('server_port'); + $table->tinyInteger('tls')->default(0); + $table->string('tags')->nullable(); + $table->string('rate', 11); + $table->string('network', 11); + $table->text('rules')->nullable(); + $table->text('networkSettings')->nullable(); + $table->text('tlsSettings')->nullable(); + $table->text('ruleSettings')->nullable(); + $table->text('dnsSettings')->nullable(); + $table->boolean('show')->default(false); + $table->integer('sort')->nullable(); + $table->integer('created_at'); + $table->integer('updated_at'); + }); + } + + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('v2_commission_log'); + Schema::dropIfExists('v2_plan'); + Schema::dropIfExists('v2_user'); + Schema::dropIfExists('v2_mail_log'); + Schema::dropIfExists('v2_log'); + Schema::dropIfExists('v2_stat'); + Schema::dropIfExists('v2_order'); + Schema::dropIfExists('v2_coupon'); + Schema::dropIfExists('v2_notice'); + Schema::dropIfExists('v2_ticket'); + Schema::dropIfExists('v2_settings'); + Schema::dropIfExists('v2_ticket_message'); + Schema::dropIfExists('v2_invite_code'); + Schema::dropIfExists('v2_knowledge'); + Schema::dropIfExists('v2_server_group'); + Schema::dropIfExists('v2_server_route'); + Schema::dropIfExists('v2_stat_server'); + Schema::dropIfExists('v2_stat_user'); + Schema::dropIfExists('v2_server_hysteria'); + Schema::dropIfExists('v2_server_shadowsocks'); + Schema::dropIfExists('v2_server_trojan'); + Schema::dropIfExists('v2_server_vless'); + Schema::dropIfExists('v2_server_vmess'); + } +}; diff --git a/database/migrations/2023_08_07_205816_create_v2_commission_log_table.php b/database/migrations/2023_08_07_205816_create_v2_commission_log_table.php deleted file mode 100644 index af2f021ad..000000000 --- a/database/migrations/2023_08_07_205816_create_v2_commission_log_table.php +++ /dev/null @@ -1,37 +0,0 @@ -integer('id', true); - $table->integer('invite_user_id'); - $table->integer('user_id'); - $table->char('trade_no', 36); - $table->integer('order_amount'); - $table->integer('get_amount'); - $table->integer('created_at'); - $table->integer('updated_at'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('v2_commission_log'); - } -}; diff --git a/database/migrations/2023_08_07_205816_create_v2_coupon_table.php b/database/migrations/2023_08_07_205816_create_v2_coupon_table.php deleted file mode 100644 index 0f8cfd0aa..000000000 --- a/database/migrations/2023_08_07_205816_create_v2_coupon_table.php +++ /dev/null @@ -1,43 +0,0 @@ -integer('id', true); - $table->string('code'); - $table->string('name'); - $table->boolean('type'); - $table->integer('value'); - $table->boolean('show')->default(false); - $table->integer('limit_use')->nullable(); - $table->integer('limit_use_with_user')->nullable(); - $table->string('limit_plan_ids')->nullable(); - $table->string('limit_period')->nullable(); - $table->integer('started_at'); - $table->integer('ended_at'); - $table->integer('created_at'); - $table->integer('updated_at'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('v2_coupon'); - } -}; diff --git a/database/migrations/2023_08_07_205816_create_v2_invite_code_table.php b/database/migrations/2023_08_07_205816_create_v2_invite_code_table.php deleted file mode 100644 index f7af5413c..000000000 --- a/database/migrations/2023_08_07_205816_create_v2_invite_code_table.php +++ /dev/null @@ -1,36 +0,0 @@ -integer('id', true); - $table->integer('user_id'); - $table->char('code', 32); - $table->boolean('status')->default(false); - $table->integer('pv')->default(0); - $table->integer('created_at'); - $table->integer('updated_at'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('v2_invite_code'); - } -}; diff --git a/database/migrations/2023_08_07_205816_create_v2_knowledge_table.php b/database/migrations/2023_08_07_205816_create_v2_knowledge_table.php deleted file mode 100644 index 9b3ef2c80..000000000 --- a/database/migrations/2023_08_07_205816_create_v2_knowledge_table.php +++ /dev/null @@ -1,38 +0,0 @@ -integer('id', true); - $table->char('language', 5)->comment('語言'); - $table->string('category')->comment('分類名'); - $table->string('title')->comment('標題'); - $table->text('body')->comment('內容'); - $table->integer('sort')->nullable()->comment('排序'); - $table->boolean('show')->default(false)->comment('顯示'); - $table->integer('created_at')->comment('創建時間'); - $table->integer('updated_at')->comment('更新時間'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('v2_knowledge'); - } -}; diff --git a/database/migrations/2023_08_07_205816_create_v2_log_table.php b/database/migrations/2023_08_07_205816_create_v2_log_table.php deleted file mode 100644 index 22ba7099f..000000000 --- a/database/migrations/2023_08_07_205816_create_v2_log_table.php +++ /dev/null @@ -1,40 +0,0 @@ -integer('id', true); - $table->text('title'); - $table->string('level', 11)->nullable(); - $table->string('host')->nullable(); - $table->string('uri'); - $table->string('method', 11); - $table->text('data')->nullable(); - $table->string('ip', 128)->nullable(); - $table->text('context')->nullable(); - $table->integer('created_at'); - $table->integer('updated_at'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('v2_log'); - } -}; diff --git a/database/migrations/2023_08_07_205816_create_v2_mail_log_table.php b/database/migrations/2023_08_07_205816_create_v2_mail_log_table.php deleted file mode 100644 index db0b26bb4..000000000 --- a/database/migrations/2023_08_07_205816_create_v2_mail_log_table.php +++ /dev/null @@ -1,36 +0,0 @@ -integer('id', true); - $table->string('email', 64); - $table->string('subject'); - $table->string('template_name'); - $table->text('error')->nullable(); - $table->integer('created_at'); - $table->integer('updated_at'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('v2_mail_log'); - } -}; diff --git a/database/migrations/2023_08_07_205816_create_v2_notice_table.php b/database/migrations/2023_08_07_205816_create_v2_notice_table.php deleted file mode 100644 index 2a5ab6f9e..000000000 --- a/database/migrations/2023_08_07_205816_create_v2_notice_table.php +++ /dev/null @@ -1,37 +0,0 @@ -integer('id', true); - $table->string('title'); - $table->text('content'); - $table->boolean('show')->default(false); - $table->string('img_url')->nullable(); - $table->string('tags')->nullable(); - $table->integer('created_at'); - $table->integer('updated_at'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('v2_notice'); - } -}; diff --git a/database/migrations/2023_08_07_205816_create_v2_order_table.php b/database/migrations/2023_08_07_205816_create_v2_order_table.php deleted file mode 100644 index 2e0245a7f..000000000 --- a/database/migrations/2023_08_07_205816_create_v2_order_table.php +++ /dev/null @@ -1,53 +0,0 @@ -integer('id', true); - $table->integer('invite_user_id')->nullable(); - $table->integer('user_id'); - $table->integer('plan_id'); - $table->integer('coupon_id')->nullable(); - $table->integer('payment_id')->nullable(); - $table->integer('type')->comment('1新购2续费3升级'); - $table->string('period'); - $table->string('trade_no', 36)->unique('trade_no'); - $table->string('callback_no')->nullable(); - $table->integer('total_amount'); - $table->integer('handling_amount')->nullable(); - $table->integer('discount_amount')->nullable(); - $table->integer('surplus_amount')->nullable()->comment('剩余价值'); - $table->integer('refund_amount')->nullable()->comment('退款金额'); - $table->integer('balance_amount')->nullable()->comment('使用余额'); - $table->text('surplus_order_ids')->nullable()->comment('折抵订单'); - $table->boolean('status')->default(false)->comment('0待支付1开通中2已取消3已完成4已折抵'); - $table->boolean('commission_status')->default(false)->comment('0待确认1发放中2有效3无效'); - $table->integer('commission_balance')->default(0); - $table->integer('actual_commission_balance')->nullable()->comment('实际支付佣金'); - $table->integer('paid_at')->nullable(); - $table->integer('created_at'); - $table->integer('updated_at'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('v2_order'); - } -}; diff --git a/database/migrations/2023_08_07_205816_create_v2_payment_table.php b/database/migrations/2023_08_07_205816_create_v2_payment_table.php deleted file mode 100644 index e02c11942..000000000 --- a/database/migrations/2023_08_07_205816_create_v2_payment_table.php +++ /dev/null @@ -1,42 +0,0 @@ -integer('id', true); - $table->char('uuid', 32); - $table->string('payment', 16); - $table->string('name'); - $table->string('icon')->nullable(); - $table->text('config'); - $table->string('notify_domain', 128)->nullable(); - $table->integer('handling_fee_fixed')->nullable(); - $table->decimal('handling_fee_percent', 5)->nullable(); - $table->boolean('enable')->default(false); - $table->integer('sort')->nullable(); - $table->integer('created_at'); - $table->integer('updated_at'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('v2_payment'); - } -}; diff --git a/database/migrations/2023_08_07_205816_create_v2_plan_table.php b/database/migrations/2023_08_07_205816_create_v2_plan_table.php deleted file mode 100644 index 1c9fc0896..000000000 --- a/database/migrations/2023_08_07_205816_create_v2_plan_table.php +++ /dev/null @@ -1,50 +0,0 @@ -integer('id', true); - $table->integer('group_id'); - $table->integer('transfer_enable'); - $table->string('name'); - $table->integer('speed_limit')->nullable(); - $table->boolean('show')->default(false); - $table->integer('sort')->nullable(); - $table->boolean('renew')->default(true); - $table->text('content')->nullable(); - $table->integer('month_price')->nullable(); - $table->integer('quarter_price')->nullable(); - $table->integer('half_year_price')->nullable(); - $table->integer('year_price')->nullable(); - $table->integer('two_year_price')->nullable(); - $table->integer('three_year_price')->nullable(); - $table->integer('onetime_price')->nullable(); - $table->integer('reset_price')->nullable(); - $table->boolean('reset_traffic_method')->nullable()->comment('重置流量方式:0跟随系统设置、1每月1号、2按月重置、3不重置、4每年1月1日、5按年重置'); - $table->integer('capacity_limit')->nullable(); - $table->integer('created_at'); - $table->integer('updated_at'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('v2_plan'); - } -}; diff --git a/database/migrations/2023_08_07_205816_create_v2_server_group_table.php b/database/migrations/2023_08_07_205816_create_v2_server_group_table.php deleted file mode 100644 index 315e1bfdc..000000000 --- a/database/migrations/2023_08_07_205816_create_v2_server_group_table.php +++ /dev/null @@ -1,33 +0,0 @@ -integer('id', true); - $table->string('name'); - $table->integer('created_at'); - $table->integer('updated_at'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('v2_server_group'); - } -}; diff --git a/database/migrations/2023_08_07_205816_create_v2_server_hysteria_table.php b/database/migrations/2023_08_07_205816_create_v2_server_hysteria_table.php deleted file mode 100644 index 98e52f2fc..000000000 --- a/database/migrations/2023_08_07_205816_create_v2_server_hysteria_table.php +++ /dev/null @@ -1,47 +0,0 @@ -integer('id', true); - $table->string('group_id'); - $table->string('route_id')->nullable(); - $table->string('name'); - $table->integer('parent_id')->nullable(); - $table->string('host'); - $table->string('port', 11); - $table->integer('server_port'); - $table->string('tags')->nullable(); - $table->string('rate', 11); - $table->boolean('show')->default(false); - $table->integer('sort')->nullable(); - $table->integer('up_mbps'); - $table->integer('down_mbps'); - $table->string('server_name', 64)->nullable(); - $table->boolean('insecure')->default(false); - $table->integer('created_at'); - $table->integer('updated_at'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('v2_server_hysteria'); - } -}; diff --git a/database/migrations/2023_08_07_205816_create_v2_server_route_table.php b/database/migrations/2023_08_07_205816_create_v2_server_route_table.php deleted file mode 100644 index dde1be4d0..000000000 --- a/database/migrations/2023_08_07_205816_create_v2_server_route_table.php +++ /dev/null @@ -1,36 +0,0 @@ -integer('id', true); - $table->string('remarks'); - $table->text('match'); - $table->string('action', 11); - $table->string('action_value')->nullable(); - $table->integer('created_at'); - $table->integer('updated_at'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('v2_server_route'); - } -}; diff --git a/database/migrations/2023_08_07_205816_create_v2_server_shadowsocks_table.php b/database/migrations/2023_08_07_205816_create_v2_server_shadowsocks_table.php deleted file mode 100644 index e96a948d6..000000000 --- a/database/migrations/2023_08_07_205816_create_v2_server_shadowsocks_table.php +++ /dev/null @@ -1,46 +0,0 @@ -integer('id', true); - $table->string('group_id'); - $table->string('route_id')->nullable(); - $table->integer('parent_id')->nullable(); - $table->string('tags')->nullable(); - $table->string('name'); - $table->string('rate', 11); - $table->string('host'); - $table->string('port', 11); - $table->integer('server_port'); - $table->string('cipher'); - $table->char('obfs', 11)->nullable(); - $table->string('obfs_settings')->nullable(); - $table->tinyInteger('show')->default(0); - $table->integer('sort')->nullable(); - $table->integer('created_at'); - $table->integer('updated_at'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('v2_server_shadowsocks'); - } -}; diff --git a/database/migrations/2023_08_07_205816_create_v2_server_trojan_table.php b/database/migrations/2023_08_07_205816_create_v2_server_trojan_table.php deleted file mode 100644 index ca24e9901..000000000 --- a/database/migrations/2023_08_07_205816_create_v2_server_trojan_table.php +++ /dev/null @@ -1,45 +0,0 @@ -integer('id', true)->comment('节点ID'); - $table->string('group_id')->comment('节点组'); - $table->string('route_id')->nullable(); - $table->integer('parent_id')->nullable()->comment('父节点'); - $table->string('tags')->nullable()->comment('节点标签'); - $table->string('name')->comment('节点名称'); - $table->string('rate', 11)->comment('倍率'); - $table->string('host')->comment('主机名'); - $table->string('port', 11)->comment('连接端口'); - $table->integer('server_port')->comment('服务端口'); - $table->boolean('allow_insecure')->default(false)->comment('是否允许不安全'); - $table->string('server_name')->nullable(); - $table->boolean('show')->default(false)->comment('是否显示'); - $table->integer('sort')->nullable(); - $table->integer('created_at'); - $table->integer('updated_at'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('v2_server_trojan'); - } -}; diff --git a/database/migrations/2023_08_07_205816_create_v2_server_vless_table.php b/database/migrations/2023_08_07_205816_create_v2_server_vless_table.php deleted file mode 100644 index daffe862a..000000000 --- a/database/migrations/2023_08_07_205816_create_v2_server_vless_table.php +++ /dev/null @@ -1,48 +0,0 @@ -integer('id', true); - $table->text('group_id'); - $table->text('route_id')->nullable(); - $table->string('name'); - $table->integer('parent_id')->nullable(); - $table->string('host'); - $table->integer('port'); - $table->integer('server_port'); - $table->boolean('tls'); - $table->text('tls_settings')->nullable(); - $table->string('flow', 64)->nullable(); - $table->string('network', 11); - $table->text('network_settings')->nullable(); - $table->text('tags')->nullable(); - $table->string('rate', 11); - $table->boolean('show')->default(false); - $table->integer('sort')->nullable(); - $table->integer('created_at'); - $table->integer('updated_at'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('v2_server_vless'); - } -}; diff --git a/database/migrations/2023_08_07_205816_create_v2_server_vmess_table.php b/database/migrations/2023_08_07_205816_create_v2_server_vmess_table.php deleted file mode 100644 index e5afdcdfc..000000000 --- a/database/migrations/2023_08_07_205816_create_v2_server_vmess_table.php +++ /dev/null @@ -1,50 +0,0 @@ -integer('id', true); - $table->string('group_id'); - $table->string('route_id')->nullable(); - $table->string('name'); - $table->integer('parent_id')->nullable(); - $table->string('host'); - $table->string('port', 11); - $table->integer('server_port'); - $table->tinyInteger('tls')->default(0); - $table->string('tags')->nullable(); - $table->string('rate', 11); - $table->string('network', 11); - $table->text('rules')->nullable(); - $table->text('networkSettings')->nullable(); - $table->text('tlsSettings')->nullable(); - $table->text('ruleSettings')->nullable(); - $table->text('dnsSettings')->nullable(); - $table->boolean('show')->default(false); - $table->integer('sort')->nullable(); - $table->integer('created_at'); - $table->integer('updated_at'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('v2_server_vmess'); - } -}; diff --git a/database/migrations/2023_08_07_205816_create_v2_stat_server_table.php b/database/migrations/2023_08_07_205816_create_v2_stat_server_table.php deleted file mode 100644 index e600dd508..000000000 --- a/database/migrations/2023_08_07_205816_create_v2_stat_server_table.php +++ /dev/null @@ -1,40 +0,0 @@ -integer('id', true); - $table->integer('server_id')->index('server_id')->comment('节点id'); - $table->char('server_type', 11)->comment('节点类型'); - $table->bigInteger('u'); - $table->bigInteger('d'); - $table->char('record_type', 1)->comment('d day m month'); - $table->integer('record_at')->index('record_at')->comment('记录时间'); - $table->integer('created_at'); - $table->integer('updated_at'); - - $table->unique(['server_id', 'server_type', 'record_at'], 'server_id_server_type_record_at'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('v2_stat_server'); - } -}; diff --git a/database/migrations/2023_08_07_205816_create_v2_stat_table.php b/database/migrations/2023_08_07_205816_create_v2_stat_table.php deleted file mode 100644 index 53e6c2295..000000000 --- a/database/migrations/2023_08_07_205816_create_v2_stat_table.php +++ /dev/null @@ -1,48 +0,0 @@ -integer('id', true); - $table->integer('record_at'); - $table->char('record_type', 1); - $table->integer('order_count')->comment('订单数量'); - $table->integer('order_total')->comment('订单合计'); - $table->integer('commission_count'); - $table->integer('commission_total')->comment('佣金合计'); - $table->integer('paid_count'); - $table->integer('paid_total'); - $table->integer('register_count'); - $table->integer('invite_count'); - $table->string('transfer_used_total', 32); - $table->integer('created_at'); - $table->integer('updated_at'); - - if(config('database.default') !== 'sqlite'){ - $table->unique(['record_at']); - } - - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('v2_stat'); - } -}; diff --git a/database/migrations/2023_08_07_205816_create_v2_stat_user_table.php b/database/migrations/2023_08_07_205816_create_v2_stat_user_table.php deleted file mode 100644 index 3f5bff8ee..000000000 --- a/database/migrations/2023_08_07_205816_create_v2_stat_user_table.php +++ /dev/null @@ -1,46 +0,0 @@ -integer('id', true); - $table->integer('user_id'); - $table->decimal('server_rate', 10); - $table->bigInteger('u'); - $table->bigInteger('d'); - $table->char('record_type', 2); - $table->integer('record_at'); - $table->integer('created_at'); - $table->integer('updated_at'); - - // 如果是不是sqlite才添加多个索引 - if(config('database.default') !== 'sqlite'){ - $table->index(['user_id','server_rate','record_at']); - $table->unique(['server_rate', 'user_id', 'record_at'], 'server_rate_user_id_record_at'); - } - - - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('v2_stat_user'); - } -}; diff --git a/database/migrations/2023_08_07_205816_create_v2_ticket_message_table.php b/database/migrations/2023_08_07_205816_create_v2_ticket_message_table.php deleted file mode 100644 index ea1879252..000000000 --- a/database/migrations/2023_08_07_205816_create_v2_ticket_message_table.php +++ /dev/null @@ -1,35 +0,0 @@ -integer('id', true); - $table->integer('user_id'); - $table->integer('ticket_id'); - $table->text('message'); - $table->integer('created_at'); - $table->integer('updated_at'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('v2_ticket_message'); - } -}; diff --git a/database/migrations/2023_08_07_205816_create_v2_ticket_table.php b/database/migrations/2023_08_07_205816_create_v2_ticket_table.php deleted file mode 100644 index e1b3482a3..000000000 --- a/database/migrations/2023_08_07_205816_create_v2_ticket_table.php +++ /dev/null @@ -1,37 +0,0 @@ -integer('id', true); - $table->integer('user_id'); - $table->string('subject'); - $table->boolean('level'); - $table->boolean('status')->default(false)->comment('0:已开启 1:已关闭'); - $table->boolean('reply_status')->default(true)->comment('0:待回复 1:已回复'); - $table->integer('created_at'); - $table->integer('updated_at'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('v2_ticket'); - } -}; diff --git a/database/migrations/2023_08_07_205816_create_v2_user_table.php b/database/migrations/2023_08_07_205816_create_v2_user_table.php deleted file mode 100644 index 39dda63c2..000000000 --- a/database/migrations/2023_08_07_205816_create_v2_user_table.php +++ /dev/null @@ -1,61 +0,0 @@ -integer('id', true); - $table->integer('invite_user_id')->nullable(); - $table->bigInteger('telegram_id')->nullable(); - $table->string('email', 64)->unique('email'); - $table->string('password', 64); - $table->char('password_algo', 10)->nullable(); - $table->char('password_salt', 10)->nullable(); - $table->integer('balance')->default(0); - $table->integer('discount')->nullable(); - $table->tinyInteger('commission_type')->default(0)->comment('0: system 1: period 2: onetime'); - $table->integer('commission_rate')->nullable(); - $table->integer('commission_balance')->default(0); - $table->integer('t')->default(0); - $table->bigInteger('u')->default(0); - $table->bigInteger('d')->default(0); - $table->bigInteger('transfer_enable')->default(0); - $table->boolean('banned')->default(false); - $table->boolean('is_admin')->default(false); - $table->integer('last_login_at')->nullable(); - $table->boolean('is_staff')->default(false); - $table->integer('last_login_ip')->nullable(); - $table->string('uuid', 36); - $table->integer('group_id')->nullable(); - $table->integer('plan_id')->nullable(); - $table->integer('speed_limit')->nullable(); - $table->tinyInteger('remind_expire')->nullable()->default(1); - $table->tinyInteger('remind_traffic')->nullable()->default(1); - $table->char('token', 32); - $table->bigInteger('expired_at')->nullable()->default(0); - $table->text('remarks')->nullable(); - $table->integer('created_at'); - $table->integer('updated_at'); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('v2_user'); - } -}; diff --git a/database/migrations/2025_01_01_130644_modify_commission_status_in_v2_order_table.php b/database/migrations/2025_01_01_130644_modify_commission_status_in_v2_order_table.php index bda2a33f8..916e22682 100644 --- a/database/migrations/2025_01_01_130644_modify_commission_status_in_v2_order_table.php +++ b/database/migrations/2025_01_01_130644_modify_commission_status_in_v2_order_table.php @@ -12,7 +12,7 @@ public function up(): void { Schema::table('v2_order', function (Blueprint $table) { - $table->boolean('commission_status')->nullable()->default(null)->comment('0待确认1发放中2有效3无效')->change(); + $table->integer('commission_status')->nullable()->default(null)->comment('0待确认1发放中2有效3无效')->change(); }); } @@ -22,7 +22,7 @@ public function up(): void public function down(): void { Schema::table('v2_order', function (Blueprint $table) { - $table->boolean('commission_status')->default(false)->comment('0待确认1发放中2有效3无效')->change(); + $table->integer('commission_status')->default(false)->comment('0待确认1发放中2有效3无效')->change(); }); } }; diff --git a/database/migrations/2025_01_04_optimize_plan_table.php b/database/migrations/2025_01_04_optimize_plan_table.php index 03abcbfe2..9d9a1acd1 100644 --- a/database/migrations/2025_01_04_optimize_plan_table.php +++ b/database/migrations/2025_01_04_optimize_plan_table.php @@ -22,14 +22,14 @@ public function up(): void DB::table('v2_plan')->orderBy('id')->chunk(100, function ($plans) { foreach ($plans as $plan) { $prices = array_filter([ - 'monthly' => $plan->month_price / 100, - 'quarterly' => $plan->quarter_price / 100, - 'half_yearly' => $plan->half_year_price / 100, - 'yearly' => $plan->year_price / 100, - 'two_yearly' => $plan->two_year_price / 100, - 'three_yearly' => $plan->three_year_price / 100, - 'onetime' => $plan->onetime_price / 100, - 'reset_traffic' => $plan->reset_price / 100 + 'monthly' => $plan->month_price !== null ? $plan->month_price / 100 : null, + 'quarterly' => $plan->quarter_price !== null ? $plan->quarter_price / 100 : null, + 'half_yearly' => $plan->half_year_price !== null ? $plan->half_year_price / 100 : null, + 'yearly' => $plan->year_price !== null ? $plan->year_price / 100 : null, + 'two_yearly' => $plan->two_year_price !== null ? $plan->two_year_price / 100 : null, + 'three_yearly' => $plan->three_year_price !== null ? $plan->three_year_price / 100 : null, + 'onetime' => $plan->onetime_price !== null ? $plan->onetime_price / 100 : null, + 'reset_traffic' => $plan->reset_price !== null ? $plan->reset_price / 100 : null ], function ($price) { return $price !== null; }); @@ -38,6 +38,7 @@ public function up(): void ->where('id', $plan->id) ->update([ 'prices' => json_encode($prices), + 'sell' => $plan->show ]); } }); @@ -50,7 +51,7 @@ public function up(): void ->comment('Transfer limit in bytes')->change(); $table->unsignedInteger('speed_limit')->nullable() ->comment('Speed limit in Mbps, 0 for unlimited')->change(); - $table->unsignedSmallInteger('reset_traffic_method')->nullable()->default(0) + $table->integer('reset_traffic_method')->nullable()->default(0) ->comment('重置流量方式:0跟随系统设置、1每月1号、2按月重置、3不重置、4每年1月1日、5按年重置')->change(); $table->unsignedInteger('capacity_limit')->nullable()->default(0) ->comment('0 for unlimited')->change(); @@ -96,7 +97,7 @@ public function down(): void DB::table('v2_plan') ->where('id', $plan->id) ->update([ - 'month_price' => $prices['monthly'] * 100 ?? null, + 'month_price' => $prices['monthly'] * 100 ?? null, 'quarter_price' => $prices['quarterly'] * 100 ?? null, 'half_year_price' => $prices['half_yearly'] * 100 ?? null, 'year_price' => $prices['yearly'] * 100 ?? null, diff --git a/database/migrations/2025_01_05_131425_create_v2_server_table.php b/database/migrations/2025_01_05_131425_create_v2_server_table.php index e6013f823..f8fb84baa 100644 --- a/database/migrations/2025_01_05_131425_create_v2_server_table.php +++ b/database/migrations/2025_01_05_131425_create_v2_server_table.php @@ -20,10 +20,10 @@ public function up(): void $table->json('group_ids')->nullable()->comment('Group ID'); $table->json('route_ids')->nullable()->comment('Route ID'); $table->string('name')->comment('Server Name'); - $table->integer('rate')->comment('Traffic Rate'); + $table->decimal('rate', 8, 2)->comment('Traffic Rate'); $table->json('tags')->nullable()->comment('Server Tags'); $table->string('host')->comment('Server Host'); - $table->integer('port')->comment('Client Port'); + $table->string('port')->comment('Client Port'); $table->integer('server_port')->comment('Server Port'); $table->json('protocol_settings')->nullable(); $table->boolean('show')->default(false)->comment('Show in List'); @@ -42,10 +42,10 @@ public function up(): void 'group_ids' => $server->group_id ?: "[]", 'route_ids' => $server->route_id ?: "[]", 'name' => $server->name, - 'rate' => (int) $server->rate, + 'rate' => $server->rate, 'tags' => $server->tags ?: "[]", 'host' => $server->host, - 'port' => (int) $server->port, + 'port' => $server->port, 'server_port' => $server->server_port, 'protocol_settings' => json_encode([ 'allow_insecure' => $server->allow_insecure, @@ -70,10 +70,10 @@ public function up(): void 'group_ids' => $server->group_id ?: "[]", 'route_ids' => $server->route_id ?: "[]", 'name' => $server->name, - 'rate' => (int) $server->rate, + 'rate' => $server->rate, 'tags' => $server->tags ?: "[]", 'host' => $server->host, - 'port' => (int) $server->port, + 'port' => $server->port, 'server_port' => $server->server_port, 'protocol_settings' => json_encode([ 'tls' => $server->tls, @@ -100,10 +100,10 @@ public function up(): void 'group_ids' => $server->group_id ?: "[]", 'route_ids' => $server->route_id ?: "[]", 'name' => $server->name, - 'rate' => (int) $server->rate, + 'rate' => $server->rate, 'tags' => $server->tags ?: "[]", 'host' => $server->host, - 'port' => (int) $server->port, + 'port' => $server->port, 'server_port' => $server->server_port, 'protocol_settings' => json_encode([ 'tls' => $server->tls, @@ -114,7 +114,8 @@ public function up(): void 'reality_settings' => ($tlsSettings && $tlsSettings->public_key && $tlsSettings->short_id && $tlsSettings->server_name) ? [ 'public_key' => $tlsSettings->public_key, 'short_id' => $tlsSettings->short_id, - 'dest' => $tlsSettings->server_name . ($tlsSettings->server_port ? ':' . $tlsSettings->server_port : ''), + 'server_name' => $tlsSettings->server_name, + 'server_port' => $tlsSettings->server_port, 'private_key' => $tlsSettings->private_key, ] : null ]), @@ -135,10 +136,10 @@ public function up(): void 'group_ids' => $server->group_id ?: "[]", 'route_ids' => $server->route_id ?: "[]", 'name' => $server->name, - 'rate' => (int) $server->rate, + 'rate' => $server->rate, 'tags' => $server->tags ?: "[]", 'host' => $server->host, - 'port' => (int) $server->port, + 'port' => $server->port, 'server_port' => $server->server_port, 'protocol_settings' => json_encode([ 'cipher' => $server->cipher, @@ -153,7 +154,7 @@ public function up(): void } // Migrate Hysteria servers - $hysteriaServers = DB::table('v2_server_hysteria')->get(); + $hysteriaServers = DB::table(table: 'v2_server_hysteria')->get(); foreach ($hysteriaServers as $server) { DB::table('v2_server')->insert([ 'type' => 'hysteria', @@ -162,10 +163,10 @@ public function up(): void 'group_ids' => $server->group_id ?: "[]", 'route_ids' => $server->route_id ?: "[]", 'name' => $server->name, - 'rate' => (int) $server->rate, + 'rate' => $server->rate, 'tags' => $server->tags ?: "[]", 'host' => $server->host, - 'port' => (int) $server->port, + 'port' => $server->port, 'server_port' => $server->server_port, 'protocol_settings' => json_encode([ 'version' => $server->version, @@ -190,6 +191,9 @@ public function up(): void ]); } + // Update parent_id for all servers + $this->updateParentIds(); + // Drop old tables Schema::dropIfExists('v2_server_trojan'); Schema::dropIfExists('v2_server_vmess'); @@ -198,6 +202,56 @@ public function up(): void Schema::dropIfExists('v2_server_hysteria'); } + /** + * Update parent_id references for all servers + */ + private function updateParentIds(): void + { + // Get all servers that have a parent_id + $servers = DB::table('v2_server') + ->whereNotNull('parent_id') + ->get(); + + // Update each server's parent_id to reference the new table's id + foreach ($servers as $server) { + $parentId = DB::table('v2_server') + ->where('type', $server->type) + ->where('code', $server->parent_id) + ->value('id'); + + if ($parentId) { + DB::table('v2_server') + ->where('id', $server->id) + ->update(['parent_id' => $parentId]); + } + } + } + + /** + * Restore parent_id references when rolling back + */ + private function restoreParentIds(string $type, string $table): void + { + // Get all servers of the specified type that have a parent_id + $servers = DB::table($table) + ->whereNotNull('parent_id') + ->get(); + + // Update each server's parent_id to reference back to the original id + foreach ($servers as $server) { + $originalParentId = DB::table('v2_server') + ->where('type', $type) + ->where('id', $server->parent_id) + ->value('code'); + + if ($originalParentId) { + DB::table($table) + ->where('id', $server->id) + ->update(['parent_id' => $originalParentId]); + } + } + } + /** * Reverse the migrations. */ @@ -312,7 +366,7 @@ public function down(): void $table->string('rate', 11); $table->boolean('show')->default(false); $table->integer('sort')->nullable(); - $table->tinyInteger('version',false,true)->default(1)->comment('hysteria版本,Version:1\2'); + $table->tinyInteger('version', false, true)->default(1)->comment('hysteria版本,Version:1\2'); $table->boolean('is_obfs')->default(true)->comment('是否开启obfs'); $table->string('alpn')->nullable(); $table->integer('up_mbps'); @@ -395,7 +449,7 @@ public function down(): void 'name' => $server->name, 'parent_id' => $server->parent_id, 'host' => $server->host, - 'port' => (int) $server->port, + 'port' => $server->port, 'server_port' => $server->server_port, 'tls' => $settings['tls'], 'tls_settings' => json_encode($tlsSettings), @@ -445,8 +499,8 @@ public function down(): void 'rate' => (string) $server->rate, 'show' => $server->show, 'sort' => $server->sort, - 'up' => $settings['bandwidth']['up'], - 'down' => $settings['bandwidth']['down'], + 'up_mbps' => $settings['bandwidth']['up'], + 'down_mbps' => $settings['bandwidth']['down'], 'server_name' => $settings['tls']['server_name'], 'insecure' => $settings['tls']['allow_insecure'], 'created_at' => $timestamp, @@ -456,6 +510,13 @@ public function down(): void } } + // Restore parent_id references for each server type + $this->restoreParentIds('trojan', 'v2_server_trojan'); + $this->restoreParentIds('vmess', 'v2_server_vmess'); + $this->restoreParentIds('vless', 'v2_server_vless'); + $this->restoreParentIds('shadowsocks', 'v2_server_shadowsocks'); + $this->restoreParentIds('hysteria', 'v2_server_hysteria'); + // Drop new table Schema::dropIfExists('v2_server'); } diff --git a/database/migrations/2025_01_10_152139_add_device_limit_column.php b/database/migrations/2025_01_10_152139_add_device_limit_column.php new file mode 100644 index 000000000..8015d10e8 --- /dev/null +++ b/database/migrations/2025_01_10_152139_add_device_limit_column.php @@ -0,0 +1,31 @@ +unsignedInteger('device_limit')->nullable()->after('speed_limit'); + }); + Schema::table('v2_user', function (Blueprint $table) { + $table->integer('device_limit')->nullable()->after('expired_at'); + $table->integer('online_count')->nullable()->after('device_limit'); + $table->timestamp('last_online_at')->nullable()->after('online_count'); + }); + } + + public function down(): void + { + Schema::table('v2_user', function (Blueprint $table) { + $table->dropColumn('device_limit'); + $table->dropColumn('online_count'); + $table->dropColumn('last_online_at'); + }); + Schema::table('v2_plan', function (Blueprint $table) { + $table->dropColumn('device_limit'); + }); + } +}; diff --git a/database/migrations/2025_01_12_190315_add_sort_to_v2_notice_table.php b/database/migrations/2025_01_12_190315_add_sort_to_v2_notice_table.php new file mode 100644 index 000000000..9cbef660c --- /dev/null +++ b/database/migrations/2025_01_12_190315_add_sort_to_v2_notice_table.php @@ -0,0 +1,30 @@ +integer('sort')->nullable()->after('id')->index(); + }); + + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('v2_notice', function (Blueprint $table) { + $table->dropColumn('sort'); + }); + } +}; diff --git a/database/migrations/2025_01_12_200936_modify_commission_status_in_v2_order_table.php b/database/migrations/2025_01_12_200936_modify_commission_status_in_v2_order_table.php new file mode 100644 index 000000000..668ef1762 --- /dev/null +++ b/database/migrations/2025_01_12_200936_modify_commission_status_in_v2_order_table.php @@ -0,0 +1,33 @@ +where('commission_status', null)->update([ + 'commission_status' => 0 + ]); + Schema::table('v2_order', function (Blueprint $table) { + $table->integer('commission_status')->default(value: 0)->comment('0待确认1发放中2有效3无效')->change(); + }); + + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('v2_order', function (Blueprint $table) { + $table->integer('commission_status')->nullable()->comment('0待确认1发放中2有效3无效')->change(); + }); + } +}; diff --git a/database/migrations/2025_01_13_000000_convert_order_period_fields.php b/database/migrations/2025_01_13_000000_convert_order_period_fields.php new file mode 100644 index 000000000..dc6718c12 --- /dev/null +++ b/database/migrations/2025_01_13_000000_convert_order_period_fields.php @@ -0,0 +1,56 @@ + 'monthly', + 'quarter_price' => 'quarterly', + 'half_year_price' => 'half_yearly', + 'year_price' => 'yearly', + 'two_year_price' => 'two_yearly', + 'three_year_price' => 'three_yearly', + 'onetime_price' => 'onetime', + 'reset_price' => 'reset_traffic' + ]; + + /** + * Run the migrations. + */ + public function up(): void + { + // 批量更新订单的周期字段 + foreach (self::PERIOD_MAPPING as $oldPeriod => $newPeriod) { + DB::table('v2_order') + ->where('period', $oldPeriod) + ->update(['period' => $newPeriod]); + } + + // 检查是否还有未转换的记录 + $unconvertedCount = DB::table('v2_order') + ->whereNotIn('period', array_values(self::PERIOD_MAPPING)) + ->count(); + + if ($unconvertedCount > 0) { + Log::warning("Found {$unconvertedCount} orders with unconverted period values"); + } + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + // 回滚操作 - 将新的周期值转换回旧的价格字段名 + foreach (self::PERIOD_MAPPING as $oldPeriod => $newPeriod) { + DB::table('v2_order') + ->where('period', $newPeriod) + ->update(['period' => $oldPeriod]); + } + } +}; \ No newline at end of file diff --git a/database/migrations/2025_01_15_000002_add_stat_performance_indexes.php b/database/migrations/2025_01_15_000002_add_stat_performance_indexes.php new file mode 100644 index 000000000..4640e7e29 --- /dev/null +++ b/database/migrations/2025_01_15_000002_add_stat_performance_indexes.php @@ -0,0 +1,93 @@ +index('t'); + $table->index('online_count'); + $table->index('created_at'); + }); + + Schema::table('v2_order', function (Blueprint $table) { + $table->index('created_at'); + $table->index('status'); + $table->index('total_amount'); + $table->index('commission_status'); + $table->index('invite_user_id'); + $table->index('commission_balance'); + }); + + Schema::table('v2_stat_server', function (Blueprint $table) { + $table->index('server_id'); + $table->index('record_at'); + $table->index('u'); + $table->index('d'); + }); + + Schema::table('v2_stat_user', function (Blueprint $table) { + $table->index('u'); + $table->index('d'); + }); + + Schema::table('v2_commission_log', function (Blueprint $table) { + $table->index('created_at'); + $table->index('get_amount'); + }); + + Schema::table('v2_ticket', function (Blueprint $table) { + $table->index('status'); + $table->index('created_at'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('v2_user', function (Blueprint $table) { + $table->dropIndex(['t']); + $table->dropIndex(['online_count']); + $table->dropIndex(['created_at']); + }); + + Schema::table('v2_order', function (Blueprint $table) { + $table->dropIndex(['created_at']); + $table->dropIndex(['status']); + $table->dropIndex(['total_amount']); + $table->dropIndex(['commission_status']); + $table->dropIndex(['invite_user_id']); + $table->dropIndex(['commission_balance']); + }); + + Schema::table('v2_stat_server', function (Blueprint $table) { + $table->dropIndex(['server_id']); + $table->dropIndex(['record_at']); + $table->dropIndex(['u']); + $table->dropIndex(['d']); + }); + + Schema::table('v2_stat_user', function (Blueprint $table) { + $table->dropIndex(['u']); + $table->dropIndex(['d']); + }); + + Schema::table('v2_commission_log', function (Blueprint $table) { + $table->dropIndex(['created_at']); + $table->dropIndex(['get_amount']); + }); + + Schema::table('v2_ticket', function (Blueprint $table) { + $table->dropIndex(['status']); + $table->dropIndex(['created_at']); + }); + } +}; \ No newline at end of file diff --git a/database/migrations/2025_01_16_142320_add_updated_at_index_to_v2_order_table.php b/database/migrations/2025_01_16_142320_add_updated_at_index_to_v2_order_table.php new file mode 100644 index 000000000..5278bbf02 --- /dev/null +++ b/database/migrations/2025_01_16_142320_add_updated_at_index_to_v2_order_table.php @@ -0,0 +1,28 @@ +index('updated_at'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('v2_order', function (Blueprint $table) { + $table->dropIndex(['updated_at']); + }); + } +}; diff --git a/database/migrations/2025_01_18_140511_create_plugins_table.php b/database/migrations/2025_01_18_140511_create_plugins_table.php new file mode 100644 index 000000000..be3d07088 --- /dev/null +++ b/database/migrations/2025_01_18_140511_create_plugins_table.php @@ -0,0 +1,33 @@ +id(); + $table->string('name'); + $table->string('code')->unique(); + $table->string('version', 50); + $table->boolean('is_enabled')->default(false); + $table->json('config')->nullable(); + $table->timestamp('installed_at')->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('v2_plugins'); + } +}; diff --git a/docker-compose.sample.yaml b/docker-compose.sample.yaml deleted file mode 100644 index 664632fb9..000000000 --- a/docker-compose.sample.yaml +++ /dev/null @@ -1,32 +0,0 @@ -services: - web: - build: . - volumes: - - ./:/www/ - - redis-socket:/run/redis-socket - environment: - - docker=true - depends_on: - - redis - network_mode: host - command: php artisan octane:start --server="swoole" --port=8000 - restart: on-failure - horizon: - build: . - volumes: - - ./.env:/www/.env - - redis-socket:/run/redis-socket - restart: on-failure - network_mode: host - command: php artisan horizon - depends_on: - - redis - redis: - build: - context: .docker/services/redis - restart: on-failure - volumes: - - ./.docker/.data/redis:/data/ # 挂载redis持久化数据 - - redis-socket:/run/redis-socket -volumes: - redis-socket: diff --git "a/docs/1panel\345\256\211\350\243\205\346\214\207\345\215\227.md" "b/docs/1panel\345\256\211\350\243\205\346\214\207\345\215\227.md" deleted file mode 100644 index 74ae6de8b..000000000 --- "a/docs/1panel\345\256\211\350\243\205\346\214\207\345\215\227.md" +++ /dev/null @@ -1,125 +0,0 @@ -当然可以。以下是增强了步骤性的部署教程: - -# 1panel 部署教程 - -本文将介绍如何使用 1panel 快速部署 Xboard。 - -## 安装部署 - -### 步骤 1:安装 1panel - -1. 执行以下命令安装 1panel: - - ``` - curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh - ``` - -2. 安装完成后,登录 1panel 进行环境的安装。 - -### 步骤 2:安装应用 - -1. 打开应用商店,安装以下应用: - - - ☑️ OpenResty 任意版本 (安装时需要勾选 "端口外部访问" 来打开防火墙> - - ☑️ MySQL 5.7.\* (arm 架构可以选择 mariadb 进行代替) - - ⚠️ :安装过程中配置默认即可。 - -### 步骤 3:添加站点 - -1. 在 1panel 面板中,选择“网站”并点击“创建网站”,然后选择“反向代理”。 -2. 在 “主域名” 中填写你指向服务器的域名, -3. 在 “代号” 中填写 `xboard` -4. 在 “在代理地址” 中填写 `127.0.0.1:7001`, -5. 最后点击“创建”按钮。 -6. 点击刚创建的网站的 "配置" > "反向代理" > "源文" 修改反向代理规则为以下内容: - - ``` - location ^~ / { - proxy_pass http://127.0.0.1:7001; - proxy_http_version 1.1; - proxy_set_header Connection ""; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Real-PORT $remote_port; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $http_host; - proxy_set_header Scheme $scheme; - proxy_set_header Server-Protocol $server_protocol; - proxy_set_header Server-Name $server_name; - proxy_set_header Server-Addr $server_addr; - proxy_set_header Server-Port $server_port; - proxy_cache off; - } - ``` - -### 步骤 4:创建数据库 - -1. 在 1panel 面板中,选择“数据库”并点击“创建数据库”。 -2. 在“名称”中填写 `xboard`。 -3. 在“用户”中填写 `xboard`。 -4. 在“权限”中选择“所有人(%)”。 -5. 最后点击“创建”按钮。 -6. 记住数据库账号密码进行下一步 - -### 步骤 5:安装 Xboard - -1. 通过 SSH 登录到服务器后,访问站点路径如:`/opt/1panel/apps/openresty/openresty/www/sites/xboard/index`。 -2. 如果系统没有安装 git,请执行以下命令安装 git: - - - Ubuntu/Debian: - - ``` - apt update - apt install -y git - ``` - - - CentOS/RHEL: - - ``` - yum update - yum install -y git - ``` - -3. 在站点目录中执行以下命令从 Github 克隆到当前目录: - - ``` - git clone -b docker-compose --depth 1 https://github.com/cedar2025/Xboard ./ - ``` - -4. 执行以下命令安装 Xboard: - - ``` - docker compose run -it --rm xboard php artisan xboard:install - ``` - -5. 根据提示输入上述创建的数据库账号密码,选择使用内置 redis 完成安装。 - 执行这条命令之后,会返回你的后台地址和管理员账号密码(你需要记录下来)。 - 你需要执行下面的“启动 Xboard”步骤之后才能访问后台。 - -### 步骤 6:启动 Xboard - -在站点目录中执行以下命令: - -``` -docker compose up -d -``` - -🎉: 到这里,你已经可以通过域名访问你的站点了。 - -⚠️: 请务必开启防火墙防止7001端口暴露到公网当中。 - -## 更新 - -1. 通过 SSH 登录到服务器后,访问站点路径如:`/opt/1panel/apps/openresty/openresty/www/sites/xboard/index`,然后在站点目录中执行以下命令: - - ``` - docker compose down xboard - docker compose pull - docker compose up -d - ``` - -🎉: 在此,你已完成 Xboard 的更新。 - -## 注意 - -- 启用 webman 后做的任何代码修改都需要重启生效。 diff --git "a/docs/aapanel+docker\345\256\211\350\243\205\346\214\207\345\215\227.md" "b/docs/aapanel+docker\345\256\211\350\243\205\346\214\207\345\215\227.md" deleted file mode 100644 index 5094da878..000000000 --- "a/docs/aapanel+docker\345\256\211\350\243\205\346\214\207\345\215\227.md" +++ /dev/null @@ -1,102 +0,0 @@ -## Docker-Compose 部署教程 -本文教你如何在命令行使用aapanel + docker-compose来快速Xboard - -### 部署 -1. 安装aaPanel + 和docker -``` -# 安装Docker -curl -sSL https://get.docker.com | bash -# Centos系统可能还需要执行下面命令来启动Docker -systemctl enable docker -systemctl start docker -``` -``` -# 安装宝塔 -URL=https://www.aapanel.com/script/install_6.0_en.sh && if [ -f /usr/bin/curl ];then curl -ksSO "$URL" ;else wget --no-check-certificate -O install_6.0_en.sh "$URL";fi;bash install_6.0_en.sh aapanel -``` - -安装完成后我们登陆 aaPanel 进行环境的安装。 -2. 选择使用LNMP的环境安装方式勾选如下信息 -☑️ Nginx 任意版本 -☑️ MySQL 5.7 -选择 Fast 快速编译后进行安装。 - -⚠️ :无需安装php 与 redis - -3. 添加站点 ->aaPanel 面板 > Website > Add site。 ->>在 Domain 填入你指向服务器的域名 ->>在 Database 选择MySQL ->>在 PHP Verison 选择纯静态 - -4. 安装 Xborad ->通过SSH登录到服务器后访问站点路径如:/www/wwwroot/你的站点域名。 ->以下命令都需要在站点目录进行执行。 -``` -# 删除目录下文件 -chattr -i .user.ini -rm -rf .htaccess 404.html 502.html index.html .user.ini -``` -> 执行命令从 Github 克隆到当前目录。 -``` -git clone https://github.com/cedar2025/Xboard.git ./ -``` -> 复制一份docker-compose.yaml文件 -``` -cp docker-compose.sample.yaml docker-compose.yaml -``` -> 执行命令安装依赖包以及Xboard -``` -docker compose run -it --rm xboard sh init.sh -``` -> 根据提示完成安装 -> 执行这条命令之后,会返回你的后台地址和管理员账号密码(你需要记录下来) -> 你需要执行下面的 **启动xborad** 步骤之后才能访问后台 - -5. 启动xboard -``` -docker compose up -d -``` -6. 设置反向代理 -> 站点设置 > 反向代理 > 添加反向代理 ->> 在 **代理名称** 填入 Xboard ->> 在 **目标URL** 填入 ```http://127.0.0.1:7001``` ->> 修改反向代理规则为: -``` -location ^~ / { - proxy_pass http://127.0.0.1:7001; - proxy_http_version 1.1; - proxy_set_header Connection ""; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Real-PORT $remote_port; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $http_host; - proxy_set_header Scheme $scheme; - proxy_set_header Server-Protocol $server_protocol; - proxy_set_header Server-Name $server_name; - proxy_set_header Server-Addr $server_addr; - proxy_set_header Server-Port $server_port; - proxy_cache off; -} -``` - -🎉: 到这里,你可以已经可以通过域名访问你的站点了 - -⚠️: 请务必开启防火墙防止7001端口暴露到公网当中。 - -### 更新 -1. 更新代码 ->通过SSH登录到服务器后访问站点路径如:/www/wwwroot/你的站点域名。 ->以下命令都需要在站点目录进行执行。 -``` -docker compose pull -docker compose run -it --rm xboard sh update.sh -``` -2. 重启Xboard -``` -docker compose restart -``` -🎉: 在此你已完成Xboard的更新 - -### 注意 -启用webman后做的任何代码修改都需要重启生效 diff --git "a/docs/aapanel\345\256\211\350\243\205\346\214\207\345\215\227.md" "b/docs/aapanel\345\256\211\350\243\205\346\214\207\345\215\227.md" deleted file mode 100644 index 430e05481..000000000 --- "a/docs/aapanel\345\256\211\350\243\205\346\214\207\345\215\227.md" +++ /dev/null @@ -1,154 +0,0 @@ -## aapanel部署指南 -> 本文将教你如何使用aapanel进行部署 - -⚠️:Centos7有部分反馈部署失败,请尽量避免使用Centos7进行部署 -### 安装 -1. 安装aaPanel - -``` -URL=https://www.aapanel.com/script/install_6.0_en.sh && if [ -f /usr/bin/curl ];then curl -ksSO "$URL" ;else wget --no-check-certificate -O install_6.0_en.sh "$URL";fi;bash install_6.0_en.sh aapanel -``` - -安装完成后我们登陆 aaPanel 进行环境的安装。 -2. 选择使用LNMP的环境安装方式勾选如下信息 -☑️ Nginx 任意版本 -☑️ MySQL 5.7 -☑️ PHP 8.1 (如果没看到8.1先不选,去App Store安装) -选择 Fast 快速编译后进行安装。 - -3. 安装扩展 -> aaPanel 面板 > App Store > 找到PHP 8.1点击Setting > Install extentions选择以下扩展进行安装 -- redis -- fileinfo -- swoole4 -- readline -- event -- inotify (可选,热重载依赖) - -4. 解除被禁止函数 -> aaPanel 面板 > App Store > 找到PHP 8.1点击Setting > Disabled functions 将以下函数从列表中删除 -- putenv -- proc_open -- pcntl_alarm -- pcntl_signal - -5. 添加站点 ->aaPanel 面板 > Website > Add site。 ->>在 Domain 填入你指向服务器的域名 ->>在 Database 选择MySQL ->>在 PHP Verison 选择PHP-81 - -6. 安装 Xborad ->通过SSH登录到服务器后访问站点路径如:/www/wwwroot/你的站点域名。 ->以下命令都需要在站点目录进行执行。 -``` -# 删除目录下文件 -chattr -i .user.ini -rm -rf .htaccess 404.html 502.html index.html .user.ini -``` -> 执行命令从 Github 克隆到当前目录。 -``` -git clone https://github.com/cedar2025/Xboard.git ./ -``` -> 执行命令安装依赖包以及V2board -``` -sh init.sh -``` -> 根据提示完成安装 -7. 配置站点目录及伪静态 -> 添加完成后编辑添加的站点 > Site directory > Running directory 选择 /public 保存。 -> 添加完成后编辑添加的站点 > URL rewrite 填入伪静态信息。 -``` -location /downloads { -} - -location / { - try_files $uri $uri/ /index.php$is_args$query_string; -} - -location ~ .*\.(js|css)?$ -{ - expires 1h; - error_log off; - access_log /dev/null; -} -``` -8. 配置守护进程 ->Xboard的系统强依赖队列服务,正常使用XBoard必须启动队列服务。下面以aaPanel中supervisor服务来守护队列服务作为演示。 -- 1️⃣. aaPanel 面板 > App Store > Tools -- 2️⃣. 找到Supervisor进行安装,安装完成后点击设置 > Add Daemon按照如下填写 -- - 在 Name 填写 `Xboard` -- - 在 Run User 选择 www -- - 在 Run Dir 选择 站点目录 在 Start Command 填写 `php artisan horizon` 在 Processes 填写 1 - ->填写后点击Confirm添加即可运行。 - -9. 配置定时任务# -aaPanel 面板 > Cron。 -- 在 Type of Task 选择 Shell Script -- 在 Name of Task 填写 v2board -- 在 Period 选择 N Minutes 1 Minute -- 在 Script content 填写 `php /www/wwwroot/路径/artisan schedule:run` - -根据上述信息添加每1分钟执行一次的定时任务。 - - -### 开启webman -> 在上述安装的基础上开启webman提高性能 - -1. 配置php.ini -> 通过SSH登录到服务器后访问站点路径如:/www/wwwroot/你的站点域名。 -``` -cp /www/server/php/81/etc/php.ini cli-php.ini - -sed -i 's/^disable_functions[[:space:]]*=[[:space:]]*.*/disable_functions=header,header_remove,headers_sent,http_response_code,setcookie,session_create_id,session_id,session_name,session_save_path,session_status,session_start,session_write_close,session_regenerate_id,set_time_limit/g' cli-php.ini - -``` -2. 添加守护进程 ->下面以aaPanel中supervisor服务来守护队列服务作为演示。 -- 1️⃣. aaPanel 面板 > App Store > Tools -- 2️⃣. 找到Supervisor进行安装,安装完成后点击设置 > Add Daemon按照如下填写 -- - 在 Name 填写 webman -- - 在 Run User 选择 www -- - 在 Run Dir 选择 站点目录 在 Start Command 填写 ```/www/server/php/81/bin/php -c cli-php.ini webman.php start``` 在 Processes 填写 1 ->填写后点击Confirm添加即可运行。 - -3. 修改伪静态 -> 站点设置 > URL Rewrite(伪静态) 填入一下内容(覆盖前伪静态配置) - -``` -location ~* \.(jpg|jpeg|png|gif|js|css|svg|woff2|woff|ttf|eot|wasm|json|ico)$ { - -} -location ~ .* { - proxy_pass http://127.0.0.1:7010; - proxy_http_version 1.1; - proxy_set_header Connection ""; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Real-PORT $remote_port; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $http_host; - proxy_set_header Scheme $scheme; - proxy_set_header Server-Protocol $server_protocol; - proxy_set_header Server-Name $server_name; - proxy_set_header Server-Addr $server_addr; - proxy_set_header Server-Port $server_port; - } -``` - -> 在此你的webman已经成功部署了 - -### 更新 - -1. 更新代码 -> 通过SSH登录到服务器后访问站点路径如:/www/wwwroot/你的站点域名。 -``` -sh update.sh -``` -2. 重启webman 守护进程(如果启用了webman) -- 1️⃣. aaPanel 面板 > App Store > Tools -- 2️⃣. 找到Supervisor点击设置,找到名为webman的守护进程点击重启即可 - - -### 注意 -启用webman后做的任何代码修改都需要重启生效 diff --git "a/docs/config\350\277\201\347\247\273\346\214\207\345\215\227.md" "b/docs/config\350\277\201\347\247\273\346\214\207\345\215\227.md" deleted file mode 100644 index 746cd1fbb..000000000 --- "a/docs/config\350\277\201\347\247\273\346\214\207\345\215\227.md" +++ /dev/null @@ -1,36 +0,0 @@ -#### config/v2board.php 迁移 -> xboard将配置储存到数据库了, 不再使用file进行储存,你需要对配置文件进行迁移。 -#### docker-compose 环境 -1. 在xboard 目录下创建 config文件夹 -2. 复制旧项目的 v2board.php 到config目录 -3. 修改docker-compose.yaml 取消下面代码的注释(删除 "#") -``` - # - ./config/v2board.php:/www/config/v2board.php -``` -4. 执行下面的命令即可完成迁移 -``` -docker compose down -docker compose run -it --rm xboard php artisan migrateFromV2b config -docker compose up -d -``` -#### aapanel 环境 -1. 将旧的 ```config/v2board.php``` 文件复制到 xboard的 ```config/v2board.php``` 下 -2. 执行下面的命令,即可完成迁移 -``` -php artisan migrateFromV2b config -``` -### aapanel + docker 环境 -1. 将旧的 ```config/v2board.php``` 文件复制到 xboard的 ```config/v2board.php``` 下 -2. 执行下面的命令,即可完成迁移 -``` -docker compose down -docker compose run -it --rm xboard php artisan migrateFromV2b config -docker compose up -d -``` - -## 注意 -> 修改后台路径需要重启才能生效 -``` -docker compose restart -``` -> 如果是是aapanel安装则需要重启 webman守护进程 diff --git "a/docs/docker-compose\345\256\211\350\243\205\346\214\207\345\215\227.md" "b/docs/docker-compose\345\256\211\350\243\205\346\214\207\345\215\227.md" deleted file mode 100644 index ac25f8b9b..000000000 --- "a/docs/docker-compose\345\256\211\350\243\205\346\214\207\345\215\227.md" +++ /dev/null @@ -1,77 +0,0 @@ -## Docker-Compose 部署教程 -本文教你如何在命令行使用docker-compose + sqlite来快速部署Xboard -如果你需要使用Mysql,你需要自行处理好Mysql的安装。 -### 部署 (使用docker-compose 2分钟部署) -> 在此提供Xboard安装、快速体验Xboard的步骤。 -使用docker compose + sqlite 快速部署站点(**无需安装Mysql以及redis**) -1. 安装docker -``` -curl -sSL https://get.docker.com | bash -``` -Centos系统可能需要执行下面命令来启动Docker。 -``` -systemctl enable docker -systemctl start docker -``` -2. 获取Docker compose 文件 -``` -git clone -b docker-compose --depth 1 https://github.com/cedar2025/Xboard -cd Xboard -``` -3. 执行数据库安装命令 -> 选择 **启用sqlite** 和 **Docker内置的Redis** -``` -docker compose run -it --rm -e enable_sqlite=true -e enable_redis=true -e admin_account=your_admin_email@example.com xboard php artisan xboard:install -``` -> 或者根据自己的需要在运行时选择 -``` -docker compose run -it --rm xboard php artisan xboard:install -``` -> 执行这条命令之后,会返回你的后台地址和管理员账号密码(你需要记录下来) -> 你需要执行下面的 **启动xborad** 步骤之后才能访问后台 - -4. 启动Xboard -``` -docker compose up -d -``` -> 安装完成之后即可访问你的站点 -5. 访问站点 -> 启动之后网站端口默认为7001, 你可以配置nginx反向代理使用80端口 - -网站地址: http://你的IP:7001/ -在此你已经成功部署了, 你可以访问网址体验Xboard的完整功能, - -> 如果你需要使用mysql,请自行安装Mysql后重新部署 - -### **更新** -1. 修改版本 -``` -cd Xboard -vi docker-compose.yaml -``` -> 修改docker-compose.yaml 当中image后面的版本号为你需要的版本 -> 如果为版本为latest 则可以忽略这一步,直接进行第二步 - -2. 更新数据库(可以执行多次都是安全的) -``` -docker compose pull -docker compose down -docker compose run -it --rm xboard php artisan xboard:update -docker compose up -d -``` -> 即可更新成功 - -### **回滚** -> 此回滚不回滚数据库,是否回滚数据库请查看相关文档 -1. 回退版本 -``` -vi docker-compose.yaml -``` -> 修改docker-compose.yaml 当中image后面的版本号为更新前的版本号 -2. 启动 -``` -docker compose up -d -``` - -### 注意 -启用webman后做的任何代码修改都需要重启生效 diff --git a/docs/en/development/device-limit.md b/docs/en/development/device-limit.md new file mode 100644 index 000000000..f56b9e7a1 --- /dev/null +++ b/docs/en/development/device-limit.md @@ -0,0 +1,176 @@ +# Online Device Limit Design + +## Overview + +This document describes the design and implementation of the online device limit feature in Xboard. + +## Design Goals + +1. Accurate Control + - Precise counting of online devices + - Real-time monitoring of device status + - Accurate device identification + +2. Performance Optimization + - Minimal impact on system performance + - Efficient device tracking + - Optimized resource usage + +3. User Experience + - Smooth connection experience + - Clear error messages + - Graceful handling of limit exceeded cases + +## Implementation Details + +### 1. Device Identification + +#### Device ID Generation +```php +public function generateDeviceId($user, $request) { + return md5( + $user->id . + $request->header('User-Agent') . + $request->ip() + ); +} +``` + +#### Device Information Storage +```php +[ + 'device_id' => 'unique_device_hash', + 'user_id' => 123, + 'ip' => '192.168.1.1', + 'user_agent' => 'Mozilla/5.0...', + 'last_active' => '2024-03-21 10:00:00' +] +``` + +### 2. Connection Management + +#### Connection Check +```php +public function checkDeviceLimit($user, $deviceId) { + $onlineDevices = $this->getOnlineDevices($user->id); + + if (count($onlineDevices) >= $user->device_limit) { + if (!in_array($deviceId, $onlineDevices)) { + throw new DeviceLimitExceededException(); + } + } + + return true; +} +``` + +#### Device Status Update +```php +public function updateDeviceStatus($userId, $deviceId) { + Redis::hset( + "user:{$userId}:devices", + $deviceId, + json_encode([ + 'last_active' => now(), + 'status' => 'online' + ]) + ); +} +``` + +### 3. Cleanup Mechanism + +#### Inactive Device Cleanup +```php +public function cleanupInactiveDevices() { + $inactiveThreshold = now()->subMinutes(30); + + foreach ($this->getUsers() as $user) { + $devices = $this->getOnlineDevices($user->id); + + foreach ($devices as $deviceId => $info) { + if ($info['last_active'] < $inactiveThreshold) { + $this->removeDevice($user->id, $deviceId); + } + } + } +} +``` + +## Error Handling + +### Error Types +1. Device Limit Exceeded + ```php + class DeviceLimitExceededException extends Exception { + protected $message = 'Device limit exceeded'; + protected $code = 4001; + } + ``` + +2. Invalid Device + ```php + class InvalidDeviceException extends Exception { + protected $message = 'Invalid device'; + protected $code = 4002; + } + ``` + +### Error Messages +```php +return [ + 'device_limit_exceeded' => 'Maximum number of devices reached', + 'invalid_device' => 'Device not recognized', + 'device_expired' => 'Device session expired' +]; +``` + +## Performance Considerations + +1. Cache Strategy + - Use Redis for device tracking + - Implement cache expiration + - Optimize cache structure + +2. Database Operations + - Minimize database queries + - Use batch operations + - Implement query optimization + +3. Memory Management + - Efficient data structure + - Regular cleanup of expired data + - Memory usage monitoring + +## Security Measures + +1. Device Verification + - Validate device information + - Check for suspicious patterns + - Implement rate limiting + +2. Data Protection + - Encrypt sensitive information + - Implement access control + - Regular security audits + +## Future Improvements + +1. Enhanced Features + - Device management interface + - Device activity history + - Custom device names + +2. Performance Optimization + - Improved caching strategy + - Better cleanup mechanism + - Reduced memory usage + +3. Security Enhancements + - Advanced device fingerprinting + - Fraud detection + - Improved encryption + +## Conclusion + +This design provides a robust and efficient solution for managing online device limits while maintaining good performance and user experience. Regular monitoring and updates will ensure the system remains effective and secure. \ No newline at end of file diff --git a/docs/en/development/performance.md b/docs/en/development/performance.md new file mode 100644 index 000000000..3741d49ed --- /dev/null +++ b/docs/en/development/performance.md @@ -0,0 +1,100 @@ +# Performance Comparison Report + +## Test Environment + +### Hardware Configuration +- CPU: AMD EPYC 7K62 48-Core Processor +- Memory: 4GB +- Disk: NVMe SSD +- Network: 1Gbps + +### Software Environment +- OS: Ubuntu 22.04 LTS +- PHP: 8.2 +- MySQL: 5.7 +- Redis: 7.0 +- Docker: Latest stable version + +## Test Scenarios + +### 1. User Login Performance +- Concurrent users: 100 +- Test duration: 60 seconds +- Request type: POST +- Target endpoint: `/api/v1/passport/auth/login` + +Results: +- Average response time: 156ms +- 95th percentile: 245ms +- Maximum response time: 412ms +- Requests per second: 642 + +### 2. User Dashboard Loading +- Concurrent users: 100 +- Test duration: 60 seconds +- Request type: GET +- Target endpoint: `/api/v1/user/dashboard` + +Results: +- Average response time: 89ms +- 95th percentile: 167ms +- Maximum response time: 289ms +- Requests per second: 1121 + +### 3. Node List Query +- Concurrent users: 100 +- Test duration: 60 seconds +- Request type: GET +- Target endpoint: `/api/v1/user/server/nodes` + +Results: +- Average response time: 134ms +- 95th percentile: 223ms +- Maximum response time: 378ms +- Requests per second: 745 + +## Performance Optimization Measures + +1. Database Optimization + - Added indexes for frequently queried fields + - Optimized slow queries + - Implemented query caching + +2. Cache Strategy + - Using Redis for session storage + - Caching frequently accessed data + - Implementing cache warming + +3. Code Optimization + - Reduced database queries + - Optimized database connection pool + - Improved error handling + +## Comparison with Previous Version + +| Metric | Previous Version | Current Version | Improvement | +|--------|-----------------|-----------------|-------------| +| Login Response | 289ms | 156ms | 46% | +| Dashboard Loading | 178ms | 89ms | 50% | +| Node List Query | 256ms | 134ms | 48% | + +## Future Optimization Plans + +1. Infrastructure Level + - Implement horizontal scaling + - Add load balancing + - Optimize network configuration + +2. Application Level + - Further optimize database queries + - Implement more efficient caching strategies + - Reduce memory usage + +3. Monitoring and Maintenance + - Add performance monitoring + - Implement automatic scaling + - Regular performance testing + +## Conclusion + +The current version shows significant performance improvements compared to the previous version, with an average improvement of 48% in response times. The optimization measures implemented have effectively enhanced the system's performance and stability. \ No newline at end of file diff --git a/docs/en/installation/1panel.md b/docs/en/installation/1panel.md new file mode 100644 index 000000000..610b06295 --- /dev/null +++ b/docs/en/installation/1panel.md @@ -0,0 +1,176 @@ +# Quick Deployment Guide for 1Panel + +This guide explains how to deploy Xboard using 1Panel. + +## 1. Environment Preparation + +Install 1Panel: +```bash +curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && \ +sudo bash quick_start.sh +``` + +## 2. Environment Configuration + +1. Install from App Store: + - OpenResty (any version) + - ⚠️ Check "External Port Access" to open firewall + - MySQL 5.7 (Use MariaDB for ARM architecture) + +2. Create Database: + - Database name: `xboard` + - Username: `xboard` + - Access rights: All hosts (%) + - Save the database password for installation + +## 3. Deployment Steps + +1. Add Website: + - Go to "Website" > "Create Website" > "Reverse Proxy" + - Domain: Enter your domain + - Code: `xboard` + - Proxy address: `127.0.0.1:7001` + +2. Configure Reverse Proxy: +```nginx +location ^~ / { + proxy_pass http://127.0.0.1:7001; + proxy_http_version 1.1; + proxy_set_header Connection ""; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Real-PORT $remote_port; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $http_host; + proxy_set_header Scheme $scheme; + proxy_set_header Server-Protocol $server_protocol; + proxy_set_header Server-Name $server_name; + proxy_set_header Server-Addr $server_addr; + proxy_set_header Server-Port $server_port; + proxy_cache off; +} +``` + +3. Install Xboard: +```bash +# Enter site directory +cd /opt/1panel/apps/openresty/openresty/www/sites/xboard/index + +# Install Git (if not installed) +## Ubuntu/Debian +apt update && apt install -y git +## CentOS/RHEL +yum update && yum install -y git + +# Clone repository +git clone -b compose --depth 1 https://github.com/cedar2025/Xboard ./ + +# Configure Docker Compose +``` + +4. Edit docker-compose.yml: +```yaml +services: + web: + image: ghcr.io/cedar2025/xboard:latest + volumes: + - ./.docker/.data/redis/:/data/ + - ./.env:/www/.env + - ./.docker/.data/:/www/.docker/.data + - ./storage/logs:/www/storage/logs + - ./storage/theme:/www/storage/theme + environment: + - docker=true + depends_on: + - redis + command: php artisan octane:start --host=0.0.0.0 --port=7001 + restart: on-failure + ports: + - 7001:7001 + networks: + - 1panel-network + + horizon: + image: ghcr.io/cedar2025/xboard:latest + volumes: + - ./.docker/.data/redis/:/data/ + - ./.env:/www/.env + - ./.docker/.data/:/www/.docker/.data + - ./storage/logs:/www/storage/logs + restart: on-failure + command: php artisan horizon + networks: + - 1panel-network + depends_on: + - redis + + redis: + image: redis:7-alpine + command: redis-server --unixsocket /data/redis.sock --unixsocketperm 777 --save 900 1 --save 300 10 --save 60 10000 + restart: unless-stopped + networks: + - 1panel-network + volumes: + - ./.docker/.data/redis:/data + +networks: + 1panel-network: + external: true +``` + +5. Initialize Installation: +```bash +# Install dependencies and initialize +docker compose run -it --rm web php artisan xboard:install +``` + +⚠️ Important Configuration Notes: +1. Database Configuration + - Database Host: Choose based on your deployment: + 1. If database and Xboard are in the same network, use `mysql` + 2. If connection fails, go to: Database -> Select Database -> Connection Info -> Container Connection, and use the "Host" value + 3. If using external database, enter your actual database host + - Database Port: `3306` (default port unless configured otherwise) + - Database Name: `xboard` (the database created earlier) + - Database User: `xboard` (the user created earlier) + - Database Password: Enter the password saved earlier + +2. Redis Configuration + - Choose to use built-in Redis + - No additional configuration needed + +3. Administrator Information + - Save the admin credentials displayed after installation + - Note down the admin panel access URL + +After configuration, start the services: +```bash +docker compose up -d +``` + +6. Start Services: +```bash +docker compose up -d +``` + +## 4. Version Update + +> 💡 Important Note: The update command varies depending on your installation version: +> - If you installed recently (new version), use this command: +```bash +docker compose pull && \ +docker compose run -it --rm web php artisan xboard:update && \ +docker compose up -d +``` +> - If you installed earlier (old version), replace `web` with `xboard`: +```bash +docker compose pull && \ +docker compose run -it --rm xboard php artisan xboard:update && \ +docker compose up -d +``` +> 🤔 Not sure which to use? Try the new version command first, if it fails, use the old version command. + +## Important Notes + +- ⚠️ Ensure firewall is enabled to prevent port 7001 exposure to public +- Service restart is required after code modifications +- SSL certificate configuration is recommended for secure access diff --git a/docs/images/admin.png b/docs/images/admin.png new file mode 100644 index 000000000..dd553ad42 Binary files /dev/null and b/docs/images/admin.png differ diff --git a/docs/images/dashboard.png b/docs/images/dashboard.png deleted file mode 100644 index 55eed631b..000000000 Binary files a/docs/images/dashboard.png and /dev/null differ diff --git a/docs/images/user.png b/docs/images/user.png new file mode 100644 index 000000000..66bb749d0 Binary files /dev/null and b/docs/images/user.png differ diff --git "a/docs/v2b_1.7.3\350\277\201\347\247\273\346\214\207\345\215\227.md" "b/docs/v2b_1.7.3\350\277\201\347\247\273\346\214\207\345\215\227.md" deleted file mode 100644 index 2eb2778c5..000000000 --- "a/docs/v2b_1.7.3\350\277\201\347\247\273\346\214\207\345\215\227.md" +++ /dev/null @@ -1,59 +0,0 @@ -## V2borad 1.7.3版本迁移指南 - -### 迁移脚本会对你的数据库做以下更改 -- v2_stat_order 更名为 v2_stat - - 字段 `order_amount` 修改为 `order_total` - - 字段 `commission_amount` 修改为 `commission_total` - - 添加 `paid_count` 字段 类型 integer nullable - - 添加 `paid_total` 字段 类型 integer nullable - - 添加 `register_count` 字段 类型 integer nullable - - 添加 `invite_count` 字段 类型 integer nullable - - 添加 `transfer_used_total` 字段 类型 string 长度 32 nullable - -- 添加 v2_log 数据表 -- 添加 v2_server_hysteria 数据表 -- 添加 v2_server_vless 数据表 - -## 迁移之前 -迁移之前你需要执行正常安装步骤(记得不可选择Sqlite) -> sqlite迁移请自行学习相关知识 -- [Docker Compose 纯命令行快速部署](./docs/docker-compose安装指南.md) -- [aapanel + Docker Compose](./docs/aapanel+docker安装指南.md) -- [aapanel 部署](./docs/) - -## 开始迁移 -> 针对docker与非docker用户提供不同的迁移步骤,你根据你的安装环境选择其一即可。 - -### docker 环境 -> 以下命令需要你打开SSH进入到项目目录进行执行 -1. 停止Xboard -``` -docker compose down -``` -2. 清空数据库 -``` -docker compose run -it --rm xboard php artisan db:wipe -``` -3. 导入旧数据库(重要) ->导入你1.7.3 v2board的数据库到当前数据库当中 - -4. 执行迁移命令 -``` -docker compose run -it --rm xboard php artisan migratefromv2b 1.7.3 -``` -## aapanel 环境 -1. 清空数据库 -``` -php artisan db:wipe -``` -2. 导入导入旧数据库(重要)数据库 ->导入你1.7.3 v2board的数据库到当前数据库当中 - -3. 执行迁移命令 -``` -php artisan migratefromv2b 1.7.3 -``` - -> 上述迁移完成之后你需要进行 配置文件迁移 -## config/v2board.php 配置文件迁移 [点击查看步骤](./config迁移指南.md) -> xboard将配置储存到数据库, 不再使用file进行储存,你需要对配置文件进行迁移。 diff --git "a/docs/v2b_1.7.4\350\277\201\347\247\273\346\214\207\345\215\227.md" "b/docs/v2b_1.7.4\350\277\201\347\247\273\346\214\207\345\215\227.md" deleted file mode 100644 index cc1f5774b..000000000 --- "a/docs/v2b_1.7.4\350\277\201\347\247\273\346\214\207\345\215\227.md" +++ /dev/null @@ -1,48 +0,0 @@ -## V2borad 1.7.4版本迁移指南 - -### 迁移脚本会对你的数据库做以下更改 -- 添加 v2_server_vless 数据表 - -## 迁移之前 -迁移之前你需要执行正常安装步骤(记得不可选择Sqlite) -> sqlite迁移请自行学习相关知识 -- [Docker Compose 纯命令行快速部署](./docs/docker-compose安装指南.md) -- [aapanel + Docker Compose](./docs/aapanel+docker安装指南.md) -- [aapanel 部署](./docs/) - -## 开始迁移 -> 针对docker与非docker用户提供不同的迁移步骤,你根据你的安装环境选择其一即可。 - -### docker 环境 -> 以下命令需要你打开SSH进入到项目目录进行执行 -1. 停止Xboard -``` -docker compose down -``` -2. 清空数据库 -``` -docker compose run -it --rm xboard php artisan db:wipe -``` -3. 导入旧数据库(重要) ->导入你1.7.4 v2board的数据库到当前项目数据库当中 - -4. 执行迁移命令 -``` -docker compose run -it --rm xboard php artisan migratefromv2b 1.7.4 -``` -## aapanel 环境 -1. 清空数据库 -``` -php artisan db:wipe -``` -2. 导入旧数据库(重要)数据库 ->导入你1.7.4 v2board的数据库到当前项目数据库当中 - -3. 执行迁移命令 -``` -php artisan migratefromv2b 1.7.4 -``` - -> 上述迁移完成之后你需要进行 配置文件迁移 -## config/v2board.php 配置文件迁移 [点击查看步骤](./config迁移指南.md) -> xboard将配置储存到数据库, 不再使用file进行储存,你需要对配置文件进行迁移。 \ No newline at end of file diff --git "a/docs/v2b_dev\350\277\201\347\247\273\346\214\207\345\215\227.md" "b/docs/v2b_dev\350\277\201\347\247\273\346\214\207\345\215\227.md" deleted file mode 100644 index 08fc3df91..000000000 --- "a/docs/v2b_dev\350\277\201\347\247\273\346\214\207\345\215\227.md" +++ /dev/null @@ -1,56 +0,0 @@ -## V2borad Dev版本迁移指南 -> 请先按照官方升级指导升级到 2023/10/27的版本后再执行迁移操作 - -### 迁移脚本会对你的数据库做以下更改 -- v2_order - - 添加 `surplus_order_ids` 字段 类型 text nullable 折抵订单 -- v2_plan(影响功能:周期价值、 流量价值) - - 删除 `daily_unit_price` 字段 - - 删除 `transfer_unit_price` 字段 -- v2_server_hysteria (影响:Ignore Client Bandwidth 配置和混淆类型配置) - - 删除 `ignore_client_bandwidth` 字段 - - 删除 `obfs_type` 字段 - -## 迁移之前 -迁移之前你需要执行正常安装步骤(记得不可选择Sqlite) -> sqlite迁移请自行学习相关知识 -- [Docker Compose 纯命令行快速部署](./docs/docker-compose安装指南.md) -- [aapanel + Docker Compose](./docs/aapanel+docker安装指南.md) -- [aapanel 部署](./docs/) - -## 开始迁移 -> 针对docker与非docker用户提供不同的迁移步骤,你根据你的安装环境选择其一即可。 - -### docker 环境 -> 以下命令需要你打开SSH进入到项目目录进行执行 -1. 停止Xboard -``` -docker compose down -``` -2. 清空数据库 -``` -docker compose run -it --rm xboard php artisan db:wipe -``` -3. 导入旧数据库(重要)数据库 ->导入你dev v2board的数据库到当前数据库当中 - -4. 执行迁移命令 -``` -docker compose run -it --rm xboard php artisan migratefromv2b dev231027 -``` -## aapanel 环境 -1. 清空数据库 -``` -php artisan db:wipe -``` -2. 导入旧数据库(重要)数据库 ->导入你dev v2board的数据库到当前数据库当中 - -3. 执行迁移命令 -``` -php artisan migratefromv2b dev231027 -``` - -> 上述迁移完成之后你需要进行 配置文件迁移 -## config/v2board.php 配置文件迁移 [点击查看步骤](./config迁移指南.md) -> xboard将配置储存到数据库, 不再使用file进行储存,你需要对配置文件进行迁移。 \ No newline at end of file diff --git "a/docs/v2b_wyx2685\350\277\201\347\247\273\346\214\207\345\215\227.md" "b/docs/v2b_wyx2685\350\277\201\347\247\273\346\214\207\345\215\227.md" deleted file mode 100644 index 89a4972f3..000000000 --- "a/docs/v2b_wyx2685\350\277\201\347\247\273\346\214\207\345\215\227.md" +++ /dev/null @@ -1,62 +0,0 @@ -## V2borad wyx2685版本迁移指南 -> 此迁移指南写于 2023/11/17 , 其他时间的版本可能会迁移失败 -- wyx2685 添加了设备限制的功能,如果你迁移过来你会失去这个功能 -- 你会失去wyx2685佬添加的 trojan的 **(我也不知道) 功能 -- 你的hysteria2 线路需要重新配置 - -### 迁移脚本会对你的数据库做以下更改 -- v2_plan - - 删除字段 `device_limit` nullable -- v2_server_hysteria - - 删除字段 `version` - - 删除字段 `obfs` - - 删除字段 `obfs_password` -- v2_server_trojan - - 删除字段 `network` - - 删除字段 `network_settings` -- v2_user - - 删除字段 `device_limit` - -## 迁移之前 -迁移之前你需要执行正常安装步骤(记得不可选择Sqlite) -> sqlite迁移请自行学习相关知识 -- [Docker Compose 纯命令行快速部署](./docs/docker-compose安装指南.md) -- [aapanel + Docker Compose](./docs/aapanel+docker安装指南.md) -- [aapanel 部署](./docs/) - -## 开始迁移 -> 针对docker与非docker用户提供不同的迁移步骤,你根据你的安装环境选择其一即可。 - -### docker 环境 -> 以下命令需要你打开SSH进入到项目目录进行执行 -1. 停止Xboard -``` -docker compose down -``` -2. 清空数据库 -``` -docker compose run -it --rm xboard php artisan db:wipe -``` -3. 导入旧数据库(重要)数据库 ->导入你wyx2685 v2board的数据库到当前数据库当中 - -4. 执行迁移命令 -``` -docker compose run -it --rm xboard php artisan migratefromv2b wyx2685 -``` -## aapanel 环境 -1. 清空数据库 -``` -php artisan db:wipe -``` -2. 导入旧数据库(重要)数据库 ->导入你wyx2685 v2board的数据库到当前数据库当中 - -3. 执行迁移命令 -``` -php artisan migratefromv2b wyx2685 -``` - -> 上述迁移完成之后你需要进行 配置文件迁移 -## config/v2board.php 配置文件迁移 [点击查看步骤](./config迁移指南.md) -> xboard将配置储存到数据库, 不再使用file进行储存,你需要对配置文件进行迁移。 \ No newline at end of file diff --git "a/docs/\345\234\250\347\272\277\350\256\276\345\244\207\346\225\260\351\231\220\345\210\266\346\236\204\346\200\235.md" b/docs/zh-CN/development/device-limit.md similarity index 100% rename from "docs/\345\234\250\347\272\277\350\256\276\345\244\207\346\225\260\351\231\220\345\210\266\346\236\204\346\200\235.md" rename to docs/zh-CN/development/device-limit.md diff --git "a/docs/\346\200\247\350\203\275\345\257\271\346\257\224.md" b/docs/zh-CN/development/performance.md similarity index 100% rename from "docs/\346\200\247\350\203\275\345\257\271\346\257\224.md" rename to docs/zh-CN/development/performance.md diff --git a/docs/zh-CN/installation/1panel.md b/docs/zh-CN/installation/1panel.md new file mode 100644 index 000000000..d76613d69 --- /dev/null +++ b/docs/zh-CN/installation/1panel.md @@ -0,0 +1,222 @@ +# Xboard 在 1Panel 环境下的部署指南 + +## 目录 +1. [环境要求](#环境要求) +2. [快速部署](#快速部署) +3. [详细配置](#详细配置) +4. [维护指南](#维护指南) +5. [故障排查](#故障排查) + +## 环境要求 + +### 硬件配置 +- CPU: 1核心及以上 +- 内存: 2GB及以上 +- 硬盘: 10GB及以上可用空间 + +### 软件要求 +- 操作系统: Ubuntu 20.04+ / CentOS 7+ / Debian 10+ +- 1Panel 最新版 +- Docker 和 Docker Compose + +## 快速部署 + +### 1. 安装 1Panel +```bash +curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && \ +sudo bash quick_start.sh +``` + +### 2. 基础环境配置 + +#### 2.1 安装必要组件 +在 1Panel 应用商店中安装: +- OpenResty + - ✅ 勾选"端口外部访问"选项 + - 📝 记录安装路径 +- MySQL 5.7 + > ARM 架构设备推荐使用 MariaDB 替代 + +#### 2.2 创建数据库 +1. 数据库配置: + - 名称: `xboard` + - 用户: `xboard` + - 访问权限: 所有主机(%) + - 🔐 请安全保存数据库密码 + +### 3. 站点配置 + +#### 3.1 创建站点 +1. 导航至:网站 > 创建网站 > 反向代理 +2. 填写信息: + - 域名: 您的站点域名 + - 代号: `xboard` + - 代理地址: `127.0.0.1:7001` + +#### 3.2 配置反向代理 +在站点配置中添加以下内容: +```nginx +location ^~ / { + proxy_pass http://127.0.0.1:7001; + proxy_http_version 1.1; + proxy_set_header Connection ""; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Real-PORT $remote_port; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $http_host; + proxy_set_header Scheme $scheme; + proxy_set_header Server-Protocol $server_protocol; + proxy_set_header Server-Name $server_name; + proxy_set_header Server-Addr $server_addr; + proxy_set_header Server-Port $server_port; + proxy_cache off; +} +``` + +### 4. 部署 Xboard + +#### 4.1 获取源码 +```bash +# 进入站点目录 +cd /opt/1panel/apps/openresty/openresty/www/sites/xboard/index + +# 安装 Git(如需要) +## Ubuntu/Debian +apt update && apt install -y git +## CentOS/RHEL +yum update && yum install -y git + +# 克隆项目 +git clone -b compose --depth 1 https://github.com/cedar2025/Xboard ./ +``` + +#### 4.2 配置 Docker Compose +创建或修改 `docker-compose.yml`: +```yaml +services: + web: + image: ghcr.io/cedar2025/xboard:latest + volumes: + - ./.docker/.data/redis/:/data/ + - ./.env:/www/.env + - ./.docker/.data/:/www/.docker/.data + - ./storage/logs:/www/storage/logs + - ./storage/theme:/www/storage/theme + environment: + - docker=true + depends_on: + - redis + command: php artisan octane:start --host=0.0.0.0 --port=7001 + restart: on-failure + ports: + - 7001:7001 + networks: + - 1panel-network + + horizon: + image: ghcr.io/cedar2025/xboard:latest + volumes: + - ./.docker/.data/redis/:/data/ + - ./.env:/www/.env + - ./.docker/.data/:/www/.docker/.data + - ./storage/logs:/www/storage/logs + restart: on-failure + command: php artisan horizon + networks: + - 1panel-network + depends_on: + - redis + + redis: + image: redis:7-alpine + command: redis-server --unixsocket /data/redis.sock --unixsocketperm 777 --save 900 1 --save 300 10 --save 60 10000 + restart: unless-stopped + networks: + - 1panel-network + volumes: + - ./.docker/.data/redis:/data + +networks: + 1panel-network: + external: true + +``` + +#### 4.3 初始化安装 +```bash +# 安装并初始化 +docker compose run -it --rm web php artisan xboard:install +``` + +⚠️ 重要配置说明: +1. 数据库配置 + - 数据库地址:根据部署方式选择以下配置 + 1. 如果数据库和 Xboard 在同一网络,一般填写 `mysql` + 2. 如果连接失败,请在 1Panel 面板中依次打开:数据库 -> 选择对应数据库 -> 连接信息 -> 容器连接,使用其中的"地址" + 3. 如果使用外部数据库,填写实际的数据库地址 + - 数据库端口:`3306`(如无特殊配置,使用默认端口) + - 数据库名称:`xboard`(之前创建的数据库名) + - 数据库用户:`xboard`(之前创建的用户名) + - 数据库密码:填写之前保存的密码 + +2. Redis 配置 + - 选择使用内置 Redis + - 无需额外配置 + +3. 管理员信息 + - 请妥善保存安装完成后返回的管理员账号和密码 + - 记录后台访问地址 + +完成配置后启动服务: +```bash +docker compose up -d +``` + +## 维护指南 + +### 版本更新 + +> 💡 重要提示:根据您安装的版本不同,更新命令可能略有差异: +> - 如果您是最近安装的新版本,使用下面的命令: +```bash +docker compose pull && \ +docker compose run -it --rm web php artisan xboard:update && \ +docker compose up -d +``` +> - 如果您是较早安装的旧版本,需要将命令中的 `web` 改为 `xboard`,即: +```bash +docker compose pull && \ +docker compose run -it --rm xboard php artisan xboard:update && \ +docker compose up -d +``` +> 🤔 不确定用哪个?可以先尝试使用新版命令,如果报错再使用旧版命令。 + +### 日常维护 +- 定期检查日志: `docker compose logs` +- 监控系统资源使用情况 +- 定期备份数据库和配置文件 + +## 故障排查 + +### 常见问题 +1. 无法访问网站 + - 检查防火墙配置 + - 验证端口是否正确开放 + - 检查 Docker 容器状态 + +2. 数据库连接失败 + - 验证数据库凭据 + - 检查数据库服务状态 + - 确认网络连接 + +### 安全建议 +- ⚠️ 确保 7001 端口不对外开放 +- 定期更新系统和组件 +- 配置 SSL 证书实现 HTTPS 访问 +- 使用强密码策略 +- 定期备份数据 + +### 获取帮助 +- 查看官方文档 +- 访问项目 GitHub 仓库 +- 加入社区讨论组 diff --git a/docs/zh-CN/installation/aapanel-docker.md b/docs/zh-CN/installation/aapanel-docker.md new file mode 100644 index 000000000..a34813f56 --- /dev/null +++ b/docs/zh-CN/installation/aapanel-docker.md @@ -0,0 +1,130 @@ +# Xboard 在 aaPanel + Docker 环境下的部署指南 + +## 目录 +1. [环境要求](#环境要求) +2. [快速部署](#快速部署) +3. [详细配置](#详细配置) +4. [维护指南](#维护指南) +5. [故障排查](#故障排查) + +## 环境要求 + +### 硬件配置 +- CPU: 1核心及以上 +- 内存: 2GB及以上 +- 硬盘: 10GB及以上可用空间 + +### 软件要求 +- 操作系统: Ubuntu 20.04+ / CentOS 7+ / Debian 10+ +- aaPanel 最新版 +- Docker 和 Docker Compose +- Nginx(任意版本) +- MySQL 5.7+ + +## 快速部署 + +### 1. 安装 aaPanel +```bash +curl -sSL https://www.aapanel.com/script/install_6.0_en.sh -o install_6.0_en.sh && \ +bash install_6.0_en.sh aapanel +``` + +### 2. 基础环境配置 + +#### 2.1 安装 Docker +```bash +# 安装 Docker +curl -sSL https://get.docker.com | bash + +# CentOS 系统需要执行: +systemctl enable docker +systemctl start docker +``` + +#### 2.2 安装必要组件 +在 aaPanel 面板中安装: +- Nginx(任意版本) +- MySQL 5.7 +- ⚠️ 无需安装 PHP 和 Redis + +### 3. 站点配置 + +#### 3.1 创建站点 +1. 导航至:aaPanel > Website > Add site +2. 填写信息: + - 域名:填写您的站点域名 + - 数据库:选择 MySQL + - PHP 版本:选择纯静态 + +#### 3.2 部署 Xboard +```bash +# 进入站点目录 +cd /www/wwwroot/你的域名 + +# 清理目录 +chattr -i .user.ini +rm -rf .htaccess 404.html 502.html index.html .user.ini + +# 克隆代码 +git clone https://github.com/cedar2025/Xboard.git ./ + +# 准备配置文件 +cp compose.sample.yaml compose.yaml + +# 安装依赖并初始化 +docker compose run -it --rm web sh init.sh +``` +> ⚠️ 请妥善保存安装完成后返回的后台地址和管理员账号密码 + +#### 3.3 启动服务 +```bash +docker compose up -d +``` + +#### 3.4 配置反向代理 +在站点配置中添加以下内容: +```nginx +location / { + proxy_pass http://127.0.0.1:7001; + proxy_http_version 1.1; + proxy_set_header Connection ""; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Real-PORT $remote_port; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $http_host; + proxy_set_header Scheme $scheme; + proxy_set_header Server-Protocol $server_protocol; + proxy_set_header Server-Name $server_name; + proxy_set_header Server-Addr $server_addr; + proxy_set_header Server-Port $server_port; + proxy_cache off; +} +``` + +## 维护指南 + +### 版本更新 + +> 💡 重要提示:根据您安装的版本不同,更新命令可能略有差异: +> - 如果您是最近安装的新版本,使用下面的命令: +```bash +docker compose pull && \ +docker compose run -it --rm web sh update.sh && \ +docker compose up -d +``` +> - 如果您是较早安装的旧版本,需要将命令中的 `web` 改为 `xboard`,即: +```bash +git config --global --add safe.directory $(pwd) +git fetch --all && git reset --hard origin/master && git pull origin master +docker compose pull && \ +docker compose run -it --rm xboard sh update.sh && \ +docker compose up -d +``` +> 🤔 不确定用哪个?可以先尝试使用新版命令,如果报错再使用旧版命令。 + +### 日常维护 +- 定期检查日志: `docker compose logs` +- 监控系统资源使用情况 +- 定期备份数据库和配置文件 + +## 故障排查 diff --git a/docs/zh-CN/installation/aapanel.md b/docs/zh-CN/installation/aapanel.md new file mode 100644 index 000000000..6aa917c85 --- /dev/null +++ b/docs/zh-CN/installation/aapanel.md @@ -0,0 +1,173 @@ +## Xboard 在 aaPanel 环境下的部署指南 + +## 目录 +1. [环境要求](#环境要求) +2. [快速部署](#快速部署) +3. [详细配置](#详细配置) +4. [维护指南](#维护指南) +5. [故障排查](#故障排查) + +## 环境要求 + +### 硬件配置 +- CPU: 1核心及以上 +- 内存: 2GB及以上 +- 硬盘: 10GB及以上可用空间 + +### 软件要求 +- 操作系统: Ubuntu 20.04+ / Debian 10+ (⚠️ 不建议使用 CentOS 7) +- aaPanel 最新版 +- PHP 8.2 +- MySQL 5.7+ +- Redis +- Nginx(任意版本) + +## 快速部署 + +### 1. 安装 aaPanel +```bash +URL=https://www.aapanel.com/script/install_6.0_en.sh && \ +if [ -f /usr/bin/curl ];then curl -ksSO "$URL" ;else wget --no-check-certificate -O install_6.0_en.sh "$URL";fi && \ +bash install_6.0_en.sh aapanel +``` + +### 2. 基础环境配置 + +#### 2.1 安装 LNMP 环境 +在 aaPanel 面板中安装: +- Nginx(任意版本) +- MySQL 5.7 +- PHP 8.2 + +#### 2.2 安装 PHP 扩展 +必需的 PHP 扩展: +- redis +- fileinfo +- swoole4 +- readline +- event + +#### 2.3 解除 PHP 禁用函数 +需要启用的函数: +- putenv +- proc_open +- pcntl_alarm +- pcntl_signal + +### 3. 站点配置 + +#### 3.1 创建站点 +1. 导航至:aaPanel > Website > Add site +2. 填写信息: + - 域名:填写您的站点域名 + - 数据库:选择 MySQL + - PHP 版本:选择 8.2 + +#### 3.2 部署 Xboard +```bash +# 进入站点目录 +cd /www/wwwroot/你的域名 + +# 清理目录 +chattr -i .user.ini +rm -rf .htaccess 404.html 502.html index.html .user.ini + +# 克隆代码 +git clone https://github.com/cedar2025/Xboard.git ./ + +# 安装依赖 +sh init.sh +``` + +#### 3.3 配置站点 +1. 设置运行目录为 `/public` +2. 添加伪静态规则: +```nginx +location /downloads { +} + +location / { + try_files $uri $uri/ /index.php$is_args$query_string; +} + +location ~ .*\.(js|css)?$ +{ + expires 1h; + error_log off; + access_log /dev/null; +} +``` + +## 详细配置 + +### 1. 配置守护进程 +1. 安装 Supervisor +2. 添加队列守护进程: + - 名称:`Xboard` + - 运行用户:`www` + - 运行目录:站点目录 + - 启动命令:`php artisan horizon` + - 进程数:1 + +### 2. 配置计划任务 +- 类型:Shell Script +- 任务名:v2board +- 周期:1分钟 +- 脚本内容:`php /www/wwwroot/站点目录/artisan schedule:run` + +### 3. Octane 配置(可选) +#### 3.1 添加 Octane 守护进程 +- 名称:Octane +- 运行用户:www +- 运行目录:站点目录 +- 启动命令:`/www/server/php/81/bin/php artisan octane:start --port 7010` +- 进程数:1 + +#### 3.2 Octane 专用伪静态规则 +```nginx +location ~* \.(jpg|jpeg|png|gif|js|css|svg|woff2|woff|ttf|eot|wasm|json|ico)$ { +} + +location ~ .* { + proxy_pass http://127.0.0.1:7010; + proxy_http_version 1.1; + proxy_set_header Connection ""; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Real-PORT $remote_port; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $http_host; + proxy_set_header Scheme $scheme; + proxy_set_header Server-Protocol $server_protocol; + proxy_set_header Server-Name $server_name; + proxy_set_header Server-Addr $server_addr; + proxy_set_header Server-Port $server_port; +} +``` + +## 维护指南 + +### 版本更新 +```bash +# 进入站点目录 +cd /www/wwwroot/你的域名 + +# 执行更新脚本 +git fetch --all && git reset --hard origin/master && git pull origin master +sh update.sh + +# 如果启用了 Octane,需要重启守护进程 +# aaPanel > App Store > Tools > Supervisor > 重启 Octane +``` + +### 日常维护 +- 定期检查日志 +- 监控系统资源使用情况 +- 定期备份数据库和配置文件 + +## 故障排查 + +### 常见问题 +1. 修改后台路径需要重启服务才能生效 +2. 启用 Octane 后的任何代码修改都需要重启才能生效 +3. PHP 扩展安装失败时,请检查 PHP 版本是否正确 +4. 数据库连接失败时,请检查数据库配置和权限 diff --git a/docs/zh-CN/installation/docker-compose.md b/docs/zh-CN/installation/docker-compose.md new file mode 100644 index 000000000..ba261f826 --- /dev/null +++ b/docs/zh-CN/installation/docker-compose.md @@ -0,0 +1,77 @@ +## Docker Compose 快速部署指南 + +本指南介绍如何使用 Docker Compose 快速部署 Xboard。默认使用 SQLite 数据库,无需额外安装 MySQL。 + +### 1. 环境准备 + +安装 Docker: +```bash +curl -sSL https://get.docker.com | bash + +# CentOS 系统需要执行: +systemctl enable docker +systemctl start docker +``` + +### 2. 部署步骤 + +1. 获取项目文件: +```bash +git clone -b compose --depth 1 https://github.com/cedar2025/Xboard +cd Xboard +``` + +2. 安装数据库: + +- 快速安装(推荐新手使用) +```bash +docker compose run -it --rm \ + -e ENABLE_SQLITE=true \ + -e ENABLE_REDIS=true \ + -e ADMIN_ACCOUNT=admin@demo.com \ + web php artisan xboard:install +``` +- 自定义配置安装(高级用户) +```bash +docker compose run -it --rm web php artisan xboard:install +``` +> 安装完成后请保存返回的后台地址和管理员账号密码 + +3. 启动服务: +```bash +docker compose up -d +``` + +4. 访问站点: +- 默认端口:7001 +- 网站地址:http://服务器IP:7001 + +### 3. 版本更新 + +> 💡 重要提示:根据您安装的版本不同,更新命令可能略有差异: +> - 如果您是最近安装的新版本,使用下面的命令: +```bash +cd Xboard +docker compose pull && \ +docker compose run -it --rm web php artisan xboard:update && \ +docker compose up -d +``` +> - 如果您是较早安装的旧版本,需要将命令中的 `web` 改为 `xboard`,即: +```bash +cd Xboard +docker compose pull && \ +docker compose run -it --rm xboard php artisan xboard:update && \ +docker compose up -d +``` +> 🤔 不确定用哪个?可以先尝试使用新版命令,如果报错再使用旧版命令。 + +### 4. 版本回滚 + +1. 修改 `docker-compose.yaml` 中的版本号为需要回滚的版本 +2. 执行:`docker compose up -d` + +### 注意事项 + +- 如需使用 MySQL,请自行安装并重新部署 +- 代码修改后需要重启服务才能生效 +- 可以配置 Nginx 反向代理使用 80 端口 diff --git a/docs/zh-CN/migration/config.md b/docs/zh-CN/migration/config.md new file mode 100644 index 000000000..3bbb55927 --- /dev/null +++ b/docs/zh-CN/migration/config.md @@ -0,0 +1,54 @@ +## 配置迁移指南 + +本指南介绍如何将 v2board 的配置文件迁移到 Xboard。Xboard 使用数据库存储配置,不再使用文件存储。 + +### 1. Docker Compose 环境 + +1. 准备配置文件: +```bash +# 创建配置目录 +mkdir config + +# 复制旧配置文件 +cp 旧项目路径/config/v2board.php config/ +``` + +2. 修改 `docker-compose.yaml`,取消以下行的注释: +```yaml +- ./config/v2board.php:/www/config/v2board.php +``` + +3. 执行迁移: +```bash +docker compose run -it --rm web php artisan migrateFromV2b config +``` + +### 2. aaPanel 环境 + +1. 复制配置文件: +```bash +cp 旧项目路径/config/v2board.php config/v2board.php +``` + +2. 执行迁移: +```bash +php artisan migrateFromV2b config +``` + +### 3. aaPanel + Docker 环境 + +1. 复制配置文件: +```bash +cp 旧项目路径/config/v2board.php config/v2board.php +``` + +2. 执行迁移: +```bash +docker compose run -it --rm web php artisan migrateFromV2b config +``` + +### 注意事项 + +- 修改后台路径后需要重启服务: + - Docker 环境:`docker compose restart` + - aaPanel 环境:重启 Octane 守护进程 diff --git a/docs/zh-CN/migration/v2board-1.7.3.md b/docs/zh-CN/migration/v2board-1.7.3.md new file mode 100644 index 000000000..dc1afcede --- /dev/null +++ b/docs/zh-CN/migration/v2board-1.7.3.md @@ -0,0 +1,63 @@ +## V2board 1.7.3 迁移指南 + +本指南介绍如何将 V2board 1.7.3 版本迁移到 Xboard。 + +### 1. 数据库变更说明 + +- `v2_stat_order` 表更名为 `v2_stat`: + - `order_amount` → `order_total` + - `commission_amount` → `commission_total` + - 新增字段: + - `paid_count` (integer, nullable) + - `paid_total` (integer, nullable) + - `register_count` (integer, nullable) + - `invite_count` (integer, nullable) + - `transfer_used_total` (string(32), nullable) + +- 新增数据表: + - `v2_log` + - `v2_server_hysteria` + - `v2_server_vless` + +### 2. 准备工作 + +⚠️ 请先完成 Xboard 基础安装(不支持 SQLite): +- [Docker Compose 部署](./docker-compose安装指南.md) +- [aaPanel + Docker 部署](./aapanel+docker安装指南.md) +- [aaPanel 部署](./aapanel安装指南.md) + +### 3. 迁移步骤 + +#### Docker 环境 + +```bash +# 1. 停止服务 +docker compose down + +# 2. 清空数据库 +docker compose run -it --rm web php artisan db:wipe + +# 3. 导入旧数据库(重要) +# 请手动导入 V2board 1.7.3 的数据库 + +# 4. 执行迁移 +docker compose run -it --rm web php artisan migratefromv2b 1.7.3 +``` + +#### aaPanel 环境 + +```bash +# 1. 清空数据库 +php artisan db:wipe + +# 2. 导入旧数据库(重要) +# 请手动导入 V2board 1.7.3 的数据库 + +# 3. 执行迁移 +php artisan migratefromv2b 1.7.3 +``` + +### 4. 配置迁移 + +完成数据迁移后,还需要迁移配置文件: +- [配置迁移指南](./config迁移指南.md) diff --git a/docs/zh-CN/migration/v2board-1.7.4.md b/docs/zh-CN/migration/v2board-1.7.4.md new file mode 100644 index 000000000..b75a39aaf --- /dev/null +++ b/docs/zh-CN/migration/v2board-1.7.4.md @@ -0,0 +1,51 @@ +## V2board 1.7.4 迁移指南 + +本指南介绍如何将 V2board 1.7.4 版本迁移到 Xboard。 + +### 1. 数据库变更说明 + +- 新增数据表: + - `v2_server_vless` + +### 2. 准备工作 + +⚠️ 请先完成 Xboard 基础安装(不支持 SQLite): +- [Docker Compose 部署](./docker-compose安装指南.md) +- [aaPanel + Docker 部署](./aapanel+docker安装指南.md) +- [aaPanel 部署](./aapanel安装指南.md) + +### 3. 迁移步骤 + +#### Docker 环境 + +```bash +# 1. 停止服务 +docker compose down + +# 2. 清空数据库 +docker compose run -it --rm web php artisan db:wipe + +# 3. 导入旧数据库(重要) +# 请手动导入 V2board 1.7.4 的数据库 + +# 4. 执行迁移 +docker compose run -it --rm web php artisan migratefromv2b 1.7.4 +``` + +#### aaPanel 环境 + +```bash +# 1. 清空数据库 +php artisan db:wipe + +# 2. 导入旧数据库(重要) +# 请手动导入 V2board 1.7.4 的数据库 + +# 3. 执行迁移 +php artisan migratefromv2b 1.7.4 +``` + +### 4. 配置迁移 + +完成数据迁移后,还需要迁移配置文件: +- [配置迁移指南](./config迁移指南.md) \ No newline at end of file diff --git a/docs/zh-CN/migration/v2board-dev.md b/docs/zh-CN/migration/v2board-dev.md new file mode 100644 index 000000000..0c58ce7e1 --- /dev/null +++ b/docs/zh-CN/migration/v2board-dev.md @@ -0,0 +1,61 @@ +## V2board Dev 迁移指南 + +本指南介绍如何将 V2board Dev(2023/10/27)版本迁移到 Xboard。 + +⚠️ 请先按照官方指南升级到 2023/10/27 版本后再执行迁移。 + +### 1. 数据库变更说明 + +- `v2_order` 表: + - 新增 `surplus_order_ids` (text, nullable) - 折抵订单 + +- `v2_plan` 表: + - 删除 `daily_unit_price` - 影响周期价值 + - 删除 `transfer_unit_price` - 影响流量价值 + +- `v2_server_hysteria` 表: + - 删除 `ignore_client_bandwidth` - 影响带宽配置 + - 删除 `obfs_type` - 影响混淆类型配置 + +### 2. 准备工作 + +⚠️ 请先完成 Xboard 基础安装(不支持 SQLite): +- [Docker Compose 部署](./docker-compose安装指南.md) +- [aaPanel + Docker 部署](./aapanel+docker安装指南.md) +- [aaPanel 部署](./aapanel安装指南.md) + +### 3. 迁移步骤 + +#### Docker 环境 + +```bash +# 1. 停止服务 +docker compose down + +# 2. 清空数据库 +docker compose run -it --rm web php artisan db:wipe + +# 3. 导入旧数据库(重要) +# 请手动导入 V2board Dev 的数据库 + +# 4. 执行迁移 +docker compose run -it --rm web php artisan migratefromv2b dev231027 +``` + +#### aaPanel 环境 + +```bash +# 1. 清空数据库 +php artisan db:wipe + +# 2. 导入旧数据库(重要) +# 请手动导入 V2board Dev 的数据库 + +# 3. 执行迁移 +php artisan migratefromv2b dev231027 +``` + +### 4. 配置迁移 + +完成数据迁移后,还需要迁移配置文件: +- [配置迁移指南](./config迁移指南.md) \ No newline at end of file diff --git a/docs/zh-CN/migration/v2board-wyx2685.md b/docs/zh-CN/migration/v2board-wyx2685.md new file mode 100644 index 000000000..5b540076d --- /dev/null +++ b/docs/zh-CN/migration/v2board-wyx2685.md @@ -0,0 +1,68 @@ +## V2board wyx2685 迁移指南 + +本指南介绍如何将 V2board wyx2685(2023/11/17)版本迁移到 Xboard。 + +⚠️ 迁移注意事项: +- 将失去设备限制功能 +- 将失去 Trojan 的特殊功能 +- Hysteria2 线路需要重新配置 + +### 1. 数据库变更说明 + +- `v2_plan` 表: + - 删除 `device_limit` (nullable) + +- `v2_server_hysteria` 表: + - 删除 `version` + - 删除 `obfs` + - 删除 `obfs_password` + +- `v2_server_trojan` 表: + - 删除 `network` + - 删除 `network_settings` + +- `v2_user` 表: + - 删除 `device_limit` + +### 2. 准备工作 + +⚠️ 请先完成 Xboard 基础安装(不支持 SQLite): +- [Docker Compose 部署](./docker-compose安装指南.md) +- [aaPanel + Docker 部署](./aapanel+docker安装指南.md) +- [aaPanel 部署](./aapanel安装指南.md) + +### 3. 迁移步骤 + +#### Docker 环境 + +```bash +# 1. 停止服务 +docker compose down + +# 2. 清空数据库 +docker compose run -it --rm web php artisan db:wipe + +# 3. 导入旧数据库(重要) +# 请手动导入 V2board wyx2685 的数据库 + +# 4. 执行迁移 +docker compose run -it --rm web php artisan migratefromv2b wyx2685 +``` + +#### aaPanel 环境 + +```bash +# 1. 清空数据库 +php artisan db:wipe + +# 2. 导入旧数据库(重要) +# 请手动导入 V2board wyx2685 的数据库 + +# 3. 执行迁移 +php artisan migratefromv2b wyx2685 +``` + +### 4. 配置迁移 + +完成数据迁移后,还需要迁移配置文件: +- [配置迁移指南](./config迁移指南.md) \ No newline at end of file diff --git a/init.sh b/init.sh index 9de403dd7..bbc573a89 100644 --- a/init.sh +++ b/init.sh @@ -5,6 +5,6 @@ wget https://github.com/composer/composer/releases/latest/download/composer.phar php composer.phar install -vvv php artisan xboard:install -if [ -f "/etc/init.d/bt" ] || [ "$docker" ]; then +if [ -f "/etc/init.d/bt" ] || [ -f "/.dockerenv" ]; then chown -R www:www $(pwd); -fi +fi \ No newline at end of file diff --git a/patches/Http.patch b/patches/Http.patch deleted file mode 100644 index 87b842ec4..000000000 --- a/patches/Http.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/src/Http.php b/src/Http.php -index 6c6cb16..f1a7f3f 100644 ---- a/src/Http.php -+++ b/src/Http.php -@@ -680,7 +680,7 @@ - } - - // Parse $_POST. -- if ($_SERVER['REQUEST_METHOD'] === 'POST' && $_SERVER['CONTENT_TYPE']) { -+ if ($_SERVER['REQUEST_METHOD'] === 'POST') { - switch ($_SERVER['CONTENT_TYPE']) { - case 'multipart/form-data': - static::parseUploadFiles($http_body, $http_post_boundary); -@@ -691,6 +691,8 @@ - case 'application/x-www-form-urlencoded': - \parse_str($http_body, $_POST); - break; -+ default: -+ $_POST = \json_decode($http_body, true) ?? []; - } -- } -+ } - } \ No newline at end of file diff --git a/php.ini b/php.ini deleted file mode 100644 index f19ebe5e4..000000000 --- a/php.ini +++ /dev/null @@ -1,1942 +0,0 @@ -[PHP] - -;;;;;;;;;;;;;;;;;;; -; About php.ini ; -;;;;;;;;;;;;;;;;;;; -; PHP's initialization file, generally called php.ini, is responsible for -; configuring many of the aspects of PHP's behavior. - -; PHP attempts to find and load this configuration from a number of locations. -; The following is a summary of its search order: -; 1. SAPI module specific location. -; 2. The PHPRC environment variable. (As of PHP 5.2.0) -; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) -; 4. Current working directory (except CLI) -; 5. The web server's directory (for SAPI modules), or directory of PHP -; (otherwise in Windows) -; 6. The directory from the --with-config-file-path compile time option, or the -; Windows directory (usually C:\windows) -; See the PHP docs for more specific information. -; http://php.net/configuration.file - -; The syntax of the file is extremely simple. Whitespace and lines -; beginning with a semicolon are silently ignored (as you probably guessed). -; Section headers (e.g. [Foo]) are also silently ignored, even though -; they might mean something in the future. - -; Directives following the section heading [PATH=/www/mysite] only -; apply to PHP files in the /www/mysite directory. Directives -; following the section heading [HOST=www.example.com] only apply to -; PHP files served from www.example.com. Directives set in these -; special sections cannot be overridden by user-defined INI files or -; at runtime. Currently, [PATH=] and [HOST=] sections only work under -; CGI/FastCGI. -; http://php.net/ini.sections - -; Directives are specified using the following syntax: -; directive = value -; Directive names are *case sensitive* - foo=bar is different from FOO=bar. -; Directives are variables used to configure PHP or PHP extensions. -; There is no name validation. If PHP can't find an expected -; directive because it is not set or is mistyped, a default value will be used. - -; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one -; of the INI constants (On, Off, True, False, Yes, No and None) or an expression -; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a -; previously set variable or directive (e.g. ${foo}) - -; Expressions in the INI file are limited to bitwise operators and parentheses: -; | bitwise OR -; ^ bitwise XOR -; & bitwise AND -; ~ bitwise NOT -; ! boolean NOT - -; Boolean flags can be turned on using the values 1, On, True or Yes. -; They can be turned off using the values 0, Off, False or No. - -; An empty string can be denoted by simply not writing anything after the equal -; sign, or by using the None keyword: - -; foo = ; sets foo to an empty string -; foo = None ; sets foo to an empty string -; foo = "None" ; sets foo to the string 'None' - -; If you use constants in your value, and these constants belong to a -; dynamically loaded extension (either a PHP extension or a Zend extension), -; you may only use these constants *after* the line that loads the extension. - -;;;;;;;;;;;;;;;;;;; -; About this file ; -;;;;;;;;;;;;;;;;;;; -; PHP comes packaged with two INI files. One that is recommended to be used -; in production environments and one that is recommended to be used in -; development environments. - -; php.ini-production contains settings which hold security, performance and -; best practices at its core. But please be aware, these settings may break -; compatibility with older or less security conscience applications. We -; recommending using the production ini in production and testing environments. - -; php.ini-development is very similar to its production variant, except it is -; much more verbose when it comes to errors. We recommend using the -; development version only in development environments, as errors shown to -; application users can inadvertently leak otherwise secure information. - -; This is the php.ini-development INI file. - -;;;;;;;;;;;;;;;;;;; -; Quick Reference ; -;;;;;;;;;;;;;;;;;;; -; The following are all the settings which are different in either the production -; or development versions of the INIs with respect to PHP's default behavior. -; Please see the actual settings later in the document for more details as to why -; we recommend these changes in PHP's behavior. - -; display_errors -; Default Value: On -; Development Value: On -; Production Value: Off - -; display_startup_errors -; Default Value: Off -; Development Value: On -; Production Value: Off - -; error_reporting -; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED -; Development Value: E_ALL -; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT - -; html_errors -; Default Value: On -; Development Value: On -; Production value: On - -; log_errors -; Default Value: Off -; Development Value: On -; Production Value: On - -; max_input_time -; Default Value: -1 (Unlimited) -; Development Value: 60 (60 seconds) -; Production Value: 60 (60 seconds) - -; output_buffering -; Default Value: Off -; Development Value: 4096 -; Production Value: 4096 - -; register_argc_argv -; Default Value: On -; Development Value: Off -; Production Value: Off - -; request_order -; Default Value: None -; Development Value: "GP" -; Production Value: "GP" - -; session.gc_divisor -; Default Value: 100 -; Development Value: 1000 -; Production Value: 1000 - -; session.sid_bits_per_character -; Default Value: 4 -; Development Value: 5 -; Production Value: 5 - -; short_open_tag -; Default Value: On -; Development Value: Off -; Production Value: Off - -; variables_order -; Default Value: "EGPCS" -; Development Value: "GPCS" -; Production Value: "GPCS" - -;;;;;;;;;;;;;;;;;;;; -; php.ini Options ; -;;;;;;;;;;;;;;;;;;;; -; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini" -;user_ini.filename = ".user.ini" - -; To disable this feature set this option to an empty value -;user_ini.filename = - -; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) -;user_ini.cache_ttl = 300 - -;;;;;;;;;;;;;;;;;;;; -; Language Options ; -;;;;;;;;;;;;;;;;;;;; - -; Enable the PHP scripting language engine under Apache. -; http://php.net/engine -engine = On - -; This directive determines whether or not PHP will recognize code between -; tags as PHP source which should be processed as such. It is -; generally recommended that should be used and that this feature -; should be disabled, as enabling it may result in issues when generating XML -; documents, however this remains supported for backward compatibility reasons. -; Note that this directive does not control the would work. -; http://php.net/syntax-highlighting -;highlight.string = #DD0000 -;highlight.comment = #FF9900 -;highlight.keyword = #007700 -;highlight.default = #0000BB -;highlight.html = #000000 - -; If enabled, the request will be allowed to complete even if the user aborts -; the request. Consider enabling it if executing long requests, which may end up -; being interrupted by the user or a browser timing out. PHP's default behavior -; is to disable this feature. -; http://php.net/ignore-user-abort -;ignore_user_abort = On - -; Determines the size of the realpath cache to be used by PHP. This value should -; be increased on systems where PHP opens many files to reflect the quantity of -; the file operations performed. -; Note: if open_basedir is set, the cache is disabled -; http://php.net/realpath-cache-size -;realpath_cache_size = 4096k - -; Duration of time, in seconds for which to cache realpath information for a given -; file or directory. For systems with rarely changing files, consider increasing this -; value. -; http://php.net/realpath-cache-ttl -;realpath_cache_ttl = 120 - -; Enables or disables the circular reference collector. -; http://php.net/zend.enable-gc -zend.enable_gc = On - -; If enabled, scripts may be written in encodings that are incompatible with -; the scanner. CP936, Big5, CP949 and Shift_JIS are the examples of such -; encodings. To use this feature, mbstring extension must be enabled. -; Default: Off -;zend.multibyte = Off - -; Allows to set the default encoding for the scripts. This value will be used -; unless "declare(encoding=...)" directive appears at the top of the script. -; Only affects if zend.multibyte is set. -; Default: "" -;zend.script_encoding = - -;;;;;;;;;;;;;;;;; -; Miscellaneous ; -;;;;;;;;;;;;;;;;; - -; Decides whether PHP may expose the fact that it is installed on the server -; (e.g. by adding its signature to the Web server header). It is no security -; threat in any way, but it makes it possible to determine whether you use PHP -; on your server or not. -; http://php.net/expose-php -expose_php = On - -;;;;;;;;;;;;;;;;;;; -; Resource Limits ; -;;;;;;;;;;;;;;;;;;; - -; Maximum execution time of each script, in seconds -; http://php.net/max-execution-time -; Note: This directive is hardcoded to 0 for the CLI SAPI -max_execution_time = 30 - -; Maximum amount of time each script may spend parsing request data. It's a good -; idea to limit this time on productions servers in order to eliminate unexpectedly -; long running scripts. -; Note: This directive is hardcoded to -1 for the CLI SAPI -; Default Value: -1 (Unlimited) -; Development Value: 60 (60 seconds) -; Production Value: 60 (60 seconds) -; http://php.net/max-input-time -max_input_time = 60 - -; Maximum input variable nesting level -; http://php.net/max-input-nesting-level -;max_input_nesting_level = 64 - -; How many GET/POST/COOKIE input variables may be accepted -;max_input_vars = 1000 - -; Maximum amount of memory a script may consume (128MB) -; http://php.net/memory-limit -memory_limit = 128M - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Error handling and logging ; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -; This directive informs PHP of which errors, warnings and notices you would like -; it to take action for. The recommended way of setting values for this -; directive is through the use of the error level constants and bitwise -; operators. The error level constants are below here for convenience as well as -; some common settings and their meanings. -; By default, PHP is set to take action on all errors, notices and warnings EXCEPT -; those related to E_NOTICE and E_STRICT, which together cover best practices and -; recommended coding standards in PHP. For performance reasons, this is the -; recommend error reporting setting. Your production server shouldn't be wasting -; resources complaining about best practices and coding standards. That's what -; development servers and development settings are for. -; Note: The php.ini-development file has this setting as E_ALL. This -; means it pretty much reports everything which is exactly what you want during -; development and early testing. -; -; Error Level Constants: -; E_ALL - All errors and warnings (includes E_STRICT as of PHP 5.4.0) -; E_ERROR - fatal run-time errors -; E_RECOVERABLE_ERROR - almost fatal run-time errors -; E_WARNING - run-time warnings (non-fatal errors) -; E_PARSE - compile-time parse errors -; E_NOTICE - run-time notices (these are warnings which often result -; from a bug in your code, but it's possible that it was -; intentional (e.g., using an uninitialized variable and -; relying on the fact it is automatically initialized to an -; empty string) -; E_STRICT - run-time notices, enable to have PHP suggest changes -; to your code which will ensure the best interoperability -; and forward compatibility of your code -; E_CORE_ERROR - fatal errors that occur during PHP's initial startup -; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's -; initial startup -; E_COMPILE_ERROR - fatal compile-time errors -; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) -; E_USER_ERROR - user-generated error message -; E_USER_WARNING - user-generated warning message -; E_USER_NOTICE - user-generated notice message -; E_DEPRECATED - warn about code that will not work in future versions -; of PHP -; E_USER_DEPRECATED - user-generated deprecation warnings -; -; Common Values: -; E_ALL (Show all errors, warnings and notices including coding standards.) -; E_ALL & ~E_NOTICE (Show all errors, except for notices) -; E_ALL & ~E_NOTICE & ~E_STRICT (Show all errors, except for notices and coding standards warnings.) -; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors) -; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED -; Development Value: E_ALL -; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT -; http://php.net/error-reporting -error_reporting = E_ALL - -; This directive controls whether or not and where PHP will output errors, -; notices and warnings too. Error output is very useful during development, but -; it could be very dangerous in production environments. Depending on the code -; which is triggering the error, sensitive information could potentially leak -; out of your application such as database usernames and passwords or worse. -; For production environments, we recommend logging errors rather than -; sending them to STDOUT. -; Possible Values: -; Off = Do not display any errors -; stderr = Display errors to STDERR (affects only CGI/CLI binaries!) -; On or stdout = Display errors to STDOUT -; Default Value: On -; Development Value: On -; Production Value: Off -; http://php.net/display-errors -display_errors = On - -; The display of errors which occur during PHP's startup sequence are handled -; separately from display_errors. PHP's default behavior is to suppress those -; errors from clients. Turning the display of startup errors on can be useful in -; debugging configuration problems. We strongly recommend you -; set this to 'off' for production servers. -; Default Value: Off -; Development Value: On -; Production Value: Off -; http://php.net/display-startup-errors -display_startup_errors = On - -; Besides displaying errors, PHP can also log errors to locations such as a -; server-specific log, STDERR, or a location specified by the error_log -; directive found below. While errors should not be displayed on productions -; servers they should still be monitored and logging is a great way to do that. -; Default Value: Off -; Development Value: On -; Production Value: On -; http://php.net/log-errors -log_errors = On - -; Set maximum length of log_errors. In error_log information about the source is -; added. The default is 1024 and 0 allows to not apply any maximum length at all. -; http://php.net/log-errors-max-len -log_errors_max_len = 1024 - -; Do not log repeated messages. Repeated errors must occur in same file on same -; line unless ignore_repeated_source is set true. -; http://php.net/ignore-repeated-errors -ignore_repeated_errors = Off - -; Ignore source of message when ignoring repeated messages. When this setting -; is On you will not log errors with repeated messages from different files or -; source lines. -; http://php.net/ignore-repeated-source -ignore_repeated_source = Off - -; If this parameter is set to Off, then memory leaks will not be shown (on -; stdout or in the log). This has only effect in a debug compile, and if -; error reporting includes E_WARNING in the allowed list -; http://php.net/report-memleaks -report_memleaks = On - -; This setting is on by default. -;report_zend_debug = 0 - -; Store the last error/warning message in $php_errormsg (boolean). -; This directive is DEPRECATED. -; Default Value: Off -; Development Value: Off -; Production Value: Off -; http://php.net/track-errors -;track_errors = Off - -; Turn off normal error reporting and emit XML-RPC error XML -; http://php.net/xmlrpc-errors -;xmlrpc_errors = 0 - -; An XML-RPC faultCode -;xmlrpc_error_number = 0 - -; When PHP displays or logs an error, it has the capability of formatting the -; error message as HTML for easier reading. This directive controls whether -; the error message is formatted as HTML or not. -; Note: This directive is hardcoded to Off for the CLI SAPI -; Default Value: On -; Development Value: On -; Production value: On -; http://php.net/html-errors -html_errors = On - -; If html_errors is set to On *and* docref_root is not empty, then PHP -; produces clickable error messages that direct to a page describing the error -; or function causing the error in detail. -; You can download a copy of the PHP manual from http://php.net/docs -; and change docref_root to the base URL of your local copy including the -; leading '/'. You must also specify the file extension being used including -; the dot. PHP's default behavior is to leave these settings empty, in which -; case no links to documentation are generated. -; Note: Never use this feature for production boxes. -; http://php.net/docref-root -; Examples -;docref_root = "/phpmanual/" - -; http://php.net/docref-ext -;docref_ext = .html - -; String to output before an error message. PHP's default behavior is to leave -; this setting blank. -; http://php.net/error-prepend-string -; Example: -;error_prepend_string = "" - -; String to output after an error message. PHP's default behavior is to leave -; this setting blank. -; http://php.net/error-append-string -; Example: -;error_append_string = "" - -; Log errors to specified file. PHP's default behavior is to leave this value -; empty. -; http://php.net/error-log -; Example: -;error_log = php_errors.log -; Log errors to syslog (Event Log on Windows). -;error_log = syslog - -; The syslog ident is a string which is prepended to every message logged -; to syslog. Only used when error_log is set to syslog. -;syslog.ident = php - -; The syslog facility is used to specify what type of program is logging -; the message. Only used when error_log is set to syslog. -;syslog.facility = user - -; Set this to disable filtering control characters (the default). -; Some loggers only accept NVT-ASCII, others accept anything that's not -; control characters. If your logger accepts everything, then no filtering -; is needed at all. -; Allowed values are: -; ascii (all printable ASCII characters and NL) -; no-ctrl (all characters except control characters) -; all (all characters) -; raw (like "all", but messages are not split at newlines) -; http://php.net/syslog.filter -;syslog.filter = ascii - -;windows.show_crt_warning -; Default value: 0 -; Development value: 0 -; Production value: 0 - -;;;;;;;;;;;;;;;;; -; Data Handling ; -;;;;;;;;;;;;;;;;; - -; The separator used in PHP generated URLs to separate arguments. -; PHP's default setting is "&". -; http://php.net/arg-separator.output -; Example: -;arg_separator.output = "&" - -; List of separator(s) used by PHP to parse input URLs into variables. -; PHP's default setting is "&". -; NOTE: Every character in this directive is considered as separator! -; http://php.net/arg-separator.input -; Example: -;arg_separator.input = ";&" - -; This directive determines which super global arrays are registered when PHP -; starts up. G,P,C,E & S are abbreviations for the following respective super -; globals: GET, POST, COOKIE, ENV and SERVER. There is a performance penalty -; paid for the registration of these arrays and because ENV is not as commonly -; used as the others, ENV is not recommended on productions servers. You -; can still get access to the environment variables through getenv() should you -; need to. -; Default Value: "EGPCS" -; Development Value: "GPCS" -; Production Value: "GPCS"; -; http://php.net/variables-order -variables_order = "GPCS" - -; This directive determines which super global data (G,P & C) should be -; registered into the super global array REQUEST. If so, it also determines -; the order in which that data is registered. The values for this directive -; are specified in the same manner as the variables_order directive, -; EXCEPT one. Leaving this value empty will cause PHP to use the value set -; in the variables_order directive. It does not mean it will leave the super -; globals array REQUEST empty. -; Default Value: None -; Development Value: "GP" -; Production Value: "GP" -; http://php.net/request-order -request_order = "GP" - -; This directive determines whether PHP registers $argv & $argc each time it -; runs. $argv contains an array of all the arguments passed to PHP when a script -; is invoked. $argc contains an integer representing the number of arguments -; that were passed when the script was invoked. These arrays are extremely -; useful when running scripts from the command line. When this directive is -; enabled, registering these variables consumes CPU cycles and memory each time -; a script is executed. For performance reasons, this feature should be disabled -; on production servers. -; Note: This directive is hardcoded to On for the CLI SAPI -; Default Value: On -; Development Value: Off -; Production Value: Off -; http://php.net/register-argc-argv -register_argc_argv = Off - -; When enabled, the ENV, REQUEST and SERVER variables are created when they're -; first used (Just In Time) instead of when the script starts. If these -; variables are not used within a script, having this directive on will result -; in a performance gain. The PHP directive register_argc_argv must be disabled -; for this directive to have any affect. -; http://php.net/auto-globals-jit -auto_globals_jit = On - -; Whether PHP will read the POST data. -; This option is enabled by default. -; Most likely, you won't want to disable this option globally. It causes $_POST -; and $_FILES to always be empty; the only way you will be able to read the -; POST data will be through the php://input stream wrapper. This can be useful -; to proxy requests or to process the POST data in a memory efficient fashion. -; http://php.net/enable-post-data-reading -;enable_post_data_reading = Off - -; Maximum size of POST data that PHP will accept. -; Its value may be 0 to disable the limit. It is ignored if POST data reading -; is disabled through enable_post_data_reading. -; http://php.net/post-max-size -post_max_size = 8M - -; Automatically add files before PHP document. -; http://php.net/auto-prepend-file -auto_prepend_file = - -; Automatically add files after PHP document. -; http://php.net/auto-append-file -auto_append_file = - -; By default, PHP will output a media type using the Content-Type header. To -; disable this, simply set it to be empty. -; -; PHP's built-in default media type is set to text/html. -; http://php.net/default-mimetype -default_mimetype = "text/html" - -; PHP's default character set is set to UTF-8. -; http://php.net/default-charset -default_charset = "UTF-8" - -; PHP internal character encoding is set to empty. -; If empty, default_charset is used. -; http://php.net/internal-encoding -;internal_encoding = - -; PHP input character encoding is set to empty. -; If empty, default_charset is used. -; http://php.net/input-encoding -;input_encoding = - -; PHP output character encoding is set to empty. -; If empty, default_charset is used. -; See also output_buffer. -; http://php.net/output-encoding -;output_encoding = - -;;;;;;;;;;;;;;;;;;;;;;;;; -; Paths and Directories ; -;;;;;;;;;;;;;;;;;;;;;;;;; - -; UNIX: "/path1:/path2" -;include_path = ".:/php/includes" -; -; Windows: "\path1;\path2" -;include_path = ".;c:\php\includes" -; -; PHP's default setting for include_path is ".;/path/to/php/pear" -; http://php.net/include-path - -; The root of the PHP pages, used only if nonempty. -; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root -; if you are running php as a CGI under any web server (other than IIS) -; see documentation for security issues. The alternate is to use the -; cgi.force_redirect configuration below -; http://php.net/doc-root -doc_root = - -; The directory under which PHP opens the script using /~username used only -; if nonempty. -; http://php.net/user-dir -user_dir = - -; Directory in which the loadable extensions (modules) reside. -; http://php.net/extension-dir -;extension_dir = "./" -; On windows: -;extension_dir = "ext" - -; Directory where the temporary files should be placed. -; Defaults to the system default (see sys_get_temp_dir) -;sys_temp_dir = "/tmp" - -; Whether or not to enable the dl() function. The dl() function does NOT work -; properly in multithreaded servers, such as IIS or Zeus, and is automatically -; disabled on them. -; http://php.net/enable-dl -enable_dl = Off - -; cgi.force_redirect is necessary to provide security running PHP as a CGI under -; most web servers. Left undefined, PHP turns this on by default. You can -; turn it off here AT YOUR OWN RISK -; **You CAN safely turn this off for IIS, in fact, you MUST.** -; http://php.net/cgi.force-redirect -;cgi.force_redirect = 1 - -; if cgi.nph is enabled it will force cgi to always sent Status: 200 with -; every request. PHP's default behavior is to disable this feature. -;cgi.nph = 1 - -; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape -; (iPlanet) web servers, you MAY need to set an environment variable name that PHP -; will look for to know it is OK to continue execution. Setting this variable MAY -; cause security issues, KNOW WHAT YOU ARE DOING FIRST. -; http://php.net/cgi.redirect-status-env -;cgi.redirect_status_env = - -; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's -; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok -; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting -; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting -; of zero causes PHP to behave as before. Default is 1. You should fix your scripts -; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. -; http://php.net/cgi.fix-pathinfo -;cgi.fix_pathinfo=1 - -; if cgi.discard_path is enabled, the PHP CGI binary can safely be placed outside -; of the web tree and people will not be able to circumvent .htaccess security. -;cgi.discard_path=1 - -; FastCGI under IIS supports the ability to impersonate -; security tokens of the calling client. This allows IIS to define the -; security context that the request runs under. mod_fastcgi under Apache -; does not currently support this feature (03/17/2002) -; Set to 1 if running under IIS. Default is zero. -; http://php.net/fastcgi.impersonate -;fastcgi.impersonate = 1 - -; Disable logging through FastCGI connection. PHP's default behavior is to enable -; this feature. -;fastcgi.logging = 0 - -; cgi.rfc2616_headers configuration option tells PHP what type of headers to -; use when sending HTTP response code. If set to 0, PHP sends Status: header that -; is supported by Apache. When this option is set to 1, PHP will send -; RFC2616 compliant header. -; Default is zero. -; http://php.net/cgi.rfc2616-headers -;cgi.rfc2616_headers = 0 - -; cgi.check_shebang_line controls whether CGI PHP checks for line starting with #! -; (shebang) at the top of the running script. This line might be needed if the -; script support running both as stand-alone script and via PHP CGI<. PHP in CGI -; mode skips this line and ignores its content if this directive is turned on. -; http://php.net/cgi.check-shebang-line -;cgi.check_shebang_line=1 - -;;;;;;;;;;;;;;;; -; File Uploads ; -;;;;;;;;;;;;;;;; - -; Whether to allow HTTP file uploads. -; http://php.net/file-uploads -file_uploads = On - -; Temporary directory for HTTP uploaded files (will use system default if not -; specified). -; http://php.net/upload-tmp-dir -;upload_tmp_dir = - -; Maximum allowed size for uploaded files. -; http://php.net/upload-max-filesize -upload_max_filesize = 2M - -; Maximum number of files that can be uploaded via a single request -max_file_uploads = 20 - -;;;;;;;;;;;;;;;;;; -; Fopen wrappers ; -;;;;;;;;;;;;;;;;;; - -; Whether to allow the treatment of URLs (like http:// or ftp://) as files. -; http://php.net/allow-url-fopen -allow_url_fopen = On - -; Whether to allow include/require to open URLs (like http:// or ftp://) as files. -; http://php.net/allow-url-include -allow_url_include = Off - -; Define the anonymous ftp password (your email address). PHP's default setting -; for this is empty. -; http://php.net/from -;from="john@doe.com" - -; Define the User-Agent string. PHP's default setting for this is empty. -; http://php.net/user-agent -;user_agent="PHP" - -; Default timeout for socket based streams (seconds) -; http://php.net/default-socket-timeout -default_socket_timeout = 60 - -; If your scripts have to deal with files from Macintosh systems, -; or you are running on a Mac and need to deal with files from -; unix or win32 systems, setting this flag will cause PHP to -; automatically detect the EOL character in those files so that -; fgets() and file() will work regardless of the source of the file. -; http://php.net/auto-detect-line-endings -;auto_detect_line_endings = Off - -;;;;;;;;;;;;;;;;;;;;;; -; Dynamic Extensions ; -;;;;;;;;;;;;;;;;;;;;;; - -; If you wish to have an extension loaded automatically, use the following -; syntax: -; -; extension=modulename -; -; For example: -; -; extension=mysqli -; -; When the extension library to load is not located in the default extension -; directory, You may specify an absolute path to the library file: -; -; extension=/path/to/extension/mysqli.so -; -; Note : The syntax used in previous PHP versions ('extension=.so' and -; 'extension='php_.dll') is supported for legacy reasons and may be -; deprecated in a future PHP major version. So, when it is possible, please -; move to the new ('extension=) syntax. -; -; Notes for Windows environments : -; -; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+) -; extension folders as well as the separate PECL DLL download (PHP 5+). -; Be sure to appropriately set the extension_dir directive. -; -;extension=bz2 -;extension=curl -;extension=fileinfo -;extension=gd2 -;extension=gettext -;extension=gmp -;extension=intl -;extension=imap -;extension=interbase -;extension=ldap -;extension=mbstring -;extension=exif ; Must be after mbstring as it depends on it -;extension=mysqli -;extension=oci8_12c ; Use with Oracle Database 12c Instant Client -;extension=odbc -;extension=openssl -;extension=pdo_firebird -;extension=pdo_mysql -;extension=pdo_oci -;extension=pdo_odbc -;extension=pdo_pgsql -;extension=pdo_sqlite -;extension=pgsql -;extension=shmop - -; The MIBS data available in the PHP distribution must be installed. -; See http://www.php.net/manual/en/snmp.installation.php -;extension=snmp - -;extension=soap -;extension=sockets -;extension=sodium -;extension=sqlite3 -;extension=tidy -;extension=xmlrpc -;extension=xsl - -;;;;;;;;;;;;;;;;;;; -; Module Settings ; -;;;;;;;;;;;;;;;;;;; - -[CLI Server] -; Whether the CLI web server uses ANSI color coding in its terminal output. -cli_server.color = On - -[Date] -; Defines the default timezone used by the date functions -; http://php.net/date.timezone -date.timezone = America/Los_Angeles - -; http://php.net/date.default-latitude -;date.default_latitude = 31.7667 - -; http://php.net/date.default-longitude -;date.default_longitude = 35.2333 - -; http://php.net/date.sunrise-zenith -;date.sunrise_zenith = 90.583333 - -; http://php.net/date.sunset-zenith -;date.sunset_zenith = 90.583333 - -[filter] -; http://php.net/filter.default -;filter.default = unsafe_raw - -; http://php.net/filter.default-flags -;filter.default_flags = - -[iconv] -; Use of this INI entry is deprecated, use global input_encoding instead. -; If empty, default_charset or input_encoding or iconv.input_encoding is used. -; The precedence is: default_charset < input_encoding < iconv.input_encoding -;iconv.input_encoding = - -; Use of this INI entry is deprecated, use global internal_encoding instead. -; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. -; The precedence is: default_charset < internal_encoding < iconv.internal_encoding -;iconv.internal_encoding = - -; Use of this INI entry is deprecated, use global output_encoding instead. -; If empty, default_charset or output_encoding or iconv.output_encoding is used. -; The precedence is: default_charset < output_encoding < iconv.output_encoding -; To use an output encoding conversion, iconv's output handler must be set -; otherwise output encoding conversion cannot be performed. -;iconv.output_encoding = - -[imap] -; rsh/ssh logins are disabled by default. Use this INI entry if you want to -; enable them. Note that the IMAP library does not filter mailbox names before -; passing them to rsh/ssh command, thus passing untrusted data to this function -; with rsh/ssh enabled is insecure. -;imap.enable_insecure_rsh=0 - -[intl] -;intl.default_locale = -; This directive allows you to produce PHP errors when some error -; happens within intl functions. The value is the level of the error produced. -; Default is 0, which does not produce any errors. -;intl.error_level = E_WARNING -;intl.use_exceptions = 0 - -[sqlite3] -; Directory pointing to SQLite3 extensions -; http://php.net/sqlite3.extension-dir -;sqlite3.extension_dir = - -; SQLite defensive mode flag (only available from SQLite 3.26+) -; When the defensive flag is enabled, language features that allow ordinary -; SQL to deliberately corrupt the database file are disabled. This forbids -; writing directly to the schema, shadow tables (eg. FTS data tables), or -; the sqlite_dbpage virtual table. -; https://www.sqlite.org/c3ref/c_dbconfig_defensive.html -; (for older SQLite versions, this flag has no use) -;sqlite3.defensive = 1 - -[Pcre] -; PCRE library backtracking limit. -; http://php.net/pcre.backtrack-limit -;pcre.backtrack_limit=100000 - -; PCRE library recursion limit. -; Please note that if you set this value to a high number you may consume all -; the available process stack and eventually crash PHP (due to reaching the -; stack size limit imposed by the Operating System). -; http://php.net/pcre.recursion-limit -;pcre.recursion_limit=100000 - -; Enables or disables JIT compilation of patterns. This requires the PCRE -; library to be compiled with JIT support. -;pcre.jit=1 - -[Pdo] -; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" -; http://php.net/pdo-odbc.connection-pooling -;pdo_odbc.connection_pooling=strict - -;pdo_odbc.db2_instance_name - -[Pdo_mysql] -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -pdo_mysql.default_socket= - -[Phar] -; http://php.net/phar.readonly -;phar.readonly = On - -; http://php.net/phar.require-hash -;phar.require_hash = On - -;phar.cache_list = - -[mail function] -; For Win32 only. -; http://php.net/smtp -SMTP = localhost -; http://php.net/smtp-port -smtp_port = 25 - -; For Win32 only. -; http://php.net/sendmail-from -;sendmail_from = me@example.com - -; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). -; http://php.net/sendmail-path -;sendmail_path = - -; Force the addition of the specified parameters to be passed as extra parameters -; to the sendmail binary. These parameters will always replace the value of -; the 5th parameter to mail(). -;mail.force_extra_parameters = - -; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename -mail.add_x_header = Off - -; The path to a log file that will log all mail() calls. Log entries include -; the full path of the script, line number, To address and headers. -;mail.log = -; Log mail to syslog (Event Log on Windows). -;mail.log = syslog - -[ODBC] -; http://php.net/odbc.default-db -;odbc.default_db = Not yet implemented - -; http://php.net/odbc.default-user -;odbc.default_user = Not yet implemented - -; http://php.net/odbc.default-pw -;odbc.default_pw = Not yet implemented - -; Controls the ODBC cursor model. -; Default: SQL_CURSOR_STATIC (default). -;odbc.default_cursortype - -; Allow or prevent persistent links. -; http://php.net/odbc.allow-persistent -odbc.allow_persistent = On - -; Check that a connection is still valid before reuse. -; http://php.net/odbc.check-persistent -odbc.check_persistent = On - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/odbc.max-persistent -odbc.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -; http://php.net/odbc.max-links -odbc.max_links = -1 - -; Handling of LONG fields. Returns number of bytes to variables. 0 means -; passthru. -; http://php.net/odbc.defaultlrl -odbc.defaultlrl = 4096 - -; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. -; See the documentation on odbc_binmode and odbc_longreadlen for an explanation -; of odbc.defaultlrl and odbc.defaultbinmode -; http://php.net/odbc.defaultbinmode -odbc.defaultbinmode = 1 - -[Interbase] -; Allow or prevent persistent links. -ibase.allow_persistent = 1 - -; Maximum number of persistent links. -1 means no limit. -ibase.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -ibase.max_links = -1 - -; Default database name for ibase_connect(). -;ibase.default_db = - -; Default username for ibase_connect(). -;ibase.default_user = - -; Default password for ibase_connect(). -;ibase.default_password = - -; Default charset for ibase_connect(). -;ibase.default_charset = - -; Default timestamp format. -ibase.timestampformat = "%Y-%m-%d %H:%M:%S" - -; Default date format. -ibase.dateformat = "%Y-%m-%d" - -; Default time format. -ibase.timeformat = "%H:%M:%S" - -[MySQLi] - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/mysqli.max-persistent -mysqli.max_persistent = -1 - -; Allow accessing, from PHP's perspective, local files with LOAD DATA statements -; http://php.net/mysqli.allow_local_infile -;mysqli.allow_local_infile = On - -; Allow or prevent persistent links. -; http://php.net/mysqli.allow-persistent -mysqli.allow_persistent = On - -; Maximum number of links. -1 means no limit. -; http://php.net/mysqli.max-links -mysqli.max_links = -1 - -; Default port number for mysqli_connect(). If unset, mysqli_connect() will use -; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the -; compile-time value defined MYSQL_PORT (in that order). Win32 will only look -; at MYSQL_PORT. -; http://php.net/mysqli.default-port -mysqli.default_port = 3306 - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -; http://php.net/mysqli.default-socket -mysqli.default_socket = - -; Default host for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysqli.default-host -mysqli.default_host = - -; Default user for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysqli.default-user -mysqli.default_user = - -; Default password for mysqli_connect() (doesn't apply in safe mode). -; Note that this is generally a *bad* idea to store passwords in this file. -; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") -; and reveal this password! And of course, any users with read access to this -; file will be able to reveal the password as well. -; http://php.net/mysqli.default-pw -mysqli.default_pw = - -; Allow or prevent reconnect -mysqli.reconnect = Off - -[mysqlnd] -; Enable / Disable collection of general statistics by mysqlnd which can be -; used to tune and monitor MySQL operations. -mysqlnd.collect_statistics = On - -; Enable / Disable collection of memory usage statistics by mysqlnd which can be -; used to tune and monitor MySQL operations. -mysqlnd.collect_memory_statistics = On - -; Records communication from all extensions using mysqlnd to the specified log -; file. -; http://php.net/mysqlnd.debug -;mysqlnd.debug = - -; Defines which queries will be logged. -;mysqlnd.log_mask = 0 - -; Default size of the mysqlnd memory pool, which is used by result sets. -;mysqlnd.mempool_default_size = 16000 - -; Size of a pre-allocated buffer used when sending commands to MySQL in bytes. -;mysqlnd.net_cmd_buffer_size = 2048 - -; Size of a pre-allocated buffer used for reading data sent by the server in -; bytes. -;mysqlnd.net_read_buffer_size = 32768 - -; Timeout for network requests in seconds. -;mysqlnd.net_read_timeout = 31536000 - -; SHA-256 Authentication Plugin related. File with the MySQL server public RSA -; key. -;mysqlnd.sha256_server_public_key = - -[OCI8] - -; Connection: Enables privileged connections using external -; credentials (OCI_SYSOPER, OCI_SYSDBA) -; http://php.net/oci8.privileged-connect -;oci8.privileged_connect = Off - -; Connection: The maximum number of persistent OCI8 connections per -; process. Using -1 means no limit. -; http://php.net/oci8.max-persistent -;oci8.max_persistent = -1 - -; Connection: The maximum number of seconds a process is allowed to -; maintain an idle persistent connection. Using -1 means idle -; persistent connections will be maintained forever. -; http://php.net/oci8.persistent-timeout -;oci8.persistent_timeout = -1 - -; Connection: The number of seconds that must pass before issuing a -; ping during oci_pconnect() to check the connection validity. When -; set to 0, each oci_pconnect() will cause a ping. Using -1 disables -; pings completely. -; http://php.net/oci8.ping-interval -;oci8.ping_interval = 60 - -; Connection: Set this to a user chosen connection class to be used -; for all pooled server requests with Oracle 11g Database Resident -; Connection Pooling (DRCP). To use DRCP, this value should be set to -; the same string for all web servers running the same application, -; the database pool must be configured, and the connection string must -; specify to use a pooled server. -;oci8.connection_class = - -; High Availability: Using On lets PHP receive Fast Application -; Notification (FAN) events generated when a database node fails. The -; database must also be configured to post FAN events. -;oci8.events = Off - -; Tuning: This option enables statement caching, and specifies how -; many statements to cache. Using 0 disables statement caching. -; http://php.net/oci8.statement-cache-size -;oci8.statement_cache_size = 20 - -; Tuning: Enables statement prefetching and sets the default number of -; rows that will be fetched automatically after statement execution. -; http://php.net/oci8.default-prefetch -;oci8.default_prefetch = 100 - -; Compatibility. Using On means oci_close() will not close -; oci_connect() and oci_new_connect() connections. -; http://php.net/oci8.old-oci-close-semantics -;oci8.old_oci_close_semantics = Off - -[PostgreSQL] -; Allow or prevent persistent links. -; http://php.net/pgsql.allow-persistent -pgsql.allow_persistent = On - -; Detect broken persistent links always with pg_pconnect(). -; Auto reset feature requires a little overheads. -; http://php.net/pgsql.auto-reset-persistent -pgsql.auto_reset_persistent = Off - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/pgsql.max-persistent -pgsql.max_persistent = -1 - -; Maximum number of links (persistent+non persistent). -1 means no limit. -; http://php.net/pgsql.max-links -pgsql.max_links = -1 - -; Ignore PostgreSQL backends Notice message or not. -; Notice message logging require a little overheads. -; http://php.net/pgsql.ignore-notice -pgsql.ignore_notice = 0 - -; Log PostgreSQL backends Notice message or not. -; Unless pgsql.ignore_notice=0, module cannot log notice message. -; http://php.net/pgsql.log-notice -pgsql.log_notice = 0 - -[bcmath] -; Number of decimal digits for all bcmath functions. -; http://php.net/bcmath.scale -bcmath.scale = 0 - -[browscap] -; http://php.net/browscap -;browscap = extra/browscap.ini - -[Session] -; Handler used to store/retrieve data. -; http://php.net/session.save-handler -session.save_handler = files - -; Argument passed to save_handler. In the case of files, this is the path -; where data files are stored. Note: Windows users have to change this -; variable in order to use PHP's session functions. -; -; The path can be defined as: -; -; session.save_path = "N;/path" -; -; where N is an integer. Instead of storing all the session files in -; /path, what this will do is use subdirectories N-levels deep, and -; store the session data in those directories. This is useful if -; your OS has problems with many files in one directory, and is -; a more efficient layout for servers that handle many sessions. -; -; NOTE 1: PHP will not create this directory structure automatically. -; You can use the script in the ext/session dir for that purpose. -; NOTE 2: See the section on garbage collection below if you choose to -; use subdirectories for session storage -; -; The file storage module creates files using mode 600 by default. -; You can change that by using -; -; session.save_path = "N;MODE;/path" -; -; where MODE is the octal representation of the mode. Note that this -; does not overwrite the process's umask. -; http://php.net/session.save-path -;session.save_path = "/tmp" - -; Whether to use strict session mode. -; Strict session mode does not accept an uninitialized session ID, and -; regenerates the session ID if the browser sends an uninitialized session ID. -; Strict mode protects applications from session fixation via a session adoption -; vulnerability. It is disabled by default for maximum compatibility, but -; enabling it is encouraged. -; https://wiki.php.net/rfc/strict_sessions -session.use_strict_mode = 0 - -; Whether to use cookies. -; http://php.net/session.use-cookies -session.use_cookies = 1 - -; http://php.net/session.cookie-secure -;session.cookie_secure = - -; This option forces PHP to fetch and use a cookie for storing and maintaining -; the session id. We encourage this operation as it's very helpful in combating -; session hijacking when not specifying and managing your own session id. It is -; not the be-all and end-all of session hijacking defense, but it's a good start. -; http://php.net/session.use-only-cookies -session.use_only_cookies = 1 - -; Name of the session (used as cookie name). -; http://php.net/session.name -session.name = PHPSESSID - -; Initialize session on request startup. -; http://php.net/session.auto-start -session.auto_start = 0 - -; Lifetime in seconds of cookie or, if 0, until browser is restarted. -; http://php.net/session.cookie-lifetime -session.cookie_lifetime = 0 - -; The path for which the cookie is valid. -; http://php.net/session.cookie-path -session.cookie_path = / - -; The domain for which the cookie is valid. -; http://php.net/session.cookie-domain -session.cookie_domain = - -; Whether or not to add the httpOnly flag to the cookie, which makes it -; inaccessible to browser scripting languages such as JavaScript. -; http://php.net/session.cookie-httponly -session.cookie_httponly = - -; Add SameSite attribute to cookie to help mitigate Cross-Site Request Forgery (CSRF/XSRF) -; Current valid values are "Lax" or "Strict" -; https://tools.ietf.org/html/draft-west-first-party-cookies-07 -session.cookie_samesite = - -; Handler used to serialize data. php is the standard serializer of PHP. -; http://php.net/session.serialize-handler -session.serialize_handler = php - -; Defines the probability that the 'garbage collection' process is started -; on every session initialization. The probability is calculated by using -; gc_probability/gc_divisor. Where session.gc_probability is the numerator -; and gc_divisor is the denominator in the equation. Setting this value to 1 -; when the session.gc_divisor value is 100 will give you approximately a 1% chance -; the gc will run on any given request. -; Default Value: 1 -; Development Value: 1 -; Production Value: 1 -; http://php.net/session.gc-probability -session.gc_probability = 1 - -; Defines the probability that the 'garbage collection' process is started on every -; session initialization. The probability is calculated by using the following equation: -; gc_probability/gc_divisor. Where session.gc_probability is the numerator and -; session.gc_divisor is the denominator in the equation. Setting this value to 100 -; when the session.gc_probability value is 1 will give you approximately a 1% chance -; the gc will run on any given request. Increasing this value to 1000 will give you -; a 0.1% chance the gc will run on any given request. For high volume production servers, -; this is a more efficient approach. -; Default Value: 100 -; Development Value: 1000 -; Production Value: 1000 -; http://php.net/session.gc-divisor -session.gc_divisor = 1000 - -; After this number of seconds, stored data will be seen as 'garbage' and -; cleaned up by the garbage collection process. -; http://php.net/session.gc-maxlifetime -session.gc_maxlifetime = 1440 - -; NOTE: If you are using the subdirectory option for storing session files -; (see session.save_path above), then garbage collection does *not* -; happen automatically. You will need to do your own garbage -; collection through a shell script, cron entry, or some other method. -; For example, the following script would is the equivalent of -; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): -; find /path/to/sessions -cmin +24 -type f | xargs rm - -; Check HTTP Referer to invalidate externally stored URLs containing ids. -; HTTP_REFERER has to contain this substring for the session to be -; considered as valid. -; http://php.net/session.referer-check -session.referer_check = - -; Set to {nocache,private,public,} to determine HTTP caching aspects -; or leave this empty to avoid sending anti-caching headers. -; http://php.net/session.cache-limiter -session.cache_limiter = nocache - -; Document expires after n minutes. -; http://php.net/session.cache-expire -session.cache_expire = 180 - -; trans sid support is disabled by default. -; Use of trans sid may risk your users' security. -; Use this option with caution. -; - User may send URL contains active session ID -; to other person via. email/irc/etc. -; - URL that contains active session ID may be stored -; in publicly accessible computer. -; - User may access your site with the same session ID -; always using URL stored in browser's history or bookmarks. -; http://php.net/session.use-trans-sid -session.use_trans_sid = 0 - -; Set session ID character length. This value could be between 22 to 256. -; Shorter length than default is supported only for compatibility reason. -; Users should use 32 or more chars. -; http://php.net/session.sid-length -; Default Value: 32 -; Development Value: 26 -; Production Value: 26 -session.sid_length = 26 - -; The URL rewriter will look for URLs in a defined set of HTML tags. -;
is special; if you include them here, the rewriter will -; add a hidden field with the info which is otherwise appended -; to URLs. tag's action attribute URL will not be modified -; unless it is specified. -; Note that all valid entries require a "=", even if no value follows. -; Default Value: "a=href,area=href,frame=src,form=" -; Development Value: "a=href,area=href,frame=src,form=" -; Production Value: "a=href,area=href,frame=src,form=" -; http://php.net/url-rewriter.tags -session.trans_sid_tags = "a=href,area=href,frame=src,form=" - -; URL rewriter does not rewrite absolute URLs by default. -; To enable rewrites for absolute paths, target hosts must be specified -; at RUNTIME. i.e. use ini_set() -; tags is special. PHP will check action attribute's URL regardless -; of session.trans_sid_tags setting. -; If no host is defined, HTTP_HOST will be used for allowed host. -; Example value: php.net,www.php.net,wiki.php.net -; Use "," for multiple hosts. No spaces are allowed. -; Default Value: "" -; Development Value: "" -; Production Value: "" -;session.trans_sid_hosts="" - -; Define how many bits are stored in each character when converting -; the binary hash data to something readable. -; Possible values: -; 4 (4 bits: 0-9, a-f) -; 5 (5 bits: 0-9, a-v) -; 6 (6 bits: 0-9, a-z, A-Z, "-", ",") -; Default Value: 4 -; Development Value: 5 -; Production Value: 5 -; http://php.net/session.hash-bits-per-character -session.sid_bits_per_character = 5 - -; Enable upload progress tracking in $_SESSION -; Default Value: On -; Development Value: On -; Production Value: On -; http://php.net/session.upload-progress.enabled -;session.upload_progress.enabled = On - -; Cleanup the progress information as soon as all POST data has been read -; (i.e. upload completed). -; Default Value: On -; Development Value: On -; Production Value: On -; http://php.net/session.upload-progress.cleanup -;session.upload_progress.cleanup = On - -; A prefix used for the upload progress key in $_SESSION -; Default Value: "upload_progress_" -; Development Value: "upload_progress_" -; Production Value: "upload_progress_" -; http://php.net/session.upload-progress.prefix -;session.upload_progress.prefix = "upload_progress_" - -; The index name (concatenated with the prefix) in $_SESSION -; containing the upload progress information -; Default Value: "PHP_SESSION_UPLOAD_PROGRESS" -; Development Value: "PHP_SESSION_UPLOAD_PROGRESS" -; Production Value: "PHP_SESSION_UPLOAD_PROGRESS" -; http://php.net/session.upload-progress.name -;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS" - -; How frequently the upload progress should be updated. -; Given either in percentages (per-file), or in bytes -; Default Value: "1%" -; Development Value: "1%" -; Production Value: "1%" -; http://php.net/session.upload-progress.freq -;session.upload_progress.freq = "1%" - -; The minimum delay between updates, in seconds -; Default Value: 1 -; Development Value: 1 -; Production Value: 1 -; http://php.net/session.upload-progress.min-freq -;session.upload_progress.min_freq = "1" - -; Only write session data when session data is changed. Enabled by default. -; http://php.net/session.lazy-write -;session.lazy_write = On - -[Assertion] -; Switch whether to compile assertions at all (to have no overhead at run-time) -; -1: Do not compile at all -; 0: Jump over assertion at run-time -; 1: Execute assertions -; Changing from or to a negative value is only possible in php.ini! (For turning assertions on and off at run-time, see assert.active, when zend.assertions = 1) -; Default Value: 1 -; Development Value: 1 -; Production Value: -1 -; http://php.net/zend.assertions -zend.assertions = 1 - -; Assert(expr); active by default. -; http://php.net/assert.active -;assert.active = On - -; Throw an AssertionError on failed assertions -; http://php.net/assert.exception -;assert.exception = On - -; Issue a PHP warning for each failed assertion. (Overridden by assert.exception if active) -; http://php.net/assert.warning -;assert.warning = On - -; Don't bail out by default. -; http://php.net/assert.bail -;assert.bail = Off - -; User-function to be called if an assertion fails. -; http://php.net/assert.callback -;assert.callback = 0 - -; Eval the expression with current error_reporting(). Set to true if you want -; error_reporting(0) around the eval(). -; http://php.net/assert.quiet-eval -;assert.quiet_eval = 0 - -[COM] -; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs -; http://php.net/com.typelib-file -;com.typelib_file = - -; allow Distributed-COM calls -; http://php.net/com.allow-dcom -;com.allow_dcom = true - -; autoregister constants of a component's typlib on com_load() -; http://php.net/com.autoregister-typelib -;com.autoregister_typelib = true - -; register constants casesensitive -; http://php.net/com.autoregister-casesensitive -;com.autoregister_casesensitive = false - -; show warnings on duplicate constant registrations -; http://php.net/com.autoregister-verbose -;com.autoregister_verbose = true - -; The default character set code-page to use when passing strings to and from COM objects. -; Default: system ANSI code page -;com.code_page= - -[mbstring] -; language for internal character representation. -; This affects mb_send_mail() and mbstring.detect_order. -; http://php.net/mbstring.language -;mbstring.language = Japanese - -; Use of this INI entry is deprecated, use global internal_encoding instead. -; internal/script encoding. -; Some encoding cannot work as internal encoding. (e.g. SJIS, BIG5, ISO-2022-*) -; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. -; The precedence is: default_charset < internal_encoding < iconv.internal_encoding -;mbstring.internal_encoding = - -; Use of this INI entry is deprecated, use global input_encoding instead. -; http input encoding. -; mbstring.encoding_translation = On is needed to use this setting. -; If empty, default_charset or input_encoding or mbstring.input is used. -; The precedence is: default_charset < input_encoding < mbsting.http_input -; http://php.net/mbstring.http-input -;mbstring.http_input = - -; Use of this INI entry is deprecated, use global output_encoding instead. -; http output encoding. -; mb_output_handler must be registered as output buffer to function. -; If empty, default_charset or output_encoding or mbstring.http_output is used. -; The precedence is: default_charset < output_encoding < mbstring.http_output -; To use an output encoding conversion, mbstring's output handler must be set -; otherwise output encoding conversion cannot be performed. -; http://php.net/mbstring.http-output -;mbstring.http_output = - -; enable automatic encoding translation according to -; mbstring.internal_encoding setting. Input chars are -; converted to internal encoding by setting this to On. -; Note: Do _not_ use automatic encoding translation for -; portable libs/applications. -; http://php.net/mbstring.encoding-translation -;mbstring.encoding_translation = Off - -; automatic encoding detection order. -; "auto" detect order is changed according to mbstring.language -; http://php.net/mbstring.detect-order -;mbstring.detect_order = auto - -; substitute_character used when character cannot be converted -; one from another -; http://php.net/mbstring.substitute-character -;mbstring.substitute_character = none - -; overload(replace) single byte functions by mbstring functions. -; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), -; etc. Possible values are 0,1,2,4 or combination of them. -; For example, 7 for overload everything. -; 0: No overload -; 1: Overload mail() function -; 2: Overload str*() functions -; 4: Overload ereg*() functions -; http://php.net/mbstring.func-overload -;mbstring.func_overload = 0 - -; enable strict encoding detection. -; Default: Off -;mbstring.strict_detection = On - -; This directive specifies the regex pattern of content types for which mb_output_handler() -; is activated. -; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml) -;mbstring.http_output_conv_mimetype= - -; This directive specifies maximum stack depth for mbstring regular expressions. It is similar -; to the pcre.recursion_limit for PCRE. -; Default: 100000 -;mbstring.regex_stack_limit=100000 - -[gd] -; Tell the jpeg decode to ignore warnings and try to create -; a gd image. The warning will then be displayed as notices -; disabled by default -; http://php.net/gd.jpeg-ignore-warning -;gd.jpeg_ignore_warning = 1 - -[exif] -; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. -; With mbstring support this will automatically be converted into the encoding -; given by corresponding encode setting. When empty mbstring.internal_encoding -; is used. For the decode settings you can distinguish between motorola and -; intel byte order. A decode setting cannot be empty. -; http://php.net/exif.encode-unicode -;exif.encode_unicode = ISO-8859-15 - -; http://php.net/exif.decode-unicode-motorola -;exif.decode_unicode_motorola = UCS-2BE - -; http://php.net/exif.decode-unicode-intel -;exif.decode_unicode_intel = UCS-2LE - -; http://php.net/exif.encode-jis -;exif.encode_jis = - -; http://php.net/exif.decode-jis-motorola -;exif.decode_jis_motorola = JIS - -; http://php.net/exif.decode-jis-intel -;exif.decode_jis_intel = JIS - -[Tidy] -; The path to a default tidy configuration file to use when using tidy -; http://php.net/tidy.default-config -;tidy.default_config = /usr/local/lib/php/default.tcfg - -; Should tidy clean and repair output automatically? -; WARNING: Do not use this option if you are generating non-html content -; such as dynamic images -; http://php.net/tidy.clean-output -tidy.clean_output = Off - -[soap] -; Enables or disables WSDL caching feature. -; http://php.net/soap.wsdl-cache-enabled -soap.wsdl_cache_enabled=1 - -; Sets the directory name where SOAP extension will put cache files. -; http://php.net/soap.wsdl-cache-dir -soap.wsdl_cache_dir="/tmp" - -; (time to live) Sets the number of second while cached file will be used -; instead of original one. -; http://php.net/soap.wsdl-cache-ttl -soap.wsdl_cache_ttl=86400 - -; Sets the size of the cache limit. (Max. number of WSDL files to cache) -soap.wsdl_cache_limit = 5 - -[sysvshm] -; A default size of the shared memory segment -;sysvshm.init_mem = 10000 - -[ldap] -; Sets the maximum number of open links or -1 for unlimited. -ldap.max_links = -1 - -[dba] -;dba.default_handler= - -[opcache] -; Determines if Zend OPCache is enabled -;opcache.enable=1 - -; Determines if Zend OPCache is enabled for the CLI version of PHP -;opcache.enable_cli=0 - -; The OPcache shared memory storage size. -;opcache.memory_consumption=128 - -; The amount of memory for interned strings in Mbytes. -;opcache.interned_strings_buffer=8 - -; The maximum number of keys (scripts) in the OPcache hash table. -; Only numbers between 200 and 1000000 are allowed. -;opcache.max_accelerated_files=10000 - -; The maximum percentage of "wasted" memory until a restart is scheduled. -;opcache.max_wasted_percentage=5 - -; When this directive is enabled, the OPcache appends the current working -; directory to the script key, thus eliminating possible collisions between -; files with the same name (basename). Disabling the directive improves -; performance, but may break existing applications. -;opcache.use_cwd=1 - -; When disabled, you must reset the OPcache manually or restart the -; webserver for changes to the filesystem to take effect. -;opcache.validate_timestamps=1 - -; How often (in seconds) to check file timestamps for changes to the shared -; memory storage allocation. ("1" means validate once per second, but only -; once per request. "0" means always validate) -;opcache.revalidate_freq=2 - -; Enables or disables file search in include_path optimization -;opcache.revalidate_path=0 - -; If disabled, all PHPDoc comments are dropped from the code to reduce the -; size of the optimized code. -;opcache.save_comments=1 - -; Allow file existence override (file_exists, etc.) performance feature. -;opcache.enable_file_override=0 - -; A bitmask, where each bit enables or disables the appropriate OPcache -; passes -;opcache.optimization_level=0x7FFFBFFF - -;opcache.dups_fix=0 - -; The location of the OPcache blacklist file (wildcards allowed). -; Each OPcache blacklist file is a text file that holds the names of files -; that should not be accelerated. The file format is to add each filename -; to a new line. The filename may be a full path or just a file prefix -; (i.e., /var/www/x blacklists all the files and directories in /var/www -; that start with 'x'). Line starting with a ; are ignored (comments). -;opcache.blacklist_filename= - -; Allows exclusion of large files from being cached. By default all files -; are cached. -;opcache.max_file_size=0 - -; Check the cache checksum each N requests. -; The default value of "0" means that the checks are disabled. -;opcache.consistency_checks=0 - -; How long to wait (in seconds) for a scheduled restart to begin if the cache -; is not being accessed. -;opcache.force_restart_timeout=180 - -; OPcache error_log file name. Empty string assumes "stderr". -;opcache.error_log= - -; All OPcache errors go to the Web server log. -; By default, only fatal errors (level 0) or errors (level 1) are logged. -; You can also enable warnings (level 2), info messages (level 3) or -; debug messages (level 4). -;opcache.log_verbosity_level=1 - -; Preferred Shared Memory back-end. Leave empty and let the system decide. -;opcache.preferred_memory_model= - -; Protect the shared memory from unexpected writing during script execution. -; Useful for internal debugging only. -;opcache.protect_memory=0 - -; Allows calling OPcache API functions only from PHP scripts which path is -; started from specified string. The default "" means no restriction -;opcache.restrict_api= - -; Mapping base of shared memory segments (for Windows only). All the PHP -; processes have to map shared memory into the same address space. This -; directive allows to manually fix the "Unable to reattach to base address" -; errors. -;opcache.mmap_base= - -; Enables and sets the second level cache directory. -; It should improve performance when SHM memory is full, at server restart or -; SHM reset. The default "" disables file based caching. -;opcache.file_cache= - -; Enables or disables opcode caching in shared memory. -;opcache.file_cache_only=0 - -; Enables or disables checksum validation when script loaded from file cache. -;opcache.file_cache_consistency_checks=1 - -; Implies opcache.file_cache_only=1 for a certain process that failed to -; reattach to the shared memory (for Windows only). Explicitly enabled file -; cache is required. -;opcache.file_cache_fallback=1 - -; Enables or disables copying of PHP code (text segment) into HUGE PAGES. -; This should improve performance, but requires appropriate OS configuration. -;opcache.huge_code_pages=0 - -; Validate cached file permissions. -;opcache.validate_permission=0 - -; Prevent name collisions in chroot'ed environment. -;opcache.validate_root=0 - -; If specified, it produces opcode dumps for debugging different stages of -; optimizations. -;opcache.opt_debug_level=0 - -[curl] -; A default value for the CURLOPT_CAINFO option. This is required to be an -; absolute path. -;curl.cainfo = - -[openssl] -; The location of a Certificate Authority (CA) file on the local filesystem -; to use when verifying the identity of SSL/TLS peers. Most users should -; not specify a value for this directive as PHP will attempt to use the -; OS-managed cert stores in its absence. If specified, this value may still -; be overridden on a per-stream basis via the "cafile" SSL stream context -; option. -;openssl.cafile= - -; If openssl.cafile is not specified or if the CA file is not found, the -; directory pointed to by openssl.capath is searched for a suitable -; certificate. This value must be a correctly hashed certificate directory. -; Most users should not specify a value for this directive as PHP will -; attempt to use the OS-managed cert stores in its absence. If specified, -; this value may still be overridden on a per-stream basis via the "capath" -; SSL stream context option. -;openssl.capath= - -; Local Variables: -; tab-width: 4 -; End: diff --git a/phpunit.xml b/phpunit.xml deleted file mode 100755 index 61b6b64b7..000000000 --- a/phpunit.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - ./tests/Unit - - - - ./tests/Feature - - - - - ./app - - - - - - - - - - - - - - - - - - - diff --git a/plugins/.gitignore b/plugins/.gitignore new file mode 100644 index 000000000..c96a04f00 --- /dev/null +++ b/plugins/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore \ No newline at end of file diff --git a/pm2.yaml b/pm2.yaml deleted file mode 100644 index 48c24259c..000000000 --- a/pm2.yaml +++ /dev/null @@ -1,5 +0,0 @@ -apps: - - name : 'V2Board' - script : 'php artisan horizon' - instances: 1 - out_file : './storage/logs/queue/queue.log' diff --git a/public/assets/admin/assets/DynamicForm-r9rhu44l.js b/public/assets/admin/assets/DynamicForm-r9rhu44l.js deleted file mode 100644 index f4702f431..000000000 --- a/public/assets/admin/assets/DynamicForm-r9rhu44l.js +++ /dev/null @@ -1 +0,0 @@ -import{j as a,a as s}from"./index-_xd8OyP8.js";import{h as l}from"./button-DhrtVlOa.js";import{I as n}from"./input-d0vtE30O.js";import{T as p}from"./textarea-Bmd-AJpD.js";const x=(e,r)=>{let t=null;switch(e.field_type){case"input":t=a.jsx(n,{placeholder:e.placeholder,...r});break;case"textarea":t=a.jsx(p,{placeholder:e.placeholder,...r});break;case"select":t=a.jsx("select",{className:s(l({variant:"outline"}),"w-full appearance-none font-normal"),...r,children:e.select_options&&Object.keys(e.select_options).map(o=>a.jsx("option",{value:o,children:e.select_options?.[o]},o))});break;default:t=null;break}return t};export{x as D}; diff --git a/public/assets/admin/assets/IconTicket-COhvkaJH.js b/public/assets/admin/assets/IconTicket-COhvkaJH.js deleted file mode 100644 index 6746fd8ca..000000000 --- a/public/assets/admin/assets/IconTicket-COhvkaJH.js +++ /dev/null @@ -1 +0,0 @@ -import{c as a}from"./index-_xd8OyP8.js";var e=a("adjustments","IconAdjustments",[["path",{d:"M4 10a2 2 0 1 0 4 0a2 2 0 0 0 -4 0",key:"svg-0"}],["path",{d:"M6 4v4",key:"svg-1"}],["path",{d:"M6 12v8",key:"svg-2"}],["path",{d:"M10 16a2 2 0 1 0 4 0a2 2 0 0 0 -4 0",key:"svg-3"}],["path",{d:"M12 4v10",key:"svg-4"}],["path",{d:"M12 18v2",key:"svg-5"}],["path",{d:"M16 7a2 2 0 1 0 4 0a2 2 0 0 0 -4 0",key:"svg-6"}],["path",{d:"M18 4v1",key:"svg-7"}],["path",{d:"M18 9v11",key:"svg-8"}]]),t=a("lock","IconLock",[["path",{d:"M5 13a2 2 0 0 1 2 -2h10a2 2 0 0 1 2 2v6a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2v-6z",key:"svg-0"}],["path",{d:"M11 16a1 1 0 1 0 2 0a1 1 0 0 0 -2 0",key:"svg-1"}],["path",{d:"M8 11v-4a4 4 0 1 1 8 0v4",key:"svg-2"}]]),s=a("server","IconServer",[["path",{d:"M3 4m0 3a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v2a3 3 0 0 1 -3 3h-12a3 3 0 0 1 -3 -3z",key:"svg-0"}],["path",{d:"M3 12m0 3a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v2a3 3 0 0 1 -3 3h-12a3 3 0 0 1 -3 -3z",key:"svg-1"}],["path",{d:"M7 8l0 .01",key:"svg-2"}],["path",{d:"M7 16l0 .01",key:"svg-3"}]]),h=a("ticket","IconTicket",[["path",{d:"M15 5l0 2",key:"svg-0"}],["path",{d:"M15 11l0 2",key:"svg-1"}],["path",{d:"M15 17l0 2",key:"svg-2"}],["path",{d:"M5 5h14a2 2 0 0 1 2 2v3a2 2 0 0 0 0 4v3a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-3a2 2 0 0 0 0 -4v-3a2 2 0 0 1 2 -2",key:"svg-3"}]]);export{t as I,h as a,s as b,e as c}; diff --git a/public/assets/admin/assets/app-shell-CINPKVoW.js b/public/assets/admin/assets/app-shell-CINPKVoW.js deleted file mode 100644 index f6ea0d7ca..000000000 --- a/public/assets/admin/assets/app-shell-CINPKVoW.js +++ /dev/null @@ -1 +0,0 @@ -import{c as p,e as C,r as l,j as e,a as c,L as g,g as v,B as f,O as L}from"./index-_xd8OyP8.js";import{D as I,a as M,b as D,c as E,d as $,e as z,L as A,f as S,s as T}from"./sidelinks-DLs_k-Mk.js";import{C as O,a as V,b as W}from"./collapsible-CrQxGeLm.js";import{T as B,a as j,b as N,c as w}from"./tooltip-B58e4dA7.js";import"./index-BwSRHYe4.js";import"./index-CX6PQ3zO.js";import"./index-CcyXqhZ9.js";import"./index-BlMNiBlp.js";import"./react-icons.esm-rZq2pt7A.js";import"./IconTicket-COhvkaJH.js";import"./index-kwEAqj-e.js";var y=p("chevron-down","IconChevronDown",[["path",{d:"M6 9l6 6l6 -6",key:"svg-0"}]]),R=p("chevrons-left","IconChevronsLeft",[["path",{d:"M11 7l-5 5l5 5",key:"svg-0"}],["path",{d:"M17 7l-5 5l5 5",key:"svg-1"}]]),J=p("menu-2","IconMenu2",[["path",{d:"M4 6l16 0",key:"svg-0"}],["path",{d:"M4 12l16 0",key:"svg-1"}],["path",{d:"M4 18l16 0",key:"svg-2"}]]),P=p("x","IconX",[["path",{d:"M18 6l-12 12",key:"svg-0"}],["path",{d:"M6 6l12 12",key:"svg-1"}]]);function x(){const{pathname:n}=C();return{checkActiveNav:a=>{if(a==="/"&&n==="/")return!0;const s=a.replace(/^\//,""),r=n.replace(/^\//,"");return s?r.startsWith(s):!1}}}function k({key:n,defaultValue:t}){const[a,s]=l.useState(()=>{const r=localStorage.getItem(n);return r!==null?JSON.parse(r):t});return l.useEffect(()=>{localStorage.setItem(n,JSON.stringify(a))},[a,n]),[a,s]}function X(){const[n,t]=k({key:"expanded-sidebar-items",defaultValue:["设置","服务器","财务","用户"]});return{expandedItems:n,toggleItem:s=>{t(r=>r.includes(s)?r.filter(o=>o!==s):[...r,s])},isExpanded:s=>n.includes(s)}}function H({links:n,isCollapsed:t,className:a,closeNav:s}){const r=({sub:o,...i})=>{const d=`${i.title}-${i.href}`;return t&&o?l.createElement(G,{...i,sub:o,key:d,closeNav:s}):t?l.createElement(F,{...i,key:d,closeNav:s}):o?l.createElement(q,{...i,sub:o,key:d,closeNav:s}):l.createElement(b,{...i,key:d,closeNav:s})};return e.jsx("div",{"data-collapsed":t,className:c("group border-b bg-background py-2 transition-[max-height,padding] duration-500 data-[collapsed=true]:py-2 md:border-none",a),children:e.jsx(B,{delayDuration:0,children:e.jsx("nav",{className:"grid gap-1 group-[[data-collapsed=true]]:justify-center group-[[data-collapsed=true]]:px-2",children:n.map(r)})})})}function b({title:n,icon:t,label:a,href:s,closeNav:r,subLink:o=!1}){const{checkActiveNav:i}=x();return e.jsxs(g,{to:s,onClick:r,className:c(v({variant:i(s)?"secondary":"ghost",size:"sm"}),"h-12 justify-start text-wrap rounded-none px-6",o&&"h-10 w-full border-l border-l-slate-500 px-2"),"aria-current":i(s)?"page":void 0,children:[e.jsx("div",{className:"mr-2",children:t}),n,a&&e.jsx("div",{className:"ml-2 rounded-lg bg-primary px-1 text-[0.625rem] text-primary-foreground",children:a})]})}function q({title:n,icon:t,label:a,sub:s,closeNav:r}){const{checkActiveNav:o}=x(),{isExpanded:i,toggleItem:d}=X(),u=!!s?.find(h=>o(h.href)),m=i(n)||u;return e.jsxs(O,{open:m,onOpenChange:()=>d(n),children:[e.jsxs(V,{className:c(v({variant:"ghost",size:"sm"}),"group h-12 w-full justify-start rounded-none px-6"),children:[e.jsx("div",{className:"mr-2",children:t}),n,a&&e.jsx("div",{className:"ml-2 rounded-lg bg-primary px-1 text-[0.625rem] text-primary-foreground",children:a}),e.jsx("span",{className:c('ml-auto transition-all group-data-[state="open"]:-rotate-180'),children:e.jsx(y,{stroke:1})})]}),e.jsx(W,{className:"collapsibleDropdown",asChild:!0,children:e.jsx("ul",{children:s.map(h=>e.jsx("li",{className:"my-1 ml-8",children:e.jsx(b,{...h,subLink:!0,closeNav:r})},h.title))})})]})}function F({title:n,icon:t,label:a,href:s}){const{checkActiveNav:r}=x();return e.jsxs(j,{delayDuration:0,children:[e.jsx(N,{asChild:!0,children:e.jsxs(g,{to:s,className:c(v({variant:r(s)?"secondary":"ghost",size:"icon"}),"h-12 w-12"),children:[t,e.jsx("span",{className:"sr-only",children:n})]})}),e.jsxs(w,{side:"right",className:"flex items-center gap-4",children:[n,a&&e.jsx("span",{className:"ml-auto text-muted-foreground",children:a})]})]})}function G({title:n,icon:t,label:a,sub:s}){const{checkActiveNav:r}=x(),o=!!s?.find(i=>r(i.href));return e.jsxs(I,{children:[e.jsxs(j,{delayDuration:0,children:[e.jsx(N,{asChild:!0,children:e.jsx(M,{asChild:!0,children:e.jsx(f,{variant:o?"secondary":"ghost",size:"icon",className:"h-12 w-12",children:t})})}),e.jsxs(w,{side:"right",className:"flex items-center gap-4",children:[n," ",a&&e.jsx("span",{className:"ml-auto text-muted-foreground",children:a}),e.jsx(y,{size:18,className:"-rotate-90 text-muted-foreground"})]})]}),e.jsxs(D,{side:"right",align:"start",sideOffset:4,children:[e.jsxs(E,{children:[n," ",a?`(${a})`:""]}),e.jsx($,{}),s.map(({title:i,icon:d,label:u,href:m})=>e.jsx(z,{asChild:!0,children:e.jsxs(g,{to:m,className:`${r(m)?"bg-secondary":""}`,children:[d," ",e.jsx("span",{className:"ml-2 max-w-52 text-wrap",children:i}),u&&e.jsx("span",{className:"ml-auto text-xs",children:u})]})},`${i}-${m}`))]})]})}function K({className:n,isCollapsed:t,setIsCollapsed:a}){const[s,r]=l.useState(!1);return l.useEffect(()=>{s?document.body.classList.add("overflow-hidden"):document.body.classList.remove("overflow-hidden")},[s]),e.jsxs("aside",{className:c(`fixed left-0 right-0 top-0 z-50 w-full border-r-2 border-r-muted transition-[width] md:bottom-0 md:right-auto md:h-svh ${t?"md:w-14":"md:w-64"}`,n),children:[e.jsx("div",{onClick:()=>r(!1),className:`absolute inset-0 transition-[opacity] delay-100 duration-700 ${s?"h-svh opacity-50":"h-0 opacity-0"} w-full bg-black md:hidden`}),e.jsxs(A,{children:[e.jsxs(S,{className:"sticky top-0 justify-between px-4 py-3 shadow md:px-4",children:[e.jsxs("div",{className:`flex items-center ${t?"":"gap-2"}`,children:[e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",className:`transition-all ${t?"h-6 w-6":"h-8 w-8"}`,children:[e.jsx("rect",{width:"256",height:"256",fill:"none"}),e.jsx("line",{x1:"208",y1:"128",x2:"128",y2:"208",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"16"}),e.jsx("line",{x1:"192",y1:"40",x2:"40",y2:"192",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"16"}),e.jsx("span",{className:"sr-only",children:"Website Name"})]}),e.jsx("div",{className:`flex flex-col justify-end truncate ${t?"invisible w-0":"visible w-auto"}`,children:e.jsx("span",{className:"font-medium",children:window?.settings?.title})})]}),e.jsx(f,{variant:"ghost",size:"icon",className:"md:hidden","aria-label":"Toggle Navigation","aria-controls":"sidebar-menu","aria-expanded":s,onClick:()=>r(o=>!o),children:s?e.jsx(P,{}):e.jsx(J,{})})]}),e.jsx(H,{id:"sidebar-menu",className:`h-full flex-1 overflow-auto ${s?"max-h-screen":"max-h-0 py-0 md:max-h-screen md:py-2"}`,closeNav:()=>r(!1),isCollapsed:t,links:T}),e.jsx(f,{onClick:()=>a(o=>!o),size:"icon",variant:"outline",className:"absolute -right-5 top-1/2 hidden rounded-full md:inline-flex",children:e.jsx(R,{stroke:1.5,className:`h-5 w-5 ${t?"rotate-180":""}`})})]})]})}function Q(){const[n,t]=k({key:"collapsed-sidebar",defaultValue:!1});return l.useEffect(()=>{const a=()=>{t(window.innerWidth<768?!1:n)};return a(),window.addEventListener("resize",a),()=>{window.removeEventListener("resize",a)}},[n,t]),[n,t]}function ie(){const[n,t]=Q();return e.jsxs("div",{className:"relative h-full overflow-hidden bg-background",children:[e.jsx(K,{isCollapsed:n,setIsCollapsed:t}),e.jsx("main",{id:"content",className:`overflow-x-hidden pt-16 transition-[margin] md:overflow-y-hidden md:pt-0 ${n?"md:ml-14":"md:ml-64"} h-full`,children:e.jsx(L,{})})]})}export{ie as default}; diff --git a/public/assets/admin/assets/arrow-up-9fLptvj0.js b/public/assets/admin/assets/arrow-up-9fLptvj0.js deleted file mode 100644 index 08c6ee936..000000000 --- a/public/assets/admin/assets/arrow-up-9fLptvj0.js +++ /dev/null @@ -1,11 +0,0 @@ -import{c as r}from"./user-nav-BBmBVa03.js";/** - * @license lucide-react v0.399.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const a=r("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);/** - * @license lucide-react v0.399.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const e=r("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);export{e as A,a}; diff --git a/public/assets/admin/assets/button-DhrtVlOa.js b/public/assets/admin/assets/button-DhrtVlOa.js deleted file mode 100644 index 4c838eae8..000000000 --- a/public/assets/admin/assets/button-DhrtVlOa.js +++ /dev/null @@ -1,5 +0,0 @@ -import{r as i,v as y,j as n,z as _,a as f,x as Z}from"./index-_xd8OyP8.js";import{c as J,a as p,e as Q,u as X}from"./index-BwSRHYe4.js";import{P as b,R as ee,h as te,a as oe,F as ae,D as ne,u as h,b as se}from"./index-CcyXqhZ9.js";import{P as m}from"./index-CX6PQ3zO.js";import{a as re}from"./react-icons.esm-rZq2pt7A.js";var N="Dialog",[E,Ie]=J(N),[ie,d]=E(N),w=e=>{const{__scopeDialog:t,children:o,open:s,defaultOpen:r,onOpenChange:a,modal:l=!0}=e,c=i.useRef(null),g=i.useRef(null),[v=!1,D]=X({prop:s,defaultProp:r,onChange:a});return n.jsx(ie,{scope:t,triggerRef:c,contentRef:g,contentId:h(),titleId:h(),descriptionId:h(),open:v,onOpenChange:D,onOpenToggle:i.useCallback(()=>D(Y=>!Y),[D]),modal:l,children:o})};w.displayName=N;var P="DialogTrigger",O=i.forwardRef((e,t)=>{const{__scopeDialog:o,...s}=e,r=d(P,o),a=y(t,r.triggerRef);return n.jsx(m.button,{type:"button","aria-haspopup":"dialog","aria-expanded":r.open,"aria-controls":r.contentId,"data-state":j(r.open),...s,ref:a,onClick:p(e.onClick,r.onOpenToggle)})});O.displayName=P;var C="DialogPortal",[le,I]=E(C,{forceMount:void 0}),T=e=>{const{__scopeDialog:t,forceMount:o,children:s,container:r}=e,a=d(C,t);return n.jsx(le,{scope:t,forceMount:o,children:i.Children.map(s,l=>n.jsx(b,{present:o||a.open,children:n.jsx(se,{asChild:!0,container:r,children:l})}))})};T.displayName=C;var x="DialogOverlay",A=i.forwardRef((e,t)=>{const o=I(x,e.__scopeDialog),{forceMount:s=o.forceMount,...r}=e,a=d(x,e.__scopeDialog);return a.modal?n.jsx(b,{present:s||a.open,children:n.jsx(ce,{...r,ref:t})}):null});A.displayName=x;var ce=i.forwardRef((e,t)=>{const{__scopeDialog:o,...s}=e,r=d(x,o);return n.jsx(ee,{as:_,allowPinchZoom:!0,shards:[r.contentRef],children:n.jsx(m.div,{"data-state":j(r.open),...s,ref:t,style:{pointerEvents:"auto",...s.style}})})}),u="DialogContent",M=i.forwardRef((e,t)=>{const o=I(u,e.__scopeDialog),{forceMount:s=o.forceMount,...r}=e,a=d(u,e.__scopeDialog);return n.jsx(b,{present:s||a.open,children:a.modal?n.jsx(de,{...r,ref:t}):n.jsx(ue,{...r,ref:t})})});M.displayName=u;var de=i.forwardRef((e,t)=>{const o=d(u,e.__scopeDialog),s=i.useRef(null),r=y(t,o.contentRef,s);return i.useEffect(()=>{const a=s.current;if(a)return te(a)},[]),n.jsx(F,{...e,ref:r,trapFocus:o.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:p(e.onCloseAutoFocus,a=>{a.preventDefault(),o.triggerRef.current?.focus()}),onPointerDownOutside:p(e.onPointerDownOutside,a=>{const l=a.detail.originalEvent,c=l.button===0&&l.ctrlKey===!0;(l.button===2||c)&&a.preventDefault()}),onFocusOutside:p(e.onFocusOutside,a=>a.preventDefault())})}),ue=i.forwardRef((e,t)=>{const o=d(u,e.__scopeDialog),s=i.useRef(!1),r=i.useRef(!1);return n.jsx(F,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:a=>{e.onCloseAutoFocus?.(a),a.defaultPrevented||(s.current||o.triggerRef.current?.focus(),a.preventDefault()),s.current=!1,r.current=!1},onInteractOutside:a=>{e.onInteractOutside?.(a),a.defaultPrevented||(s.current=!0,a.detail.originalEvent.type==="pointerdown"&&(r.current=!0));const l=a.target;o.triggerRef.current?.contains(l)&&a.preventDefault(),a.detail.originalEvent.type==="focusin"&&r.current&&a.preventDefault()}})}),F=i.forwardRef((e,t)=>{const{__scopeDialog:o,trapFocus:s,onOpenAutoFocus:r,onCloseAutoFocus:a,...l}=e,c=d(u,o),g=i.useRef(null),v=y(t,g);return oe(),n.jsxs(n.Fragment,{children:[n.jsx(ae,{asChild:!0,loop:!0,trapped:s,onMountAutoFocus:r,onUnmountAutoFocus:a,children:n.jsx(ne,{role:"dialog",id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":j(c.open),...l,ref:v,onDismiss:()=>c.onOpenChange(!1)})}),n.jsxs(n.Fragment,{children:[n.jsx(fe,{titleId:c.titleId}),n.jsx(pe,{contentRef:g,descriptionId:c.descriptionId})]})]})}),R="DialogTitle",S=i.forwardRef((e,t)=>{const{__scopeDialog:o,...s}=e,r=d(R,o);return n.jsx(m.h2,{id:r.titleId,...s,ref:t})});S.displayName=R;var k="DialogDescription",$=i.forwardRef((e,t)=>{const{__scopeDialog:o,...s}=e,r=d(k,o);return n.jsx(m.p,{id:r.descriptionId,...s,ref:t})});$.displayName=k;var W="DialogClose",G=i.forwardRef((e,t)=>{const{__scopeDialog:o,...s}=e,r=d(W,o);return n.jsx(m.button,{type:"button",...s,ref:t,onClick:p(e.onClick,()=>r.onOpenChange(!1))})});G.displayName=W;function j(e){return e?"open":"closed"}var L="DialogTitleWarning",[Te,z]=Q(L,{contentName:u,titleName:R,docsSlug:"dialog"}),fe=({titleId:e})=>{const t=z(L),o=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users. - -If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component. - -For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return i.useEffect(()=>{e&&(document.getElementById(e)||console.error(o))},[o,e]),null},ge="DialogDescriptionWarning",pe=({contentRef:e,descriptionId:t})=>{const s=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${z(ge).contentName}}.`;return i.useEffect(()=>{const r=e.current?.getAttribute("aria-describedby");t&&r&&(document.getElementById(t)||console.warn(s))},[s,e,t]),null},me=w,xe=O,ve=T,B=A,H=M,V=S,q=$,K=G;const Ae=me,Me=xe,De=ve,Fe=K,U=i.forwardRef(({className:e,...t},o)=>n.jsx(B,{ref:o,className:f("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t}));U.displayName=B.displayName;const he=i.forwardRef(({className:e,children:t,...o},s)=>n.jsxs(De,{children:[n.jsx(U,{}),n.jsxs(H,{ref:s,className:f("max-h-[95%] overflow-auto fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...o,children:[t,n.jsxs(K,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[n.jsx(re,{className:"h-4 w-4"}),n.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));he.displayName=H.displayName;const ye=({className:e,...t})=>n.jsx("div",{className:f("flex flex-col space-y-1.5 text-center sm:text-left",e),...t});ye.displayName="DialogHeader";const be=({className:e,...t})=>n.jsx("div",{className:f("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});be.displayName="DialogFooter";const Ne=i.forwardRef(({className:e,...t},o)=>n.jsx(V,{ref:o,className:f("text-lg font-semibold leading-none tracking-tight",e),...t}));Ne.displayName=V.displayName;const Ce=i.forwardRef(({className:e,...t},o)=>n.jsx(q,{ref:o,className:f("text-sm text-muted-foreground",e),...t}));Ce.displayName=q.displayName;const Re=Z("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),je=i.forwardRef(({className:e,variant:t,size:o,asChild:s=!1,...r},a)=>{const l=s?_:"button";return n.jsx(l,{className:f(Re({variant:t,size:o,className:e})),ref:a,...r})});je.displayName="Button";export{je as B,H as C,Ae as D,B as O,ve as P,me as R,xe as T,Te as W,he as a,ye as b,Ne as c,Ce as d,Me as e,be as f,Fe as g,Re as h,Ie as i,V as j,q as k,K as l}; diff --git a/public/assets/admin/assets/calendar-DHKoWj25.js b/public/assets/admin/assets/calendar-DHKoWj25.js deleted file mode 100644 index c8cc9fcbc..000000000 --- a/public/assets/admin/assets/calendar-DHKoWj25.js +++ /dev/null @@ -1,6 +0,0 @@ -import{c as vt}from"./user-nav-BBmBVa03.js";import{r as M,j as u,a as B}from"./index-_xd8OyP8.js";import{h as Oe}from"./button-DhrtVlOa.js";import{g as yt,h as gt}from"./react-icons.esm-rZq2pt7A.js";/** - * @license lucide-react v0.399.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const cr=vt("Calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]),ge=6048e5,bt=864e5,Se=Symbol.for("constructDateFrom");function C(e,n){return typeof e=="function"?e(n):e&&typeof e=="object"&&Se in e?e[Se](n):e instanceof Date?new e.constructor(n):new Date(n)}function _(e,n){return C(n||e,e)}function P(e,n,t){const a=_(e,t?.in);return isNaN(n)?C(t?.in||e,NaN):(n&&a.setDate(a.getDate()+n),a)}function j(e,n,t){const a=_(e,t?.in);if(isNaN(n))return C(t?.in||e,NaN);if(!n)return a;const r=a.getDate(),o=C(t?.in||e,a.getTime());o.setMonth(a.getMonth()+n+1,0);const i=o.getDate();return r>=i?o:(a.setFullYear(o.getFullYear(),o.getMonth(),r),a)}let pt={};function J(){return pt}function Y(e,n){const t=J(),a=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??t.weekStartsOn??t.locale?.options?.weekStartsOn??0,r=_(e,n?.in),o=r.getDay(),i=(o=o.getTime()?a+1:t.getTime()>=s.getTime()?a:a-1}function ee(e){const n=_(e),t=new Date(Date.UTC(n.getFullYear(),n.getMonth(),n.getDate(),n.getHours(),n.getMinutes(),n.getSeconds(),n.getMilliseconds()));return t.setUTCFullYear(n.getFullYear()),+e-+t}function q(e,...n){const t=C.bind(null,e||n.find(a=>typeof a=="object"));return n.map(t)}function A(e,n){const t=_(e,n?.in);return t.setHours(0,0,0,0),t}function F(e,n,t){const[a,r]=q(t?.in,e,n),o=A(a),i=A(r),s=+o-ee(o),l=+i-ee(i);return Math.round((s-l)/bt)}function wt(e,n){const t=Be(e,n),a=C(e,0);return a.setFullYear(t,0,4),a.setHours(0,0,0,0),I(a)}function ve(e,n,t){return P(e,n*7,t)}function xt(e,n,t){return j(e,n*12,t)}function _t(e,n){let t,a=n?.in;return e.forEach(r=>{!a&&typeof r=="object"&&(a=C.bind(null,r));const o=_(r,a);(!t||t{!a&&typeof r=="object"&&(a=C.bind(null,r));const o=_(r,a);(!t||t>o||isNaN(+o))&&(t=o)}),C(a,t||NaN)}function O(e,n,t){const[a,r]=q(t?.in,e,n);return+A(a)==+A(r)}function be(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function Dt(e){return!(!be(e)&&typeof e!="number"||isNaN(+_(e)))}function U(e,n,t){const[a,r]=q(t?.in,e,n),o=a.getFullYear()-r.getFullYear(),i=a.getMonth()-r.getMonth();return o*12+i}function kt(e,n,t){const[a,r]=q(t?.in,e,n),o=Y(a,t),i=Y(r,t),s=+o-ee(o),l=+i-ee(i);return Math.round((s-l)/ge)}function pe(e,n){const t=_(e,n?.in),a=t.getMonth();return t.setFullYear(t.getFullYear(),a+1,0),t.setHours(23,59,59,999),t}function S(e,n){const t=_(e,n?.in);return t.setDate(1),t.setHours(0,0,0,0),t}function He(e,n){const t=_(e,n?.in);return t.setFullYear(t.getFullYear(),0,1),t.setHours(0,0,0,0),t}function we(e,n){const t=J(),a=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??t.weekStartsOn??t.locale?.options?.weekStartsOn??0,r=_(e,n?.in),o=r.getDay(),i=(o{let a;const r=Nt[e];return typeof r=="string"?a=r:n===1?a=r.one:a=r.other.replace("{{count}}",n.toString()),t?.addSuffix?t.comparison&&t.comparison>0?"in "+a:a+" ago":a};function ue(e){return(n={})=>{const t=n.width?String(n.width):e.defaultWidth;return e.formats[t]||e.formats[e.defaultWidth]}}const Pt={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},Ot={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},St={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},jt={date:ue({formats:Pt,defaultWidth:"full"}),time:ue({formats:Ot,defaultWidth:"full"}),dateTime:ue({formats:St,defaultWidth:"full"})},Wt={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},Ft=(e,n,t,a)=>Wt[e];function V(e){return(n,t)=>{const a=t?.context?String(t.context):"standalone";let r;if(a==="formatting"&&e.formattingValues){const i=e.defaultFormattingWidth||e.defaultWidth,s=t?.width?String(t.width):i;r=e.formattingValues[s]||e.formattingValues[i]}else{const i=e.defaultWidth,s=t?.width?String(t.width):e.defaultWidth;r=e.values[s]||e.values[i]}const o=e.argumentCallback?e.argumentCallback(n):n;return r[o]}}const Yt={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},Tt={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},Et={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},Lt={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},It={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},Rt={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},Bt=(e,n)=>{const t=Number(e),a=t%100;if(a>20||a<10)switch(a%10){case 1:return t+"st";case 2:return t+"nd";case 3:return t+"rd"}return t+"th"},Ht={ordinalNumber:Bt,era:V({values:Yt,defaultWidth:"wide"}),quarter:V({values:Tt,defaultWidth:"wide",argumentCallback:e=>e-1}),month:V({values:Et,defaultWidth:"wide"}),day:V({values:Lt,defaultWidth:"wide"}),dayPeriod:V({values:It,defaultWidth:"wide",formattingValues:Rt,defaultFormattingWidth:"wide"})};function G(e){return(n,t={})=>{const a=t.width,r=a&&e.matchPatterns[a]||e.matchPatterns[e.defaultMatchWidth],o=n.match(r);if(!o)return null;const i=o[0],s=a&&e.parsePatterns[a]||e.parsePatterns[e.defaultParseWidth],l=Array.isArray(s)?qt(s,f=>f.test(i)):At(s,f=>f.test(i));let d;d=e.valueCallback?e.valueCallback(l):l,d=t.valueCallback?t.valueCallback(d):d;const c=n.slice(i.length);return{value:d,rest:c}}}function At(e,n){for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&n(e[t]))return t}function qt(e,n){for(let t=0;t{const a=n.match(e.matchPattern);if(!a)return null;const r=a[0],o=n.match(e.parsePattern);if(!o)return null;let i=e.valueCallback?e.valueCallback(o[0]):o[0];i=t.valueCallback?t.valueCallback(i):i;const s=n.slice(r.length);return{value:i,rest:s}}}const Xt=/^(\d+)(th|st|nd|rd)?/i,Vt=/\d+/i,Gt={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},Ut={any:[/^b/i,/^(a|c)/i]},Jt={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},Kt={any:[/1/i,/2/i,/3/i,/4/i]},$t={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},zt={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},Zt={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},en={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},tn={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},nn={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},an={ordinalNumber:Qt({matchPattern:Xt,parsePattern:Vt,valueCallback:e=>parseInt(e,10)}),era:G({matchPatterns:Gt,defaultMatchWidth:"wide",parsePatterns:Ut,defaultParseWidth:"any"}),quarter:G({matchPatterns:Jt,defaultMatchWidth:"wide",parsePatterns:Kt,defaultParseWidth:"any",valueCallback:e=>e+1}),month:G({matchPatterns:$t,defaultMatchWidth:"wide",parsePatterns:zt,defaultParseWidth:"any"}),day:G({matchPatterns:Zt,defaultMatchWidth:"wide",parsePatterns:en,defaultParseWidth:"any"}),dayPeriod:G({matchPatterns:tn,defaultMatchWidth:"any",parsePatterns:nn,defaultParseWidth:"any"})},qe={code:"en-US",formatDistance:Ct,formatLong:jt,formatRelative:Ft,localize:Ht,match:an,options:{weekStartsOn:0,firstWeekContainsDate:1}};function rn(e,n){const t=_(e,n?.in);return F(t,He(t))+1}function Qe(e,n){const t=_(e,n?.in),a=+I(t)-+wt(t);return Math.round(a/ge)+1}function Xe(e,n){const t=_(e,n?.in),a=t.getFullYear(),r=J(),o=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,i=C(n?.in||e,0);i.setFullYear(a+1,0,o),i.setHours(0,0,0,0);const s=Y(i,n),l=C(n?.in||e,0);l.setFullYear(a,0,o),l.setHours(0,0,0,0);const d=Y(l,n);return+t>=+s?a+1:+t>=+d?a:a-1}function on(e,n){const t=J(),a=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??t.firstWeekContainsDate??t.locale?.options?.firstWeekContainsDate??1,r=Xe(e,n),o=C(n?.in||e,0);return o.setFullYear(r,0,a),o.setHours(0,0,0,0),Y(o,n)}function Ve(e,n){const t=_(e,n?.in),a=+Y(t,n)-+on(t,n);return Math.round(a/ge)+1}function x(e,n){const t=e<0?"-":"",a=Math.abs(e).toString().padStart(n,"0");return t+a}const E={y(e,n){const t=e.getFullYear(),a=t>0?t:1-t;return x(n==="yy"?a%100:a,n.length)},M(e,n){const t=e.getMonth();return n==="M"?String(t+1):x(t+1,2)},d(e,n){return x(e.getDate(),n.length)},a(e,n){const t=e.getHours()/12>=1?"pm":"am";switch(n){case"a":case"aa":return t.toUpperCase();case"aaa":return t;case"aaaaa":return t[0];case"aaaa":default:return t==="am"?"a.m.":"p.m."}},h(e,n){return x(e.getHours()%12||12,n.length)},H(e,n){return x(e.getHours(),n.length)},m(e,n){return x(e.getMinutes(),n.length)},s(e,n){return x(e.getSeconds(),n.length)},S(e,n){const t=n.length,a=e.getMilliseconds(),r=Math.trunc(a*Math.pow(10,t-3));return x(r,n.length)}},H={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},je={G:function(e,n,t){const a=e.getFullYear()>0?1:0;switch(n){case"G":case"GG":case"GGG":return t.era(a,{width:"abbreviated"});case"GGGGG":return t.era(a,{width:"narrow"});case"GGGG":default:return t.era(a,{width:"wide"})}},y:function(e,n,t){if(n==="yo"){const a=e.getFullYear(),r=a>0?a:1-a;return t.ordinalNumber(r,{unit:"year"})}return E.y(e,n)},Y:function(e,n,t,a){const r=Xe(e,a),o=r>0?r:1-r;if(n==="YY"){const i=o%100;return x(i,2)}return n==="Yo"?t.ordinalNumber(o,{unit:"year"}):x(o,n.length)},R:function(e,n){const t=Be(e);return x(t,n.length)},u:function(e,n){const t=e.getFullYear();return x(t,n.length)},Q:function(e,n,t){const a=Math.ceil((e.getMonth()+1)/3);switch(n){case"Q":return String(a);case"QQ":return x(a,2);case"Qo":return t.ordinalNumber(a,{unit:"quarter"});case"QQQ":return t.quarter(a,{width:"abbreviated",context:"formatting"});case"QQQQQ":return t.quarter(a,{width:"narrow",context:"formatting"});case"QQQQ":default:return t.quarter(a,{width:"wide",context:"formatting"})}},q:function(e,n,t){const a=Math.ceil((e.getMonth()+1)/3);switch(n){case"q":return String(a);case"qq":return x(a,2);case"qo":return t.ordinalNumber(a,{unit:"quarter"});case"qqq":return t.quarter(a,{width:"abbreviated",context:"standalone"});case"qqqqq":return t.quarter(a,{width:"narrow",context:"standalone"});case"qqqq":default:return t.quarter(a,{width:"wide",context:"standalone"})}},M:function(e,n,t){const a=e.getMonth();switch(n){case"M":case"MM":return E.M(e,n);case"Mo":return t.ordinalNumber(a+1,{unit:"month"});case"MMM":return t.month(a,{width:"abbreviated",context:"formatting"});case"MMMMM":return t.month(a,{width:"narrow",context:"formatting"});case"MMMM":default:return t.month(a,{width:"wide",context:"formatting"})}},L:function(e,n,t){const a=e.getMonth();switch(n){case"L":return String(a+1);case"LL":return x(a+1,2);case"Lo":return t.ordinalNumber(a+1,{unit:"month"});case"LLL":return t.month(a,{width:"abbreviated",context:"standalone"});case"LLLLL":return t.month(a,{width:"narrow",context:"standalone"});case"LLLL":default:return t.month(a,{width:"wide",context:"standalone"})}},w:function(e,n,t,a){const r=Ve(e,a);return n==="wo"?t.ordinalNumber(r,{unit:"week"}):x(r,n.length)},I:function(e,n,t){const a=Qe(e);return n==="Io"?t.ordinalNumber(a,{unit:"week"}):x(a,n.length)},d:function(e,n,t){return n==="do"?t.ordinalNumber(e.getDate(),{unit:"date"}):E.d(e,n)},D:function(e,n,t){const a=rn(e);return n==="Do"?t.ordinalNumber(a,{unit:"dayOfYear"}):x(a,n.length)},E:function(e,n,t){const a=e.getDay();switch(n){case"E":case"EE":case"EEE":return t.day(a,{width:"abbreviated",context:"formatting"});case"EEEEE":return t.day(a,{width:"narrow",context:"formatting"});case"EEEEEE":return t.day(a,{width:"short",context:"formatting"});case"EEEE":default:return t.day(a,{width:"wide",context:"formatting"})}},e:function(e,n,t,a){const r=e.getDay(),o=(r-a.weekStartsOn+8)%7||7;switch(n){case"e":return String(o);case"ee":return x(o,2);case"eo":return t.ordinalNumber(o,{unit:"day"});case"eee":return t.day(r,{width:"abbreviated",context:"formatting"});case"eeeee":return t.day(r,{width:"narrow",context:"formatting"});case"eeeeee":return t.day(r,{width:"short",context:"formatting"});case"eeee":default:return t.day(r,{width:"wide",context:"formatting"})}},c:function(e,n,t,a){const r=e.getDay(),o=(r-a.weekStartsOn+8)%7||7;switch(n){case"c":return String(o);case"cc":return x(o,n.length);case"co":return t.ordinalNumber(o,{unit:"day"});case"ccc":return t.day(r,{width:"abbreviated",context:"standalone"});case"ccccc":return t.day(r,{width:"narrow",context:"standalone"});case"cccccc":return t.day(r,{width:"short",context:"standalone"});case"cccc":default:return t.day(r,{width:"wide",context:"standalone"})}},i:function(e,n,t){const a=e.getDay(),r=a===0?7:a;switch(n){case"i":return String(r);case"ii":return x(r,n.length);case"io":return t.ordinalNumber(r,{unit:"day"});case"iii":return t.day(a,{width:"abbreviated",context:"formatting"});case"iiiii":return t.day(a,{width:"narrow",context:"formatting"});case"iiiiii":return t.day(a,{width:"short",context:"formatting"});case"iiii":default:return t.day(a,{width:"wide",context:"formatting"})}},a:function(e,n,t){const r=e.getHours()/12>=1?"pm":"am";switch(n){case"a":case"aa":return t.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"aaa":return t.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return t.dayPeriod(r,{width:"narrow",context:"formatting"});case"aaaa":default:return t.dayPeriod(r,{width:"wide",context:"formatting"})}},b:function(e,n,t){const a=e.getHours();let r;switch(a===12?r=H.noon:a===0?r=H.midnight:r=a/12>=1?"pm":"am",n){case"b":case"bb":return t.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return t.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return t.dayPeriod(r,{width:"narrow",context:"formatting"});case"bbbb":default:return t.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(e,n,t){const a=e.getHours();let r;switch(a>=17?r=H.evening:a>=12?r=H.afternoon:a>=4?r=H.morning:r=H.night,n){case"B":case"BB":case"BBB":return t.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return t.dayPeriod(r,{width:"narrow",context:"formatting"});case"BBBB":default:return t.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(e,n,t){if(n==="ho"){let a=e.getHours()%12;return a===0&&(a=12),t.ordinalNumber(a,{unit:"hour"})}return E.h(e,n)},H:function(e,n,t){return n==="Ho"?t.ordinalNumber(e.getHours(),{unit:"hour"}):E.H(e,n)},K:function(e,n,t){const a=e.getHours()%12;return n==="Ko"?t.ordinalNumber(a,{unit:"hour"}):x(a,n.length)},k:function(e,n,t){let a=e.getHours();return a===0&&(a=24),n==="ko"?t.ordinalNumber(a,{unit:"hour"}):x(a,n.length)},m:function(e,n,t){return n==="mo"?t.ordinalNumber(e.getMinutes(),{unit:"minute"}):E.m(e,n)},s:function(e,n,t){return n==="so"?t.ordinalNumber(e.getSeconds(),{unit:"second"}):E.s(e,n)},S:function(e,n){return E.S(e,n)},X:function(e,n,t){const a=e.getTimezoneOffset();if(a===0)return"Z";switch(n){case"X":return Fe(a);case"XXXX":case"XX":return L(a);case"XXXXX":case"XXX":default:return L(a,":")}},x:function(e,n,t){const a=e.getTimezoneOffset();switch(n){case"x":return Fe(a);case"xxxx":case"xx":return L(a);case"xxxxx":case"xxx":default:return L(a,":")}},O:function(e,n,t){const a=e.getTimezoneOffset();switch(n){case"O":case"OO":case"OOO":return"GMT"+We(a,":");case"OOOO":default:return"GMT"+L(a,":")}},z:function(e,n,t){const a=e.getTimezoneOffset();switch(n){case"z":case"zz":case"zzz":return"GMT"+We(a,":");case"zzzz":default:return"GMT"+L(a,":")}},t:function(e,n,t){const a=Math.trunc(+e/1e3);return x(a,n.length)},T:function(e,n,t){return x(+e,n.length)}};function We(e,n=""){const t=e>0?"-":"+",a=Math.abs(e),r=Math.trunc(a/60),o=a%60;return o===0?t+String(r):t+String(r)+n+x(o,2)}function Fe(e,n){return e%60===0?(e>0?"-":"+")+x(Math.abs(e)/60,2):L(e,n)}function L(e,n=""){const t=e>0?"-":"+",a=Math.abs(e),r=x(Math.trunc(a/60),2),o=x(a%60,2);return t+r+n+o}const Ye=(e,n)=>{switch(e){case"P":return n.date({width:"short"});case"PP":return n.date({width:"medium"});case"PPP":return n.date({width:"long"});case"PPPP":default:return n.date({width:"full"})}},Ge=(e,n)=>{switch(e){case"p":return n.time({width:"short"});case"pp":return n.time({width:"medium"});case"ppp":return n.time({width:"long"});case"pppp":default:return n.time({width:"full"})}},sn=(e,n)=>{const t=e.match(/(P+)(p+)?/)||[],a=t[1],r=t[2];if(!r)return Ye(e,n);let o;switch(a){case"P":o=n.dateTime({width:"short"});break;case"PP":o=n.dateTime({width:"medium"});break;case"PPP":o=n.dateTime({width:"long"});break;case"PPPP":default:o=n.dateTime({width:"full"});break}return o.replace("{{date}}",Ye(a,n)).replace("{{time}}",Ge(r,n))},un={p:Ge,P:sn},ln=/^D+$/,cn=/^Y+$/,dn=["D","DD","YY","YYYY"];function fn(e){return ln.test(e)}function hn(e){return cn.test(e)}function mn(e,n,t){const a=vn(e,n,t);if(console.warn(a),dn.includes(e))throw new RangeError(a)}function vn(e,n,t){const a=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${n}\`) for formatting ${a} to the input \`${t}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const yn=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,gn=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,bn=/^'([^]*?)'?$/,pn=/''/g,wn=/[a-zA-Z]/;function R(e,n,t){const a=J(),r=t?.locale??a.locale??qe,o=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,i=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??a.weekStartsOn??a.locale?.options?.weekStartsOn??0,s=_(e,t?.in);if(!Dt(s))throw new RangeError("Invalid time value");let l=n.match(gn).map(c=>{const f=c[0];if(f==="p"||f==="P"){const h=un[f];return h(c,r.formatLong)}return c}).join("").match(yn).map(c=>{if(c==="''")return{isToken:!1,value:"'"};const f=c[0];if(f==="'")return{isToken:!1,value:xn(c)};if(je[f])return{isToken:!0,value:c};if(f.match(wn))throw new RangeError("Format string contains an unescaped latin alphabet character `"+f+"`");return{isToken:!1,value:c}});r.localize.preprocessor&&(l=r.localize.preprocessor(s,l));const d={firstWeekContainsDate:o,weekStartsOn:i,locale:r};return l.map(c=>{if(!c.isToken)return c.value;const f=c.value;(!t?.useAdditionalWeekYearTokens&&hn(f)||!t?.useAdditionalDayOfYearTokens&&fn(f))&&mn(f,n,String(e));const h=je[f[0]];return h(s,f,r.localize,d)}).join("")}function xn(e){const n=e.match(bn);return n?n[1].replace(pn,"'"):e}function _n(e,n){const t=_(e,n?.in),a=t.getFullYear(),r=t.getMonth(),o=C(t,0);return o.setFullYear(a,r+1,0),o.setHours(0,0,0,0),o.getDate()}function Mn(e){return Math.trunc(+_(e)/1e3)}function Dn(e,n){const t=_(e,n?.in),a=t.getMonth();return t.setFullYear(t.getFullYear(),a+1,0),t.setHours(0,0,0,0),_(t,n?.in)}function kn(e,n){const t=_(e,n?.in);return kt(Dn(t,n),S(t,n),n)+1}function ye(e,n){return+_(e)>+_(n)}function Ue(e,n){return+_(e)<+_(n)}function xe(e,n,t){const[a,r]=q(t?.in,e,n);return a.getFullYear()===r.getFullYear()&&a.getMonth()===r.getMonth()}function Nn(e,n,t){const[a,r]=q(t?.in,e,n);return a.getFullYear()===r.getFullYear()}function le(e,n,t){return P(e,-n,t)}function ce(e,n,t){const a=_(e,t?.in),r=a.getFullYear(),o=a.getDate(),i=C(e,0);i.setFullYear(r,n,15),i.setHours(0,0,0,0);const s=_n(i);return a.setMonth(n,Math.min(o,s)),a}function Te(e,n,t){const a=_(e,t?.in);return isNaN(+a)?C(e,NaN):(a.setFullYear(n),a)}var y=function(){return y=Object.assign||function(n){for(var t,a=1,r=arguments.length;a1&&(l||!d),f=n>1&&(d||!l),h=function(){a&&o(a)},v=function(){r&&o(r)};return u.jsx(oa,{displayMonth:e.displayMonth,hideNext:c,hidePrevious:f,nextMonth:r,previousMonth:a,onPreviousClick:h,onNextClick:v})}function ia(e){var n,t=D(),a=t.classNames,r=t.disableNavigation,o=t.styles,i=t.captionLayout,s=t.components,l=(n=s?.CaptionLabel)!==null&&n!==void 0?n:$e,d;return r?d=u.jsx(l,{id:e.id,displayMonth:e.displayMonth}):i==="dropdown"?d=u.jsx(Ee,{displayMonth:e.displayMonth,id:e.id}):i==="dropdown-buttons"?d=u.jsxs(u.Fragment,{children:[u.jsx(Ee,{displayMonth:e.displayMonth,displayIndex:e.displayIndex,id:e.id}),u.jsx(Le,{displayMonth:e.displayMonth,displayIndex:e.displayIndex,id:e.id})]}):d=u.jsxs(u.Fragment,{children:[u.jsx(l,{id:e.id,displayMonth:e.displayMonth,displayIndex:e.displayIndex}),u.jsx(Le,{displayMonth:e.displayMonth,id:e.id})]}),u.jsx("div",{className:a.caption,style:o.caption,children:d})}function sa(e){var n=D(),t=n.footer,a=n.styles,r=n.classNames.tfoot;return t?u.jsx("tfoot",{className:r,style:a.tfoot,children:u.jsx("tr",{children:u.jsx("td",{colSpan:8,children:t})})}):u.jsx(u.Fragment,{})}function ua(e,n,t){for(var a=t?I(new Date):Y(new Date,{locale:e,weekStartsOn:n}),r=[],o=0;o<7;o++){var i=P(a,o);r.push(i)}return r}function la(){var e=D(),n=e.classNames,t=e.styles,a=e.showWeekNumber,r=e.locale,o=e.weekStartsOn,i=e.ISOWeek,s=e.formatters.formatWeekdayName,l=e.labels.labelWeekday,d=ua(r,o,i);return u.jsxs("tr",{style:t.head_row,className:n.head_row,children:[a&&u.jsx("td",{style:t.head_cell,className:n.head_cell}),d.map(function(c,f){return u.jsx("th",{scope:"col",className:n.head_cell,style:t.head_cell,"aria-label":l(c,{locale:r}),children:s(c,{locale:r})},f)})]})}function ca(){var e,n=D(),t=n.classNames,a=n.styles,r=n.components,o=(e=r?.HeadRow)!==null&&e!==void 0?e:la;return u.jsx("thead",{style:a.head,className:t.head,children:u.jsx(o,{})})}function da(e){var n=D(),t=n.locale,a=n.formatters.formatDay;return u.jsx(u.Fragment,{children:a(e.date,{locale:t})})}var _e=M.createContext(void 0);function fa(e){if(!K(e.initialProps)){var n={selected:void 0,modifiers:{disabled:[]}};return u.jsx(_e.Provider,{value:n,children:e.children})}return u.jsx(ha,{initialProps:e.initialProps,children:e.children})}function ha(e){var n=e.initialProps,t=e.children,a=n.selected,r=n.min,o=n.max,i=function(d,c,f){var h,v;(h=n.onDayClick)===null||h===void 0||h.call(n,d,c,f);var b=!!(c.selected&&r&&a?.length===r);if(!b){var w=!!(!c.selected&&o&&a?.length===o);if(!w){var p=a?Je([],a):[];if(c.selected){var N=p.findIndex(function(k){return O(d,k)});p.splice(N,1)}else p.push(d);(v=n.onSelect)===null||v===void 0||v.call(n,p,d,c,f)}}},s={disabled:[]};a&&s.disabled.push(function(d){var c=o&&a.length>o-1,f=a.some(function(h){return O(h,d)});return!!(c&&!f)});var l={selected:a,onDayClick:i,modifiers:s};return u.jsx(_e.Provider,{value:l,children:t})}function Me(){var e=M.useContext(_e);if(!e)throw new Error("useSelectMultiple must be used within a SelectMultipleProvider");return e}function ma(e,n){var t=n||{},a=t.from,r=t.to;return a&&r?O(r,e)&&O(a,e)?void 0:O(r,e)?{from:r,to:void 0}:O(a,e)?void 0:ye(a,e)?{from:e,to:r}:{from:a,to:e}:r?ye(e,r)?{from:r,to:e}:{from:e,to:r}:a?Ue(e,a)?{from:e,to:a}:{from:a,to:e}:{from:e,to:void 0}}var De=M.createContext(void 0);function va(e){if(!$(e.initialProps)){var n={selected:void 0,modifiers:{range_start:[],range_end:[],range_middle:[],disabled:[]}};return u.jsx(De.Provider,{value:n,children:e.children})}return u.jsx(ya,{initialProps:e.initialProps,children:e.children})}function ya(e){var n=e.initialProps,t=e.children,a=n.selected,r=a||{},o=r.from,i=r.to,s=n.min,l=n.max,d=function(v,b,w){var p,N;(p=n.onDayClick)===null||p===void 0||p.call(n,v,b,w);var k=ma(v,a);(N=n.onSelect)===null||N===void 0||N.call(n,k,v,b,w)},c={range_start:[],range_end:[],range_middle:[],disabled:[]};if(o?(c.range_start=[o],i?(c.range_end=[i],O(o,i)||(c.range_middle=[{after:o,before:i}])):c.range_end=[o]):i&&(c.range_start=[i],c.range_end=[i]),s&&(o&&!i&&c.disabled.push({after:le(o,s-1),before:P(o,s-1)}),o&&i&&c.disabled.push({after:o,before:P(o,s-1)}),!o&&i&&c.disabled.push({after:le(i,s-1),before:P(i,s-1)})),l){if(o&&!i&&(c.disabled.push({before:P(o,-l+1)}),c.disabled.push({after:P(o,l-1)})),o&&i){var f=F(i,o)+1,h=l-f;c.disabled.push({before:le(o,h)}),c.disabled.push({after:P(i,h)})}!o&&i&&(c.disabled.push({before:P(i,-l+1)}),c.disabled.push({after:P(i,l-1)}))}return u.jsx(De.Provider,{value:{selected:a,onDayClick:d,modifiers:c},children:t})}function ke(){var e=M.useContext(De);if(!e)throw new Error("useSelectRange must be used within a SelectRangeProvider");return e}function Z(e){return Array.isArray(e)?Je([],e):e!==void 0?[e]:[]}function ga(e){var n={};return Object.entries(e).forEach(function(t){var a=t[0],r=t[1];n[a]=Z(r)}),n}var W;(function(e){e.Outside="outside",e.Disabled="disabled",e.Selected="selected",e.Hidden="hidden",e.Today="today",e.RangeStart="range_start",e.RangeEnd="range_end",e.RangeMiddle="range_middle"})(W||(W={}));var ba=W.Selected,T=W.Disabled,pa=W.Hidden,wa=W.Today,de=W.RangeEnd,fe=W.RangeMiddle,he=W.RangeStart,xa=W.Outside;function _a(e,n,t){var a,r=(a={},a[ba]=Z(e.selected),a[T]=Z(e.disabled),a[pa]=Z(e.hidden),a[wa]=[e.today],a[de]=[],a[fe]=[],a[he]=[],a[xa]=[],a);return e.fromDate&&r[T].push({before:e.fromDate}),e.toDate&&r[T].push({after:e.toDate}),K(e)?r[T]=r[T].concat(n.modifiers[T]):$(e)&&(r[T]=r[T].concat(t.modifiers[T]),r[he]=t.modifiers[he],r[fe]=t.modifiers[fe],r[de]=t.modifiers[de]),r}var et=M.createContext(void 0);function Ma(e){var n=D(),t=Me(),a=ke(),r=_a(n,t,a),o=ga(n.modifiers),i=y(y({},r),o);return u.jsx(et.Provider,{value:i,children:e.children})}function tt(){var e=M.useContext(et);if(!e)throw new Error("useModifiers must be used within a ModifiersProvider");return e}function Da(e){return!!(e&&typeof e=="object"&&"before"in e&&"after"in e)}function ka(e){return!!(e&&typeof e=="object"&&"from"in e)}function Na(e){return!!(e&&typeof e=="object"&&"after"in e)}function Ca(e){return!!(e&&typeof e=="object"&&"before"in e)}function Pa(e){return!!(e&&typeof e=="object"&&"dayOfWeek"in e)}function Oa(e,n){var t,a=n.from,r=n.to;if(a&&r){var o=F(r,a)<0;o&&(t=[r,a],a=t[0],r=t[1]);var i=F(e,a)>=0&&F(r,e)>=0;return i}return r?O(r,e):a?O(a,e):!1}function Sa(e){return be(e)}function ja(e){return Array.isArray(e)&&e.every(be)}function Wa(e,n){return n.some(function(t){if(typeof t=="boolean")return t;if(Sa(t))return O(e,t);if(ja(t))return t.includes(e);if(ka(t))return Oa(e,t);if(Pa(t))return t.dayOfWeek.includes(e.getDay());if(Da(t)){var a=F(t.before,e),r=F(t.after,e),o=a>0,i=r<0,s=ye(t.before,t.after);return s?i&&o:o||i}return Na(t)?F(e,t.after)>0:Ca(t)?F(t.before,e)>0:typeof t=="function"?t(e):!1})}function Ne(e,n,t){var a=Object.keys(n).reduce(function(o,i){var s=n[i];return Wa(e,s)&&o.push(i),o},[]),r={};return a.forEach(function(o){return r[o]=!0}),t&&!xe(e,t)&&(r.outside=!0),r}function Fa(e,n){for(var t=S(e[0]),a=pe(e[e.length-1]),r,o,i=t;i<=a;){var s=Ne(i,n),l=!s.disabled&&!s.hidden;if(!l){i=P(i,1);continue}if(s.selected)return i;s.today&&!o&&(o=i),r||(r=i),i=P(i,1)}return o||r}var Ya=365;function nt(e,n){var t=n.moveBy,a=n.direction,r=n.context,o=n.modifiers,i=n.retry,s=i===void 0?{count:0,lastFocused:e}:i,l=r.weekStartsOn,d=r.fromDate,c=r.toDate,f=r.locale,h={day:P,week:ve,month:j,year:xt,startOfWeek:function(p){return r.ISOWeek?I(p):Y(p,{locale:f,weekStartsOn:l})},endOfWeek:function(p){return r.ISOWeek?Ae(p):we(p,{locale:f,weekStartsOn:l})}},v=h[t](e,a==="after"?1:-1);a==="before"&&d?v=_t([d,v]):a==="after"&&c&&(v=Mt([c,v]));var b=!0;if(o){var w=Ne(v,o);b=!w.disabled&&!w.hidden}return b?v:s.count>Ya?s.lastFocused:nt(v,{moveBy:t,direction:a,context:r,modifiers:o,retry:y(y({},s),{count:s.count+1})})}var at=M.createContext(void 0);function Ta(e){var n=z(),t=tt(),a=M.useState(),r=a[0],o=a[1],i=M.useState(),s=i[0],l=i[1],d=Fa(n.displayMonths,t),c=r??(s&&n.isDateDisplayed(s))?s:d,f=function(){l(r),o(void 0)},h=function(p){o(p)},v=D(),b=function(p,N){if(r){var k=nt(r,{moveBy:p,direction:N,context:v,modifiers:t});O(r,k)||(n.goToDate(k,r),h(k))}},w={focusedDay:r,focusTarget:c,blur:f,focus:h,focusDayAfter:function(){return b("day","after")},focusDayBefore:function(){return b("day","before")},focusWeekAfter:function(){return b("week","after")},focusWeekBefore:function(){return b("week","before")},focusMonthBefore:function(){return b("month","before")},focusMonthAfter:function(){return b("month","after")},focusYearBefore:function(){return b("year","before")},focusYearAfter:function(){return b("year","after")},focusStartOfWeek:function(){return b("startOfWeek","before")},focusEndOfWeek:function(){return b("endOfWeek","after")}};return u.jsx(at.Provider,{value:w,children:e.children})}function Ce(){var e=M.useContext(at);if(!e)throw new Error("useFocusContext must be used within a FocusProvider");return e}function Ea(e,n){var t=tt(),a=Ne(e,t,n);return a}var Pe=M.createContext(void 0);function La(e){if(!ne(e.initialProps)){var n={selected:void 0};return u.jsx(Pe.Provider,{value:n,children:e.children})}return u.jsx(Ia,{initialProps:e.initialProps,children:e.children})}function Ia(e){var n=e.initialProps,t=e.children,a=function(o,i,s){var l,d,c;if((l=n.onDayClick)===null||l===void 0||l.call(n,o,i,s),i.selected&&!n.required){(d=n.onSelect)===null||d===void 0||d.call(n,void 0,o,i,s);return}(c=n.onSelect)===null||c===void 0||c.call(n,o,o,i,s)},r={selected:n.selected,onDayClick:a};return u.jsx(Pe.Provider,{value:r,children:t})}function rt(){var e=M.useContext(Pe);if(!e)throw new Error("useSelectSingle must be used within a SelectSingleProvider");return e}function Ra(e,n){var t=D(),a=rt(),r=Me(),o=ke(),i=Ce(),s=i.focusDayAfter,l=i.focusDayBefore,d=i.focusWeekAfter,c=i.focusWeekBefore,f=i.blur,h=i.focus,v=i.focusMonthBefore,b=i.focusMonthAfter,w=i.focusYearBefore,p=i.focusYearAfter,N=i.focusStartOfWeek,k=i.focusEndOfWeek,Q=function(g){var m,oe,ie,se;ne(t)?(m=a.onDayClick)===null||m===void 0||m.call(a,e,n,g):K(t)?(oe=r.onDayClick)===null||oe===void 0||oe.call(r,e,n,g):$(t)?(ie=o.onDayClick)===null||ie===void 0||ie.call(o,e,n,g):(se=t.onDayClick)===null||se===void 0||se.call(t,e,n,g)},ae=function(g){var m;h(e),(m=t.onDayFocus)===null||m===void 0||m.call(t,e,n,g)},re=function(g){var m;f(),(m=t.onDayBlur)===null||m===void 0||m.call(t,e,n,g)},X=function(g){var m;(m=t.onDayMouseEnter)===null||m===void 0||m.call(t,e,n,g)},ot=function(g){var m;(m=t.onDayMouseLeave)===null||m===void 0||m.call(t,e,n,g)},it=function(g){var m;(m=t.onDayPointerEnter)===null||m===void 0||m.call(t,e,n,g)},st=function(g){var m;(m=t.onDayPointerLeave)===null||m===void 0||m.call(t,e,n,g)},ut=function(g){var m;(m=t.onDayTouchCancel)===null||m===void 0||m.call(t,e,n,g)},lt=function(g){var m;(m=t.onDayTouchEnd)===null||m===void 0||m.call(t,e,n,g)},ct=function(g){var m;(m=t.onDayTouchMove)===null||m===void 0||m.call(t,e,n,g)},dt=function(g){var m;(m=t.onDayTouchStart)===null||m===void 0||m.call(t,e,n,g)},ft=function(g){var m;(m=t.onDayKeyUp)===null||m===void 0||m.call(t,e,n,g)},ht=function(g){var m;switch(g.key){case"ArrowLeft":g.preventDefault(),g.stopPropagation(),t.dir==="rtl"?s():l();break;case"ArrowRight":g.preventDefault(),g.stopPropagation(),t.dir==="rtl"?l():s();break;case"ArrowDown":g.preventDefault(),g.stopPropagation(),d();break;case"ArrowUp":g.preventDefault(),g.stopPropagation(),c();break;case"PageUp":g.preventDefault(),g.stopPropagation(),g.shiftKey?w():v();break;case"PageDown":g.preventDefault(),g.stopPropagation(),g.shiftKey?p():b();break;case"Home":g.preventDefault(),g.stopPropagation(),N();break;case"End":g.preventDefault(),g.stopPropagation(),k();break}(m=t.onDayKeyDown)===null||m===void 0||m.call(t,e,n,g)},mt={onClick:Q,onFocus:ae,onBlur:re,onKeyDown:ht,onKeyUp:ft,onMouseEnter:X,onMouseLeave:ot,onPointerEnter:it,onPointerLeave:st,onTouchCancel:ut,onTouchEnd:lt,onTouchMove:ct,onTouchStart:dt};return mt}function Ba(){var e=D(),n=rt(),t=Me(),a=ke(),r=ne(e)?n.selected:K(e)?t.selected:$(e)?a.selected:void 0;return r}function Ha(e){return Object.values(W).includes(e)}function Aa(e,n){var t=[e.classNames.day];return Object.keys(n).forEach(function(a){var r=e.modifiersClassNames[a];if(r)t.push(r);else if(Ha(a)){var o=e.classNames["day_".concat(a)];o&&t.push(o)}}),t}function qa(e,n){var t=y({},e.styles.day);return Object.keys(n).forEach(function(a){var r;t=y(y({},t),(r=e.modifiersStyles)===null||r===void 0?void 0:r[a])}),t}function Qa(e,n,t){var a,r,o,i=D(),s=Ce(),l=Ea(e,n),d=Ra(e,l),c=Ba(),f=!!(i.onDayClick||i.mode!=="default");M.useEffect(function(){var X;l.outside||s.focusedDay&&f&&O(s.focusedDay,e)&&((X=t.current)===null||X===void 0||X.focus())},[s.focusedDay,e,t,f,l.outside]);var h=Aa(i,l).join(" "),v=qa(i,l),b=!!(l.outside&&!i.showOutsideDays||l.hidden),w=(o=(r=i.components)===null||r===void 0?void 0:r.DayContent)!==null&&o!==void 0?o:da,p=u.jsx(w,{date:e,displayMonth:n,activeModifiers:l}),N={style:v,className:h,children:p,role:"gridcell"},k=s.focusTarget&&O(s.focusTarget,e)&&!l.outside,Q=s.focusedDay&&O(s.focusedDay,e),ae=y(y(y({},N),(a={disabled:l.disabled,role:"gridcell"},a["aria-selected"]=l.selected,a.tabIndex=Q||k?0:-1,a)),d),re={isButton:f,isHidden:b,activeModifiers:l,selectedDays:c,buttonProps:ae,divProps:N};return re}function Xa(e){var n=M.useRef(null),t=Qa(e.date,e.displayMonth,n);return t.isHidden?u.jsx("div",{role:"gridcell"}):t.isButton?u.jsx(te,y({name:"day",ref:n},t.buttonProps)):u.jsx("div",y({},t.divProps))}function Va(e){var n=e.number,t=e.dates,a=D(),r=a.onWeekNumberClick,o=a.styles,i=a.classNames,s=a.locale,l=a.labels.labelWeekNumber,d=a.formatters.formatWeekNumber,c=d(Number(n),{locale:s});if(!r)return u.jsx("span",{className:i.weeknumber,style:o.weeknumber,children:c});var f=l(Number(n),{locale:s}),h=function(v){r(n,t,v)};return u.jsx(te,{name:"week-number","aria-label":f,className:i.weeknumber,style:o.weeknumber,onClick:h,children:c})}function Ga(e){var n,t,a=D(),r=a.styles,o=a.classNames,i=a.showWeekNumber,s=a.components,l=(n=s?.Day)!==null&&n!==void 0?n:Xa,d=(t=s?.WeekNumber)!==null&&t!==void 0?t:Va,c;return i&&(c=u.jsx("td",{className:o.cell,style:r.cell,children:u.jsx(d,{number:e.weekNumber,dates:e.dates})})),u.jsxs("tr",{className:o.row,style:r.row,children:[c,e.dates.map(function(f){return u.jsx("td",{className:o.cell,style:r.cell,role:"presentation",children:u.jsx(l,{displayMonth:e.displayMonth,date:f})},Mn(f))})]})}function Ie(e,n,t){for(var a=t?.ISOWeek?Ae(n):we(n,t),r=t?.ISOWeek?I(e):Y(e,t),o=F(a,r),i=[],s=0;s<=o;s++)i.push(P(r,s));var l=i.reduce(function(d,c){var f=t?.ISOWeek?Qe(c):Ve(c,t),h=d.find(function(v){return v.weekNumber===f});return h?(h.dates.push(c),d):(d.push({weekNumber:f,dates:[c]}),d)},[]);return l}function Ua(e,n){var t=Ie(S(e),pe(e),n);if(n?.useFixedWeeks){var a=kn(e,n);if(a<6){var r=t[t.length-1],o=r.dates[r.dates.length-1],i=ve(o,6-a),s=Ie(ve(o,1),i,n);t.push.apply(t,s)}}return t}function Ja(e){var n,t,a,r=D(),o=r.locale,i=r.classNames,s=r.styles,l=r.hideHead,d=r.fixedWeeks,c=r.components,f=r.weekStartsOn,h=r.firstWeekContainsDate,v=r.ISOWeek,b=Ua(e.displayMonth,{useFixedWeeks:!!d,ISOWeek:v,locale:o,weekStartsOn:f,firstWeekContainsDate:h}),w=(n=c?.Head)!==null&&n!==void 0?n:ca,p=(t=c?.Row)!==null&&t!==void 0?t:Ga,N=(a=c?.Footer)!==null&&a!==void 0?a:sa;return u.jsxs("table",{id:e.id,className:i.table,style:s.table,role:"grid","aria-labelledby":e["aria-labelledby"],children:[!l&&u.jsx(w,{}),u.jsx("tbody",{className:i.tbody,style:s.tbody,children:b.map(function(k){return u.jsx(p,{displayMonth:e.displayMonth,dates:k.dates,weekNumber:k.weekNumber},k.weekNumber)})}),u.jsx(N,{displayMonth:e.displayMonth})]})}function Ka(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}var $a=Ka()?M.useLayoutEffect:M.useEffect,me=!1,za=0;function Re(){return"react-day-picker-".concat(++za)}function Za(e){var n,t=e??(me?Re():null),a=M.useState(t),r=a[0],o=a[1];return $a(function(){r===null&&o(Re())},[]),M.useEffect(function(){me===!1&&(me=!0)},[]),(n=e??r)!==null&&n!==void 0?n:void 0}function er(e){var n,t,a=D(),r=a.dir,o=a.classNames,i=a.styles,s=a.components,l=z().displayMonths,d=Za(a.id?"".concat(a.id,"-").concat(e.displayIndex):void 0),c=a.id?"".concat(a.id,"-grid-").concat(e.displayIndex):void 0,f=[o.month],h=i.month,v=e.displayIndex===0,b=e.displayIndex===l.length-1,w=!v&&!b;r==="rtl"&&(n=[v,b],b=n[0],v=n[1]),v&&(f.push(o.caption_start),h=y(y({},h),i.caption_start)),b&&(f.push(o.caption_end),h=y(y({},h),i.caption_end)),w&&(f.push(o.caption_between),h=y(y({},h),i.caption_between));var p=(t=s?.Caption)!==null&&t!==void 0?t:ia;return u.jsxs("div",{className:f.join(" "),style:h,children:[u.jsx(p,{id:d,displayMonth:e.displayMonth,displayIndex:e.displayIndex}),u.jsx(Ja,{id:c,"aria-labelledby":d,displayMonth:e.displayMonth})]},e.displayIndex)}function tr(e){var n=D(),t=n.classNames,a=n.styles;return u.jsx("div",{className:t.months,style:a.months,children:e.children})}function nr(e){var n,t,a=e.initialProps,r=D(),o=Ce(),i=z(),s=M.useState(!1),l=s[0],d=s[1];M.useEffect(function(){r.initialFocus&&o.focusTarget&&(l||(o.focus(o.focusTarget),d(!0)))},[r.initialFocus,l,o.focus,o.focusTarget,o]);var c=[r.classNames.root,r.className];r.numberOfMonths>1&&c.push(r.classNames.multiple_months),r.showWeekNumber&&c.push(r.classNames.with_weeknumber);var f=y(y({},r.styles.root),r.style),h=Object.keys(a).filter(function(b){return b.startsWith("data-")}).reduce(function(b,w){var p;return y(y({},b),(p={},p[w]=a[w],p))},{}),v=(t=(n=a.components)===null||n===void 0?void 0:n.Months)!==null&&t!==void 0?t:tr;return u.jsx("div",y({className:c.join(" "),style:f,dir:r.dir,id:r.id,nonce:a.nonce,title:a.title,lang:a.lang},h,{children:u.jsx(v,{children:i.displayMonths.map(function(b,w){return u.jsx(er,{displayIndex:w,displayMonth:b},w)})})}))}function ar(e){var n=e.children,t=Cn(e,["children"]);return u.jsx(Vn,{initialProps:t,children:u.jsx(na,{children:u.jsx(La,{initialProps:t,children:u.jsx(fa,{initialProps:t,children:u.jsx(va,{initialProps:t,children:u.jsx(Ma,{children:u.jsx(Ta,{children:n})})})})})})})}function rr(e){return u.jsx(ar,y({},e,{children:u.jsx(nr,{initialProps:e})}))}function or({className:e,classNames:n,showOutsideDays:t=!0,...a}){return u.jsx(rr,{showOutsideDays:t,className:B("p-3",e),classNames:{months:"flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0",month:"space-y-4",caption:"flex justify-center pt-1 relative items-center",caption_label:"text-sm font-medium",nav:"space-x-1 flex items-center",nav_button:B(Oe({variant:"outline"}),"h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100"),nav_button_previous:"absolute left-1",nav_button_next:"absolute right-1",table:"w-full border-collapse space-y-1",head_row:"flex",head_cell:"text-muted-foreground rounded-md w-8 font-normal text-[0.8rem]",row:"flex w-full mt-2",cell:B("relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-accent [&:has([aria-selected].day-outside)]:bg-accent/50 [&:has([aria-selected].day-range-end)]:rounded-r-md",a.mode==="range"?"[&:has(>.day-range-end)]:rounded-r-md [&:has(>.day-range-start)]:rounded-l-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md":"[&:has([aria-selected])]:rounded-md"),day:B(Oe({variant:"ghost"}),"h-8 w-8 p-0 font-normal aria-selected:opacity-100"),day_range_start:"day-range-start",day_range_end:"day-range-end",day_selected:"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground",day_today:"bg-accent text-accent-foreground",day_outside:"day-outside text-muted-foreground aria-selected:bg-accent/50 aria-selected:text-muted-foreground",day_disabled:"text-muted-foreground opacity-50",day_range_middle:"aria-selected:bg-accent aria-selected:text-accent-foreground",day_hidden:"invisible",...n},components:{IconLeft:({className:r,...o})=>u.jsx(yt,{className:B("h-4 w-4",r),...o}),IconRight:({className:r,...o})=>u.jsx(gt,{className:B("h-4 w-4",r),...o})},...a})}or.displayName="Calendar";export{cr as C,le as a,or as b,R as f,A as s}; diff --git a/public/assets/admin/assets/card-6-6NT3wL.js b/public/assets/admin/assets/card-6-6NT3wL.js deleted file mode 100644 index 55a0e6362..000000000 --- a/public/assets/admin/assets/card-6-6NT3wL.js +++ /dev/null @@ -1 +0,0 @@ -import{r as s,j as d,a as t}from"./index-_xd8OyP8.js";const o=s.forwardRef(({className:a,...e},r)=>d.jsx("div",{ref:r,className:t("rounded-xl border bg-card text-card-foreground shadow",a),...e}));o.displayName="Card";const c=s.forwardRef(({className:a,...e},r)=>d.jsx("div",{ref:r,className:t("flex flex-col space-y-1.5 p-6",a),...e}));c.displayName="CardHeader";const i=s.forwardRef(({className:a,...e},r)=>d.jsx("h3",{ref:r,className:t("font-semibold leading-none tracking-tight",a),...e}));i.displayName="CardTitle";const n=s.forwardRef(({className:a,...e},r)=>d.jsx("p",{ref:r,className:t("text-sm text-muted-foreground",a),...e}));n.displayName="CardDescription";const l=s.forwardRef(({className:a,...e},r)=>d.jsx("div",{ref:r,className:t("p-6 pt-0",a),...e}));l.displayName="CardContent";const f=s.forwardRef(({className:a,...e},r)=>d.jsx("div",{ref:r,className:t("flex items-center p-6 pt-0",a),...e}));f.displayName="CardFooter";export{o as C,c as a,i as b,l as c,n as d}; diff --git a/public/assets/admin/assets/clipboard-YH5zrf5X.js b/public/assets/admin/assets/clipboard-YH5zrf5X.js deleted file mode 100644 index 8a970e852..000000000 --- a/public/assets/admin/assets/clipboard-YH5zrf5X.js +++ /dev/null @@ -1,6 +0,0 @@ -import{h as G,i as Q}from"./index-_xd8OyP8.js";var X={exports:{}};(function(B,K){(function(Y,L){B.exports=L()})(G,function(){var Y=1e3,L=6e4,A=36e5,b="millisecond",v="second",t="minute",y="hour",p="day",m="week",$="month",M="quarter",T="year",g="date",x="Invalid Date",_=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,C=/\[([^\]]+)]|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,J={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(f){var o=["th","st","nd","rd"],e=f%100;return"["+f+(o[(e-20)%10]||o[e]||o[0])+"]"}},W=function(f,o,e){var a=String(f);return!a||a.length>=o?f:""+Array(o+1-a.length).join(e)+f},U={s:W,z:function(f){var o=-f.utcOffset(),e=Math.abs(o),a=Math.floor(e/60),r=e%60;return(o<=0?"+":"-")+W(a,2,"0")+":"+W(r,2,"0")},m:function f(o,e){if(o.date()1)return f(d[0])}else{var w=o.name;N[w]=o,r=w}return!a&&r&&(j=r),r||!a&&j},E=function(f,o){if(P(f))return f.clone();var e=typeof o=="object"?o:{};return e.date=f,e.args=arguments,new I(e)},S=U;S.l=R,S.i=P,S.w=function(f,o){return E(f,{locale:o.$L,utc:o.$u,x:o.$x,$offset:o.$offset})};var I=function(){function f(e){this.$L=R(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[V]=!0}var o=f.prototype;return o.parse=function(e){this.$d=function(a){var r=a.date,l=a.utc;if(r===null)return new Date(NaN);if(S.u(r))return new Date;if(r instanceof Date)return new Date(r);if(typeof r=="string"&&!/Z$/i.test(r)){var d=r.match(_);if(d){var w=d[2]-1||0,u=(d[7]||"0").substring(0,3);return l?new Date(Date.UTC(d[1],w,d[3]||1,d[4]||0,d[5]||0,d[6]||0,u)):new Date(d[1],w,d[3]||1,d[4]||0,d[5]||0,d[6]||0,u)}}return new Date(r)}(e),this.init()},o.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},o.$utils=function(){return S},o.isValid=function(){return this.$d.toString()!==x},o.isSame=function(e,a){var r=E(e);return this.startOf(a)<=r&&r<=this.endOf(a)},o.isAfter=function(e,a){return E(e)1&&arguments[1]!==void 0?arguments[1]:{container:document.body},s="";return typeof n=="string"?s=J(n,i):n instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(n?.type)?s=J(n.value,i):(s=T()(n),g("copy")),s},U=W;function j(u){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?j=function(i){return typeof i}:j=function(i){return i&&typeof Symbol=="function"&&i.constructor===Symbol&&i!==Symbol.prototype?"symbol":typeof i},j(u)}var N=function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=n.action,s=i===void 0?"copy":i,c=n.container,h=n.target,O=n.text;if(s!=="copy"&&s!=="cut")throw new Error('Invalid "action" value, use either "copy" or "cut"');if(h!==void 0)if(h&&j(h)==="object"&&h.nodeType===1){if(s==="copy"&&h.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if(s==="cut"&&(h.hasAttribute("readonly")||h.hasAttribute("disabled")))throw new Error(`Invalid "target" attribute. You can't cut text from elements with "readonly" or "disabled" attributes`)}else throw new Error('Invalid "target" value, use a valid Element');if(O)return U(O,{container:c});if(h)return s==="cut"?_(h):U(h,{container:c})},V=N;function P(u){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?P=function(i){return typeof i}:P=function(i){return i&&typeof Symbol=="function"&&i.constructor===Symbol&&i!==Symbol.prototype?"symbol":typeof i},P(u)}function R(u,n){if(!(u instanceof n))throw new TypeError("Cannot call a class as a function")}function E(u,n){for(var i=0;i"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}function r(u){return r=Object.setPrototypeOf?Object.getPrototypeOf:function(i){return i.__proto__||Object.getPrototypeOf(i)},r(u)}function l(u,n){var i="data-clipboard-".concat(u);if(n.hasAttribute(i))return n.getAttribute(i)}var d=function(u){I(i,u);var n=f(i);function i(s,c){var h;return R(this,i),h=n.call(this),h.resolveOptions(c),h.listenClick(s),h}return S(i,[{key:"resolveOptions",value:function(){var c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.action=typeof c.action=="function"?c.action:this.defaultAction,this.target=typeof c.target=="function"?c.target:this.defaultTarget,this.text=typeof c.text=="function"?c.text:this.defaultText,this.container=P(c.container)==="object"?c.container:document.body}},{key:"listenClick",value:function(c){var h=this;this.listener=$()(c,"click",function(O){return h.onClick(O)})}},{key:"onClick",value:function(c){var h=c.delegateTarget||c.currentTarget,O=this.action(h)||"copy",k=V({action:O,container:this.container,target:this.target(h),text:this.text(h)});this.emit(k?"success":"error",{action:O,text:k,trigger:h,clearSelection:function(){h&&h.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(c){return l("action",c)}},{key:"defaultTarget",value:function(c){var h=l("target",c);if(h)return document.querySelector(h)}},{key:"defaultText",value:function(c){return l("text",c)}},{key:"destroy",value:function(){this.listener.destroy()}}],[{key:"copy",value:function(c){var h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body};return U(c,h)}},{key:"cut",value:function(c){return _(c)}},{key:"isSupported",value:function(){var c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["copy","cut"],h=typeof c=="string"?[c]:c,O=!!document.queryCommandSupported;return h.forEach(function(k){O=O&&!!document.queryCommandSupported(k)}),O}}]),i}(p()),w=d},828:function(b){var v=9;if(typeof Element<"u"&&!Element.prototype.matches){var t=Element.prototype;t.matches=t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector}function y(p,m){for(;p&&p.nodeType!==v;){if(typeof p.matches=="function"&&p.matches(m))return p;p=p.parentNode}}b.exports=y},438:function(b,v,t){var y=t(828);function p(M,T,g,x,_){var C=$.apply(this,arguments);return M.addEventListener(g,C,_),{destroy:function(){M.removeEventListener(g,C,_)}}}function m(M,T,g,x,_){return typeof M.addEventListener=="function"?p.apply(null,arguments):typeof g=="function"?p.bind(null,document).apply(null,arguments):(typeof M=="string"&&(M=document.querySelectorAll(M)),Array.prototype.map.call(M,function(C){return p(C,T,g,x,_)}))}function $(M,T,g,x){return function(_){_.delegateTarget=y(_.target,T),_.delegateTarget&&x.call(M,_)}}b.exports=m},879:function(b,v){v.node=function(t){return t!==void 0&&t instanceof HTMLElement&&t.nodeType===1},v.nodeList=function(t){var y=Object.prototype.toString.call(t);return t!==void 0&&(y==="[object NodeList]"||y==="[object HTMLCollection]")&&"length"in t&&(t.length===0||v.node(t[0]))},v.string=function(t){return typeof t=="string"||t instanceof String},v.fn=function(t){var y=Object.prototype.toString.call(t);return y==="[object Function]"}},370:function(b,v,t){var y=t(879),p=t(438);function m(g,x,_){if(!g&&!x&&!_)throw new Error("Missing required arguments");if(!y.string(x))throw new TypeError("Second argument must be a String");if(!y.fn(_))throw new TypeError("Third argument must be a Function");if(y.node(g))return $(g,x,_);if(y.nodeList(g))return M(g,x,_);if(y.string(g))return T(g,x,_);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function $(g,x,_){return g.addEventListener(x,_),{destroy:function(){g.removeEventListener(x,_)}}}function M(g,x,_){return Array.prototype.forEach.call(g,function(C){C.addEventListener(x,_)}),{destroy:function(){Array.prototype.forEach.call(g,function(C){C.removeEventListener(x,_)})}}}function T(g,x,_){return p(document.body,g,x,_)}b.exports=m},817:function(b){function v(t){var y;if(t.nodeName==="SELECT")t.focus(),y=t.value;else if(t.nodeName==="INPUT"||t.nodeName==="TEXTAREA"){var p=t.hasAttribute("readonly");p||t.setAttribute("readonly",""),t.select(),t.setSelectionRange(0,t.value.length),p||t.removeAttribute("readonly"),y=t.value}else{t.hasAttribute("contenteditable")&&t.focus();var m=window.getSelection(),$=document.createRange();$.selectNodeContents(t),m.removeAllRanges(),m.addRange($),y=m.toString()}return y}b.exports=v},279:function(b){function v(){}v.prototype={on:function(t,y,p){var m=this.e||(this.e={});return(m[t]||(m[t]=[])).push({fn:y,ctx:p}),this},once:function(t,y,p){var m=this;function $(){m.off(t,$),y.apply(p,arguments)}return $._=y,this.on(t,$,p)},emit:function(t){var y=[].slice.call(arguments,1),p=((this.e||(this.e={}))[t]||[]).slice(),m=0,$=p.length;for(m;m<$;m++)p[m].fn.apply(p[m].ctx,y);return this},off:function(t,y){var p=this.e||(this.e={}),m=p[t],$=[];if(m&&y)for(var M=0,T=m.length;M{const{__scopeCollapsible:r,open:s,defaultOpen:t,disabled:l,onOpenChange:i,...f}=e,[p=!1,d]=S({prop:s,defaultProp:t,onChange:i});return c.jsx(F,{scope:r,disabled:l,contentId:$(),open:p,onOpenToggle:n.useCallback(()=>d(C=>!C),[d]),children:c.jsx(m.div,{"data-state":R(p),"data-disabled":l?"":void 0,...f,ref:a})})});j.displayName=v;var w="CollapsibleTrigger",A=n.forwardRef((e,a)=>{const{__scopeCollapsible:r,...s}=e,t=g(w,r);return c.jsx(m.button,{type:"button","aria-controls":t.contentId,"aria-expanded":t.open||!1,"data-state":R(t.open),"data-disabled":t.disabled?"":void 0,disabled:t.disabled,...s,ref:a,onClick:D(e.onClick,t.onOpenToggle)})});A.displayName=w;var x="CollapsibleContent",I=n.forwardRef((e,a)=>{const{forceMount:r,...s}=e,t=g(x,e.__scopeCollapsible);return c.jsx(L,{present:r||t.open,children:({present:l})=>c.jsx(B,{...s,ref:a,present:l})})});I.displayName=x;var B=n.forwardRef((e,a)=>{const{__scopeCollapsible:r,present:s,children:t,...l}=e,i=g(x,r),[f,p]=n.useState(s),d=n.useRef(null),C=O(a,d),h=n.useRef(0),P=h.current,y=n.useRef(0),N=y.current,b=i.open||f,E=n.useRef(b),u=n.useRef(void 0);return n.useEffect(()=>{const o=requestAnimationFrame(()=>E.current=!1);return()=>cancelAnimationFrame(o)},[]),M(()=>{const o=d.current;if(o){u.current=u.current||{transitionDuration:o.style.transitionDuration,animationName:o.style.animationName},o.style.transitionDuration="0s",o.style.animationName="none";const _=o.getBoundingClientRect();h.current=_.height,y.current=_.width,E.current||(o.style.transitionDuration=u.current.transitionDuration,o.style.animationName=u.current.animationName),p(s)}},[i.open,s]),c.jsx(m.div,{"data-state":R(i.open),"data-disabled":i.disabled?"":void 0,id:i.contentId,hidden:!b,...l,ref:C,style:{"--radix-collapsible-content-height":P?`${P}px`:void 0,"--radix-collapsible-content-width":N?`${N}px`:void 0,...e.style},children:b&&t})});function R(e){return e?"open":"closed"}var G=j;const Q=G,U=A,V=I;export{Q as C,U as a,V as b}; diff --git a/public/assets/admin/assets/column-header-BLyyjrhJ.js b/public/assets/admin/assets/column-header-BLyyjrhJ.js deleted file mode 100644 index 08a82e9d9..000000000 --- a/public/assets/admin/assets/column-header-BLyyjrhJ.js +++ /dev/null @@ -1,32 +0,0 @@ -import{r as P,j as S,a as V,B as L,x as He}from"./index-_xd8OyP8.js";import{i as Ae,g as Ge,h as Le,j as je}from"./react-icons.esm-rZq2pt7A.js";import{I as ze}from"./input-d0vtE30O.js";import{S as Ne,a as Oe,b as Te,c as Be,d as ke}from"./select-Cqkdx-UJ.js";import{T as ue,a as ae,b as ge,c as de}from"./tooltip-B58e4dA7.js";import{c as Se}from"./user-nav-BBmBVa03.js";import{A as qe,a as Ue}from"./arrow-up-9fLptvj0.js";/** - * @license lucide-react v0.399.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Xe=Se("ArrowUpDown",[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]]);/** - * @license lucide-react v0.399.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const ce=Se("CircleHelp",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/** - * table-core - * - * Copyright (c) TanStack - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */function E(e,o){return typeof e=="function"?e(o):e}function M(e,o){return t=>{o.setState(n=>({...n,[e]:E(t,n[e])}))}}function k(e){return e instanceof Function}function Ke(e){return Array.isArray(e)&&e.every(o=>typeof o=="number")}function We(e,o){const t=[],n=r=>{r.forEach(i=>{t.push(i);const l=o(i);l!=null&&l.length&&n(l)})};return n(e),t}function w(e,o,t){let n=[],r;return i=>{let l;t.key&&t.debug&&(l=Date.now());const u=e(i);if(!(u.length!==n.length||u.some((c,m)=>n[m]!==c)))return r;n=u;let g;if(t.key&&t.debug&&(g=Date.now()),r=o(...u),t==null||t.onChange==null||t.onChange(r),t.key&&t.debug&&t!=null&&t.debug()){const c=Math.round((Date.now()-l)*100)/100,m=Math.round((Date.now()-g)*100)/100,d=m/16,s=(f,p)=>{for(f=String(f);f.length{var r;return(r=e?.debugAll)!=null?r:e[o]},key:!1,onChange:n}}function Je(e,o,t,n){const r=()=>{var l;return(l=i.getValue())!=null?l:e.options.renderFallbackValue},i={id:`${o.id}_${t.id}`,row:o,column:t,getValue:()=>o.getValue(n),renderValue:r,getContext:w(()=>[e,t,o,i],(l,u,a,g)=>({table:l,column:u,row:a,cell:g,getValue:g.getValue,renderValue:g.renderValue}),C(e.options,"debugCells"))};return e._features.forEach(l=>{l.createCell==null||l.createCell(i,t,o,e)},{}),i}function Qe(e,o,t,n){var r,i;const u={...e._getDefaultColumnDef(),...o},a=u.accessorKey;let g=(r=(i=u.id)!=null?i:a?typeof String.prototype.replaceAll=="function"?a.replaceAll(".","_"):a.replace(/\./g,"_"):void 0)!=null?r:typeof u.header=="string"?u.header:void 0,c;if(u.accessorFn?c=u.accessorFn:a&&(a.includes(".")?c=d=>{let s=d;for(const p of a.split(".")){var f;s=(f=s)==null?void 0:f[p]}return s}:c=d=>d[u.accessorKey]),!g)throw new Error;let m={id:`${String(g)}`,accessorFn:c,parent:n,depth:t,columnDef:u,columns:[],getFlatColumns:w(()=>[!0],()=>{var d;return[m,...(d=m.columns)==null?void 0:d.flatMap(s=>s.getFlatColumns())]},C(e.options,"debugColumns")),getLeafColumns:w(()=>[e._getOrderColumnsFn()],d=>{var s;if((s=m.columns)!=null&&s.length){let f=m.columns.flatMap(p=>p.getLeafColumns());return d(f)}return[m]},C(e.options,"debugColumns"))};for(const d of e._features)d.createColumn==null||d.createColumn(m,e);return m}const $="debugHeaders";function fe(e,o,t){var n;let i={id:(n=t.id)!=null?n:o.id,column:o,index:t.index,isPlaceholder:!!t.isPlaceholder,placeholderId:t.placeholderId,depth:t.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{const l=[],u=a=>{a.subHeaders&&a.subHeaders.length&&a.subHeaders.map(u),l.push(a)};return u(i),l},getContext:()=>({table:e,header:i,column:o})};return e._features.forEach(l=>{l.createHeader==null||l.createHeader(i,e)}),i}const Ye={createTable:e=>{e.getHeaderGroups=w(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(o,t,n,r)=>{var i,l;const u=(i=n?.map(m=>t.find(d=>d.id===m)).filter(Boolean))!=null?i:[],a=(l=r?.map(m=>t.find(d=>d.id===m)).filter(Boolean))!=null?l:[],g=t.filter(m=>!(n!=null&&n.includes(m.id))&&!(r!=null&&r.includes(m.id)));return N(o,[...u,...g,...a],e)},C(e.options,$)),e.getCenterHeaderGroups=w(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(o,t,n,r)=>(t=t.filter(i=>!(n!=null&&n.includes(i.id))&&!(r!=null&&r.includes(i.id))),N(o,t,e,"center")),C(e.options,$)),e.getLeftHeaderGroups=w(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(o,t,n)=>{var r;const i=(r=n?.map(l=>t.find(u=>u.id===l)).filter(Boolean))!=null?r:[];return N(o,i,e,"left")},C(e.options,$)),e.getRightHeaderGroups=w(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(o,t,n)=>{var r;const i=(r=n?.map(l=>t.find(u=>u.id===l)).filter(Boolean))!=null?r:[];return N(o,i,e,"right")},C(e.options,$)),e.getFooterGroups=w(()=>[e.getHeaderGroups()],o=>[...o].reverse(),C(e.options,$)),e.getLeftFooterGroups=w(()=>[e.getLeftHeaderGroups()],o=>[...o].reverse(),C(e.options,$)),e.getCenterFooterGroups=w(()=>[e.getCenterHeaderGroups()],o=>[...o].reverse(),C(e.options,$)),e.getRightFooterGroups=w(()=>[e.getRightHeaderGroups()],o=>[...o].reverse(),C(e.options,$)),e.getFlatHeaders=w(()=>[e.getHeaderGroups()],o=>o.map(t=>t.headers).flat(),C(e.options,$)),e.getLeftFlatHeaders=w(()=>[e.getLeftHeaderGroups()],o=>o.map(t=>t.headers).flat(),C(e.options,$)),e.getCenterFlatHeaders=w(()=>[e.getCenterHeaderGroups()],o=>o.map(t=>t.headers).flat(),C(e.options,$)),e.getRightFlatHeaders=w(()=>[e.getRightHeaderGroups()],o=>o.map(t=>t.headers).flat(),C(e.options,$)),e.getCenterLeafHeaders=w(()=>[e.getCenterFlatHeaders()],o=>o.filter(t=>{var n;return!((n=t.subHeaders)!=null&&n.length)}),C(e.options,$)),e.getLeftLeafHeaders=w(()=>[e.getLeftFlatHeaders()],o=>o.filter(t=>{var n;return!((n=t.subHeaders)!=null&&n.length)}),C(e.options,$)),e.getRightLeafHeaders=w(()=>[e.getRightFlatHeaders()],o=>o.filter(t=>{var n;return!((n=t.subHeaders)!=null&&n.length)}),C(e.options,$)),e.getLeafHeaders=w(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(o,t,n)=>{var r,i,l,u,a,g;return[...(r=(i=o[0])==null?void 0:i.headers)!=null?r:[],...(l=(u=t[0])==null?void 0:u.headers)!=null?l:[],...(a=(g=n[0])==null?void 0:g.headers)!=null?a:[]].map(c=>c.getLeafHeaders()).flat()},C(e.options,$))}};function N(e,o,t,n){var r,i;let l=0;const u=function(d,s){s===void 0&&(s=1),l=Math.max(l,s),d.filter(f=>f.getIsVisible()).forEach(f=>{var p;(p=f.columns)!=null&&p.length&&u(f.columns,s+1)},0)};u(e);let a=[];const g=(d,s)=>{const f={depth:s,id:[n,`${s}`].filter(Boolean).join("_"),headers:[]},p=[];d.forEach(R=>{const h=[...p].reverse()[0],v=R.column.depth===f.depth;let x,F=!1;if(v&&R.column.parent?x=R.column.parent:(x=R.column,F=!0),h&&h?.column===x)h.subHeaders.push(R);else{const _=fe(t,x,{id:[n,s,x.id,R?.id].filter(Boolean).join("_"),isPlaceholder:F,placeholderId:F?`${p.filter(I=>I.column===x).length}`:void 0,depth:s,index:p.length});_.subHeaders.push(R),p.push(_)}f.headers.push(R),R.headerGroup=f}),a.push(f),s>0&&g(p,s-1)},c=o.map((d,s)=>fe(t,d,{depth:l,index:s}));g(c,l-1),a.reverse();const m=d=>d.filter(f=>f.column.getIsVisible()).map(f=>{let p=0,R=0,h=[0];f.subHeaders&&f.subHeaders.length?(h=[],m(f.subHeaders).forEach(x=>{let{colSpan:F,rowSpan:_}=x;p+=F,h.push(_)})):p=1;const v=Math.min(...h);return R=R+v,f.colSpan=p,f.rowSpan=R,{colSpan:p,rowSpan:R}});return m((r=(i=a[0])==null?void 0:i.headers)!=null?r:[]),a}const oe=(e,o,t,n,r,i,l)=>{let u={id:o,index:n,original:t,depth:r,parentId:l,_valuesCache:{},_uniqueValuesCache:{},getValue:a=>{if(u._valuesCache.hasOwnProperty(a))return u._valuesCache[a];const g=e.getColumn(a);if(g!=null&&g.accessorFn)return u._valuesCache[a]=g.accessorFn(u.original,n),u._valuesCache[a]},getUniqueValues:a=>{if(u._uniqueValuesCache.hasOwnProperty(a))return u._uniqueValuesCache[a];const g=e.getColumn(a);if(g!=null&&g.accessorFn)return g.columnDef.getUniqueValues?(u._uniqueValuesCache[a]=g.columnDef.getUniqueValues(u.original,n),u._uniqueValuesCache[a]):(u._uniqueValuesCache[a]=[u.getValue(a)],u._uniqueValuesCache[a])},renderValue:a=>{var g;return(g=u.getValue(a))!=null?g:e.options.renderFallbackValue},subRows:[],getLeafRows:()=>We(u.subRows,a=>a.subRows),getParentRow:()=>u.parentId?e.getRow(u.parentId,!0):void 0,getParentRows:()=>{let a=[],g=u;for(;;){const c=g.getParentRow();if(!c)break;a.push(c),g=c}return a.reverse()},getAllCells:w(()=>[e.getAllLeafColumns()],a=>a.map(g=>Je(e,u,g,g.id)),C(e.options,"debugRows")),_getAllCellsByColumnId:w(()=>[u.getAllCells()],a=>a.reduce((g,c)=>(g[c.column.id]=c,g),{}),C(e.options,"debugRows"))};for(let a=0;a{e._getFacetedRowModel=o.options.getFacetedRowModel&&o.options.getFacetedRowModel(o,e.id),e.getFacetedRowModel=()=>e._getFacetedRowModel?e._getFacetedRowModel():o.getPreFilteredRowModel(),e._getFacetedUniqueValues=o.options.getFacetedUniqueValues&&o.options.getFacetedUniqueValues(o,e.id),e.getFacetedUniqueValues=()=>e._getFacetedUniqueValues?e._getFacetedUniqueValues():new Map,e._getFacetedMinMaxValues=o.options.getFacetedMinMaxValues&&o.options.getFacetedMinMaxValues(o,e.id),e.getFacetedMinMaxValues=()=>{if(e._getFacetedMinMaxValues)return e._getFacetedMinMaxValues()}}},he=(e,o,t)=>{var n,r;const i=t==null||(n=t.toString())==null?void 0:n.toLowerCase();return!!(!((r=e.getValue(o))==null||(r=r.toString())==null||(r=r.toLowerCase())==null)&&r.includes(i))};he.autoRemove=e=>y(e);const we=(e,o,t)=>{var n;return!!(!((n=e.getValue(o))==null||(n=n.toString())==null)&&n.includes(t))};we.autoRemove=e=>y(e);const Ce=(e,o,t)=>{var n;return((n=e.getValue(o))==null||(n=n.toString())==null?void 0:n.toLowerCase())===t?.toLowerCase()};Ce.autoRemove=e=>y(e);const Re=(e,o,t)=>{var n;return(n=e.getValue(o))==null?void 0:n.includes(t)};Re.autoRemove=e=>y(e)||!(e!=null&&e.length);const ve=(e,o,t)=>!t.some(n=>{var r;return!((r=e.getValue(o))!=null&&r.includes(n))});ve.autoRemove=e=>y(e)||!(e!=null&&e.length);const xe=(e,o,t)=>t.some(n=>{var r;return(r=e.getValue(o))==null?void 0:r.includes(n)});xe.autoRemove=e=>y(e)||!(e!=null&&e.length);const _e=(e,o,t)=>e.getValue(o)===t;_e.autoRemove=e=>y(e);const Fe=(e,o,t)=>e.getValue(o)==t;Fe.autoRemove=e=>y(e);const re=(e,o,t)=>{let[n,r]=t;const i=e.getValue(o);return i>=n&&i<=r};re.resolveFilterValue=e=>{let[o,t]=e,n=typeof o!="number"?parseFloat(o):o,r=typeof t!="number"?parseFloat(t):t,i=o===null||Number.isNaN(n)?-1/0:n,l=t===null||Number.isNaN(r)?1/0:r;if(i>l){const u=i;i=l,l=u}return[i,l]};re.autoRemove=e=>y(e)||y(e[0])&&y(e[1]);const D={includesString:he,includesStringSensitive:we,equalsString:Ce,arrIncludes:Re,arrIncludesAll:ve,arrIncludesSome:xe,equals:_e,weakEquals:Fe,inNumberRange:re};function y(e){return e==null||e===""}const be={getDefaultColumnDef:()=>({filterFn:"auto"}),getInitialState:e=>({columnFilters:[],...e}),getDefaultOptions:e=>({onColumnFiltersChange:M("columnFilters",e),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(e,o)=>{e.getAutoFilterFn=()=>{const t=o.getCoreRowModel().flatRows[0],n=t?.getValue(e.id);return typeof n=="string"?D.includesString:typeof n=="number"?D.inNumberRange:typeof n=="boolean"||n!==null&&typeof n=="object"?D.equals:Array.isArray(n)?D.arrIncludes:D.weakEquals},e.getFilterFn=()=>{var t,n;return k(e.columnDef.filterFn)?e.columnDef.filterFn:e.columnDef.filterFn==="auto"?e.getAutoFilterFn():(t=(n=o.options.filterFns)==null?void 0:n[e.columnDef.filterFn])!=null?t:D[e.columnDef.filterFn]},e.getCanFilter=()=>{var t,n,r;return((t=e.columnDef.enableColumnFilter)!=null?t:!0)&&((n=o.options.enableColumnFilters)!=null?n:!0)&&((r=o.options.enableFilters)!=null?r:!0)&&!!e.accessorFn},e.getIsFiltered=()=>e.getFilterIndex()>-1,e.getFilterValue=()=>{var t;return(t=o.getState().columnFilters)==null||(t=t.find(n=>n.id===e.id))==null?void 0:t.value},e.getFilterIndex=()=>{var t,n;return(t=(n=o.getState().columnFilters)==null?void 0:n.findIndex(r=>r.id===e.id))!=null?t:-1},e.setFilterValue=t=>{o.setColumnFilters(n=>{const r=e.getFilterFn(),i=n?.find(c=>c.id===e.id),l=E(t,i?i.value:void 0);if(pe(r,l,e)){var u;return(u=n?.filter(c=>c.id!==e.id))!=null?u:[]}const a={id:e.id,value:l};if(i){var g;return(g=n?.map(c=>c.id===e.id?a:c))!=null?g:[]}return n!=null&&n.length?[...n,a]:[a]})}},createRow:(e,o)=>{e.columnFilters={},e.columnFiltersMeta={}},createTable:e=>{e.setColumnFilters=o=>{const t=e.getAllLeafColumns(),n=r=>{var i;return(i=E(o,r))==null?void 0:i.filter(l=>{const u=t.find(a=>a.id===l.id);if(u){const a=u.getFilterFn();if(pe(a,l.value,u))return!1}return!0})};e.options.onColumnFiltersChange==null||e.options.onColumnFiltersChange(n)},e.resetColumnFilters=o=>{var t,n;e.setColumnFilters(o?[]:(t=(n=e.initialState)==null?void 0:n.columnFilters)!=null?t:[])},e.getPreFilteredRowModel=()=>e.getCoreRowModel(),e.getFilteredRowModel=()=>(!e._getFilteredRowModel&&e.options.getFilteredRowModel&&(e._getFilteredRowModel=e.options.getFilteredRowModel(e)),e.options.manualFiltering||!e._getFilteredRowModel?e.getPreFilteredRowModel():e._getFilteredRowModel())}};function pe(e,o,t){return(e&&e.autoRemove?e.autoRemove(o,t):!1)||typeof o>"u"||typeof o=="string"&&!o}const et=(e,o,t)=>t.reduce((n,r)=>{const i=r.getValue(e);return n+(typeof i=="number"?i:0)},0),tt=(e,o,t)=>{let n;return t.forEach(r=>{const i=r.getValue(e);i!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}),n},nt=(e,o,t)=>{let n;return t.forEach(r=>{const i=r.getValue(e);i!=null&&(n=i)&&(n=i)}),n},ot=(e,o,t)=>{let n,r;return t.forEach(i=>{const l=i.getValue(e);l!=null&&(n===void 0?l>=l&&(n=r=l):(n>l&&(n=l),r{let t=0,n=0;if(o.forEach(r=>{let i=r.getValue(e);i!=null&&(i=+i)>=i&&(++t,n+=i)}),t)return n/t},it=(e,o)=>{if(!o.length)return;const t=o.map(i=>i.getValue(e));if(!Ke(t))return;if(t.length===1)return t[0];const n=Math.floor(t.length/2),r=t.sort((i,l)=>i-l);return t.length%2!==0?r[n]:(r[n-1]+r[n])/2},lt=(e,o)=>Array.from(new Set(o.map(t=>t.getValue(e))).values()),st=(e,o)=>new Set(o.map(t=>t.getValue(e))).size,ut=(e,o)=>o.length,q={sum:et,min:tt,max:nt,extent:ot,mean:rt,median:it,unique:lt,uniqueCount:st,count:ut},at={getDefaultColumnDef:()=>({aggregatedCell:e=>{var o,t;return(o=(t=e.getValue())==null||t.toString==null?void 0:t.toString())!=null?o:null},aggregationFn:"auto"}),getInitialState:e=>({grouping:[],...e}),getDefaultOptions:e=>({onGroupingChange:M("grouping",e),groupedColumnMode:"reorder"}),createColumn:(e,o)=>{e.toggleGrouping=()=>{o.setGrouping(t=>t!=null&&t.includes(e.id)?t.filter(n=>n!==e.id):[...t??[],e.id])},e.getCanGroup=()=>{var t,n;return((t=e.columnDef.enableGrouping)!=null?t:!0)&&((n=o.options.enableGrouping)!=null?n:!0)&&(!!e.accessorFn||!!e.columnDef.getGroupingValue)},e.getIsGrouped=()=>{var t;return(t=o.getState().grouping)==null?void 0:t.includes(e.id)},e.getGroupedIndex=()=>{var t;return(t=o.getState().grouping)==null?void 0:t.indexOf(e.id)},e.getToggleGroupingHandler=()=>{const t=e.getCanGroup();return()=>{t&&e.toggleGrouping()}},e.getAutoAggregationFn=()=>{const t=o.getCoreRowModel().flatRows[0],n=t?.getValue(e.id);if(typeof n=="number")return q.sum;if(Object.prototype.toString.call(n)==="[object Date]")return q.extent},e.getAggregationFn=()=>{var t,n;if(!e)throw new Error;return k(e.columnDef.aggregationFn)?e.columnDef.aggregationFn:e.columnDef.aggregationFn==="auto"?e.getAutoAggregationFn():(t=(n=o.options.aggregationFns)==null?void 0:n[e.columnDef.aggregationFn])!=null?t:q[e.columnDef.aggregationFn]}},createTable:e=>{e.setGrouping=o=>e.options.onGroupingChange==null?void 0:e.options.onGroupingChange(o),e.resetGrouping=o=>{var t,n;e.setGrouping(o?[]:(t=(n=e.initialState)==null?void 0:n.grouping)!=null?t:[])},e.getPreGroupedRowModel=()=>e.getFilteredRowModel(),e.getGroupedRowModel=()=>(!e._getGroupedRowModel&&e.options.getGroupedRowModel&&(e._getGroupedRowModel=e.options.getGroupedRowModel(e)),e.options.manualGrouping||!e._getGroupedRowModel?e.getPreGroupedRowModel():e._getGroupedRowModel())},createRow:(e,o)=>{e.getIsGrouped=()=>!!e.groupingColumnId,e.getGroupingValue=t=>{if(e._groupingValuesCache.hasOwnProperty(t))return e._groupingValuesCache[t];const n=o.getColumn(t);return n!=null&&n.columnDef.getGroupingValue?(e._groupingValuesCache[t]=n.columnDef.getGroupingValue(e.original),e._groupingValuesCache[t]):e.getValue(t)},e._groupingValuesCache={}},createCell:(e,o,t,n)=>{e.getIsGrouped=()=>o.getIsGrouped()&&o.id===t.groupingColumnId,e.getIsPlaceholder=()=>!e.getIsGrouped()&&o.getIsGrouped(),e.getIsAggregated=()=>{var r;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&!!((r=t.subRows)!=null&&r.length)}}};function gt(e,o,t){if(!(o!=null&&o.length)||!t)return e;const n=e.filter(i=>!o.includes(i.id));return t==="remove"?n:[...o.map(i=>e.find(l=>l.id===i)).filter(Boolean),...n]}const dt={getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:M("columnOrder",e)}),createColumn:(e,o)=>{e.getIndex=w(t=>[j(o,t)],t=>t.findIndex(n=>n.id===e.id),C(o.options,"debugColumns")),e.getIsFirstColumn=t=>{var n;return((n=j(o,t)[0])==null?void 0:n.id)===e.id},e.getIsLastColumn=t=>{var n;const r=j(o,t);return((n=r[r.length-1])==null?void 0:n.id)===e.id}},createTable:e=>{e.setColumnOrder=o=>e.options.onColumnOrderChange==null?void 0:e.options.onColumnOrderChange(o),e.resetColumnOrder=o=>{var t;e.setColumnOrder(o?[]:(t=e.initialState.columnOrder)!=null?t:[])},e._getOrderColumnsFn=w(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(o,t,n)=>r=>{let i=[];if(!(o!=null&&o.length))i=r;else{const l=[...o],u=[...r];for(;u.length&&l.length;){const a=l.shift(),g=u.findIndex(c=>c.id===a);g>-1&&i.push(u.splice(g,1)[0])}i=[...i,...u]}return gt(i,t,n)},C(e.options,"debugTable"))}},U=()=>({left:[],right:[]}),ct={getInitialState:e=>({columnPinning:U(),...e}),getDefaultOptions:e=>({onColumnPinningChange:M("columnPinning",e)}),createColumn:(e,o)=>{e.pin=t=>{const n=e.getLeafColumns().map(r=>r.id).filter(Boolean);o.setColumnPinning(r=>{var i,l;if(t==="right"){var u,a;return{left:((u=r?.left)!=null?u:[]).filter(m=>!(n!=null&&n.includes(m))),right:[...((a=r?.right)!=null?a:[]).filter(m=>!(n!=null&&n.includes(m))),...n]}}if(t==="left"){var g,c;return{left:[...((g=r?.left)!=null?g:[]).filter(m=>!(n!=null&&n.includes(m))),...n],right:((c=r?.right)!=null?c:[]).filter(m=>!(n!=null&&n.includes(m)))}}return{left:((i=r?.left)!=null?i:[]).filter(m=>!(n!=null&&n.includes(m))),right:((l=r?.right)!=null?l:[]).filter(m=>!(n!=null&&n.includes(m)))}})},e.getCanPin=()=>e.getLeafColumns().some(n=>{var r,i,l;return((r=n.columnDef.enablePinning)!=null?r:!0)&&((i=(l=o.options.enableColumnPinning)!=null?l:o.options.enablePinning)!=null?i:!0)}),e.getIsPinned=()=>{const t=e.getLeafColumns().map(u=>u.id),{left:n,right:r}=o.getState().columnPinning,i=t.some(u=>n?.includes(u)),l=t.some(u=>r?.includes(u));return i?"left":l?"right":!1},e.getPinnedIndex=()=>{var t,n;const r=e.getIsPinned();return r?(t=(n=o.getState().columnPinning)==null||(n=n[r])==null?void 0:n.indexOf(e.id))!=null?t:-1:0}},createRow:(e,o)=>{e.getCenterVisibleCells=w(()=>[e._getAllVisibleCells(),o.getState().columnPinning.left,o.getState().columnPinning.right],(t,n,r)=>{const i=[...n??[],...r??[]];return t.filter(l=>!i.includes(l.column.id))},C(o.options,"debugRows")),e.getLeftVisibleCells=w(()=>[e._getAllVisibleCells(),o.getState().columnPinning.left],(t,n)=>(n??[]).map(i=>t.find(l=>l.column.id===i)).filter(Boolean).map(i=>({...i,position:"left"})),C(o.options,"debugRows")),e.getRightVisibleCells=w(()=>[e._getAllVisibleCells(),o.getState().columnPinning.right],(t,n)=>(n??[]).map(i=>t.find(l=>l.column.id===i)).filter(Boolean).map(i=>({...i,position:"right"})),C(o.options,"debugRows"))},createTable:e=>{e.setColumnPinning=o=>e.options.onColumnPinningChange==null?void 0:e.options.onColumnPinningChange(o),e.resetColumnPinning=o=>{var t,n;return e.setColumnPinning(o?U():(t=(n=e.initialState)==null?void 0:n.columnPinning)!=null?t:U())},e.getIsSomeColumnsPinned=o=>{var t;const n=e.getState().columnPinning;if(!o){var r,i;return!!((r=n.left)!=null&&r.length||(i=n.right)!=null&&i.length)}return!!((t=n[o])!=null&&t.length)},e.getLeftLeafColumns=w(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left],(o,t)=>(t??[]).map(n=>o.find(r=>r.id===n)).filter(Boolean),C(e.options,"debugColumns")),e.getRightLeafColumns=w(()=>[e.getAllLeafColumns(),e.getState().columnPinning.right],(o,t)=>(t??[]).map(n=>o.find(r=>r.id===n)).filter(Boolean),C(e.options,"debugColumns")),e.getCenterLeafColumns=w(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(o,t,n)=>{const r=[...t??[],...n??[]];return o.filter(i=>!r.includes(i.id))},C(e.options,"debugColumns"))}},O={size:150,minSize:20,maxSize:Number.MAX_SAFE_INTEGER},X=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),ft={getDefaultColumnDef:()=>O,getInitialState:e=>({columnSizing:{},columnSizingInfo:X(),...e}),getDefaultOptions:e=>({columnResizeMode:"onEnd",columnResizeDirection:"ltr",onColumnSizingChange:M("columnSizing",e),onColumnSizingInfoChange:M("columnSizingInfo",e)}),createColumn:(e,o)=>{e.getSize=()=>{var t,n,r;const i=o.getState().columnSizing[e.id];return Math.min(Math.max((t=e.columnDef.minSize)!=null?t:O.minSize,(n=i??e.columnDef.size)!=null?n:O.size),(r=e.columnDef.maxSize)!=null?r:O.maxSize)},e.getStart=w(t=>[t,j(o,t),o.getState().columnSizing],(t,n)=>n.slice(0,e.getIndex(t)).reduce((r,i)=>r+i.getSize(),0),C(o.options,"debugColumns")),e.getAfter=w(t=>[t,j(o,t),o.getState().columnSizing],(t,n)=>n.slice(e.getIndex(t)+1).reduce((r,i)=>r+i.getSize(),0),C(o.options,"debugColumns")),e.resetSize=()=>{o.setColumnSizing(t=>{let{[e.id]:n,...r}=t;return r})},e.getCanResize=()=>{var t,n;return((t=e.columnDef.enableResizing)!=null?t:!0)&&((n=o.options.enableColumnResizing)!=null?n:!0)},e.getIsResizing=()=>o.getState().columnSizingInfo.isResizingColumn===e.id},createHeader:(e,o)=>{e.getSize=()=>{let t=0;const n=r=>{if(r.subHeaders.length)r.subHeaders.forEach(n);else{var i;t+=(i=r.column.getSize())!=null?i:0}};return n(e),t},e.getStart=()=>{if(e.index>0){const t=e.headerGroup.headers[e.index-1];return t.getStart()+t.getSize()}return 0},e.getResizeHandler=t=>{const n=o.getColumn(e.column.id),r=n?.getCanResize();return i=>{if(!n||!r||(i.persist==null||i.persist(),K(i)&&i.touches&&i.touches.length>1))return;const l=e.getSize(),u=e?e.getLeafHeaders().map(h=>[h.column.id,h.column.getSize()]):[[n.id,n.getSize()]],a=K(i)?Math.round(i.touches[0].clientX):i.clientX,g={},c=(h,v)=>{typeof v=="number"&&(o.setColumnSizingInfo(x=>{var F,_;const I=o.options.columnResizeDirection==="rtl"?-1:1,A=(v-((F=x?.startOffset)!=null?F:0))*I,z=Math.max(A/((_=x?.startSize)!=null?_:0),-.999999);return x.columnSizingStart.forEach(De=>{let[Ee,se]=De;g[Ee]=Math.round(Math.max(se+se*z,0)*100)/100}),{...x,deltaOffset:A,deltaPercentage:z}}),(o.options.columnResizeMode==="onChange"||h==="end")&&o.setColumnSizing(x=>({...x,...g})))},m=h=>c("move",h),d=h=>{c("end",h),o.setColumnSizingInfo(v=>({...v,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},s=t||typeof document<"u"?document:null,f={moveHandler:h=>m(h.clientX),upHandler:h=>{s?.removeEventListener("mousemove",f.moveHandler),s?.removeEventListener("mouseup",f.upHandler),d(h.clientX)}},p={moveHandler:h=>(h.cancelable&&(h.preventDefault(),h.stopPropagation()),m(h.touches[0].clientX),!1),upHandler:h=>{var v;s?.removeEventListener("touchmove",p.moveHandler),s?.removeEventListener("touchend",p.upHandler),h.cancelable&&(h.preventDefault(),h.stopPropagation()),d((v=h.touches[0])==null?void 0:v.clientX)}},R=pt()?{passive:!1}:!1;K(i)?(s?.addEventListener("touchmove",p.moveHandler,R),s?.addEventListener("touchend",p.upHandler,R)):(s?.addEventListener("mousemove",f.moveHandler,R),s?.addEventListener("mouseup",f.upHandler,R)),o.setColumnSizingInfo(h=>({...h,startOffset:a,startSize:l,deltaOffset:0,deltaPercentage:0,columnSizingStart:u,isResizingColumn:n.id}))}}},createTable:e=>{e.setColumnSizing=o=>e.options.onColumnSizingChange==null?void 0:e.options.onColumnSizingChange(o),e.setColumnSizingInfo=o=>e.options.onColumnSizingInfoChange==null?void 0:e.options.onColumnSizingInfoChange(o),e.resetColumnSizing=o=>{var t;e.setColumnSizing(o?{}:(t=e.initialState.columnSizing)!=null?t:{})},e.resetHeaderSizeInfo=o=>{var t;e.setColumnSizingInfo(o?X():(t=e.initialState.columnSizingInfo)!=null?t:X())},e.getTotalSize=()=>{var o,t;return(o=(t=e.getHeaderGroups()[0])==null?void 0:t.headers.reduce((n,r)=>n+r.getSize(),0))!=null?o:0},e.getLeftTotalSize=()=>{var o,t;return(o=(t=e.getLeftHeaderGroups()[0])==null?void 0:t.headers.reduce((n,r)=>n+r.getSize(),0))!=null?o:0},e.getCenterTotalSize=()=>{var o,t;return(o=(t=e.getCenterHeaderGroups()[0])==null?void 0:t.headers.reduce((n,r)=>n+r.getSize(),0))!=null?o:0},e.getRightTotalSize=()=>{var o,t;return(o=(t=e.getRightHeaderGroups()[0])==null?void 0:t.headers.reduce((n,r)=>n+r.getSize(),0))!=null?o:0}}};let T=null;function pt(){if(typeof T=="boolean")return T;let e=!1;try{const o={get passive(){return e=!0,!1}},t=()=>{};window.addEventListener("test",t,o),window.removeEventListener("test",t)}catch{e=!1}return T=e,T}function K(e){return e.type==="touchstart"}const mt={getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:M("columnVisibility",e)}),createColumn:(e,o)=>{e.toggleVisibility=t=>{e.getCanHide()&&o.setColumnVisibility(n=>({...n,[e.id]:t??!e.getIsVisible()}))},e.getIsVisible=()=>{var t,n;const r=e.columns;return(t=r.length?r.some(i=>i.getIsVisible()):(n=o.getState().columnVisibility)==null?void 0:n[e.id])!=null?t:!0},e.getCanHide=()=>{var t,n;return((t=e.columnDef.enableHiding)!=null?t:!0)&&((n=o.options.enableHiding)!=null?n:!0)},e.getToggleVisibilityHandler=()=>t=>{e.toggleVisibility==null||e.toggleVisibility(t.target.checked)}},createRow:(e,o)=>{e._getAllVisibleCells=w(()=>[e.getAllCells(),o.getState().columnVisibility],t=>t.filter(n=>n.column.getIsVisible()),C(o.options,"debugRows")),e.getVisibleCells=w(()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()],(t,n,r)=>[...t,...n,...r],C(o.options,"debugRows"))},createTable:e=>{const o=(t,n)=>w(()=>[n(),n().filter(r=>r.getIsVisible()).map(r=>r.id).join("_")],r=>r.filter(i=>i.getIsVisible==null?void 0:i.getIsVisible()),C(e.options,"debugColumns"));e.getVisibleFlatColumns=o("getVisibleFlatColumns",()=>e.getAllFlatColumns()),e.getVisibleLeafColumns=o("getVisibleLeafColumns",()=>e.getAllLeafColumns()),e.getLeftVisibleLeafColumns=o("getLeftVisibleLeafColumns",()=>e.getLeftLeafColumns()),e.getRightVisibleLeafColumns=o("getRightVisibleLeafColumns",()=>e.getRightLeafColumns()),e.getCenterVisibleLeafColumns=o("getCenterVisibleLeafColumns",()=>e.getCenterLeafColumns()),e.setColumnVisibility=t=>e.options.onColumnVisibilityChange==null?void 0:e.options.onColumnVisibilityChange(t),e.resetColumnVisibility=t=>{var n;e.setColumnVisibility(t?{}:(n=e.initialState.columnVisibility)!=null?n:{})},e.toggleAllColumnsVisible=t=>{var n;t=(n=t)!=null?n:!e.getIsAllColumnsVisible(),e.setColumnVisibility(e.getAllLeafColumns().reduce((r,i)=>({...r,[i.id]:t||!(i.getCanHide!=null&&i.getCanHide())}),{}))},e.getIsAllColumnsVisible=()=>!e.getAllLeafColumns().some(t=>!(t.getIsVisible!=null&&t.getIsVisible())),e.getIsSomeColumnsVisible=()=>e.getAllLeafColumns().some(t=>t.getIsVisible==null?void 0:t.getIsVisible()),e.getToggleAllColumnsVisibilityHandler=()=>t=>{var n;e.toggleAllColumnsVisible((n=t.target)==null?void 0:n.checked)}}};function j(e,o){return o?o==="center"?e.getCenterVisibleLeafColumns():o==="left"?e.getLeftVisibleLeafColumns():e.getRightVisibleLeafColumns():e.getVisibleLeafColumns()}const St={createTable:e=>{e._getGlobalFacetedRowModel=e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,"__global__"),e.getGlobalFacetedRowModel=()=>e.options.manualFiltering||!e._getGlobalFacetedRowModel?e.getPreFilteredRowModel():e._getGlobalFacetedRowModel(),e._getGlobalFacetedUniqueValues=e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,"__global__"),e.getGlobalFacetedUniqueValues=()=>e._getGlobalFacetedUniqueValues?e._getGlobalFacetedUniqueValues():new Map,e._getGlobalFacetedMinMaxValues=e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,"__global__"),e.getGlobalFacetedMinMaxValues=()=>{if(e._getGlobalFacetedMinMaxValues)return e._getGlobalFacetedMinMaxValues()}}},ht={getInitialState:e=>({globalFilter:void 0,...e}),getDefaultOptions:e=>({onGlobalFilterChange:M("globalFilter",e),globalFilterFn:"auto",getColumnCanGlobalFilter:o=>{var t;const n=(t=e.getCoreRowModel().flatRows[0])==null||(t=t._getAllCellsByColumnId()[o.id])==null?void 0:t.getValue();return typeof n=="string"||typeof n=="number"}}),createColumn:(e,o)=>{e.getCanGlobalFilter=()=>{var t,n,r,i;return((t=e.columnDef.enableGlobalFilter)!=null?t:!0)&&((n=o.options.enableGlobalFilter)!=null?n:!0)&&((r=o.options.enableFilters)!=null?r:!0)&&((i=o.options.getColumnCanGlobalFilter==null?void 0:o.options.getColumnCanGlobalFilter(e))!=null?i:!0)&&!!e.accessorFn}},createTable:e=>{e.getGlobalAutoFilterFn=()=>D.includesString,e.getGlobalFilterFn=()=>{var o,t;const{globalFilterFn:n}=e.options;return k(n)?n:n==="auto"?e.getGlobalAutoFilterFn():(o=(t=e.options.filterFns)==null?void 0:t[n])!=null?o:D[n]},e.setGlobalFilter=o=>{e.options.onGlobalFilterChange==null||e.options.onGlobalFilterChange(o)},e.resetGlobalFilter=o=>{e.setGlobalFilter(o?void 0:e.initialState.globalFilter)}}},wt={getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:M("expanded",e),paginateExpandedRows:!0}),createTable:e=>{let o=!1,t=!1;e._autoResetExpanded=()=>{var n,r;if(!o){e._queue(()=>{o=!0});return}if((n=(r=e.options.autoResetAll)!=null?r:e.options.autoResetExpanded)!=null?n:!e.options.manualExpanding){if(t)return;t=!0,e._queue(()=>{e.resetExpanded(),t=!1})}},e.setExpanded=n=>e.options.onExpandedChange==null?void 0:e.options.onExpandedChange(n),e.toggleAllRowsExpanded=n=>{n??!e.getIsAllRowsExpanded()?e.setExpanded(!0):e.setExpanded({})},e.resetExpanded=n=>{var r,i;e.setExpanded(n?{}:(r=(i=e.initialState)==null?void 0:i.expanded)!=null?r:{})},e.getCanSomeRowsExpand=()=>e.getPrePaginationRowModel().flatRows.some(n=>n.getCanExpand()),e.getToggleAllRowsExpandedHandler=()=>n=>{n.persist==null||n.persist(),e.toggleAllRowsExpanded()},e.getIsSomeRowsExpanded=()=>{const n=e.getState().expanded;return n===!0||Object.values(n).some(Boolean)},e.getIsAllRowsExpanded=()=>{const n=e.getState().expanded;return typeof n=="boolean"?n===!0:!(!Object.keys(n).length||e.getRowModel().flatRows.some(r=>!r.getIsExpanded()))},e.getExpandedDepth=()=>{let n=0;return(e.getState().expanded===!0?Object.keys(e.getRowModel().rowsById):Object.keys(e.getState().expanded)).forEach(i=>{const l=i.split(".");n=Math.max(n,l.length)}),n},e.getPreExpandedRowModel=()=>e.getSortedRowModel(),e.getExpandedRowModel=()=>(!e._getExpandedRowModel&&e.options.getExpandedRowModel&&(e._getExpandedRowModel=e.options.getExpandedRowModel(e)),e.options.manualExpanding||!e._getExpandedRowModel?e.getPreExpandedRowModel():e._getExpandedRowModel())},createRow:(e,o)=>{e.toggleExpanded=t=>{o.setExpanded(n=>{var r;const i=n===!0?!0:!!(n!=null&&n[e.id]);let l={};if(n===!0?Object.keys(o.getRowModel().rowsById).forEach(u=>{l[u]=!0}):l=n,t=(r=t)!=null?r:!i,!i&&t)return{...l,[e.id]:!0};if(i&&!t){const{[e.id]:u,...a}=l;return a}return n})},e.getIsExpanded=()=>{var t;const n=o.getState().expanded;return!!((t=o.options.getIsRowExpanded==null?void 0:o.options.getIsRowExpanded(e))!=null?t:n===!0||n?.[e.id])},e.getCanExpand=()=>{var t,n,r;return(t=o.options.getRowCanExpand==null?void 0:o.options.getRowCanExpand(e))!=null?t:((n=o.options.enableExpanding)!=null?n:!0)&&!!((r=e.subRows)!=null&&r.length)},e.getIsAllParentsExpanded=()=>{let t=!0,n=e;for(;t&&n.parentId;)n=o.getRow(n.parentId,!0),t=n.getIsExpanded();return t},e.getToggleExpandedHandler=()=>{const t=e.getCanExpand();return()=>{t&&e.toggleExpanded()}}}},Y=0,Z=10,W=()=>({pageIndex:Y,pageSize:Z}),Ct={getInitialState:e=>({...e,pagination:{...W(),...e?.pagination}}),getDefaultOptions:e=>({onPaginationChange:M("pagination",e)}),createTable:e=>{let o=!1,t=!1;e._autoResetPageIndex=()=>{var n,r;if(!o){e._queue(()=>{o=!0});return}if((n=(r=e.options.autoResetAll)!=null?r:e.options.autoResetPageIndex)!=null?n:!e.options.manualPagination){if(t)return;t=!0,e._queue(()=>{e.resetPageIndex(),t=!1})}},e.setPagination=n=>{const r=i=>E(n,i);return e.options.onPaginationChange==null?void 0:e.options.onPaginationChange(r)},e.resetPagination=n=>{var r;e.setPagination(n?W():(r=e.initialState.pagination)!=null?r:W())},e.setPageIndex=n=>{e.setPagination(r=>{let i=E(n,r.pageIndex);const l=typeof e.options.pageCount>"u"||e.options.pageCount===-1?Number.MAX_SAFE_INTEGER:e.options.pageCount-1;return i=Math.max(0,Math.min(i,l)),{...r,pageIndex:i}})},e.resetPageIndex=n=>{var r,i;e.setPageIndex(n?Y:(r=(i=e.initialState)==null||(i=i.pagination)==null?void 0:i.pageIndex)!=null?r:Y)},e.resetPageSize=n=>{var r,i;e.setPageSize(n?Z:(r=(i=e.initialState)==null||(i=i.pagination)==null?void 0:i.pageSize)!=null?r:Z)},e.setPageSize=n=>{e.setPagination(r=>{const i=Math.max(1,E(n,r.pageSize)),l=r.pageSize*r.pageIndex,u=Math.floor(l/i);return{...r,pageIndex:u,pageSize:i}})},e.setPageCount=n=>e.setPagination(r=>{var i;let l=E(n,(i=e.options.pageCount)!=null?i:-1);return typeof l=="number"&&(l=Math.max(-1,l)),{...r,pageCount:l}}),e.getPageOptions=w(()=>[e.getPageCount()],n=>{let r=[];return n&&n>0&&(r=[...new Array(n)].fill(null).map((i,l)=>l)),r},C(e.options,"debugTable")),e.getCanPreviousPage=()=>e.getState().pagination.pageIndex>0,e.getCanNextPage=()=>{const{pageIndex:n}=e.getState().pagination,r=e.getPageCount();return r===-1?!0:r===0?!1:ne.setPageIndex(n=>n-1),e.nextPage=()=>e.setPageIndex(n=>n+1),e.firstPage=()=>e.setPageIndex(0),e.lastPage=()=>e.setPageIndex(e.getPageCount()-1),e.getPrePaginationRowModel=()=>e.getExpandedRowModel(),e.getPaginationRowModel=()=>(!e._getPaginationRowModel&&e.options.getPaginationRowModel&&(e._getPaginationRowModel=e.options.getPaginationRowModel(e)),e.options.manualPagination||!e._getPaginationRowModel?e.getPrePaginationRowModel():e._getPaginationRowModel()),e.getPageCount=()=>{var n;return(n=e.options.pageCount)!=null?n:Math.ceil(e.getRowCount()/e.getState().pagination.pageSize)},e.getRowCount=()=>{var n;return(n=e.options.rowCount)!=null?n:e.getPrePaginationRowModel().rows.length}}},J=()=>({top:[],bottom:[]}),Rt={getInitialState:e=>({rowPinning:J(),...e}),getDefaultOptions:e=>({onRowPinningChange:M("rowPinning",e)}),createRow:(e,o)=>{e.pin=(t,n,r)=>{const i=n?e.getLeafRows().map(a=>{let{id:g}=a;return g}):[],l=r?e.getParentRows().map(a=>{let{id:g}=a;return g}):[],u=new Set([...l,e.id,...i]);o.setRowPinning(a=>{var g,c;if(t==="bottom"){var m,d;return{top:((m=a?.top)!=null?m:[]).filter(p=>!(u!=null&&u.has(p))),bottom:[...((d=a?.bottom)!=null?d:[]).filter(p=>!(u!=null&&u.has(p))),...Array.from(u)]}}if(t==="top"){var s,f;return{top:[...((s=a?.top)!=null?s:[]).filter(p=>!(u!=null&&u.has(p))),...Array.from(u)],bottom:((f=a?.bottom)!=null?f:[]).filter(p=>!(u!=null&&u.has(p)))}}return{top:((g=a?.top)!=null?g:[]).filter(p=>!(u!=null&&u.has(p))),bottom:((c=a?.bottom)!=null?c:[]).filter(p=>!(u!=null&&u.has(p)))}})},e.getCanPin=()=>{var t;const{enableRowPinning:n,enablePinning:r}=o.options;return typeof n=="function"?n(e):(t=n??r)!=null?t:!0},e.getIsPinned=()=>{const t=[e.id],{top:n,bottom:r}=o.getState().rowPinning,i=t.some(u=>n?.includes(u)),l=t.some(u=>r?.includes(u));return i?"top":l?"bottom":!1},e.getPinnedIndex=()=>{var t,n;const r=e.getIsPinned();if(!r)return-1;const i=(t=r==="top"?o.getTopRows():o.getBottomRows())==null?void 0:t.map(l=>{let{id:u}=l;return u});return(n=i?.indexOf(e.id))!=null?n:-1}},createTable:e=>{e.setRowPinning=o=>e.options.onRowPinningChange==null?void 0:e.options.onRowPinningChange(o),e.resetRowPinning=o=>{var t,n;return e.setRowPinning(o?J():(t=(n=e.initialState)==null?void 0:n.rowPinning)!=null?t:J())},e.getIsSomeRowsPinned=o=>{var t;const n=e.getState().rowPinning;if(!o){var r,i;return!!((r=n.top)!=null&&r.length||(i=n.bottom)!=null&&i.length)}return!!((t=n[o])!=null&&t.length)},e._getPinnedRows=(o,t,n)=>{var r;return((r=e.options.keepPinnedRows)==null||r?(t??[]).map(l=>{const u=e.getRow(l,!0);return u.getIsAllParentsExpanded()?u:null}):(t??[]).map(l=>o.find(u=>u.id===l))).filter(Boolean).map(l=>({...l,position:n}))},e.getTopRows=w(()=>[e.getRowModel().rows,e.getState().rowPinning.top],(o,t)=>e._getPinnedRows(o,t,"top"),C(e.options,"debugRows")),e.getBottomRows=w(()=>[e.getRowModel().rows,e.getState().rowPinning.bottom],(o,t)=>e._getPinnedRows(o,t,"bottom"),C(e.options,"debugRows")),e.getCenterRows=w(()=>[e.getRowModel().rows,e.getState().rowPinning.top,e.getState().rowPinning.bottom],(o,t,n)=>{const r=new Set([...t??[],...n??[]]);return o.filter(i=>!r.has(i.id))},C(e.options,"debugRows"))}},vt={getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:M("rowSelection",e),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:e=>{e.setRowSelection=o=>e.options.onRowSelectionChange==null?void 0:e.options.onRowSelectionChange(o),e.resetRowSelection=o=>{var t;return e.setRowSelection(o?{}:(t=e.initialState.rowSelection)!=null?t:{})},e.toggleAllRowsSelected=o=>{e.setRowSelection(t=>{o=typeof o<"u"?o:!e.getIsAllRowsSelected();const n={...t},r=e.getPreGroupedRowModel().flatRows;return o?r.forEach(i=>{i.getCanSelect()&&(n[i.id]=!0)}):r.forEach(i=>{delete n[i.id]}),n})},e.toggleAllPageRowsSelected=o=>e.setRowSelection(t=>{const n=typeof o<"u"?o:!e.getIsAllPageRowsSelected(),r={...t};return e.getRowModel().rows.forEach(i=>{b(r,i.id,n,!0,e)}),r}),e.getPreSelectedRowModel=()=>e.getCoreRowModel(),e.getSelectedRowModel=w(()=>[e.getState().rowSelection,e.getCoreRowModel()],(o,t)=>Object.keys(o).length?Q(e,t):{rows:[],flatRows:[],rowsById:{}},C(e.options,"debugTable")),e.getFilteredSelectedRowModel=w(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(o,t)=>Object.keys(o).length?Q(e,t):{rows:[],flatRows:[],rowsById:{}},C(e.options,"debugTable")),e.getGroupedSelectedRowModel=w(()=>[e.getState().rowSelection,e.getSortedRowModel()],(o,t)=>Object.keys(o).length?Q(e,t):{rows:[],flatRows:[],rowsById:{}},C(e.options,"debugTable")),e.getIsAllRowsSelected=()=>{const o=e.getFilteredRowModel().flatRows,{rowSelection:t}=e.getState();let n=!!(o.length&&Object.keys(t).length);return n&&o.some(r=>r.getCanSelect()&&!t[r.id])&&(n=!1),n},e.getIsAllPageRowsSelected=()=>{const o=e.getPaginationRowModel().flatRows.filter(r=>r.getCanSelect()),{rowSelection:t}=e.getState();let n=!!o.length;return n&&o.some(r=>!t[r.id])&&(n=!1),n},e.getIsSomeRowsSelected=()=>{var o;const t=Object.keys((o=e.getState().rowSelection)!=null?o:{}).length;return t>0&&t{const o=e.getPaginationRowModel().flatRows;return e.getIsAllPageRowsSelected()?!1:o.filter(t=>t.getCanSelect()).some(t=>t.getIsSelected()||t.getIsSomeSelected())},e.getToggleAllRowsSelectedHandler=()=>o=>{e.toggleAllRowsSelected(o.target.checked)},e.getToggleAllPageRowsSelectedHandler=()=>o=>{e.toggleAllPageRowsSelected(o.target.checked)}},createRow:(e,o)=>{e.toggleSelected=(t,n)=>{const r=e.getIsSelected();o.setRowSelection(i=>{var l;if(t=typeof t<"u"?t:!r,e.getCanSelect()&&r===t)return i;const u={...i};return b(u,e.id,t,(l=n?.selectChildren)!=null?l:!0,o),u})},e.getIsSelected=()=>{const{rowSelection:t}=o.getState();return ie(e,t)},e.getIsSomeSelected=()=>{const{rowSelection:t}=o.getState();return ee(e,t)==="some"},e.getIsAllSubRowsSelected=()=>{const{rowSelection:t}=o.getState();return ee(e,t)==="all"},e.getCanSelect=()=>{var t;return typeof o.options.enableRowSelection=="function"?o.options.enableRowSelection(e):(t=o.options.enableRowSelection)!=null?t:!0},e.getCanSelectSubRows=()=>{var t;return typeof o.options.enableSubRowSelection=="function"?o.options.enableSubRowSelection(e):(t=o.options.enableSubRowSelection)!=null?t:!0},e.getCanMultiSelect=()=>{var t;return typeof o.options.enableMultiRowSelection=="function"?o.options.enableMultiRowSelection(e):(t=o.options.enableMultiRowSelection)!=null?t:!0},e.getToggleSelectedHandler=()=>{const t=e.getCanSelect();return n=>{var r;t&&e.toggleSelected((r=n.target)==null?void 0:r.checked)}}}},b=(e,o,t,n,r)=>{var i;const l=r.getRow(o,!0);t?(l.getCanMultiSelect()||Object.keys(e).forEach(u=>delete e[u]),l.getCanSelect()&&(e[o]=!0)):delete e[o],n&&(i=l.subRows)!=null&&i.length&&l.getCanSelectSubRows()&&l.subRows.forEach(u=>b(e,u.id,t,n,r))};function Q(e,o){const t=e.getState().rowSelection,n=[],r={},i=function(l,u){return l.map(a=>{var g;const c=ie(a,t);if(c&&(n.push(a),r[a.id]=a),(g=a.subRows)!=null&&g.length&&(a={...a,subRows:i(a.subRows)}),c)return a}).filter(Boolean)};return{rows:i(o.rows),flatRows:n,rowsById:r}}function ie(e,o){var t;return(t=o[e.id])!=null?t:!1}function ee(e,o,t){var n;if(!((n=e.subRows)!=null&&n.length))return!1;let r=!0,i=!1;return e.subRows.forEach(l=>{if(!(i&&!r)&&(l.getCanSelect()&&(ie(l,o)?i=!0:r=!1),l.subRows&&l.subRows.length)){const u=ee(l,o);u==="all"?i=!0:(u==="some"&&(i=!0),r=!1)}}),r?"all":i?"some":!1}const te=/([0-9]+)/gm,xt=(e,o,t)=>$e(H(e.getValue(t)).toLowerCase(),H(o.getValue(t)).toLowerCase()),_t=(e,o,t)=>$e(H(e.getValue(t)),H(o.getValue(t))),Ft=(e,o,t)=>le(H(e.getValue(t)).toLowerCase(),H(o.getValue(t)).toLowerCase()),$t=(e,o,t)=>le(H(e.getValue(t)),H(o.getValue(t))),Pt=(e,o,t)=>{const n=e.getValue(t),r=o.getValue(t);return n>r?1:nle(e.getValue(t),o.getValue(t));function le(e,o){return e===o?0:e>o?1:-1}function H(e){return typeof e=="number"?isNaN(e)||e===1/0||e===-1/0?"":String(e):typeof e=="string"?e:""}function $e(e,o){const t=e.split(te).filter(Boolean),n=o.split(te).filter(Boolean);for(;t.length&&n.length;){const r=t.shift(),i=n.shift(),l=parseInt(r,10),u=parseInt(i,10),a=[l,u].sort();if(isNaN(a[0])){if(r>i)return 1;if(i>r)return-1;continue}if(isNaN(a[1]))return isNaN(l)?-1:1;if(l>u)return 1;if(u>l)return-1}return t.length-n.length}const G={alphanumeric:xt,alphanumericCaseSensitive:_t,text:Ft,textCaseSensitive:$t,datetime:Pt,basic:It},Vt={getInitialState:e=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:"auto",sortUndefined:1}),getDefaultOptions:e=>({onSortingChange:M("sorting",e),isMultiSortEvent:o=>o.shiftKey}),createColumn:(e,o)=>{e.getAutoSortingFn=()=>{const t=o.getFilteredRowModel().flatRows.slice(10);let n=!1;for(const r of t){const i=r?.getValue(e.id);if(Object.prototype.toString.call(i)==="[object Date]")return G.datetime;if(typeof i=="string"&&(n=!0,i.split(te).length>1))return G.alphanumeric}return n?G.text:G.basic},e.getAutoSortDir=()=>{const t=o.getFilteredRowModel().flatRows[0];return typeof t?.getValue(e.id)=="string"?"asc":"desc"},e.getSortingFn=()=>{var t,n;if(!e)throw new Error;return k(e.columnDef.sortingFn)?e.columnDef.sortingFn:e.columnDef.sortingFn==="auto"?e.getAutoSortingFn():(t=(n=o.options.sortingFns)==null?void 0:n[e.columnDef.sortingFn])!=null?t:G[e.columnDef.sortingFn]},e.toggleSorting=(t,n)=>{const r=e.getNextSortingOrder(),i=typeof t<"u"&&t!==null;o.setSorting(l=>{const u=l?.find(s=>s.id===e.id),a=l?.findIndex(s=>s.id===e.id);let g=[],c,m=i?t:r==="desc";if(l!=null&&l.length&&e.getCanMultiSort()&&n?u?c="toggle":c="add":l!=null&&l.length&&a!==l.length-1?c="replace":u?c="toggle":c="replace",c==="toggle"&&(i||r||(c="remove")),c==="add"){var d;g=[...l,{id:e.id,desc:m}],g.splice(0,g.length-((d=o.options.maxMultiSortColCount)!=null?d:Number.MAX_SAFE_INTEGER))}else c==="toggle"?g=l.map(s=>s.id===e.id?{...s,desc:m}:s):c==="remove"?g=l.filter(s=>s.id!==e.id):g=[{id:e.id,desc:m}];return g})},e.getFirstSortDir=()=>{var t,n;return((t=(n=e.columnDef.sortDescFirst)!=null?n:o.options.sortDescFirst)!=null?t:e.getAutoSortDir()==="desc")?"desc":"asc"},e.getNextSortingOrder=t=>{var n,r;const i=e.getFirstSortDir(),l=e.getIsSorted();return l?l!==i&&((n=o.options.enableSortingRemoval)==null||n)&&(!(t&&(r=o.options.enableMultiRemove)!=null)||r)?!1:l==="desc"?"asc":"desc":i},e.getCanSort=()=>{var t,n;return((t=e.columnDef.enableSorting)!=null?t:!0)&&((n=o.options.enableSorting)!=null?n:!0)&&!!e.accessorFn},e.getCanMultiSort=()=>{var t,n;return(t=(n=e.columnDef.enableMultiSort)!=null?n:o.options.enableMultiSort)!=null?t:!!e.accessorFn},e.getIsSorted=()=>{var t;const n=(t=o.getState().sorting)==null?void 0:t.find(r=>r.id===e.id);return n?n.desc?"desc":"asc":!1},e.getSortIndex=()=>{var t,n;return(t=(n=o.getState().sorting)==null?void 0:n.findIndex(r=>r.id===e.id))!=null?t:-1},e.clearSorting=()=>{o.setSorting(t=>t!=null&&t.length?t.filter(n=>n.id!==e.id):[])},e.getToggleSortingHandler=()=>{const t=e.getCanSort();return n=>{t&&(n.persist==null||n.persist(),e.toggleSorting==null||e.toggleSorting(void 0,e.getCanMultiSort()?o.options.isMultiSortEvent==null?void 0:o.options.isMultiSortEvent(n):!1))}}},createTable:e=>{e.setSorting=o=>e.options.onSortingChange==null?void 0:e.options.onSortingChange(o),e.resetSorting=o=>{var t,n;e.setSorting(o?[]:(t=(n=e.initialState)==null?void 0:n.sorting)!=null?t:[])},e.getPreSortedRowModel=()=>e.getGroupedRowModel(),e.getSortedRowModel=()=>(!e._getSortedRowModel&&e.options.getSortedRowModel&&(e._getSortedRowModel=e.options.getSortedRowModel(e)),e.options.manualSorting||!e._getSortedRowModel?e.getPreSortedRowModel():e._getSortedRowModel())}},Mt=[Ye,mt,dt,ct,Ze,be,St,ht,Vt,at,wt,Ct,Rt,vt,ft];function yt(e){var o,t;const n=[...Mt,...(o=e._features)!=null?o:[]];let r={_features:n};const i=r._features.reduce((d,s)=>Object.assign(d,s.getDefaultOptions==null?void 0:s.getDefaultOptions(r)),{}),l=d=>r.options.mergeOptions?r.options.mergeOptions(i,d):{...i,...d};let a={...{},...(t=e.initialState)!=null?t:{}};r._features.forEach(d=>{var s;a=(s=d.getInitialState==null?void 0:d.getInitialState(a))!=null?s:a});const g=[];let c=!1;const m={_features:n,options:{...i,...e},initialState:a,_queue:d=>{g.push(d),c||(c=!0,Promise.resolve().then(()=>{for(;g.length;)g.shift()();c=!1}).catch(s=>setTimeout(()=>{throw s})))},reset:()=>{r.setState(r.initialState)},setOptions:d=>{const s=E(d,r.options);r.options=l(s)},getState:()=>r.options.state,setState:d=>{r.options.onStateChange==null||r.options.onStateChange(d)},_getRowId:(d,s,f)=>{var p;return(p=r.options.getRowId==null?void 0:r.options.getRowId(d,s,f))!=null?p:`${f?[f.id,s].join("."):s}`},getCoreRowModel:()=>(r._getCoreRowModel||(r._getCoreRowModel=r.options.getCoreRowModel(r)),r._getCoreRowModel()),getRowModel:()=>r.getPaginationRowModel(),getRow:(d,s)=>{let f=(s?r.getPrePaginationRowModel():r.getRowModel()).rowsById[d];if(!f&&(f=r.getCoreRowModel().rowsById[d],!f))throw new Error;return f},_getDefaultColumnDef:w(()=>[r.options.defaultColumn],d=>{var s;return d=(s=d)!=null?s:{},{header:f=>{const p=f.header.column.columnDef;return p.accessorKey?p.accessorKey:p.accessorFn?p.id:null},cell:f=>{var p,R;return(p=(R=f.renderValue())==null||R.toString==null?void 0:R.toString())!=null?p:null},...r._features.reduce((f,p)=>Object.assign(f,p.getDefaultColumnDef==null?void 0:p.getDefaultColumnDef()),{}),...d}},C(e,"debugColumns")),_getColumnDefs:()=>r.options.columns,getAllColumns:w(()=>[r._getColumnDefs()],d=>{const s=function(f,p,R){return R===void 0&&(R=0),f.map(h=>{const v=Qe(r,h,R,p),x=h;return v.columns=x.columns?s(x.columns,v,R+1):[],v})};return s(d)},C(e,"debugColumns")),getAllFlatColumns:w(()=>[r.getAllColumns()],d=>d.flatMap(s=>s.getFlatColumns()),C(e,"debugColumns")),_getAllFlatColumnsById:w(()=>[r.getAllFlatColumns()],d=>d.reduce((s,f)=>(s[f.id]=f,s),{}),C(e,"debugColumns")),getAllLeafColumns:w(()=>[r.getAllColumns(),r._getOrderColumnsFn()],(d,s)=>{let f=d.flatMap(p=>p.getLeafColumns());return s(f)},C(e,"debugColumns")),getColumn:d=>r._getAllFlatColumnsById()[d]};Object.assign(r,m);for(let d=0;dw(()=>[e.options.data],o=>{const t={rows:[],flatRows:[],rowsById:{}},n=function(r,i,l){i===void 0&&(i=0);const u=[];for(let g=0;ge._autoResetPageIndex()))}function Dt(e){const o=[],t=n=>{var r;o.push(n),(r=n.subRows)!=null&&r.length&&n.getIsExpanded()&&n.subRows.forEach(t)};return e.rows.forEach(t),{rows:o,flatRows:e.flatRows,rowsById:e.rowsById}}function Pe(e,o,t){return t.options.filterFromLeafRows?Et(e,o,t):Ht(e,o,t)}function Et(e,o,t){var n;const r=[],i={},l=(n=t.options.maxLeafRowFilterDepth)!=null?n:100,u=function(a,g){g===void 0&&(g=0);const c=[];for(let d=0;dw(()=>[e.getPreFilteredRowModel(),e.getState().columnFilters,e.getState().globalFilter,e.getFilteredRowModel()],(t,n,r)=>{if(!t.rows.length||!(n!=null&&n.length)&&!r)return t;const i=[...n.map(u=>u.id).filter(u=>u!==o),r?"__global__":void 0].filter(Boolean),l=u=>{for(let a=0;aw(()=>{var t;return[(t=e.getColumn(o))==null?void 0:t.getFacetedRowModel()]},t=>{if(!t)return new Map;let n=new Map;for(let i=0;iw(()=>[e.getPreFilteredRowModel(),e.getState().columnFilters,e.getState().globalFilter],(o,t,n)=>{if(!o.rows.length||!(t!=null&&t.length)&&!n){for(let d=0;d{var s;const f=e.getColumn(d.id);if(!f)return;const p=f.getFilterFn();p&&r.push({id:d.id,filterFn:p,resolvedValue:(s=p.resolveFilterValue==null?void 0:p.resolveFilterValue(d.value))!=null?s:d.value})});const l=(t??[]).map(d=>d.id),u=e.getGlobalFilterFn(),a=e.getAllLeafColumns().filter(d=>d.getCanGlobalFilter());n&&u&&a.length&&(l.push("__global__"),a.forEach(d=>{var s;i.push({id:d.id,filterFn:u,resolvedValue:(s=u.resolveFilterValue==null?void 0:u.resolveFilterValue(n))!=null?s:n})}));let g,c;for(let d=0;d{s.columnFiltersMeta[p]=R})}if(i.length){for(let f=0;f{s.columnFiltersMeta[p]=R})){s.columnFilters.__global__=!0;break}}s.columnFilters.__global__!==!0&&(s.columnFilters.__global__=!1)}}const m=d=>{for(let s=0;se._autoResetPageIndex()))}function Zt(e){return o=>w(()=>[o.getState().pagination,o.getPrePaginationRowModel(),o.options.paginateExpandedRows?void 0:o.getState().expanded],(t,n)=>{if(!n.rows.length)return n;const{pageSize:r,pageIndex:i}=t;let{rows:l,flatRows:u,rowsById:a}=n;const g=r*i,c=g+r;l=l.slice(g,c);let m;o.options.paginateExpandedRows?m={rows:l,flatRows:u,rowsById:a}:m=Dt({rows:l,flatRows:u,rowsById:a}),m.flatRows=[];const d=s=>{m.flatRows.push(s),s.subRows.length&&s.subRows.forEach(d)};return m.rows.forEach(d),m},C(o.options,"debugTable"))}function bt(){return e=>w(()=>[e.getState().sorting,e.getPreSortedRowModel()],(o,t)=>{if(!t.rows.length||!(o!=null&&o.length))return t;const n=e.getState().sorting,r=[],i=n.filter(a=>{var g;return(g=e.getColumn(a.id))==null?void 0:g.getCanSort()}),l={};i.forEach(a=>{const g=e.getColumn(a.id);g&&(l[a.id]={sortUndefined:g.columnDef.sortUndefined,invertSorting:g.columnDef.invertSorting,sortingFn:g.getSortingFn()})});const u=a=>{const g=a.map(c=>({...c}));return g.sort((c,m)=>{for(let s=0;s{var m;r.push(c),(m=c.subRows)!=null&&m.length&&(c.subRows=u(c.subRows))}),g};return{rows:u(t.rows),flatRows:r,rowsById:t.rowsById}},C(e.options,"debugTable","getSortedRowModel",()=>e._autoResetPageIndex()))}/** - * react-table - * - * Copyright (c) TanStack - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */function me(e,o){return e?At(e)?P.createElement(e,o):e:null}function At(e){return Gt(e)||typeof e=="function"||Lt(e)}function Gt(e){return typeof e=="function"&&(()=>{const o=Object.getPrototypeOf(e);return o.prototype&&o.prototype.isReactComponent})()}function Lt(e){return typeof e=="object"&&typeof e.$$typeof=="symbol"&&["react.memo","react.forward_ref"].includes(e.$$typeof.description)}function en(e){const o={state:{},onStateChange:()=>{},renderFallbackValue:null,...e},[t]=P.useState(()=>({current:yt(o)})),[n,r]=P.useState(()=>t.current.initialState);return t.current.setOptions(i=>({...i,...e,state:{...n,...e.state},onStateChange:l=>{r(l),e.onStateChange==null||e.onStateChange(l)}})),t.current}const Ie=P.forwardRef(({className:e,...o},t)=>S.jsx("div",{className:"relative w-full overflow-auto",children:S.jsx("table",{ref:t,className:V("w-full caption-bottom text-sm",e),...o})}));Ie.displayName="Table";const Ve=P.forwardRef(({className:e,...o},t)=>S.jsx("thead",{ref:t,className:V("[&_tr]:border-b",e),...o}));Ve.displayName="TableHeader";const Me=P.forwardRef(({className:e,...o},t)=>S.jsx("tbody",{ref:t,className:V("[&_tr:last-child]:border-0",e),...o}));Me.displayName="TableBody";const jt=P.forwardRef(({className:e,...o},t)=>S.jsx("tfoot",{ref:t,className:V("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...o}));jt.displayName="TableFooter";const B=P.forwardRef(({className:e,...o},t)=>S.jsx("tr",{ref:t,className:V("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",e),...o}));B.displayName="TableRow";const ye=P.forwardRef(({className:e,...o},t)=>S.jsx("th",{ref:t,className:V("h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...o}));ye.displayName="TableHead";const ne=P.forwardRef(({className:e,...o},t)=>S.jsx("td",{ref:t,className:V("p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...o}));ne.displayName="TableCell";const zt=P.forwardRef(({className:e,...o},t)=>S.jsx("caption",{ref:t,className:V("mt-4 text-sm text-muted-foreground",e),...o}));zt.displayName="TableCaption";function Nt({table:e}){const[o,t]=P.useState("");P.useEffect(()=>{t((e.getState().pagination.pageIndex+1).toString())},[e.getState().pagination.pageIndex]);const n=r=>{const i=parseInt(r);!isNaN(i)&&i>=1&&i<=e.getPageCount()?e.setPageIndex(i-1):t((e.getState().pagination.pageIndex+1).toString())};return S.jsxs("div",{className:"flex flex-col-reverse gap-4 px-2 py-4 sm:flex-row sm:items-center sm:justify-between",children:[S.jsxs("div",{className:"flex-1 text-sm text-muted-foreground",children:["已选择 ",e.getFilteredSelectedRowModel().rows.length," 项, 共"," ",e.getFilteredRowModel().rows.length," 项"]}),S.jsxs("div",{className:"flex flex-col-reverse items-center gap-4 sm:flex-row sm:gap-6 lg:gap-8",children:[S.jsxs("div",{className:"flex items-center space-x-2",children:[S.jsx("p",{className:"text-sm font-medium",children:"每页显示"}),S.jsxs(Ne,{value:`${e.getState().pagination.pageSize}`,onValueChange:r=>{e.setPageSize(Number(r))},children:[S.jsx(Oe,{className:"h-8 w-[70px]",children:S.jsx(Te,{placeholder:e.getState().pagination.pageSize})}),S.jsx(Be,{side:"top",children:[10,20,30,40,50].map(r=>S.jsx(ke,{value:`${r}`,children:r},r))})]})]}),S.jsxs("div",{className:"flex items-center justify-center space-x-2 text-sm font-medium",children:[S.jsx("span",{children:"第"}),S.jsx(ze,{type:"text",value:o,onChange:r=>t(r.target.value),onBlur:r=>n(r.target.value),onKeyDown:r=>{r.key==="Enter"&&n(r.currentTarget.value)},className:"h-8 w-[50px] text-center"}),S.jsxs("span",{children:["页,共 ",e.getPageCount()," 页"]})]}),S.jsxs("div",{className:"flex items-center space-x-2",children:[S.jsxs(L,{variant:"outline",className:"hidden h-8 w-8 p-0 lg:flex",onClick:()=>e.setPageIndex(0),disabled:!e.getCanPreviousPage(),children:[S.jsx("span",{className:"sr-only",children:"跳转到第一页"}),S.jsx(Ae,{className:"h-4 w-4"})]}),S.jsxs(L,{variant:"outline",className:"h-8 w-8 p-0",onClick:()=>e.previousPage(),disabled:!e.getCanPreviousPage(),children:[S.jsx("span",{className:"sr-only",children:"上一页"}),S.jsx(Ge,{className:"h-4 w-4"})]}),S.jsxs(L,{variant:"outline",className:"h-8 w-8 p-0",onClick:()=>e.nextPage(),disabled:!e.getCanNextPage(),children:[S.jsx("span",{className:"sr-only",children:"下一页"}),S.jsx(Le,{className:"h-4 w-4"})]}),S.jsxs(L,{variant:"outline",className:"hidden h-8 w-8 p-0 lg:flex",onClick:()=>e.setPageIndex(e.getPageCount()-1),disabled:!e.getCanNextPage(),children:[S.jsx("span",{className:"sr-only",children:"跳转到最后一页"}),S.jsx(je,{className:"h-4 w-4"})]})]})]})]})}function tn({table:e,toolbar:o,draggable:t=!1,onDragStart:n,onDragEnd:r,onDragOver:i,onDragLeave:l,onDrop:u,showPagination:a=!0,isLoading:g=!1}){const[c,m]=P.useState(0),d=P.useRef(null);P.useEffect(()=>{d.current&&m(d.current.offsetWidth)},[]);const s=e.getAllColumns().filter(h=>h.getIsPinned()==="left"),f=e.getAllColumns().filter(h=>h.getIsPinned()==="right");e.getAllColumns().filter(h=>!h.getIsPinned());const p=h=>s.slice(0,h).reduce((v,x)=>v+(x.getSize()??0),0),R=h=>f.slice(h+1).reduce((v,x)=>v+(x.getSize()??0),0);return S.jsxs("div",{className:"space-y-4",children:[typeof o=="function"?o(e):o,S.jsx("div",{ref:d,className:"rounded-md border bg-card relative overflow-auto",children:S.jsx("div",{className:"overflow-auto",children:S.jsxs(Ie,{children:[S.jsx(Ve,{children:e.getHeaderGroups().map(h=>S.jsx(B,{className:"hover:bg-transparent",children:h.headers.map((v,x)=>{const F=v.column.getIsPinned()==="left",_=v.column.getIsPinned()==="right",I=F?p(s.indexOf(v.column)):void 0,A=_?R(f.indexOf(v.column)):void 0;return S.jsx(ye,{colSpan:v.colSpan,style:{width:v.getSize(),...F&&{left:I},..._&&{right:A}},className:V("h-11 px-4 text-muted-foreground bg-card",(F||_)&&["sticky z-20","before:absolute before:top-0 before:w-[1px] before:bottom-0 before:bg-border",F&&"before:right-0",_&&"before:left-0"]),children:v.isPlaceholder?null:me(v.column.columnDef.header,v.getContext())},v.id)})},h.id))}),S.jsx(Me,{children:e.getRowModel().rows?.length?e.getRowModel().rows.map((h,v)=>S.jsx(B,{"data-state":h.getIsSelected()&&"selected",className:"hover:bg-muted/50",draggable:t,onDragStart:x=>n?.(x,v),onDragEnd:r,onDragOver:i,onDragLeave:l,onDrop:x=>u?.(x,v),children:h.getVisibleCells().map((x,F)=>{const _=x.column.getIsPinned()==="left",I=x.column.getIsPinned()==="right",A=_?p(s.indexOf(x.column)):void 0,z=I?R(f.indexOf(x.column)):void 0;return S.jsx(ne,{style:{width:x.column.getSize(),..._&&{left:A},...I&&{right:z}},className:V("bg-card",(_||I)&&["sticky z-20","before:absolute before:top-0 before:w-[1px] before:bottom-0 before:bg-border",_&&"before:right-0",I&&"before:left-0"]),children:me(x.column.columnDef.cell,x.getContext())},x.id)})},h.id)):S.jsx(B,{children:S.jsx(ne,{colSpan:e.getAllColumns().length,className:"h-24 text-center",children:"暂无数据"})})})]})})}),a&&S.jsx(Nt,{table:e})]})}const Ot=He("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/10",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function nn({className:e,variant:o,...t}){return S.jsx("div",{className:V(Ot({variant:o}),e),...t})}function on({column:e,title:o,tooltip:t,className:n}){return e.getCanSort()?S.jsx("div",{className:"flex items-center gap-1",children:S.jsx("div",{className:"flex items-center gap-2",children:S.jsxs(L,{variant:"ghost",size:"default",className:V("-ml-3 flex h-8 items-center gap-2 text-nowrap font-medium hover:bg-muted/60",n),onClick:()=>e.toggleSorting(e.getIsSorted()==="asc"),children:[S.jsx("span",{children:o}),t&&S.jsx(ue,{delayDuration:100,children:S.jsxs(ae,{children:[S.jsx(ge,{asChild:!0,children:S.jsx(ce,{className:"h-4 w-4 cursor-pointer text-muted-foreground"})}),S.jsx(de,{children:t})]})}),e.getIsSorted()==="asc"?S.jsx(qe,{className:"h-4 w-4 text-foreground/70"}):e.getIsSorted()==="desc"?S.jsx(Ue,{className:"h-4 w-4 text-foreground/70"}):S.jsx(Xe,{className:"h-4 w-4 text-muted-foreground/70 transition-colors hover:text-foreground/70"})]})})}):S.jsxs("div",{className:V("flex items-center space-x-1 text-nowrap py-2 font-medium text-muted-foreground",n),children:[S.jsx("span",{children:o}),t&&S.jsx(ue,{delayDuration:100,children:S.jsxs(ae,{children:[S.jsx(ge,{children:S.jsx(ce,{className:"h-4 w-4 text-muted-foreground"})}),S.jsx(de,{children:t})]})})]})}export{nn as B,on as D,Ie as T,tn as a,Yt as b,Zt as c,bt as d,Jt as e,Qt as f,Wt as g,Ve as h,B as i,ye as j,me as k,Me as l,ne as m,en as u}; diff --git a/public/assets/admin/assets/common-BL1VIuho.js b/public/assets/admin/assets/common-BL1VIuho.js deleted file mode 100644 index fbecd0248..000000000 --- a/public/assets/admin/assets/common-BL1VIuho.js +++ /dev/null @@ -1 +0,0 @@ -import{d as f,C as l}from"./clipboard-YH5zrf5X.js";import{t as s}from"./index-_xd8OyP8.js";const a=r=>r;function u(r=void 0,o="YYYY-MM-DD HH:mm:ss"){return r==null?"":(Math.floor(r).toString().length===10&&(r=r*1e3),f(r).format(o))}function b(r=void 0,o="YYYY-MM-DD"){return u(r,o)}function e(r){const o=typeof r=="string"?parseFloat(r):r;return isNaN(o)?"0.00":o.toFixed(2)}function p(r){const o=typeof r=="string"?parseFloat(r):r;return isNaN(o)?"0.00":(o/100).toFixed(2)}function D(r){navigator.clipboard?navigator.clipboard.writeText(r).then(()=>{s.success(a("复制成功"))}).catch(o=>{console.error("复制到剪贴板时出错:",o),i(r)}):i(r)}function i(r){const o=document.createElement("button"),t=new l(o,{text:()=>r});t.on("success",()=>{s.success(a("复制成功")),t.destroy()}),t.on("error",()=>{s.error(a("复制失败")),t.destroy()}),o.click()}function T(r){const o=r/1024,t=o/1024,n=t/1024,c=n/1024;return c>=1?e(c)+" TB":n>=1?e(n)+" GB":t>=1?e(t)+" MB":e(o)+" KB"}export{u as a,T as b,D as c,e as d,b as e,p as f}; diff --git a/public/assets/admin/assets/config-BDd6elvr.js b/public/assets/admin/assets/config-BDd6elvr.js deleted file mode 100644 index f8c636d7b..000000000 --- a/public/assets/admin/assets/config-BDd6elvr.js +++ /dev/null @@ -1 +0,0 @@ -import{c as s,j as e}from"./index-_xd8OyP8.js";import{I as i,a as t,b as a,c as r}from"./IconTicket-COhvkaJH.js";var c=s("brand-telegram","IconBrandTelegram",[["path",{d:"M15 10l-4 4l6 6l4 -16l-18 7l4 2l2 6l3 -4",key:"svg-0"}]]),n=s("building","IconBuilding",[["path",{d:"M3 21l18 0",key:"svg-0"}],["path",{d:"M9 8l1 0",key:"svg-1"}],["path",{d:"M9 12l1 0",key:"svg-2"}],["path",{d:"M9 16l1 0",key:"svg-3"}],["path",{d:"M14 8l1 0",key:"svg-4"}],["path",{d:"M14 12l1 0",key:"svg-5"}],["path",{d:"M14 16l1 0",key:"svg-6"}],["path",{d:"M5 21v-16a2 2 0 0 1 2 -2h10a2 2 0 0 1 2 2v16",key:"svg-7"}]]),o=s("mail","IconMail",[["path",{d:"M3 7a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v10a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-10z",key:"svg-0"}],["path",{d:"M3 7l9 6l9 -6",key:"svg-1"}]]),l=s("user-circle","IconUserCircle",[["path",{d:"M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0",key:"svg-0"}],["path",{d:"M12 10m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0",key:"svg-1"}],["path",{d:"M6.168 18.849a4 4 0 0 1 3.832 -2.849h4a4 4 0 0 1 3.834 2.855",key:"svg-2"}]]);const y=[{title:"站点设置",key:"site",icon:e.jsx(n,{size:18}),href:"/config/system",description:"配置站点基本信息,包括站点名称、描述、货币单位等核心设置。"},{title:"安全设置",key:"safe",icon:e.jsx(i,{size:18}),href:"/config/system/safe",description:"配置系统安全相关选项,包括登录验证、密码策略、API访问等安全设置。"},{title:"订阅设置",key:"subscribe",icon:e.jsx(t,{size:18}),href:"/config/system/subscribe",description:"管理用户订阅相关配置,包括订阅链接格式、更新频率、流量统计等设置。"},{title:"邀请&佣金",key:"invite",icon:e.jsx(l,{size:18}),href:"/config/system/invite",description:"管理用户邀请和佣金系统,配置邀请奖励、分销规则等。"},{title:"节点配置",key:"server",icon:e.jsx(a,{size:18}),href:"/config/system/server",description:"配置节点通信和同步设置,包括通信密钥、轮询间隔、负载均衡等高级选项。"},{title:"邮件设置",key:"email",icon:e.jsx(o,{size:18}),href:"/config/system/email",description:"配置系统邮件服务,用于发送验证码、密码重置、通知等邮件,支持多种SMTP服务商。"},{title:"Telegram设置",key:"telegram",icon:e.jsx(c,{size:18}),href:"/config/system/telegram",description:"配置Telegram机器人功能,实现用户通知、账户绑定、指令交互等自动化服务。"},{title:"APP设置",key:"app",icon:e.jsx(r,{size:18}),href:"/config/system/app",description:"管理移动应用程序相关配置,包括API接口、版本控制、推送通知等功能设置。"}];export{y as S}; diff --git a/public/assets/admin/assets/confirm-dialog-CHz9pK2w.js b/public/assets/admin/assets/confirm-dialog-CHz9pK2w.js deleted file mode 100644 index 0eabb685f..000000000 --- a/public/assets/admin/assets/confirm-dialog-CHz9pK2w.js +++ /dev/null @@ -1,7 +0,0 @@ -import{r as l,j as o,v as A,y as q,a as i,B as u}from"./index-_xd8OyP8.js";import{c as J,a as K}from"./index-BwSRHYe4.js";import{i as x,T as Q,O as U,W as X,C as Z,j as ee,k as ae,l as D,R as te,P as oe,h as v}from"./button-DhrtVlOa.js";var N="AlertDialog",[re,ye]=J(N,[x]),n=x(),y=e=>{const{__scopeAlertDialog:a,...t}=e,r=n(a);return o.jsx(te,{...r,...t,modal:!0})};y.displayName=N;var se="AlertDialogTrigger",j=l.forwardRef((e,a)=>{const{__scopeAlertDialog:t,...r}=e,s=n(t);return o.jsx(Q,{...s,...r,ref:a})});j.displayName=se;var le="AlertDialogPortal",h=e=>{const{__scopeAlertDialog:a,...t}=e,r=n(a);return o.jsx(oe,{...r,...t})};h.displayName=le;var ie="AlertDialogOverlay",R=l.forwardRef((e,a)=>{const{__scopeAlertDialog:t,...r}=e,s=n(t);return o.jsx(U,{...s,...r,ref:a})});R.displayName=ie;var d="AlertDialogContent",[ne,ce]=re(d),C=l.forwardRef((e,a)=>{const{__scopeAlertDialog:t,children:r,...s}=e,p=n(t),c=l.useRef(null),m=A(a,c),f=l.useRef(null);return o.jsx(X,{contentName:d,titleName:_,docsSlug:"alert-dialog",children:o.jsx(ne,{scope:t,cancelRef:f,children:o.jsxs(Z,{role:"alertdialog",...p,...s,ref:m,onOpenAutoFocus:K(s.onOpenAutoFocus,g=>{g.preventDefault(),f.current?.focus({preventScroll:!0})}),onPointerDownOutside:g=>g.preventDefault(),onInteractOutside:g=>g.preventDefault(),children:[o.jsx(q,{children:r}),o.jsx(pe,{contentRef:c})]})})})});C.displayName=d;var _="AlertDialogTitle",w=l.forwardRef((e,a)=>{const{__scopeAlertDialog:t,...r}=e,s=n(t);return o.jsx(ee,{...s,...r,ref:a})});w.displayName=_;var E="AlertDialogDescription",b=l.forwardRef((e,a)=>{const{__scopeAlertDialog:t,...r}=e,s=n(t);return o.jsx(ae,{...s,...r,ref:a})});b.displayName=E;var de="AlertDialogAction",P=l.forwardRef((e,a)=>{const{__scopeAlertDialog:t,...r}=e,s=n(t);return o.jsx(D,{...s,...r,ref:a})});P.displayName=de;var T="AlertDialogCancel",S=l.forwardRef((e,a)=>{const{__scopeAlertDialog:t,...r}=e,{cancelRef:s}=ce(T,t),p=n(t),c=A(a,s);return o.jsx(D,{...p,...r,ref:c})});S.displayName=T;var pe=({contentRef:e})=>{const a=`\`${d}\` requires a description for the component to be accessible for screen reader users. - -You can add a description to the \`${d}\` by passing a \`${E}\` component as a child, which also benefits sighted users by adding visible context to the dialog. - -Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${d}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component. - -For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return l.useEffect(()=>{document.getElementById(e.current?.getAttribute("aria-describedby"))||console.warn(a)},[a,e]),null},ge=y,me=j,fe=h,O=R,$=C,M=P,I=S,F=w,k=b;const ue=ge,Ae=me,xe=fe,z=l.forwardRef(({className:e,...a},t)=>o.jsx(O,{className:i("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...a,ref:t}));z.displayName=O.displayName;const L=l.forwardRef(({className:e,...a},t)=>o.jsxs(xe,{children:[o.jsx(z,{}),o.jsx($,{ref:t,className:i("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...a})]}));L.displayName=$.displayName;const B=({className:e,...a})=>o.jsx("div",{className:i("flex flex-col space-y-2 text-center sm:text-left",e),...a});B.displayName="AlertDialogHeader";const G=({className:e,...a})=>o.jsx("div",{className:i("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...a});G.displayName="AlertDialogFooter";const H=l.forwardRef(({className:e,...a},t)=>o.jsx(F,{ref:t,className:i("text-lg font-semibold",e),...a}));H.displayName=F.displayName;const W=l.forwardRef(({className:e,...a},t)=>o.jsx(k,{ref:t,className:i("text-sm text-muted-foreground",e),...a}));W.displayName=k.displayName;const V=l.forwardRef(({className:e,...a},t)=>o.jsx(M,{ref:t,className:i(v(),e),...a}));V.displayName=M.displayName;const Y=l.forwardRef(({className:e,...a},t)=>o.jsx(I,{ref:t,className:i(v({variant:"outline"}),"mt-2 sm:mt-0",e),...a}));Y.displayName=I.displayName;function je({onConfirm:e,children:a,title:t="确认操作",description:r="确定要执行此操作吗?",cancelText:s="取消",confirmText:p="确认",variant:c="default",className:m}){return o.jsxs(ue,{children:[o.jsx(Ae,{asChild:!0,children:a}),o.jsxs(L,{className:i("sm:max-w-[425px]",m),children:[o.jsxs(B,{children:[o.jsx(H,{children:t}),o.jsx(W,{children:r})]}),o.jsxs(G,{children:[o.jsx(Y,{asChild:!0,children:o.jsx(u,{variant:"outline",children:s})}),o.jsx(V,{asChild:!0,children:o.jsx(u,{variant:c,onClick:e,children:p})})]})]})]})}export{je as C}; diff --git a/public/assets/admin/assets/ellipsis-DggWsm3O.js b/public/assets/admin/assets/ellipsis-DggWsm3O.js deleted file mode 100644 index 3bb495f9a..000000000 --- a/public/assets/admin/assets/ellipsis-DggWsm3O.js +++ /dev/null @@ -1,6 +0,0 @@ -import{c}from"./user-nav-BBmBVa03.js";/** - * @license lucide-react v0.399.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const e=c("Ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]);export{e as E}; diff --git a/public/assets/admin/assets/form-DIzSOdtk.js b/public/assets/admin/assets/form-DIzSOdtk.js deleted file mode 100644 index 223facd63..000000000 --- a/public/assets/admin/assets/form-DIzSOdtk.js +++ /dev/null @@ -1 +0,0 @@ -import{R as A,r as $,j as J,a as he,x as Rt,z as Nt}from"./index-_xd8OyP8.js";import{P as Tt}from"./index-CX6PQ3zO.js";var ve=e=>e.type==="checkbox",ie=e=>e instanceof Date,O=e=>e==null;const at=e=>typeof e=="object";var S=e=>!O(e)&&!Array.isArray(e)&&at(e)&&!ie(e),nt=e=>S(e)&&e.target?ve(e.target)?e.target.checked:e.target.value:e,It=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,lt=(e,s)=>e.has(It(s)),Mt=e=>{const s=e.constructor&&e.constructor.prototype;return S(s)&&s.hasOwnProperty("isPrototypeOf")},Ie=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function U(e){let s;const t=Array.isArray(e),i=typeof FileList<"u"?e instanceof FileList:!1;if(e instanceof Date)s=new Date(e);else if(e instanceof Set)s=new Set(e);else if(!(Ie&&(e instanceof Blob||i))&&(t||S(e)))if(s=t?[]:{},!t&&!Mt(e))s=e;else for(const n in e)e.hasOwnProperty(n)&&(s[n]=U(e[n]));else return e;return s}var we=e=>Array.isArray(e)?e.filter(Boolean):[],D=e=>e===void 0,f=(e,s,t)=>{if(!s||!S(e))return t;const i=we(s.split(/[,[\].]+?/)).reduce((n,u)=>O(n)?n:n[u],e);return D(i)||i===e?D(e[s])?t:e[s]:i},W=e=>typeof e=="boolean",Me=e=>/^\w*$/.test(e),ut=e=>we(e.replace(/["|']|\]/g,"").split(/\.|\[/)),w=(e,s,t)=>{let i=-1;const n=Me(s)?[s]:ut(s),u=n.length,c=u-1;for(;++iA.useContext(ot),Ot=e=>{const{children:s,...t}=e;return A.createElement(ot.Provider,{value:t},s)};var dt=(e,s,t,i=!0)=>{const n={defaultValues:s._defaultValues};for(const u in e)Object.defineProperty(n,u,{get:()=>{const c=u;return s._proxyFormState[c]!==z.all&&(s._proxyFormState[c]=!i||z.all),t&&(t[c]=!0),e[c]}});return n},P=e=>S(e)&&!Object.keys(e).length,ft=(e,s,t,i)=>{t(e);const{name:n,...u}=e;return P(u)||Object.keys(u).length>=Object.keys(s).length||Object.keys(u).find(c=>s[c]===(!i||z.all))},ye=e=>Array.isArray(e)?e:[e],ct=(e,s,t)=>!e||!s||e===s||ye(e).some(i=>i&&(t?i===s:i.startsWith(s)||s.startsWith(i)));function Oe(e){const s=A.useRef(e);s.current=e,A.useEffect(()=>{const t=!e.disabled&&s.current.subject&&s.current.subject.subscribe({next:s.current.next});return()=>{t&&t.unsubscribe()}},[e.disabled])}function Ut(e){const s=De(),{control:t=s.control,disabled:i,name:n,exact:u}=e,[c,g]=A.useState(t._formState),b=A.useRef(!0),E=A.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1}),F=A.useRef(n);return F.current=n,Oe({disabled:i,next:v=>b.current&&ct(F.current,v.name,u)&&ft(v,E.current,t._updateFormState)&&g({...t._formState,...v}),subject:t._subjects.state}),A.useEffect(()=>(b.current=!0,E.current.isValid&&t._updateValid(!0),()=>{b.current=!1}),[t]),A.useMemo(()=>dt(c,t,E.current,!1),[c,t])}var Y=e=>typeof e=="string",yt=(e,s,t,i,n)=>Y(e)?(i&&s.watch.add(e),f(t,e,n)):Array.isArray(e)?e.map(u=>(i&&s.watch.add(u),f(t,u))):(i&&(s.watchAll=!0),t);function Pt(e){const s=De(),{control:t=s.control,name:i,defaultValue:n,disabled:u,exact:c}=e,g=A.useRef(i);g.current=i,Oe({disabled:u,subject:t._subjects.values,next:F=>{ct(g.current,F.name,c)&&E(U(yt(g.current,t._names,F.values||t._formValues,!1,n)))}});const[b,E]=A.useState(t._getWatch(i,n));return A.useEffect(()=>t._removeUnmounted()),b}function Bt(e){const s=De(),{name:t,disabled:i,control:n=s.control,shouldUnregister:u}=e,c=lt(n._names.array,t),g=Pt({control:n,name:t,defaultValue:f(n._formValues,t,f(n._defaultValues,t,e.defaultValue)),exact:!0}),b=Ut({control:n,name:t,exact:!0}),E=A.useRef(n.register(t,{...e.rules,value:g,...W(e.disabled)?{disabled:e.disabled}:{}})),F=A.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!f(b.errors,t)},isDirty:{enumerable:!0,get:()=>!!f(b.dirtyFields,t)},isTouched:{enumerable:!0,get:()=>!!f(b.touchedFields,t)},isValidating:{enumerable:!0,get:()=>!!f(b.validatingFields,t)},error:{enumerable:!0,get:()=>f(b.errors,t)}}),[b,t]),v=A.useMemo(()=>({name:t,value:g,...W(i)||b.disabled?{disabled:b.disabled||i}:{},onChange:N=>E.current.onChange({target:{value:nt(N),name:t},type:Fe.CHANGE}),onBlur:()=>E.current.onBlur({target:{value:f(n._formValues,t),name:t},type:Fe.BLUR}),ref:N=>{const K=f(n._fields,t);K&&N&&(K._f.ref={focus:()=>N.focus(),select:()=>N.select(),setCustomValidity:T=>N.setCustomValidity(T),reportValidity:()=>N.reportValidity()})}}),[t,n._formValues,i,b.disabled,g,n._fields]);return A.useEffect(()=>{const N=n._options.shouldUnregister||u,K=(T,M)=>{const B=f(n._fields,T);B&&B._f&&(B._f.mount=M)};if(K(t,!0),N){const T=U(f(n._options.defaultValues,t));w(n._defaultValues,t,T),D(f(n._formValues,t))&&w(n._formValues,t,T)}return!c&&n.register(t),()=>{(c?N&&!n._state.action:N)?n.unregister(t):K(t,!1)}},[t,n,c,u]),A.useEffect(()=>{n._updateDisabledField({disabled:i,fields:n._fields,name:t})},[i,t,n]),A.useMemo(()=>({field:v,formState:b,fieldState:F}),[v,b,F])}const jt=e=>e.render(Bt(e));var qt=(e,s,t,i,n)=>s?{...t[e],types:{...t[e]&&t[e].types?t[e].types:{},[i]:n||!0}}:{},Je=e=>({isOnSubmit:!e||e===z.onSubmit,isOnBlur:e===z.onBlur,isOnChange:e===z.onChange,isOnAll:e===z.all,isOnTouch:e===z.onTouched}),Qe=(e,s,t)=>!t&&(s.watchAll||s.watch.has(e)||[...s.watch].some(i=>e.startsWith(i)&&/^\.\w+/.test(e.slice(i.length))));const ge=(e,s,t,i)=>{for(const n of t||Object.keys(e)){const u=f(e,n);if(u){const{_f:c,...g}=u;if(c){if(c.refs&&c.refs[0]&&s(c.refs[0],n)&&!i)return!0;if(c.ref&&s(c.ref,c.name)&&!i)return!0;if(ge(g,s))break}else if(S(g)&&ge(g,s))break}}};var Wt=(e,s,t)=>{const i=ye(f(e,t));return w(i,"root",s[t]),w(e,t,i),e},Ue=e=>e.type==="file",G=e=>typeof e=="function",xe=e=>{if(!Ie)return!1;const s=e?e.ownerDocument:0;return e instanceof(s&&s.defaultView?s.defaultView.HTMLElement:HTMLElement)},be=e=>Y(e),Pe=e=>e.type==="radio",Ve=e=>e instanceof RegExp;const Xe={value:!1,isValid:!1},Ze={value:!0,isValid:!0};var gt=e=>{if(Array.isArray(e)){if(e.length>1){const s=e.filter(t=>t&&t.checked&&!t.disabled).map(t=>t.value);return{value:s,isValid:!!s.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!D(e[0].attributes.value)?D(e[0].value)||e[0].value===""?Ze:{value:e[0].value,isValid:!0}:Ze:Xe}return Xe};const et={isValid:!1,value:null};var ht=e=>Array.isArray(e)?e.reduce((s,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:s,et):et;function tt(e,s,t="validate"){if(be(e)||Array.isArray(e)&&e.every(be)||W(e)&&!e)return{type:t,message:be(e)?e:"",ref:s}}var le=e=>S(e)&&!Ve(e)?e:{value:e,message:""},rt=async(e,s,t,i,n,u)=>{const{ref:c,refs:g,required:b,maxLength:E,minLength:F,min:v,max:N,pattern:K,validate:T,name:M,valueAsNumber:B,mount:ee}=e._f,x=f(t,M);if(!ee||s.has(M))return{};const Q=g?g[0]:c,X=_=>{n&&Q.reportValidity&&(Q.setCustomValidity(W(_)?"":_||""),Q.reportValidity())},p={},ae=Pe(c),me=ve(c),se=ae||me,ne=(B||Ue(c))&&D(c.value)&&D(x)||xe(c)&&c.value===""||x===""||Array.isArray(x)&&!x.length,j=qt.bind(null,M,i,p),_e=(_,V,k,I=Z.maxLength,H=Z.minLength)=>{const q=_?V:k;p[M]={type:_?I:H,message:q,ref:c,...j(_?I:H,q)}};if(u?!Array.isArray(x)||!x.length:b&&(!se&&(ne||O(x))||W(x)&&!x||me&&!gt(g).isValid||ae&&!ht(g).isValid)){const{value:_,message:V}=be(b)?{value:!!b,message:b}:le(b);if(_&&(p[M]={type:Z.required,message:V,ref:Q,...j(Z.required,V)},!i))return X(V),p}if(!ne&&(!O(v)||!O(N))){let _,V;const k=le(N),I=le(v);if(!O(x)&&!isNaN(x)){const H=c.valueAsNumber||x&&+x;O(k.value)||(_=H>k.value),O(I.value)||(V=Hnew Date(new Date().toDateString()+" "+de),ue=c.type=="time",oe=c.type=="week";Y(k.value)&&x&&(_=ue?q(x)>q(k.value):oe?x>k.value:H>new Date(k.value)),Y(I.value)&&x&&(V=ue?q(x)+_.value,I=!O(V.value)&&x.length<+V.value;if((k||I)&&(_e(k,_.message,V.message),!i))return X(p[M].message),p}if(K&&!ne&&Y(x)){const{value:_,message:V}=le(K);if(Ve(_)&&!x.match(_)&&(p[M]={type:Z.pattern,message:V,ref:c,...j(Z.pattern,V)},!i))return X(V),p}if(T){if(G(T)){const _=await T(x,t),V=tt(_,Q);if(V&&(p[M]={...V,...j(Z.validate,V.message)},!i))return X(V.message),p}else if(S(T)){let _={};for(const V in T){if(!P(_)&&!i)break;const k=tt(await T[V](x,t),Q,V);k&&(_={...k,...j(V,k.message)},X(k.message),i&&(p[M]=_))}if(!P(_)&&(p[M]={ref:Q,..._},!i))return p}}return X(!0),p};function $t(e,s){const t=s.slice(0,-1).length;let i=0;for(;i{let e=[];return{get observers(){return e},next:n=>{for(const u of e)u.next&&u.next(n)},subscribe:n=>(e.push(n),{unsubscribe:()=>{e=e.filter(u=>u!==n)}}),unsubscribe:()=>{e=[]}}},Te=e=>O(e)||!at(e);function re(e,s){if(Te(e)||Te(s))return e===s;if(ie(e)&&ie(s))return e.getTime()===s.getTime();const t=Object.keys(e),i=Object.keys(s);if(t.length!==i.length)return!1;for(const n of t){const u=e[n];if(!i.includes(n))return!1;if(n!=="ref"){const c=s[n];if(ie(u)&&ie(c)||S(u)&&S(c)||Array.isArray(u)&&Array.isArray(c)?!re(u,c):u!==c)return!1}}return!0}var vt=e=>e.type==="select-multiple",zt=e=>Pe(e)||ve(e),Re=e=>xe(e)&&e.isConnected,mt=e=>{for(const s in e)if(G(e[s]))return!0;return!1};function Ae(e,s={}){const t=Array.isArray(e);if(S(e)||t)for(const i in e)Array.isArray(e[i])||S(e[i])&&!mt(e[i])?(s[i]=Array.isArray(e[i])?[]:{},Ae(e[i],s[i])):O(e[i])||(s[i]=!0);return s}function _t(e,s,t){const i=Array.isArray(e);if(S(e)||i)for(const n in e)Array.isArray(e[n])||S(e[n])&&!mt(e[n])?D(s)||Te(t[n])?t[n]=Array.isArray(e[n])?Ae(e[n],[]):{...Ae(e[n])}:_t(e[n],O(s)?{}:s[n],t[n]):t[n]=!re(e[n],s[n]);return t}var fe=(e,s)=>_t(e,s,Ae(s)),bt=(e,{valueAsNumber:s,valueAsDate:t,setValueAs:i})=>D(e)?e:s?e===""?NaN:e&&+e:t&&Y(e)?new Date(e):i?i(e):e;function Ne(e){const s=e.ref;return Ue(s)?s.files:Pe(s)?ht(e.refs).value:vt(s)?[...s.selectedOptions].map(({value:t})=>t):ve(s)?gt(e.refs).value:bt(D(s.value)?e.ref.value:s.value,e)}var Kt=(e,s,t,i)=>{const n={};for(const u of e){const c=f(s,u);c&&w(n,u,c._f)}return{criteriaMode:t,names:[...e],fields:n,shouldUseNativeValidation:i}},ce=e=>D(e)?e:Ve(e)?e.source:S(e)?Ve(e.value)?e.value.source:e.value:e;const st="AsyncFunction";var Gt=e=>!!e&&!!e.validate&&!!(G(e.validate)&&e.validate.constructor.name===st||S(e.validate)&&Object.values(e.validate).find(s=>s.constructor.name===st)),Yt=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate);function it(e,s,t){const i=f(e,t);if(i||Me(t))return{error:i,name:t};const n=t.split(".");for(;n.length;){const u=n.join("."),c=f(s,u),g=f(e,u);if(c&&!Array.isArray(c)&&t!==u)return{name:t};if(g&&g.type)return{name:u,error:g};n.pop()}return{name:t}}var Jt=(e,s,t,i,n)=>n.isOnAll?!1:!t&&n.isOnTouch?!(s||e):(t?i.isOnBlur:n.isOnBlur)?!e:(t?i.isOnChange:n.isOnChange)?e:!0,Qt=(e,s)=>!we(f(e,s)).length&&C(e,s);const Xt={mode:z.onSubmit,reValidateMode:z.onChange,shouldFocusError:!0};function Zt(e={}){let s={...Xt,...e},t={submitCount:0,isDirty:!1,isLoading:G(s.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:s.errors||{},disabled:s.disabled||!1},i={},n=S(s.defaultValues)||S(s.values)?U(s.defaultValues||s.values)||{}:{},u=s.shouldUnregister?{}:U(n),c={action:!1,mount:!1,watch:!1},g={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},b,E=0;const F={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},v={values:Le(),array:Le(),state:Le()},N=Je(s.mode),K=Je(s.reValidateMode),T=s.criteriaMode===z.all,M=r=>a=>{clearTimeout(E),E=setTimeout(r,a)},B=async r=>{if(!s.disabled&&(F.isValid||r)){const a=s.resolver?P((await se()).errors):await j(i,!0);a!==t.isValid&&v.state.next({isValid:a})}},ee=(r,a)=>{!s.disabled&&(F.isValidating||F.validatingFields)&&((r||Array.from(g.mount)).forEach(l=>{l&&(a?w(t.validatingFields,l,a):C(t.validatingFields,l))}),v.state.next({validatingFields:t.validatingFields,isValidating:!P(t.validatingFields)}))},x=(r,a=[],l,y,d=!0,o=!0)=>{if(y&&l&&!s.disabled){if(c.action=!0,o&&Array.isArray(f(i,r))){const h=l(f(i,r),y.argA,y.argB);d&&w(i,r,h)}if(o&&Array.isArray(f(t.errors,r))){const h=l(f(t.errors,r),y.argA,y.argB);d&&w(t.errors,r,h),Qt(t.errors,r)}if(F.touchedFields&&o&&Array.isArray(f(t.touchedFields,r))){const h=l(f(t.touchedFields,r),y.argA,y.argB);d&&w(t.touchedFields,r,h)}F.dirtyFields&&(t.dirtyFields=fe(n,u)),v.state.next({name:r,isDirty:_(r,a),dirtyFields:t.dirtyFields,errors:t.errors,isValid:t.isValid})}else w(u,r,a)},Q=(r,a)=>{w(t.errors,r,a),v.state.next({errors:t.errors})},X=r=>{t.errors=r,v.state.next({errors:t.errors,isValid:!1})},p=(r,a,l,y)=>{const d=f(i,r);if(d){const o=f(u,r,D(l)?f(n,r):l);D(o)||y&&y.defaultChecked||a?w(u,r,a?o:Ne(d._f)):I(r,o),c.mount&&B()}},ae=(r,a,l,y,d)=>{let o=!1,h=!1;const m={name:r};if(!s.disabled){const L=!!(f(i,r)&&f(i,r)._f&&f(i,r)._f.disabled);if(!l||y){F.isDirty&&(h=t.isDirty,t.isDirty=m.isDirty=_(),o=h!==m.isDirty);const R=L||re(f(n,r),a);h=!!(!L&&f(t.dirtyFields,r)),R||L?C(t.dirtyFields,r):w(t.dirtyFields,r,!0),m.dirtyFields=t.dirtyFields,o=o||F.dirtyFields&&h!==!R}if(l){const R=f(t.touchedFields,r);R||(w(t.touchedFields,r,l),m.touchedFields=t.touchedFields,o=o||F.touchedFields&&R!==l)}o&&d&&v.state.next(m)}return o?m:{}},me=(r,a,l,y)=>{const d=f(t.errors,r),o=F.isValid&&W(a)&&t.isValid!==a;if(s.delayError&&l?(b=M(()=>Q(r,l)),b(s.delayError)):(clearTimeout(E),b=null,l?w(t.errors,r,l):C(t.errors,r)),(l?!re(d,l):d)||!P(y)||o){const h={...y,...o&&W(a)?{isValid:a}:{},errors:t.errors,name:r};t={...t,...h},v.state.next(h)}},se=async r=>{ee(r,!0);const a=await s.resolver(u,s.context,Kt(r||g.mount,i,s.criteriaMode,s.shouldUseNativeValidation));return ee(r),a},ne=async r=>{const{errors:a}=await se(r);if(r)for(const l of r){const y=f(a,l);y?w(t.errors,l,y):C(t.errors,l)}else t.errors=a;return a},j=async(r,a,l={valid:!0})=>{for(const y in r){const d=r[y];if(d){const{_f:o,...h}=d;if(o){const m=g.array.has(o.name),L=d._f&&Gt(d._f);L&&F.validatingFields&&ee([y],!0);const R=await rt(d,g.disabled,u,T,s.shouldUseNativeValidation&&!a,m);if(L&&F.validatingFields&&ee([y]),R[o.name]&&(l.valid=!1,a))break;!a&&(f(R,o.name)?m?Wt(t.errors,R,o.name):w(t.errors,o.name,R[o.name]):C(t.errors,o.name))}!P(h)&&await j(h,a,l)}}return l.valid},_e=()=>{for(const r of g.unMount){const a=f(i,r);a&&(a._f.refs?a._f.refs.every(l=>!Re(l)):!Re(a._f.ref))&&Ee(r)}g.unMount=new Set},_=(r,a)=>!s.disabled&&(r&&a&&w(u,r,a),!re(Be(),n)),V=(r,a,l)=>yt(r,g,{...c.mount?u:D(a)?n:Y(r)?{[r]:a}:a},l,a),k=r=>we(f(c.mount?u:n,r,s.shouldUnregister?f(n,r,[]):[])),I=(r,a,l={})=>{const y=f(i,r);let d=a;if(y){const o=y._f;o&&(!o.disabled&&w(u,r,bt(a,o)),d=xe(o.ref)&&O(a)?"":a,vt(o.ref)?[...o.ref.options].forEach(h=>h.selected=d.includes(h.value)):o.refs?ve(o.ref)?o.refs.length>1?o.refs.forEach(h=>(!h.defaultChecked||!h.disabled)&&(h.checked=Array.isArray(d)?!!d.find(m=>m===h.value):d===h.value)):o.refs[0]&&(o.refs[0].checked=!!d):o.refs.forEach(h=>h.checked=h.value===d):Ue(o.ref)?o.ref.value="":(o.ref.value=d,o.ref.type||v.values.next({name:r,values:{...u}})))}(l.shouldDirty||l.shouldTouch)&&ae(r,d,l.shouldTouch,l.shouldDirty,!0),l.shouldValidate&&de(r)},H=(r,a,l)=>{for(const y in a){const d=a[y],o=`${r}.${y}`,h=f(i,o);(g.array.has(r)||S(d)||h&&!h._f)&&!ie(d)?H(o,d,l):I(o,d,l)}},q=(r,a,l={})=>{const y=f(i,r),d=g.array.has(r),o=U(a);w(u,r,o),d?(v.array.next({name:r,values:{...u}}),(F.isDirty||F.dirtyFields)&&l.shouldDirty&&v.state.next({name:r,dirtyFields:fe(n,u),isDirty:_(r,o)})):y&&!y._f&&!O(o)?H(r,o,l):I(r,o,l),Qe(r,g)&&v.state.next({...t}),v.values.next({name:c.mount?r:void 0,values:{...u}})},ue=async r=>{c.mount=!0;const a=r.target;let l=a.name,y=!0;const d=f(i,l),o=()=>a.type?Ne(d._f):nt(r),h=m=>{y=Number.isNaN(m)||ie(m)&&isNaN(m.getTime())||re(m,f(u,l,m))};if(d){let m,L;const R=o(),te=r.type===Fe.BLUR||r.type===Fe.FOCUS_OUT,kt=!Yt(d._f)&&!s.resolver&&!f(t.errors,l)&&!d._f.deps||Jt(te,f(t.touchedFields,l),t.isSubmitted,K,N),ke=Qe(l,g,te);w(u,l,R),te?(d._f.onBlur&&d._f.onBlur(r),b&&b(0)):d._f.onChange&&d._f.onChange(r);const Ce=ae(l,R,te,!1),Ct=!P(Ce)||ke;if(!te&&v.values.next({name:l,type:r.type,values:{...u}}),kt)return F.isValid&&(s.mode==="onBlur"&&te?B():te||B()),Ct&&v.state.next({name:l,...ke?{}:Ce});if(!te&&ke&&v.state.next({...t}),s.resolver){const{errors:Ge}=await se([l]);if(h(R),y){const Lt=it(t.errors,i,l),Ye=it(Ge,i,Lt.name||l);m=Ye.error,l=Ye.name,L=P(Ge)}}else ee([l],!0),m=(await rt(d,g.disabled,u,T,s.shouldUseNativeValidation))[l],ee([l]),h(R),y&&(m?L=!1:F.isValid&&(L=await j(i,!0)));y&&(d._f.deps&&de(d._f.deps),me(l,L,m,Ce))}},oe=(r,a)=>{if(f(t.errors,a)&&r.focus)return r.focus(),1},de=async(r,a={})=>{let l,y;const d=ye(r);if(s.resolver){const o=await ne(D(r)?r:d);l=P(o),y=r?!d.some(h=>f(o,h)):l}else r?(y=(await Promise.all(d.map(async o=>{const h=f(i,o);return await j(h&&h._f?{[o]:h}:h)}))).every(Boolean),!(!y&&!t.isValid)&&B()):y=l=await j(i);return v.state.next({...!Y(r)||F.isValid&&l!==t.isValid?{}:{name:r},...s.resolver||!r?{isValid:l}:{},errors:t.errors}),a.shouldFocus&&!y&&ge(i,oe,r?d:g.mount),y},Be=r=>{const a={...c.mount?u:n};return D(r)?a:Y(r)?f(a,r):r.map(l=>f(a,l))},je=(r,a)=>({invalid:!!f((a||t).errors,r),isDirty:!!f((a||t).dirtyFields,r),error:f((a||t).errors,r),isValidating:!!f(t.validatingFields,r),isTouched:!!f((a||t).touchedFields,r)}),Dt=r=>{r&&ye(r).forEach(a=>C(t.errors,a)),v.state.next({errors:r?t.errors:{}})},qe=(r,a,l)=>{const y=(f(i,r,{_f:{}})._f||{}).ref,d=f(t.errors,r)||{},{ref:o,message:h,type:m,...L}=d;w(t.errors,r,{...L,...a,ref:y}),v.state.next({name:r,errors:t.errors,isValid:!1}),l&&l.shouldFocus&&y&&y.focus&&y.focus()},St=(r,a)=>G(r)?v.values.subscribe({next:l=>r(V(void 0,a),l)}):V(r,a,!0),Ee=(r,a={})=>{for(const l of r?ye(r):g.mount)g.mount.delete(l),g.array.delete(l),a.keepValue||(C(i,l),C(u,l)),!a.keepError&&C(t.errors,l),!a.keepDirty&&C(t.dirtyFields,l),!a.keepTouched&&C(t.touchedFields,l),!a.keepIsValidating&&C(t.validatingFields,l),!s.shouldUnregister&&!a.keepDefaultValue&&C(n,l);v.values.next({values:{...u}}),v.state.next({...t,...a.keepDirty?{isDirty:_()}:{}}),!a.keepIsValid&&B()},We=({disabled:r,name:a,field:l,fields:y})=>{(W(r)&&c.mount||r||g.disabled.has(a))&&(r?g.disabled.add(a):g.disabled.delete(a),ae(a,Ne(l?l._f:f(y,a)._f),!1,!1,!0))},pe=(r,a={})=>{let l=f(i,r);const y=W(a.disabled)||W(s.disabled);return w(i,r,{...l||{},_f:{...l&&l._f?l._f:{ref:{name:r}},name:r,mount:!0,...a}}),g.mount.add(r),l?We({field:l,disabled:W(a.disabled)?a.disabled:s.disabled,name:r}):p(r,!0,a.value),{...y?{disabled:a.disabled||s.disabled}:{},...s.progressive?{required:!!a.required,min:ce(a.min),max:ce(a.max),minLength:ce(a.minLength),maxLength:ce(a.maxLength),pattern:ce(a.pattern)}:{},name:r,onChange:ue,onBlur:ue,ref:d=>{if(d){pe(r,a),l=f(i,r);const o=D(d.value)&&d.querySelectorAll&&d.querySelectorAll("input,select,textarea")[0]||d,h=zt(o),m=l._f.refs||[];if(h?m.find(L=>L===o):o===l._f.ref)return;w(i,r,{_f:{...l._f,...h?{refs:[...m.filter(Re),o,...Array.isArray(f(n,r))?[{}]:[]],ref:{type:o.type,name:r}}:{ref:o}}}),p(r,!1,void 0,o)}else l=f(i,r,{}),l._f&&(l._f.mount=!1),(s.shouldUnregister||a.shouldUnregister)&&!(lt(g.array,r)&&c.action)&&g.unMount.add(r)}}},$e=()=>s.shouldFocusError&&ge(i,oe,g.mount),Et=r=>{W(r)&&(v.state.next({disabled:r}),ge(i,(a,l)=>{const y=f(i,l);y&&(a.disabled=y._f.disabled||r,Array.isArray(y._f.refs)&&y._f.refs.forEach(d=>{d.disabled=y._f.disabled||r}))},0,!1))},He=(r,a)=>async l=>{let y;l&&(l.preventDefault&&l.preventDefault(),l.persist&&l.persist());let d=U(u);if(g.disabled.size)for(const o of g.disabled)w(d,o,void 0);if(v.state.next({isSubmitting:!0}),s.resolver){const{errors:o,values:h}=await se();t.errors=o,d=h}else await j(i);if(C(t.errors,"root"),P(t.errors)){v.state.next({errors:{}});try{await r(d,l)}catch(o){y=o}}else a&&await a({...t.errors},l),$e(),setTimeout($e);if(v.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:P(t.errors)&&!y,submitCount:t.submitCount+1,errors:t.errors}),y)throw y},pt=(r,a={})=>{f(i,r)&&(D(a.defaultValue)?q(r,U(f(n,r))):(q(r,a.defaultValue),w(n,r,U(a.defaultValue))),a.keepTouched||C(t.touchedFields,r),a.keepDirty||(C(t.dirtyFields,r),t.isDirty=a.defaultValue?_(r,U(f(n,r))):_()),a.keepError||(C(t.errors,r),F.isValid&&B()),v.state.next({...t}))},ze=(r,a={})=>{const l=r?U(r):n,y=U(l),d=P(r),o=d?n:y;if(a.keepDefaultValues||(n=l),!a.keepValues){if(a.keepDirtyValues){const h=new Set([...g.mount,...Object.keys(fe(n,u))]);for(const m of Array.from(h))f(t.dirtyFields,m)?w(o,m,f(u,m)):q(m,f(o,m))}else{if(Ie&&D(r))for(const h of g.mount){const m=f(i,h);if(m&&m._f){const L=Array.isArray(m._f.refs)?m._f.refs[0]:m._f.ref;if(xe(L)){const R=L.closest("form");if(R){R.reset();break}}}}i={}}u=s.shouldUnregister?a.keepDefaultValues?U(n):{}:U(o),v.array.next({values:{...o}}),v.values.next({values:{...o}})}g={mount:a.keepDirtyValues?g.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},c.mount=!F.isValid||!!a.keepIsValid||!!a.keepDirtyValues,c.watch=!!s.shouldUnregister,v.state.next({submitCount:a.keepSubmitCount?t.submitCount:0,isDirty:d?!1:a.keepDirty?t.isDirty:!!(a.keepDefaultValues&&!re(r,n)),isSubmitted:a.keepIsSubmitted?t.isSubmitted:!1,dirtyFields:d?{}:a.keepDirtyValues?a.keepDefaultValues&&u?fe(n,u):t.dirtyFields:a.keepDefaultValues&&r?fe(n,r):a.keepDirty?t.dirtyFields:{},touchedFields:a.keepTouched?t.touchedFields:{},errors:a.keepErrors?t.errors:{},isSubmitSuccessful:a.keepIsSubmitSuccessful?t.isSubmitSuccessful:!1,isSubmitting:!1})},Ke=(r,a)=>ze(G(r)?r(u):r,a);return{control:{register:pe,unregister:Ee,getFieldState:je,handleSubmit:He,setError:qe,_executeSchema:se,_getWatch:V,_getDirty:_,_updateValid:B,_removeUnmounted:_e,_updateFieldArray:x,_updateDisabledField:We,_getFieldArray:k,_reset:ze,_resetDefaultValues:()=>G(s.defaultValues)&&s.defaultValues().then(r=>{Ke(r,s.resetOptions),v.state.next({isLoading:!1})}),_updateFormState:r=>{t={...t,...r}},_disableForm:Et,_subjects:v,_proxyFormState:F,_setErrors:X,get _fields(){return i},get _formValues(){return u},get _state(){return c},set _state(r){c=r},get _defaultValues(){return n},get _names(){return g},set _names(r){g=r},get _formState(){return t},set _formState(r){t=r},get _options(){return s},set _options(r){s={...s,...r}}},trigger:de,register:pe,handleSubmit:He,watch:St,setValue:q,getValues:Be,reset:Ke,resetField:pt,clearErrors:Dt,unregister:Ee,setError:qe,setFocus:(r,a={})=>{const l=f(i,r),y=l&&l._f;if(y){const d=y.refs?y.refs[0]:y.ref;d.focus&&(d.focus(),a.shouldSelect&&G(d.select)&&d.select())}},getFieldState:je}}function cr(e={}){const s=A.useRef(void 0),t=A.useRef(void 0),[i,n]=A.useState({isDirty:!1,isValidating:!1,isLoading:G(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,defaultValues:G(e.defaultValues)?void 0:e.defaultValues});s.current||(s.current={...Zt(e),formState:i});const u=s.current.control;return u._options=e,Oe({subject:u._subjects.state,next:c=>{ft(c,u._proxyFormState,u._updateFormState,!0)&&n({...u._formState})}}),A.useEffect(()=>u._disableForm(e.disabled),[u,e.disabled]),A.useEffect(()=>{if(u._proxyFormState.isDirty){const c=u._getDirty();c!==i.isDirty&&u._subjects.state.next({isDirty:c})}},[u,i.isDirty]),A.useEffect(()=>{e.values&&!re(e.values,t.current)?(u._reset(e.values,u._options.resetOptions),t.current=e.values,n(c=>({...c}))):u._resetDefaultValues()},[e.values,u]),A.useEffect(()=>{e.errors&&u._setErrors(e.errors)},[e.errors,u]),A.useEffect(()=>{u._state.mount||(u._updateValid(),u._state.mount=!0),u._state.watch&&(u._state.watch=!1,u._subjects.state.next({...u._formState})),u._removeUnmounted()}),A.useEffect(()=>{e.shouldUnregister&&u._subjects.values.next({values:u._getWatch()})},[e.shouldUnregister,u]),s.current.formState=dt(i,u),s.current}var er="Label",Ft=$.forwardRef((e,s)=>J.jsx(Tt.label,{...e,ref:s,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));Ft.displayName=er;var xt=Ft;const tr=Rt("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),Vt=$.forwardRef(({className:e,...s},t)=>J.jsx(xt,{ref:t,className:he(tr(),e),...s}));Vt.displayName=xt.displayName;const yr=Ot,At=$.createContext({}),gr=({...e})=>J.jsx(At.Provider,{value:{name:e.name},children:J.jsx(jt,{...e})}),Se=()=>{const e=$.useContext(At),s=$.useContext(wt),{getFieldState:t,formState:i}=De(),n=t(e.name,i);if(!e)throw new Error("useFormField should be used within ");const{id:u}=s;return{id:u,name:e.name,formItemId:`${u}-form-item`,formDescriptionId:`${u}-form-item-description`,formMessageId:`${u}-form-item-message`,...n}},wt=$.createContext({}),rr=$.forwardRef(({className:e,...s},t)=>{const i=$.useId();return J.jsx(wt.Provider,{value:{id:i},children:J.jsx("div",{ref:t,className:he("space-y-2",e),...s})})});rr.displayName="FormItem";const sr=$.forwardRef(({className:e,...s},t)=>{const{error:i,formItemId:n}=Se();return J.jsx(Vt,{ref:t,className:he(i&&"text-destructive",e),htmlFor:n,...s})});sr.displayName="FormLabel";const ir=$.forwardRef(({...e},s)=>{const{error:t,formItemId:i,formDescriptionId:n,formMessageId:u}=Se();return J.jsx(Nt,{ref:s,id:i,"aria-describedby":t?`${n} ${u}`:`${n}`,"aria-invalid":!!t,...e})});ir.displayName="FormControl";const ar=$.forwardRef(({className:e,...s},t)=>{const{formDescriptionId:i}=Se();return J.jsx("p",{ref:t,id:i,className:he("text-[0.8rem] text-muted-foreground",e),...s})});ar.displayName="FormDescription";const nr=$.forwardRef(({className:e,children:s,...t},i)=>{const{error:n,formMessageId:u}=Se(),c=n?String(n?.message):s;return c?J.jsx("p",{ref:i,id:u,className:he("text-[0.8rem] font-medium text-destructive",e),...t,children:c}):null});nr.displayName="FormMessage";export{yr as F,gr as a,rr as b,sr as c,ir as d,nr as e,ar as f,f as g,qt as h,w as s,cr as u}; diff --git a/public/assets/admin/assets/iconify-Dsf6bxB2.js b/public/assets/admin/assets/iconify-Dsf6bxB2.js deleted file mode 100644 index 67e730297..000000000 --- a/public/assets/admin/assets/iconify-Dsf6bxB2.js +++ /dev/null @@ -1 +0,0 @@ -import{r as S}from"./index-_xd8OyP8.js";const ge=Object.freeze({left:0,top:0,width:16,height:16}),D=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),K=Object.freeze({...ge,...D}),Q=Object.freeze({...K,body:"",hidden:!1});function Fe(e,t){const n={};!e.hFlip!=!t.hFlip&&(n.hFlip=!0),!e.vFlip!=!t.vFlip&&(n.vFlip=!0);const r=((e.rotate||0)+(t.rotate||0))%4;return r&&(n.rotate=r),n}function ne(e,t){const n=Fe(e,t);for(const r in Q)r in D?r in e&&!(r in n)&&(n[r]=D[r]):r in t?n[r]=t[r]:r in e&&(n[r]=e[r]);return n}function Ae(e,t){const n=e.icons,r=e.aliases||Object.create(null),o=Object.create(null);function i(s){if(n[s])return o[s]=[];if(!(s in o)){o[s]=null;const c=r[s]&&r[s].parent,f=c&&i(c);f&&(o[s]=[c].concat(f))}return o[s]}return Object.keys(n).concat(Object.keys(r)).forEach(i),o}function Ne(e,t,n){const r=e.icons,o=e.aliases||Object.create(null);let i={};function s(c){i=ne(r[c]||o[c],i)}return s(t),n.forEach(s),ne(e,i)}function me(e,t){const n=[];if(typeof e!="object"||typeof e.icons!="object")return n;e.not_found instanceof Array&&e.not_found.forEach(o=>{t(o,null),n.push(o)});const r=Ae(e);for(const o in r){const i=r[o];i&&(t(o,Ne(e,o,i)),n.push(o))}return n}const De={provider:"",aliases:{},not_found:{},...ge};function H(e,t){for(const n in t)if(n in e&&typeof e[n]!=typeof t[n])return!1;return!0}function ye(e){if(typeof e!="object"||e===null)return null;const t=e;if(typeof t.prefix!="string"||!e.icons||typeof e.icons!="object"||!H(e,De))return null;const n=t.icons;for(const o in n){const i=n[o];if(!o||typeof i.body!="string"||!H(i,Q))return null}const r=t.aliases||Object.create(null);for(const o in r){const i=r[o],s=i.parent;if(!o||typeof s!="string"||!n[s]&&!r[s]||!H(i,Q))return null}return t}const be=/^[a-z0-9]+(-[a-z0-9]+)*$/,R=(e,t,n,r="")=>{const o=e.split(":");if(e.slice(0,1)==="@"){if(o.length<2||o.length>3)return null;r=o.shift().slice(1)}if(o.length>3||!o.length)return null;if(o.length>1){const c=o.pop(),f=o.pop(),u={provider:o.length>0?o[0]:r,prefix:f,name:c};return t&&!A(u)?null:u}const i=o[0],s=i.split("-");if(s.length>1){const c={provider:r,prefix:s.shift(),name:s.join("-")};return t&&!A(c)?null:c}if(n&&r===""){const c={provider:r,prefix:"",name:i};return t&&!A(c,n)?null:c}return null},A=(e,t)=>e?!!((t&&e.prefix===""||e.prefix)&&e.name):!1,oe=Object.create(null);function Re(e,t){return{provider:e,prefix:t,icons:Object.create(null),missing:new Set}}function C(e,t){const n=oe[e]||(oe[e]=Object.create(null));return n[t]||(n[t]=Re(e,t))}function W(e,t){return ye(t)?me(t,(n,r)=>{r?e.icons[n]=r:e.missing.add(n)}):[]}function _e(e,t,n){try{if(typeof n.body=="string")return e.icons[t]={...n},!0}catch{}return!1}let M=!1;function we(e){return typeof e=="boolean"&&(M=e),M}function re(e){const t=typeof e=="string"?R(e,!0,M):e;if(t){const n=C(t.provider,t.prefix),r=t.name;return n.icons[r]||(n.missing.has(r)?null:void 0)}}function Be(e,t){const n=R(e,!0,M);if(!n)return!1;const r=C(n.provider,n.prefix);return t?_e(r,n.name,t):(r.missing.add(n.name),!0)}function He(e,t){if(typeof e!="object")return!1;if(typeof t!="string"&&(t=e.provider||""),M&&!t&&!e.prefix){let o=!1;return ye(e)&&(e.prefix="",me(e,(i,s)=>{Be(i,s)&&(o=!0)})),o}const n=e.prefix;if(!A({provider:t,prefix:n,name:"a"}))return!1;const r=C(t,n);return!!W(r,e)}const xe=Object.freeze({width:null,height:null}),Ie=Object.freeze({...xe,...D}),ze=/(-?[0-9.]*[0-9]+[0-9.]*)/g,Qe=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function ie(e,t,n){if(t===1)return e;if(n=n||100,typeof e=="number")return Math.ceil(e*t*n)/n;if(typeof e!="string")return e;const r=e.split(ze);if(r===null||!r.length)return e;const o=[];let i=r.shift(),s=Qe.test(i);for(;;){if(s){const c=parseFloat(i);isNaN(c)?o.push(i):o.push(Math.ceil(c*t*n)/n)}else o.push(i);if(i=r.shift(),i===void 0)return o.join("");s=!s}}function Ue(e,t="defs"){let n="";const r=e.indexOf("<"+t);for(;r>=0;){const o=e.indexOf(">",r),i=e.indexOf("",i);if(s===-1)break;n+=e.slice(o+1,i).trim(),e=e.slice(0,r).trim()+e.slice(s+1)}return{defs:n,content:e}}function Ve(e,t){return e?""+e+""+t:t}function qe(e,t,n){const r=Ue(e);return Ve(r.defs,t+r.content+n)}const $e=e=>e==="unset"||e==="undefined"||e==="none";function Ge(e,t){const n={...K,...e},r={...Ie,...t},o={left:n.left,top:n.top,width:n.width,height:n.height};let i=n.body;[n,r].forEach(b=>{const a=[],h=b.hFlip,v=b.vFlip;let w=b.rotate;h?v?w+=2:(a.push("translate("+(o.width+o.left).toString()+" "+(0-o.top).toString()+")"),a.push("scale(-1 1)"),o.top=o.left=0):v&&(a.push("translate("+(0-o.left).toString()+" "+(o.height+o.top).toString()+")"),a.push("scale(1 -1)"),o.top=o.left=0);let x;switch(w<0&&(w-=Math.floor(w/4)*4),w=w%4,w){case 1:x=o.height/2+o.top,a.unshift("rotate(90 "+x.toString()+" "+x.toString()+")");break;case 2:a.unshift("rotate(180 "+(o.width/2+o.left).toString()+" "+(o.height/2+o.top).toString()+")");break;case 3:x=o.width/2+o.left,a.unshift("rotate(-90 "+x.toString()+" "+x.toString()+")");break}w%2===1&&(o.left!==o.top&&(x=o.left,o.left=o.top,o.top=x),o.width!==o.height&&(x=o.width,o.width=o.height,o.height=x)),a.length&&(i=qe(i,'',""))});const s=r.width,c=r.height,f=o.width,u=o.height;let l,d;s===null?(d=c===null?"1em":c==="auto"?u:c,l=ie(d,f/u)):(l=s==="auto"?f:s,d=c===null?ie(l,u/f):c==="auto"?u:c);const p={},g=(b,a)=>{$e(a)||(p[b]=a.toString())};g("width",l),g("height",d);const y=[o.left,o.top,f,u];return p.viewBox=y.join(" "),{attributes:p,viewBox:y,body:i}}const Je=/\sid="(\S+)"/g,Ke="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let We=0;function Xe(e,t=Ke){const n=[];let r;for(;r=Je.exec(e);)n.push(r[1]);if(!n.length)return e;const o="suffix"+(Math.random()*16777216|Date.now()).toString(16);return n.forEach(i=>{const s=typeof t=="function"?t(i):t+(We++).toString(),c=i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e=e.replace(new RegExp('([#;"])('+c+')([")]|\\.[a-z])',"g"),"$1"+s+o+"$3")}),e=e.replace(new RegExp(o,"g"),""),e}const U=Object.create(null);function Ye(e,t){U[e]=t}function V(e){return U[e]||U[""]}function X(e){let t;if(typeof e.resources=="string")t=[e.resources];else if(t=e.resources,!(t instanceof Array)||!t.length)return null;return{resources:t,path:e.path||"/",maxURL:e.maxURL||500,rotate:e.rotate||750,timeout:e.timeout||5e3,random:e.random===!0,index:e.index||0,dataAfterTimeout:e.dataAfterTimeout!==!1}}const Y=Object.create(null),E=["https://api.simplesvg.com","https://api.unisvg.com"],N=[];for(;E.length>0;)E.length===1||Math.random()>.5?N.push(E.shift()):N.push(E.pop());Y[""]=X({resources:["https://api.iconify.design"].concat(N)});function Ze(e,t){const n=X(t);return n===null?!1:(Y[e]=n,!0)}function Z(e){return Y[e]}const et=()=>{let e;try{if(e=fetch,typeof e=="function")return e}catch{}};let se=et();function tt(e,t){const n=Z(e);if(!n)return 0;let r;if(!n.maxURL)r=0;else{let o=0;n.resources.forEach(s=>{o=Math.max(o,s.length)});const i=t+".json?icons=";r=n.maxURL-o-n.path.length-i.length}return r}function nt(e){return e===404}const ot=(e,t,n)=>{const r=[],o=tt(e,t),i="icons";let s={type:i,provider:e,prefix:t,icons:[]},c=0;return n.forEach((f,u)=>{c+=f.length+1,c>=o&&u>0&&(r.push(s),s={type:i,provider:e,prefix:t,icons:[]},c=f.length),s.icons.push(f)}),r.push(s),r};function rt(e){if(typeof e=="string"){const t=Z(e);if(t)return t.path}return"/"}const it=(e,t,n)=>{if(!se){n("abort",424);return}let r=rt(t.provider);switch(t.type){case"icons":{const i=t.prefix,c=t.icons.join(","),f=new URLSearchParams({icons:c});r+=i+".json?"+f.toString();break}case"custom":{const i=t.uri;r+=i.slice(0,1)==="/"?i.slice(1):i;break}default:n("abort",400);return}let o=503;se(e+r).then(i=>{const s=i.status;if(s!==200){setTimeout(()=>{n(nt(s)?"abort":"next",s)});return}return o=501,i.json()}).then(i=>{if(typeof i!="object"||i===null){setTimeout(()=>{i===404?n("abort",i):n("next",o)});return}setTimeout(()=>{n("success",i)})}).catch(()=>{n("next",o)})},st={prepare:ot,send:it};function ct(e){const t={loaded:[],missing:[],pending:[]},n=Object.create(null);e.sort((o,i)=>o.provider!==i.provider?o.provider.localeCompare(i.provider):o.prefix!==i.prefix?o.prefix.localeCompare(i.prefix):o.name.localeCompare(i.name));let r={provider:"",prefix:"",name:""};return e.forEach(o=>{if(r.name===o.name&&r.prefix===o.prefix&&r.provider===o.provider)return;r=o;const i=o.provider,s=o.prefix,c=o.name,f=n[i]||(n[i]=Object.create(null)),u=f[s]||(f[s]=C(i,s));let l;c in u.icons?l=t.loaded:s===""||u.missing.has(c)?l=t.missing:l=t.pending;const d={provider:i,prefix:s,name:c};l.push(d)}),t}function Se(e,t){e.forEach(n=>{const r=n.loaderCallbacks;r&&(n.loaderCallbacks=r.filter(o=>o.id!==t))})}function ft(e){e.pendingCallbacksFlag||(e.pendingCallbacksFlag=!0,setTimeout(()=>{e.pendingCallbacksFlag=!1;const t=e.loaderCallbacks?e.loaderCallbacks.slice(0):[];if(!t.length)return;let n=!1;const r=e.provider,o=e.prefix;t.forEach(i=>{const s=i.icons,c=s.pending.length;s.pending=s.pending.filter(f=>{if(f.prefix!==o)return!0;const u=f.name;if(e.icons[u])s.loaded.push({provider:r,prefix:o,name:u});else if(e.missing.has(u))s.missing.push({provider:r,prefix:o,name:u});else return n=!0,!0;return!1}),s.pending.length!==c&&(n||Se([e],i.id),i.callback(s.loaded.slice(0),s.missing.slice(0),s.pending.slice(0),i.abort))})}))}let lt=0;function ut(e,t,n){const r=lt++,o=Se.bind(null,n,r);if(!t.pending.length)return o;const i={id:r,icons:t,callback:e,abort:o};return n.forEach(s=>{(s.loaderCallbacks||(s.loaderCallbacks=[])).push(i)}),o}function at(e,t=!0,n=!1){const r=[];return e.forEach(o=>{const i=typeof o=="string"?R(o,t,n):o;i&&r.push(i)}),r}var dt={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function ht(e,t,n,r){const o=e.resources.length,i=e.random?Math.floor(Math.random()*o):e.index;let s;if(e.random){let m=e.resources.slice(0);for(s=[];m.length>1;){const I=Math.floor(Math.random()*m.length);s.push(m[I]),m=m.slice(0,I).concat(m.slice(I+1))}s=s.concat(m)}else s=e.resources.slice(i).concat(e.resources.slice(0,i));const c=Date.now();let f="pending",u=0,l,d=null,p=[],g=[];typeof r=="function"&&g.push(r);function y(){d&&(clearTimeout(d),d=null)}function b(){f==="pending"&&(f="aborted"),y(),p.forEach(m=>{m.status==="pending"&&(m.status="aborted")}),p=[]}function a(m,I){I&&(g=[]),typeof m=="function"&&g.push(m)}function h(){return{startTime:c,payload:t,status:f,queriesSent:u,queriesPending:p.length,subscribe:a,abort:b}}function v(){f="failed",g.forEach(m=>{m(void 0,l)})}function w(){p.forEach(m=>{m.status==="pending"&&(m.status="aborted")}),p=[]}function x(m,I,T){const L=I!=="success";switch(p=p.filter(k=>k!==m),f){case"pending":break;case"failed":if(L||!e.dataAfterTimeout)return;break;default:return}if(I==="abort"){l=T,v();return}if(L){l=T,p.length||(s.length?B():v());return}if(y(),w(),!e.random){const k=e.resources.indexOf(m.resource);k!==-1&&k!==e.index&&(e.index=k)}f="completed",g.forEach(k=>{k(T)})}function B(){if(f!=="pending")return;y();const m=s.shift();if(m===void 0){if(p.length){d=setTimeout(()=>{y(),f==="pending"&&(w(),v())},e.timeout);return}v();return}const I={status:"pending",resource:m,callback:(T,L)=>{x(I,T,L)}};p.push(I),u++,d=setTimeout(B,e.rotate),n(m,t,I.callback)}return setTimeout(B),h}function ve(e){const t={...dt,...e};let n=[];function r(){n=n.filter(c=>c().status==="pending")}function o(c,f,u){const l=ht(t,c,f,(d,p)=>{r(),u&&u(d,p)});return n.push(l),l}function i(c){return n.find(f=>c(f))||null}return{query:o,find:i,setIndex:c=>{t.index=c},getIndex:()=>t.index,cleanup:r}}function ce(){}const z=Object.create(null);function pt(e){if(!z[e]){const t=Z(e);if(!t)return;const n=ve(t),r={config:t,redundancy:n};z[e]=r}return z[e]}function gt(e,t,n){let r,o;if(typeof e=="string"){const i=V(e);if(!i)return n(void 0,424),ce;o=i.send;const s=pt(e);s&&(r=s.redundancy)}else{const i=X(e);if(i){r=ve(i);const s=e.resources?e.resources[0]:"",c=V(s);c&&(o=c.send)}}return!r||!o?(n(void 0,424),ce):r.query(t,o,n)().abort}const fe="iconify2",O="iconify",ke=O+"-count",le=O+"-version",Ce=36e5,mt=168,yt=50;function q(e,t){try{return e.getItem(t)}catch{}}function ee(e,t,n){try{return e.setItem(t,n),!0}catch{}}function ue(e,t){try{e.removeItem(t)}catch{}}function $(e,t){return ee(e,ke,t.toString())}function G(e){return parseInt(q(e,ke))||0}const _={local:!0,session:!0},Te={local:new Set,session:new Set};let te=!1;function bt(e){te=e}let F=typeof window>"u"?{}:window;function Ee(e){const t=e+"Storage";try{if(F&&F[t]&&typeof F[t].length=="number")return F[t]}catch{}_[e]=!1}function Pe(e,t){const n=Ee(e);if(!n)return;const r=q(n,le);if(r!==fe){if(r){const c=G(n);for(let f=0;f{const f=O+c.toString(),u=q(n,f);if(typeof u=="string"){try{const l=JSON.parse(u);if(typeof l=="object"&&typeof l.cached=="number"&&l.cached>o&&typeof l.provider=="string"&&typeof l.data=="object"&&typeof l.data.prefix=="string"&&t(l,c))return!0}catch{}ue(n,f)}};let s=G(n);for(let c=s-1;c>=0;c--)i(c)||(c===s-1?(s--,$(n,s)):Te[e].add(c))}function je(){if(!te){bt(!0);for(const e in _)Pe(e,t=>{const n=t.data,r=t.provider,o=n.prefix,i=C(r,o);if(!W(i,n).length)return!1;const s=n.lastModified||-1;return i.lastModifiedCached=i.lastModifiedCached?Math.min(i.lastModifiedCached,s):s,!0})}}function wt(e,t){const n=e.lastModifiedCached;if(n&&n>=t)return n===t;if(e.lastModifiedCached=t,n)for(const r in _)Pe(r,o=>{const i=o.data;return o.provider!==e.provider||i.prefix!==e.prefix||i.lastModified===t});return!0}function xt(e,t){te||je();function n(r){let o;if(!_[r]||!(o=Ee(r)))return;const i=Te[r];let s;if(i.size)i.delete(s=Array.from(i).shift());else if(s=G(o),s>=yt||!$(o,s+1))return;const c={cached:Math.floor(Date.now()/Ce),provider:e.provider,data:t};return ee(o,O+s.toString(),JSON.stringify(c))}t.lastModified&&!wt(e,t.lastModified)||Object.keys(t.icons).length&&(t.not_found&&(t=Object.assign({},t),delete t.not_found),n("local")||n("session"))}function It(){}function St(e){e.iconsLoaderFlag||(e.iconsLoaderFlag=!0,setTimeout(()=>{e.iconsLoaderFlag=!1,ft(e)}))}function vt(e){const t=[],n=[];return e.forEach(r=>{(r.match(be)?t:n).push(r)}),{valid:t,invalid:n}}function P(e,t,n,r){function o(){const i=e.pendingIcons;t.forEach(s=>{i&&i.delete(s),e.icons[s]||e.missing.add(s)})}if(n&&typeof n=="object")try{if(!W(e,n).length){o();return}r&&xt(e,n)}catch(i){console.error(i)}o(),St(e)}function ae(e,t){e instanceof Promise?e.then(n=>{t(n)}).catch(()=>{t(null)}):t(e)}function kt(e,t){e.iconsToLoad?e.iconsToLoad=e.iconsToLoad.concat(t).sort():e.iconsToLoad=t,e.iconsQueueFlag||(e.iconsQueueFlag=!0,setTimeout(()=>{e.iconsQueueFlag=!1;const{provider:n,prefix:r}=e,o=e.iconsToLoad;if(delete e.iconsToLoad,!o||!o.length)return;const i=e.loadIcon;if(e.loadIcons&&(o.length>1||!i)){ae(e.loadIcons(o,r,n),l=>{P(e,o,l,!1)});return}if(i){o.forEach(l=>{const d=i(l,r,n);ae(d,p=>{const g=p?{prefix:r,icons:{[l]:p}}:null;P(e,[l],g,!1)})});return}const{valid:s,invalid:c}=vt(o);if(c.length&&P(e,c,null,!1),!s.length)return;const f=r.match(be)?V(n):null;if(!f){P(e,s,null,!1);return}f.prepare(n,r,s).forEach(l=>{gt(n,l,d=>{P(e,l.icons,d,!0)})})}))}const Ct=(e,t)=>{const n=at(e,!0,we()),r=ct(n);if(!r.pending.length){let f=!0;return setTimeout(()=>{f&&t(r.loaded,r.missing,r.pending,It)}),()=>{f=!1}}const o=Object.create(null),i=[];let s,c;return r.pending.forEach(f=>{const{provider:u,prefix:l}=f;if(l===c&&u===s)return;s=u,c=l,i.push(C(u,l));const d=o[u]||(o[u]=Object.create(null));d[l]||(d[l]=[])}),r.pending.forEach(f=>{const{provider:u,prefix:l,name:d}=f,p=C(u,l),g=p.pendingIcons||(p.pendingIcons=new Set);g.has(d)||(g.add(d),o[u][l].push(d))}),i.forEach(f=>{const u=o[f.provider][f.prefix];u.length&&kt(f,u)}),ut(t,r,i)};function Tt(e,t){const n={...e};for(const r in t){const o=t[r],i=typeof o;r in xe?(o===null||o&&(i==="string"||i==="number"))&&(n[r]=o):i===typeof n[r]&&(n[r]=r==="rotate"?o%4:o)}return n}const Et=/[\s,]+/;function Pt(e,t){t.split(Et).forEach(n=>{switch(n.trim()){case"horizontal":e.hFlip=!0;break;case"vertical":e.vFlip=!0;break}})}function jt(e,t=0){const n=e.replace(/^-?[0-9.]*/,"");function r(o){for(;o<0;)o+=4;return o%4}if(n===""){const o=parseInt(e);return isNaN(o)?0:r(o)}else if(n!==e){let o=0;switch(n){case"%":o=25;break;case"deg":o=90}if(o){let i=parseFloat(e.slice(0,e.length-n.length));return isNaN(i)?0:(i=i/o,i%1===0?r(i):0)}}return t}function Mt(e,t){let n=e.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const r in t)n+=" "+r+'="'+t[r]+'"';return'"+e+""}function Ot(e){return e.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(//g,"%3E").replace(/\s+/g," ")}function Lt(e){return"data:image/svg+xml,"+Ot(e)}function Ft(e){return'url("'+Lt(e)+'")'}let j;function At(){try{j=window.trustedTypes.createPolicy("iconify",{createHTML:e=>e})}catch{j=null}}function Nt(e){return j===void 0&&At(),j?j.createHTML(e):e}const Me={...Ie,inline:!1},Dt={xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},Rt={display:"inline-block"},J={backgroundColor:"currentColor"},Oe={backgroundColor:"transparent"},de={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},he={WebkitMask:J,mask:J,background:Oe};for(const e in he){const t=he[e];for(const n in de)t[e+n]=de[n]}const _t={...Me,inline:!0};function pe(e){return e+(e.match(/^[-0-9.]+$/)?"px":"")}const Bt=(e,t,n)=>{const r=t.inline?_t:Me,o=Tt(r,t),i=t.mode||"svg",s={},c=t.style||{},f={...i==="svg"?Dt:{}};if(n){const a=R(n,!1,!0);if(a){const h=["iconify"],v=["provider","prefix"];for(const w of v)a[w]&&h.push("iconify--"+a[w]);f.className=h.join(" ")}}for(let a in t){const h=t[a];if(h!==void 0)switch(a){case"icon":case"style":case"children":case"onLoad":case"mode":case"ssr":break;case"_ref":f.ref=h;break;case"className":f[a]=(f[a]?f[a]+" ":"")+h;break;case"inline":case"hFlip":case"vFlip":o[a]=h===!0||h==="true"||h===1;break;case"flip":typeof h=="string"&&Pt(o,h);break;case"color":s.color=h;break;case"rotate":typeof h=="string"?o[a]=jt(h):typeof h=="number"&&(o[a]=h);break;case"ariaHidden":case"aria-hidden":h!==!0&&h!=="true"&&delete f["aria-hidden"];break;default:r[a]===void 0&&(f[a]=h)}}const u=Ge(e,o),l=u.attributes;if(o.inline&&(s.verticalAlign="-0.125em"),i==="svg"){f.style={...s,...c},Object.assign(f,l);let a=0,h=t.id;return typeof h=="string"&&(h=h.replace(/-/g,"_")),f.dangerouslySetInnerHTML={__html:Nt(Xe(u.body,h?()=>h+"ID"+a++:"iconifyReact"))},S.createElement("svg",f)}const{body:d,width:p,height:g}=e,y=i==="mask"||(i==="bg"?!1:d.indexOf("currentColor")!==-1),b=Mt(d,{...l,width:p+"",height:g+""});return f.style={...s,"--svg":Ft(b),width:pe(l.width),height:pe(l.height),...Rt,...y?J:Oe,...c},S.createElement("span",f)};we(!0);Ye("",st);if(typeof document<"u"&&typeof window<"u"){je();const e=window;if(e.IconifyPreload!==void 0){const t=e.IconifyPreload,n="Invalid IconifyPreload syntax.";typeof t=="object"&&t!==null&&(t instanceof Array?t:[t]).forEach(r=>{try{(typeof r!="object"||r===null||r instanceof Array||typeof r.icons!="object"||typeof r.prefix!="string"||!He(r))&&console.error(n)}catch{console.error(n)}})}if(e.IconifyProviders!==void 0){const t=e.IconifyProviders;if(typeof t=="object"&&t!==null)for(let n in t){const r="IconifyProviders["+n+"] is invalid.";try{const o=t[n];if(typeof o!="object"||!o||o.resources===void 0)continue;Ze(n,o)||console.error(r)}catch{console.error(r)}}}}function Le(e){const[t,n]=S.useState(!!e.ssr),[r,o]=S.useState({});function i(g){if(g){const y=e.icon;if(typeof y=="object")return{name:"",data:y};const b=re(y);if(b)return{name:y,data:b}}return{name:""}}const[s,c]=S.useState(i(!!e.ssr));function f(){const g=r.callback;g&&(g(),o({}))}function u(g){if(JSON.stringify(s)!==JSON.stringify(g))return f(),c(g),!0}function l(){var g;const y=e.icon;if(typeof y=="object"){u({name:"",data:y});return}const b=re(y);if(u({name:y,data:b}))if(b===void 0){const a=Ct([y],l);o({callback:a})}else b&&((g=e.onLoad)===null||g===void 0||g.call(e,y))}S.useEffect(()=>(n(!0),f),[]),S.useEffect(()=>{t&&l()},[e.icon,t]);const{name:d,data:p}=s;return p?Bt({...K,...p},e,d):e.children?e.children:S.createElement("span",{})}const zt=S.forwardRef((e,t)=>Le({...e,_ref:t}));S.forwardRef((e,t)=>Le({inline:!0,...e,_ref:t}));export{zt as I}; diff --git a/public/assets/admin/assets/index-9xzCiS16.js b/public/assets/admin/assets/index-9xzCiS16.js deleted file mode 100644 index ad4868c37..000000000 --- a/public/assets/admin/assets/index-9xzCiS16.js +++ /dev/null @@ -1 +0,0 @@ -import{r as k,j as e,B as d,t as g}from"./index-_xd8OyP8.js";import{S as F}from"./separator-lX8UNwTG.js";import{z as o,t as S}from"./zod-x_8lkCGK.js";import{u as v,F as y,a as x,b as a,c as n,d as c,f as l,e as m}from"./form-DIzSOdtk.js";import{I as h}from"./input-d0vtE30O.js";import{S as T}from"./switch-w5WyeRwk.js";import{u as C}from"./useQuery-mr7Ep0hT.js";import{u}from"./useMutation-COSDFEtn.js";import{e as E,s as W,i as B}from"./index-BycJudEO.js";import"./index-CX6PQ3zO.js";import"./index-BwSRHYe4.js";import"./index-CRh0M8qI.js";import"./index-BlMNiBlp.js";import"./clipboard-YH5zrf5X.js";const I=o.object({telegram_bot_enable:o.boolean().nullable(),telegram_bot_token:o.string().nullable(),telegram_discuss_link:o.string().nullable()}),K={telegram_bot_enable:!1,telegram_bot_token:"",telegram_discuss_link:""};function N(){const s=v({resolver:S(I),defaultValues:K,mode:"onChange"}),{data:i}=C({queryKey:["settings","telegram"],queryFn:()=>E("telegram")});k.useEffect(()=>{if(i?.data.telegram){const t=i.data.telegram;Object.entries(t).forEach(([r,_])=>{s.setValue(r,_)})}},[i]);const{mutate:j,status:p}=u({mutationFn:t=>W(t).then(({data:r})=>r&&g.success("保存成功")),mutationKey:["settings","telegram"]}),{mutate:b,status:f}=u({mutationFn:t=>B().then(({data:r})=>r&&g.success("保存成功")),mutationKey:["settings","settelegramWebhook"]});return e.jsxs(y,{...s,children:[e.jsx(x,{control:s.control,name:"telegram_bot_token",render:({field:t})=>e.jsxs(a,{children:[e.jsx(n,{children:"机器人Token"}),e.jsx(c,{children:e.jsx(h,{placeholder:"0000000000:xxxxxxxxx_xxxxxxxxxxxxxxx",...t})}),e.jsx(l,{children:"请输入由Botfather提供的token。"}),e.jsx(m,{})]})}),s.watch("telegram_bot_token")&&e.jsxs(a,{children:[e.jsx(n,{children:"设置Webhook"}),e.jsx("div",{children:e.jsx(d,{loading:f=="pending",onClick:()=>{b()},children:"一键设置"})}),e.jsx(l,{children:"对机器人进行Webhook设置,不设置将无法收到Telegram通知。"}),e.jsx(m,{})]}),e.jsx(x,{control:s.control,name:"telegram_bot_enable",render:({field:t})=>e.jsxs(a,{children:[e.jsx(n,{children:"开启机器人通知"}),e.jsx(l,{children:"开启后bot将会对绑定了telegram的管理员和用户进行基础通知。"}),e.jsx(c,{children:e.jsx(T,{checked:t.value,onCheckedChange:t.onChange})}),e.jsx(m,{})]})}),e.jsx(x,{control:s.control,name:"telegram_discuss_link",render:({field:t})=>e.jsxs(a,{children:[e.jsx(n,{children:"群组地址"}),e.jsx(c,{children:e.jsx(h,{placeholder:"https://t.me/xxxxxx",...t})}),e.jsx(l,{children:"填写后将会在用户端展示,或者被用于需要的地方。"}),e.jsx(m,{})]})}),e.jsx(d,{type:"submit",loading:p==="pending",onClick:()=>{s.handleSubmit(t=>{console.log(t),j(t)})()},children:"保存设置"})]})}function P(){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:"Telegram设置"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"配置Telegram机器人功能,实现用户通知、账户绑定、指令交互等自动化服务。"})]}),e.jsx(F,{}),e.jsx(N,{})]})}export{P as default}; diff --git a/public/assets/admin/assets/index-B8YrTAgq.css b/public/assets/admin/assets/index-B8YrTAgq.css deleted file mode 100644 index abd6a9731..000000000 --- a/public/assets/admin/assets/index-B8YrTAgq.css +++ /dev/null @@ -1 +0,0 @@ -*,: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: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}: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: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:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}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]:where(:not([hidden=until-found])){display:none}:root{--header-height: 4rem;--background: 0 0% 100%;--foreground: 222.2 84% 4.9%;--card: 0 0% 100%;--card-foreground: 222.2 84% 4.9%;--popover: 0 0% 100%;--popover-foreground: 222.2 84% 4.9%;--primary: 222.2 47.4% 11.2%;--primary-foreground: 210 40% 98%;--secondary: 210 40% 96.1%;--secondary-foreground: 222.2 47.4% 11.2%;--muted: 210 40% 96.1%;--muted-foreground: 215.4 16.3% 46.9%;--accent: 210 40% 96.1%;--accent-foreground: 222.2 47.4% 11.2%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 40% 98%;--border: 214.3 31.8% 91.4%;--input: 214.3 31.8% 91.4%;--ring: 222.2 84% 4.9%;--radius: .5rem}.dark{--background: 222.2 84% 4.9%;--foreground: 210 40% 98%;--card: 222.2 84% 4.9%;--card-foreground: 210 40% 98%;--popover: 222.2 84% 4.9%;--popover-foreground: 210 40% 98%;--primary: 210 40% 98%;--primary-foreground: 222.2 47.4% 11.2%;--secondary: 217.2 32.6% 17.5%;--secondary-foreground: 210 40% 98%;--muted: 217.2 32.6% 17.5%;--muted-foreground: 215 20.2% 65.1%;--accent: 217.2 32.6% 17.5%;--accent-foreground: 210 40% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 210 40% 98%;--border: 217.2 32.6% 17.5%;--input: 217.2 32.6% 17.5%;--ring: 212.7 26.8% 83.9%}.collapsibleDropdown{overflow:hidden}.collapsibleDropdown[data-state=open]{animation:slideDown .2s ease-out}.collapsibleDropdown[data-state=closed]{animation:slideUp .2s ease-out}@keyframes slideDown{0%{height:0}to{height:var(--radix-collapsible-content-height)}}@keyframes slideUp{0%{height:var(--radix-collapsible-content-height)}to{height:0}}*{border-color:hsl(var(--border))}body{min-height:100svh;width:100%;background-color:hsl(var(--background));color:hsl(var(--foreground))}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media (min-width: 1400px){.container{max-width:1400px}}.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}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-left-1{left:-.25rem}.-right-1{right:-.25rem}.-right-5{right:-1.25rem}.-top-1\/2{top:-50%}.bottom-0{bottom:0}.bottom-5{bottom:1.25rem}.bottom-full{bottom:100%}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-5{left:1.25rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-1\.5{right:.375rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-5{right:1.25rem}.right-\[0\]{right:0}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-2\.5{top:.625rem}.top-4{top:1rem}.top-\[1px\]{top:1px}.top-\[50\%\]{top:50%}.top-\[60\%\]{top:60%}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[-1\]{z-index:-1}.z-\[100\]{z-index:100}.z-\[1\]{z-index:1}.col-span-2{grid-column:span 2 / span 2}.-m-0\.5{margin:-.125rem}.m-1{margin:.25rem}.m-auto{margin:auto}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-mx-4{margin-left:-1rem;margin-right:-1rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.-ml-3{margin-left:-.75rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-8{margin-left:2rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-auto{margin-right:auto}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-auto{margin-top:auto}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.\!table{display:table!important}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.size-10{width:2.5rem;height:2.5rem}.size-2\.5{width:.625rem;height:.625rem}.size-3{width:.75rem;height:.75rem}.size-3\.5{width:.875rem;height:.875rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.size-6{width:1.5rem;height:1.5rem}.h-0{height:0px}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[180px\]{height:180px}.h-\[1px\]{height:1px}.h-\[200px\]{height:200px}.h-\[300px\]{height:300px}.h-\[400px\]{height:400px}.h-\[90vh\]{height:90vh}.h-\[calc\(100\%-var\(--header-height\)\)\]{height:calc(100% - var(--header-height))}.h-\[var\(--header-height\)\]{height:var(--header-height)}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-0{max-height:0px}.max-h-12{max-height:3rem}.max-h-96{max-height:24rem}.max-h-\[300px\]{max-height:300px}.max-h-\[90vh\]{max-height:90vh}.max-h-\[95\%\]{max-height:95%}.max-h-screen{max-height:100vh}.min-h-10{min-height:2.5rem}.min-h-6{min-height:1.5rem}.min-h-\[120px\]{min-height:120px}.min-h-\[150px\]{min-height:150px}.min-h-\[200px\]{min-height:200px}.min-h-\[400px\]{min-height:400px}.min-h-\[60px\]{min-height:60px}.w-0{width:0px}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-2\/3{width:66.666667%}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-40{width:10rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[100px\]{width:100px}.w-\[120px\]{width:120px}.w-\[140px\]{width:140px}.w-\[150px\]{width:150px}.w-\[1px\]{width:1px}.w-\[200px\]{width:200px}.w-\[250px\]{width:250px}.w-\[300px\]{width:300px}.w-\[50px\]{width:50px}.w-\[70px\]{width:70px}.w-\[80px\]{width:80px}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.min-w-0{min-width:0px}.min-w-20{min-width:5rem}.min-w-\[10em\]{min-width:10em}.min-w-\[40px\]{min-width:40px}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-32{max-width:8rem}.max-w-4xl{max-width:56rem}.max-w-52{max-width:13rem}.max-w-80{max-width:20rem}.max-w-\[180px\]{max-width:180px}.max-w-\[200px\]{max-width:200px}.max-w-\[280px\]{max-width:280px}.max-w-\[300px\]{max-width:300px}.max-w-\[500px\]{max-width:500px}.max-w-\[60\%\]{max-width:60%}.max-w-\[600px\]{max-width:600px}.max-w-\[70\%\]{max-width:70%}.max-w-\[90\%\]{max-width:90%}.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-none{max-width:none}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-\[1\.2\]{flex:1.2}.flex-\[1\]{flex:1}.flex-\[2\]{flex:2}.flex-\[4\]{flex:4}.flex-\[5\]{flex:5}.flex-none{flex:none}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.-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-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-1\/2{--tw-translate-y: -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-\[-50\%\]{--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-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-0{--tw-translate-y: 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-y-\[-50\%\]{--tw-translate-y: -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))}.-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-90{--tw-rotate: -90deg;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-45{--tw-rotate: 45deg;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-125{--tw-scale-x: 1.25;--tw-scale-y: 1.25;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 bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@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-copy{cursor:copy}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-help{cursor:help}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize{resize:both}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-0\.5{row-gap:.125rem}.gap-y-2{row-gap:.5rem}.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-2\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.625rem * var(--tw-space-x-reverse));margin-left:calc(.625rem * 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-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-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-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-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * 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))}.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))}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-wrap{text-wrap:wrap}.text-nowrap{text-wrap:nowrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.rounded-l-lg{border-top-left-radius:var(--radius);border-bottom-left-radius:var(--radius)}.rounded-l-md{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-r-lg{border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius)}.rounded-r-md{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-bl-none{border-bottom-left-radius:0}.rounded-br-none{border-bottom-right-radius:0}.rounded-tl-lg{border-top-left-radius:var(--radius)}.rounded-tl-none{border-top-left-radius:0}.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 4px)}.rounded-tr-lg{border-top-right-radius:var(--radius)}.rounded-tr-none{border-top-right-radius:0}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-x-0{border-left-width:0px;border-right-width:0px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-0{border-left-width:0px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-r-0{border-right-width:0px}.border-r-2{border-right-width:2px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-blue-300{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1))}.border-blue-500\/50{border-color:#3b82f680}.border-border{border-color:hsl(var(--border))}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-destructive{border-color:hsl(var(--destructive))}.border-destructive\/50{border-color:hsl(var(--destructive) / .5)}.border-foreground\/10{border-color:hsl(var(--foreground) / .1)}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-input{border-color:hsl(var(--input))}.border-muted{border-color:hsl(var(--muted))}.border-muted-foreground\/25{border-color:hsl(var(--muted-foreground) / .25)}.border-orange-500\/50{border-color:#f9731680}.border-primary{border-color:hsl(var(--primary))}.border-primary\/50{border-color:hsl(var(--primary) / .5)}.border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-l-slate-500{--tw-border-opacity: 1;border-left-color:rgb(100 116 139 / var(--tw-border-opacity, 1))}.border-l-transparent{border-left-color:transparent}.border-r-muted{border-right-color:hsl(var(--muted))}.border-t-transparent{border-top-color:transparent}.bg-accent{background-color:hsl(var(--accent))}.bg-background{background-color:hsl(var(--background))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/80{background-color:#000c}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/10{background-color:hsl(var(--destructive) / .1)}.bg-destructive\/15{background-color:hsl(var(--destructive) / .15)}.bg-destructive\/80{background-color:hsl(var(--destructive) / .8)}.bg-emerald-500\/80{background-color:#10b981cc}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-inherit{background-color:inherit}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/30{background-color:hsl(var(--muted) / .3)}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary-foreground{background-color:hsl(var(--primary-foreground))}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-primary\/20{background-color:hsl(var(--primary) / .2)}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-secondary\/50{background-color:hsl(var(--secondary) / .5)}.bg-transparent{background-color:transparent}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity, 1))}.bg-yellow-50{--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity, 1))}.bg-yellow-500\/80{background-color:#eab308cc}.fill-current{fill:currentColor}.fill-primary{fill:hsl(var(--primary))}.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}.p-\[1px\]{padding:1px}.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-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.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-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-0\.5{padding-bottom:.125rem}.pb-16{padding-bottom:4rem}.pb-2{padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pl-2{padding-left:.5rem}.pl-2\.5{padding-left:.625rem}.pl-3{padding-left:.75rem}.pl-6{padding-left:1.5rem}.pl-8{padding-left:2rem}.pr-12{padding-right:3rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-4{padding-right:1rem}.pr-6{padding-right:1.5rem}.pr-7{padding-right:1.75rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-1\.5{padding-top:.375rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-end{text-align:end}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[0\.625rem\]{font-size:.625rem}.text-\[0\.7rem\]{font-size:.7rem}.text-\[0\.8rem\]{font-size:.8rem}.text-\[10px\]{font-size:10px}.text-\[7rem\]{font-size:7rem}.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-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-10{line-height:2.5rem}.leading-loose{line-height:2}.leading-none{line-height:1}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-500{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/50{color:hsl(var(--foreground) / .5)}.text-foreground\/70{color:hsl(var(--foreground) / .7)}.text-foreground\/90{color:hsl(var(--foreground) / .9)}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/30{color:hsl(var(--muted-foreground) / .3)}.text-muted-foreground\/40{color:hsl(var(--muted-foreground) / .4)}.text-muted-foreground\/50{color:hsl(var(--muted-foreground) / .5)}.text-muted-foreground\/70{color:hsl(var(--muted-foreground) / .7)}.text-orange-500{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity, 1))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-600{--tw-text-opacity: 1;color:rgb(202 138 4 / var(--tw-text-opacity, 1))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity, 1))}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.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-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px 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-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)}.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-destructive\/50{--tw-shadow-color: hsl(var(--destructive) / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-emerald-500\/50{--tw-shadow-color: rgb(16 185 129 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-yellow-500\/50{--tw-shadow-color: rgb(234 179 8 / .5);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.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-gray-200{--tw-ring-opacity: 1;--tw-ring-color: rgb(229 231 235 / var(--tw-ring-opacity, 1))}.ring-gray-300\/20{--tw-ring-color: rgb(209 213 219 / .2)}.ring-green-500\/20{--tw-ring-color: rgb(34 197 94 / .2)}.ring-primary\/20{--tw-ring-color: hsl(var(--primary) / .2)}.ring-offset-2{--tw-ring-offset-width: 2px}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.ring-offset-white{--tw-ring-offset-color: #fff}.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-\[margin\]{transition-property:margin;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[max-height\,padding\]{transition-property:max-height,padding;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}.transition-\[width\]{transition-property:width;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}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.delay-100{transition-delay:.1s}.delay-150{transition-delay:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in-0{--tw-enter-opacity: 0}.zoom-in-95{--tw-enter-scale: .95}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.duration-700{animation-duration:.7s}.delay-100{animation-delay:.1s}.delay-150{animation-delay:.15s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}html{overflow-y:scroll}.sticky{position:sticky!important;z-index:2;background-color:hsl(var(--card))}.sticky.before\:right-0:before,.sticky.before\:left-0:before{content:"";position:absolute;top:0;bottom:0;width:2px;background:linear-gradient(to right,rgba(0,0,0,.08),transparent);opacity:1;transition:opacity .3s ease}.sticky.before\:right-0:before{right:-1px;background:linear-gradient(to right,rgba(0,0,0,.08),transparent)}.sticky.before\:right-0:after{content:"";position:absolute;top:0;right:-8px;bottom:0;width:8px;pointer-events:none;background:linear-gradient(to right,rgba(0,0,0,.05),transparent)}.sticky.before\:left-0:before{left:-1px;background:linear-gradient(to left,rgba(0,0,0,.08),transparent)}.sticky.before\:left-0:after{content:"";position:absolute;top:0;left:-8px;bottom:0;width:8px;pointer-events:none;background:linear-gradient(to left,rgba(0,0,0,.05),transparent)}.sticky:hover:before{opacity:.8}.dark .sticky.before\:right-0:before,.dark .sticky.before\:left-0:before{background:linear-gradient(to right,rgba(255,255,255,.05),transparent)}.dark .sticky.before\:right-0:after,.dark .sticky.before\:left-0:after{background:linear-gradient(to right,rgba(255,255,255,.03),transparent)}.hover\:bg-muted\/50:hover .sticky:before{opacity:1}.\*\:\!inline-block>*{display:inline-block!important}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:bottom-0:before{content:var(--tw-content);bottom:0}.before\:left-0:before{content:var(--tw-content);left:0}.before\:right-0:before{content:var(--tw-content);right:0}.before\:top-0:before{content:var(--tw-content);top:0}.before\:w-\[1px\]:before{content:var(--tw-content);width:1px}.before\:bg-border:before{content:var(--tw-content);background-color:hsl(var(--border))}.after\:pointer-events-none:after{content:var(--tw-content);pointer-events:none}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:bottom-0:after{content:var(--tw-content);bottom:0}.after\:left-0:after{content:var(--tw-content);left:0}.after\:hidden:after{content:var(--tw-content);display:none}.after\:h-32:after{content:var(--tw-content);height:8rem}.after\:w-full:after{content:var(--tw-content);width:100%}.after\:bg-\[linear-gradient\(180deg\,_transparent_10\%\,_hsl\(var\(--background\)\)_70\%\)\]:after{content:var(--tw-content);background-image:linear-gradient(180deg,transparent 10%,hsl(var(--background)) 70%)}.focus-within\:relative:focus-within{position:relative}.focus-within\:z-20:focus-within{z-index:20}.focus-within\:ring-1:focus-within{--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-within\:ring-ring:focus-within{--tw-ring-color: hsl(var(--ring))}.hover\:-translate-y-1:hover{--tw-translate-y: -.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))}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.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))}.hover\:border-primary\/50:hover{border-color:hsl(var(--primary) / .5)}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-blue-100:hover{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-50:hover{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.hover\:bg-card\/80:hover{background-color:hsl(var(--card) / .8)}.hover\:bg-destructive\/10:hover{background-color:hsl(var(--destructive) / .1)}.hover\:bg-destructive\/25:hover{background-color:hsl(var(--destructive) / .25)}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive) / .8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-green-100:hover{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.hover\:bg-inherit:hover{background-color:inherit}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/40:hover{background-color:hsl(var(--muted) / .4)}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-muted\/60:hover{background-color:hsl(var(--muted) / .6)}.hover\:bg-primary:hover{background-color:hsl(var(--primary))}.hover\:bg-primary\/10:hover{background-color:hsl(var(--primary) / .1)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-red-100:hover{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.hover\:bg-secondary-foreground\/10:hover{background-color:hsl(var(--secondary-foreground) / .1)}.hover\:bg-secondary\/70:hover{background-color:hsl(var(--secondary) / .7)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-transparent:hover{background-color:transparent}.hover\:bg-yellow-100:hover{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity, 1))}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-blue-600:hover{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.hover\:text-destructive:hover{color:hsl(var(--destructive))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-foreground\/70:hover{color:hsl(var(--foreground) / .7)}.hover\:text-muted-foreground:hover{color:hsl(var(--muted-foreground))}.hover\:text-primary:hover{color:hsl(var(--primary))}.hover\:text-primary-foreground:hover{color:hsl(var(--primary-foreground))}.hover\:text-red-600:hover{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-80:hover{opacity:.8}.hover\:shadow-lg:hover{--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)}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-black\/30:hover{--tw-shadow-color: rgb(0 0 0 / .3);--tw-shadow: var(--tw-shadow-colored)}.hover\:ring-primary:hover{--tw-ring-color: hsl(var(--primary))}.focus\:z-10:focus{z-index:10}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:bg-primary:focus{background-color:hsl(var(--primary))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:text-destructive:focus{color:hsl(var(--destructive))}.focus\:text-primary-foreground:focus{color:hsl(var(--primary-foreground))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1: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(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\: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-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.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-primary:focus-visible{--tw-ring-color: hsl(var(--primary))}.focus-visible\:ring-red-500:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1))}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color: hsl(var(--background))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group\/id:hover .group-hover\/id\:opacity-100,.group:hover .group-hover\:opacity-100{opacity:1}.group[data-collapsed=true] .group-\[\[data-collapsed\=true\]\]\:justify-center{justify-content:center}.group.destructive .group-\[\.destructive\]\:border-muted\/40{border-color:hsl(var(--muted) / .4)}.group[data-collapsed=true] .group-\[\[data-collapsed\=true\]\]\:px-2{padding-left:.5rem;padding-right:.5rem}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:hsl(var(--destructive) / .3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{background-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{color:hsl(var(--destructive-foreground))}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity: 1;color:rgb(254 242 242 / var(--tw-text-opacity, 1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-color: hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color: #dc2626}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.has-\[\:focus-visible\]\:outline-none:has(:focus-visible){outline:2px solid transparent;outline-offset:2px}.has-\[\:focus-visible\]\:ring-1:has(: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)}.has-\[\:focus-visible\]\:ring-neutral-950:has(:focus-visible){--tw-ring-opacity: 1;--tw-ring-color: rgb(10 10 10 / var(--tw-ring-opacity, 1))}.aria-selected\:bg-accent[aria-selected=true]{background-color:hsl(var(--accent))}.aria-selected\:bg-accent\/50[aria-selected=true]{background-color:hsl(var(--accent) / .5)}.aria-selected\:text-accent-foreground[aria-selected=true]{color:hsl(var(--accent-foreground))}.aria-selected\:text-muted-foreground[aria-selected=true]{color:hsl(var(--muted-foreground))}.aria-selected\:opacity-100[aria-selected=true]{opacity:1}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y: .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))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x: -.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))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x: .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))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y: -.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))}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x: 1rem;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))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked],.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--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))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x: var(--radix-toast-swipe-end-x);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))}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x: var(--radix-toast-swipe-move-x);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 accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up .2s ease-out}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down .2s ease-out}.data-\[state\=dragging\]\:cursor-grabbing[data-state=dragging]{cursor:grabbing}.data-\[active\]\:bg-accent\/50[data-active]{background-color:hsl(var(--accent) / .5)}.data-\[disabled\]\:bg-muted-foreground[data-disabled],.data-\[fixed\]\:bg-muted-foreground[data-fixed]{background-color:hsl(var(--muted-foreground))}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:hsl(var(--accent) / .5)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:hsl(var(--input))}.data-\[collapsed\=true\]\:py-2[data-collapsed=true]{padding-top:.5rem;padding-bottom:.5rem}.data-\[disabled\]\:text-muted[data-disabled],.data-\[fixed\]\:text-muted[data-fixed]{color:hsl(var(--muted))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=active\]\:shadow[data-state=active]{--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)}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[state\=closed\]\:duration-300[data-state=closed],.data-\[state\=open\]\:duration-300[data-state=open]{transition-duration:.3s}.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-],.data-\[state\=open\]\:animate-in[data-state=open],.data-\[state\=visible\]\:animate-in[data-state=visible]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-],.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[state\=hidden\]\:animate-out[data-state=hidden],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-]{--tw-enter-opacity: 0}.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-],.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity: .8}.data-\[state\=hidden\]\:fade-out[data-state=hidden]{--tw-exit-opacity: 0}.data-\[state\=open\]\:fade-in-0[data-state=open],.data-\[state\=visible\]\:fade-in[data-state=visible]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-90[data-state=open]{--tw-enter-scale: .9}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end]{--tw-enter-translate-x: 13rem}.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start]{--tw-enter-translate-x: -13rem}.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end]{--tw-exit-translate-x: 13rem}.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start]{--tw-exit-translate-x: -13rem}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y: 100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x: -100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x: -50%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed],.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed]{--tw-exit-translate-x: 100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y: -100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y: 100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x: -100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x: -50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x: 100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y: -100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-top-full[data-state=open]{--tw-enter-translate-y: -100%}.data-\[state\=closed\]\:duration-300[data-state=closed],.data-\[state\=open\]\:duration-300[data-state=open]{animation-duration:.3s}.data-\[disabled\]\:hover\:bg-muted-foreground:hover[data-disabled],.data-\[fixed\]\:hover\:bg-muted-foreground:hover[data-fixed]{background-color:hsl(var(--muted-foreground))}.group[data-state=open] .group-data-\[state\=\"open\"\]\:-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))}.group[data-state=open] .group-data-\[state\=open\]\: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))}.dark\:border-blue-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(29 78 216 / var(--tw-border-opacity, 1))}.dark\:border-gray-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.dark\:bg-blue-950:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(23 37 84 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-800\/50:is(.dark *){background-color:#1f293780}.dark\:bg-green-500\/10:is(.dark *){background-color:#22c55e1a}.dark\:bg-red-500\/10:is(.dark *){background-color:#ef44441a}.dark\:bg-yellow-500\/10:is(.dark *){background-color:#eab3081a}.dark\:text-gray-400:is(.dark *){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.dark\:text-green-400:is(.dark *){--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.dark\:text-yellow-400:is(.dark *){--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.dark\:ring-gray-700:is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgb(55 65 81 / var(--tw-ring-opacity, 1))}.dark\:ring-gray-800:is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgb(31 41 55 / var(--tw-ring-opacity, 1))}.dark\:placeholder\:text-gray-500:is(.dark *)::-moz-placeholder{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.dark\:placeholder\:text-gray-500:is(.dark *)::placeholder{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.dark\:hover\:bg-blue-900:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(30 58 138 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-red-900:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(127 29 29 / var(--tw-bg-opacity, 1))}.dark\:hover\:text-red-400:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.dark\:has-\[\:focus-visible\]\:ring-neutral-300:has(:focus-visible):is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgb(212 212 212 / var(--tw-ring-opacity, 1))}@media (min-width: 640px){.sm\:absolute{position:absolute}.sm\:inset-auto{inset:auto}.sm\:bottom-0{bottom:0}.sm\:bottom-\[calc\(100\%\+10px\)\]{bottom:calc(100% + 10px)}.sm\:left-0{left:0}.sm\:right-0{right:0}.sm\:top-auto{top:auto}.sm\:my-0{margin-top:0;margin-bottom:0}.sm\:my-4{margin-top:1rem;margin-bottom:1rem}.sm\:mt-0{margin-top:0}.sm\:hidden{display:none}.sm\:h-\[80vh\]{height:80vh}.sm\:h-full{height:100%}.sm\:max-h-\[500px\]{max-height:500px}.sm\:max-h-\[600px\]{max-height:600px}.sm\:max-h-\[700px\]{max-height:700px}.sm\:max-h-\[800px\]{max-height:800px}.sm\:w-48{width:12rem}.sm\:w-\[480px\]{width:480px}.sm\:w-\[90vw\]{width:90vw}.sm\:w-full{width:100%}.sm\:max-w-72{max-width:18rem}.sm\:max-w-\[1025px\]{max-width:1025px}.sm\:max-w-\[425px\]{max-width:425px}.sm\:max-w-\[600px\]{max-width:600px}.sm\:max-w-\[700px\]{max-width:700px}.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\:translate-y-5{--tw-translate-y: 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))}.sm\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:items-center{align-items:center}.sm\:justify-end{justify-content:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:gap-6{gap:1.5rem}.sm\: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)))}.sm\: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)))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-left{text-align:left}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y: 100%}}@media (min-width: 768px){.md\:absolute{position:absolute}.md\:bottom-0{bottom:0}.md\:right-auto{right:auto}.md\:col-span-1{grid-column:span 1 / span 1}.md\:ml-14{margin-left:3.5rem}.md\:ml-64{margin-left:16rem}.md\:block{display:block}.md\:flex{display:flex}.md\:inline-flex{display:inline-flex}.md\:hidden{display:none}.md\:h-svh{height:100svh}.md\:max-h-screen{max-height:100vh}.md\:w-14{width:3.5rem}.md\:w-32{width:8rem}.md\:w-64{width:16rem}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:max-w-\[31rem\]{max-width:31rem}.md\:max-w-\[420px\]{max-width:420px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:overflow-y-hidden{overflow-y:hidden}.md\:border-none{border-style:none}.md\:px-4{padding-left:1rem;padding-right:1rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:py-2{padding-top:.5rem;padding-bottom:.5rem}.md\:pt-0{padding-top:0}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.after\:md\:block:after{content:var(--tw-content);display:block}}@media (min-width: 1024px){.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:w-1\/5{width:20%}.lg\:w-\[250px\]{width:250px}.lg\:max-w-none{max-width:none}.lg\:max-w-xl{max-width:36rem}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:flex-col{flex-direction:column}.lg\:gap-8{gap:2rem}.lg\:space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(3rem * var(--tw-space-x-reverse));margin-left:calc(3rem * calc(1 - var(--tw-space-x-reverse)))}.lg\: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)))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.lg\: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))}.lg\:p-8{padding:2rem}.lg\:px-0{padding-left:0;padding-right:0}.lg\:px-3{padding-left:.75rem;padding-right:.75rem}}@media (min-width: 1280px){.xl\:mr-2{margin-right:.5rem}.xl\:flex{display:flex}.xl\:inline-flex{display:inline-flex}.xl\:h-10{height:2.5rem}.xl\:w-60{width:15rem}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:justify-start{justify-content:flex-start}.xl\:px-3{padding-left:.75rem;padding-right:.75rem}.xl\:py-2{padding-top:.5rem;padding-bottom:.5rem}}.\[\&\+div\]\:text-xs+div{font-size:.75rem;line-height:1rem}.\[\&\:\:-webkit-calendar-picker-indicator\]\:hidden::-webkit-calendar-picker-indicator{display:none}.\[\&\:has\(\>\.day-range-end\)\]\:rounded-r-md:has(>.day-range-end){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\>\.day-range-start\)\]\:rounded-l-md:has(>.day-range-start){border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\)\]\:rounded-md:has([aria-selected]){border-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]){background-color:hsl(var(--accent))}.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-accent\/50:has([aria-selected].day-outside){background-color:hsl(var(--accent) / .5)}.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y: 2px;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))}.\[\&\>span\]\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0px}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--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))}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:hsl(var(--muted-foreground))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_svg\]\:invisible svg{visibility:hidden}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0px}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}:root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: #e74c3c;--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient( to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55 );--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;padding:4px;width:var(--toastify-toast-width);box-sizing:border-box;color:#fff}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%)}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right)}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%)}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right)}@media only screen and (max-width : 480px){.Toastify__toast-container{width:100vw;padding:0;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}}.Toastify__toast{--y: 0;position:relative;touch-action:none;min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:8px;border-radius:var(--toastify-toast-bd-radius);box-shadow:0 4px 12px #0000001a;display:flex;justify-content:space-between;max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);cursor:default;direction:ltr;z-index:0;overflow:hidden}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-body{margin:auto 0;flex:1 1 auto;padding:6px;display:flex;align-items:center}.Toastify__toast-body>div:last-child{word-break:break-word;flex:1}.Toastify__toast-icon{margin-inline-end:10px;width:20px;flex-shrink:0;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}@media only screen and (max-width : 480px){.Toastify__toast{margin-bottom:0;border-radius:0}}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;align-self:flex-start;z-index:1}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:var(--toastify-z-index);opacity:.7;transform-origin:left;border-bottom-left-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial;border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp{position:absolute;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}} diff --git a/public/assets/admin/assets/index-B9eVLmYe.js b/public/assets/admin/assets/index-B9eVLmYe.js deleted file mode 100644 index 6b1338f04..000000000 --- a/public/assets/admin/assets/index-B9eVLmYe.js +++ /dev/null @@ -1 +0,0 @@ -import{r as j,j as e,a as f,g as p,B as b,t as _}from"./index-_xd8OyP8.js";import{S as g}from"./separator-lX8UNwTG.js";import{z as s,t as v}from"./zod-x_8lkCGK.js";import{C as F}from"./react-icons.esm-rZq2pt7A.js";import{u as N,F as S,a as t,b as o,c as a,f as l,d as c,e as m}from"./form-DIzSOdtk.js";import{I as y}from"./input-d0vtE30O.js";import{S as h}from"./switch-w5WyeRwk.js";import{u as C}from"./useQuery-mr7Ep0hT.js";import{e as k,s as w}from"./index-BycJudEO.js";import"./index-CX6PQ3zO.js";import"./index-BwSRHYe4.js";import"./index-CRh0M8qI.js";import"./index-BlMNiBlp.js";import"./clipboard-YH5zrf5X.js";const E=s.object({frontend_theme:s.string().nullable(),frontend_theme_sidebar:s.string().nullable(),frontend_theme_header:s.string().nullable(),frontend_theme_color:s.string().nullable(),frontend_background_url:s.string().url().nullable()}),I={frontend_theme:"",frontend_theme_sidebar:"",frontend_theme_header:"",frontend_theme_color:"",frontend_background_url:""};function V(){const{data:d}=C({queryKey:["settings","frontend"],queryFn:()=>k("frontend")}),r=N({resolver:v(E),defaultValues:I,mode:"onChange"});j.useEffect(()=>{if(d?.data?.frontend){const n=d?.data?.frontend;Object.entries(n).forEach(([i,u])=>{r.setValue(i,u)})}},[d]);function x(n){w(n).then(({data:i})=>{i&&_.success("更新成功")})}return e.jsx(S,{...r,children:e.jsxs("form",{onSubmit:r.handleSubmit(x),className:"space-y-8",children:[e.jsx(t,{control:r.control,name:"frontend_theme_sidebar",render:({field:n})=>e.jsxs(o,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(a,{className:"text-base",children:"边栏风格"}),e.jsx(l,{children:"边栏风格"})]}),e.jsx(c,{children:e.jsx(h,{checked:n.value,onCheckedChange:n.onChange})})]})}),e.jsx(t,{control:r.control,name:"frontend_theme_header",render:({field:n})=>e.jsxs(o,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(a,{className:"text-base",children:"头部风格"}),e.jsx(l,{children:"边栏风格"})]}),e.jsx(c,{children:e.jsx(h,{checked:n.value,onCheckedChange:n.onChange})})]})}),e.jsx(t,{control:r.control,name:"frontend_theme_color",render:({field:n})=>e.jsxs(o,{children:[e.jsx(a,{children:"主题色"}),e.jsxs("div",{className:"relative w-max",children:[e.jsx(c,{children:e.jsxs("select",{className:f(p({variant:"outline"}),"w-[200px] appearance-none font-normal"),...n,children:[e.jsx("option",{value:"default",children:"默认"}),e.jsx("option",{value:"black",children:"黑色"}),e.jsx("option",{value:"blackblue",children:"暗蓝色"}),e.jsx("option",{value:"green",children:"奶绿色"})]})}),e.jsx(F,{className:"absolute right-3 top-2.5 h-4 w-4 opacity-50"})]}),e.jsx(l,{children:"主题色"}),e.jsx(m,{})]})}),e.jsx(t,{control:r.control,name:"frontend_background_url",render:({field:n})=>e.jsxs(o,{children:[e.jsx(a,{children:"背景"}),e.jsx(c,{children:e.jsx(y,{placeholder:"请输入图片地址",...n})}),e.jsx(l,{children:"将会在后台登录页面进行展示。"}),e.jsx(m,{})]})}),e.jsx(b,{type:"submit",children:"保存设置"})]})})}function P(){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:"个性化设置"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"自定义系统界面外观,包括主题风格、布局、颜色方案、背景图等个性化选项。"})]}),e.jsx(g,{}),e.jsx(V,{})]})}export{P as default}; diff --git a/public/assets/admin/assets/index-BMiR-nIG.js b/public/assets/admin/assets/index-BMiR-nIG.js deleted file mode 100644 index a59f0b685..000000000 --- a/public/assets/admin/assets/index-BMiR-nIG.js +++ /dev/null @@ -1 +0,0 @@ -import{r as h,j as e,B as p,t as v}from"./index-_xd8OyP8.js";import{S as f}from"./separator-lX8UNwTG.js";import{z as t,t as _}from"./zod-x_8lkCGK.js";import{u as b,F,a,b as l,c,d as i,f as m,e as d}from"./form-DIzSOdtk.js";import{I as u}from"./input-d0vtE30O.js";import{u as g}from"./useQuery-mr7Ep0hT.js";import{e as S,s as y}from"./index-BycJudEO.js";import"./index-CX6PQ3zO.js";import"./clipboard-YH5zrf5X.js";const E=t.object({server_pull_interval:t.coerce.number().nullable(),server_push_interval:t.coerce.number().nullable(),server_token:t.string().nullable()}),N={server_pull_interval:0,server_push_interval:0,server_token:""};function k(){const s=b({resolver:_(E),defaultValues:N,mode:"onChange"}),{data:n}=g({queryKey:["settings","server"],queryFn:()=>S("server")});h.useEffect(()=>{if(n?.data.server){const r=n.data.server;Object.entries(r).forEach(([o,j])=>{s.setValue(o,j)})}},[n]);function x(r){y(r).then(({data:o})=>{o&&v.success("保存成功")})}return e.jsx(F,{...s,children:e.jsxs("form",{onSubmit:s.handleSubmit(x),className:"space-y-8",children:[e.jsx(a,{control:s.control,name:"server_token",render:({field:r})=>e.jsxs(l,{children:[e.jsx(c,{children:"通讯密钥"}),e.jsx(i,{children:e.jsx(u,{placeholder:"请输入",...r})}),e.jsx(m,{children:"Xboard与节点通讯的密钥,以便数据不会被他人获取。"}),e.jsx(d,{})]})}),e.jsx(a,{control:s.control,name:"server_pull_interval",render:({field:r})=>e.jsxs(l,{children:[e.jsx(c,{children:"节点拉取动作轮询间隔"}),e.jsx(i,{children:e.jsx(u,{placeholder:"请输入",...r})}),e.jsx(m,{children:"节点从面板获取数据的间隔频率。"}),e.jsx(d,{})]})}),e.jsx(a,{control:s.control,name:"server_push_interval",render:({field:r})=>e.jsxs(l,{children:[e.jsx(c,{children:"节点推送动作轮询间隔"}),e.jsx(i,{children:e.jsx(u,{placeholder:"请输入",...r})}),e.jsx(m,{children:"节点推送数据到面板的间隔频率。"}),e.jsx(d,{})]})}),e.jsx(p,{type:"submit",children:"保存设置"})]})})}function M(){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:"节点配置"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"配置节点通信和同步设置,包括通信密钥、轮询间隔、负载均衡等高级选项。"})]}),e.jsx(f,{}),e.jsx(k,{})]})}export{M as default}; diff --git a/public/assets/admin/assets/index-BN0i323x.js b/public/assets/admin/assets/index-BN0i323x.js deleted file mode 100644 index 34deec1e6..000000000 --- a/public/assets/admin/assets/index-BN0i323x.js +++ /dev/null @@ -1 +0,0 @@ -import{r as j,j as e,B as h,t as p}from"./index-_xd8OyP8.js";import{S as v}from"./separator-lX8UNwTG.js";import{z as n,t as _}from"./zod-x_8lkCGK.js";import{u as w,F as f,a as o,b as d,d as a,e as t}from"./form-DIzSOdtk.js";import{I as l}from"./input-d0vtE30O.js";import{u as g}from"./useQuery-mr7Ep0hT.js";import{u as b}from"./useMutation-COSDFEtn.js";import{e as F,s as N}from"./index-BycJudEO.js";import"./index-CX6PQ3zO.js";import"./clipboard-YH5zrf5X.js";const S=n.object({windows_version:n.string().nullable(),windows_download_url:n.string().nullable(),macos_version:n.string().nullable(),macos_download_url:n.string().nullable(),android_version:n.string().nullable(),android_download_url:n.string().nullable()}),y={windows_version:"",windows_download_url:"",macos_version:"",macos_download_url:"",android_version:"",android_download_url:""};function A(){const r=w({resolver:_(S),defaultValues:y,mode:"onChange"}),{data:i}=g({queryKey:["settings","app"],queryFn:()=>F("app")});j.useEffect(()=>{if(i?.data.app){const s=i.data.app;Object.entries(s).forEach(([c,u])=>{r.setValue(c,u)})}},[i]);const{mutate:x,status:m}=b({mutationFn:s=>N(s).then(({data:c})=>c&&p.success("保存成功")),mutationKey:["settings","app","update"]});return e.jsxs(f,{...r,children:[e.jsxs("div",{children:[e.jsx("div",{className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:"Windows"}),e.jsx("div",{className:"text-[0.8rem] text-muted-foreground",children:"Windows端版本号及下载地址"}),e.jsxs("div",{children:[e.jsx("div",{className:"mb-1",children:e.jsx(o,{control:r.control,name:"windows_version",render:({field:s})=>e.jsxs(d,{children:[e.jsx(a,{children:e.jsx(l,{placeholder:"1.0.0",...s})}),e.jsx(t,{})]})})}),e.jsx("div",{children:e.jsx(o,{control:r.control,name:"windows_download_url",render:({field:s})=>e.jsxs(d,{children:[e.jsx(a,{children:e.jsx(l,{placeholder:"https://xxx.com/xxx.exe",...s})}),e.jsx(t,{})]})})})]})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:"macOS"}),e.jsx("div",{className:"text-[0.8rem] text-muted-foreground",children:"macOS端版本号及下载地址"}),e.jsxs("div",{children:[e.jsx("div",{className:"mb-1",children:e.jsx(o,{control:r.control,name:"mac_version",render:({field:s})=>e.jsxs(d,{children:[e.jsx(a,{children:e.jsx(l,{placeholder:"1.0.0",...s})}),e.jsx(t,{})]})})}),e.jsx("div",{children:e.jsx(o,{control:r.control,name:"mac_download_url",render:({field:s})=>e.jsxs(d,{children:[e.jsx(a,{children:e.jsx(l,{placeholder:"https://xxx.com/xxx.dmg",...s})}),e.jsx(t,{})]})})})]})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:"Android"}),e.jsx("div",{className:"text-[0.8rem] text-muted-foreground",children:"Android端版本号及下载地址"}),e.jsxs("div",{children:[e.jsx("div",{className:"mb-1",children:e.jsx(o,{control:r.control,name:"android_version",render:({field:s})=>e.jsxs(d,{children:[e.jsx(a,{children:e.jsx(l,{placeholder:"1.0.0",...s})}),e.jsx(t,{})]})})}),e.jsx("div",{children:e.jsx(o,{control:r.control,name:"android_download_url",render:({field:s})=>e.jsxs(d,{children:[e.jsx(a,{children:e.jsx(l,{placeholder:"https://xxx.com/xxx.apk",...s})}),e.jsx(t,{})]})})})]})]}),e.jsx(h,{type:"submit",loading:m=="pending",onClick:()=>{r.handleSubmit(s=>{x(s)})()},children:"保存设置"})]})}function V(){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:"APP设置"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"管理移动应用程序相关配置,包括API接口、版本控制、推送通知等功能设置。"})]}),e.jsx(v,{}),e.jsx(A,{})]})}export{V as default}; diff --git a/public/assets/admin/assets/index-BQDG5Lg3.js b/public/assets/admin/assets/index-BQDG5Lg3.js deleted file mode 100644 index 997f09647..000000000 --- a/public/assets/admin/assets/index-BQDG5Lg3.js +++ /dev/null @@ -1 +0,0 @@ -import{r as u,j as e,B as i,t as S}from"./index-_xd8OyP8.js";import{S as D,T as R,U as T}from"./user-nav-BBmBVa03.js";import{L as V,f as M,g as k}from"./sidelinks-DLs_k-Mk.js";import{D as g,B as L,u as z,a as I,g as P,b as B,c as H,d as U,e as q,f as K}from"./column-header-BLyyjrhJ.js";import{a as E,P as O}from"./react-icons.esm-rZq2pt7A.js";import{I as C}from"./input-d0vtE30O.js";import{x as _,y as A,z as Q,A as $}from"./index-BycJudEO.js";import{D as G,e as J,a as W,b as X,c as Y,d as Z,f as ee,g as se}from"./button-DhrtVlOa.js";import{u as te,F as ae,a as c,b as d,c as m,d as x,e as h}from"./form-DIzSOdtk.js";import{z as r,t as oe}from"./zod-x_8lkCGK.js";import{T as le}from"./textarea-Bmd-AJpD.js";import{S as w}from"./switch-w5WyeRwk.js";import{C as re}from"./confirm-dialog-CHz9pK2w.js";import{T as ie}from"./trash-2-lI1I6nfk.js";import{u as ne}from"./useQuery-mr7Ep0hT.js";import"./index-CcyXqhZ9.js";import"./index-BwSRHYe4.js";import"./index-CX6PQ3zO.js";import"./index-BlMNiBlp.js";import"./IconTicket-COhvkaJH.js";import"./select-Cqkdx-UJ.js";import"./index-CRh0M8qI.js";import"./index-kwEAqj-e.js";import"./tooltip-B58e4dA7.js";import"./arrow-up-9fLptvj0.js";import"./clipboard-YH5zrf5X.js";const ce=r.object({id:r.number().nullable(),title:r.string().min(1).max(250),content:r.string().min(1),show:r.boolean(),popup:r.boolean().optional(),img_url:r.string().nullable()}),de={id:null,show:!1,popup:!1,img_url:"",title:"",content:""};function b({refetch:a,dialogTrigger:s,type:l="add",defaultFormValues:n=de}){const[p,j]=u.useState(!1),o=te({resolver:oe(ce),defaultValues:n,mode:"onChange",shouldFocusError:!0});return e.jsx(ae,{...o,children:e.jsxs(G,{onOpenChange:j,open:p,children:[e.jsx(J,{asChild:!0,children:s||e.jsx(i,{variant:"outline",children:"添加公告"})}),e.jsxs(W,{className:"sm:max-w-[425px]",children:[e.jsxs(X,{children:[e.jsx(Y,{children:l==="add"?"添加公告":"编辑公告"}),e.jsx(Z,{})]}),e.jsx(c,{control:o.control,name:"title",render:({field:t})=>e.jsxs(d,{children:[e.jsx(m,{children:"标题"}),e.jsx("div",{className:"relative ",children:e.jsx(x,{children:e.jsx(C,{placeholder:"请输入公告标题",...t})})}),e.jsx(h,{})]})}),e.jsx(c,{control:o.control,name:"content",render:({field:t})=>e.jsxs(d,{children:[e.jsx(m,{children:"公告内容"}),e.jsx("div",{className:"relative",children:e.jsx(x,{children:e.jsx(le,{className:"min-h-[150px]",placeholder:"请输入公告内容,支持HTML",...t})})}),e.jsx(h,{})]})}),e.jsx(c,{control:o.control,name:"img_url",render:({field:t})=>e.jsxs(d,{children:[e.jsx(m,{children:"公告背景"}),e.jsx("div",{className:"relative",children:e.jsx(x,{children:e.jsx(C,{type:"text",placeholder:"请输入公告背景图片URL",...t,value:t.value||""})})}),e.jsx(h,{})]})}),e.jsx(c,{control:o.control,name:"show",render:({field:t})=>e.jsxs(d,{children:[e.jsx(m,{children:"显示"}),e.jsx("div",{className:"relative py-2",children:e.jsx(x,{children:e.jsx(w,{checked:t.value,onCheckedChange:t.onChange})})}),e.jsx(h,{})]})}),e.jsx(c,{control:o.control,name:"popup",render:({field:t})=>e.jsxs(d,{children:[e.jsx(m,{children:"弹窗?"}),e.jsx("div",{className:"relative py-2",children:e.jsx(x,{children:e.jsx(w,{checked:t.value,onCheckedChange:t.onChange})})}),e.jsx(h,{})]})}),e.jsxs(ee,{children:[e.jsx(se,{asChild:!0,children:e.jsx(i,{type:"button",variant:"outline",children:"取消"})}),e.jsx(i,{type:"submit",onClick:t=>{t.preventDefault(),o.handleSubmit(async f=>{try{(await _(f)).data&&(await a(),j(!1))}catch(v){console.error("Failed to save notice:",v)}})()},children:"提交"})]})]})]})})}function me({table:a,refetch:s}){const l=a.getState().columnFilters.length>0;return e.jsxs("div",{className:"flex items-center justify-between space-x-2 ",children:[e.jsxs("div",{className:"flex flex-1 items-center space-x-4",children:[e.jsx(C,{placeholder:"搜索公告标题...",value:a.getColumn("title")?.getFilterValue()??"",onChange:n=>a.getColumn("title")?.setFilterValue(n.target.value),className:"h-9 w-[150px] lg:w-[250px]"}),l&&e.jsxs(i,{variant:"ghost",onClick:()=>a.resetColumnFilters(),className:"h-9 px-2 lg:px-3",children:["重置",e.jsx(E,{className:"ml-2 h-4 w-4"})]})]}),e.jsx("div",{className:"flex items-center space-x-2",children:e.jsx(b,{refetch:s})})]})}const xe=a=>[{accessorKey:"id",header:({column:s})=>e.jsx(g,{column:s,title:"ID"}),cell:({row:s})=>e.jsx(L,{variant:"outline",className:"font-mono",children:s.getValue("id")}),enableSorting:!0,size:60},{accessorKey:"show",header:({column:s})=>e.jsx(g,{column:s,title:"显示状态"}),cell:({row:s})=>e.jsx("div",{className:"flex items-center",children:e.jsx(w,{defaultChecked:s.getValue("show"),onCheckedChange:async()=>{const{data:l}=await A({id:s.original.id});l||a()}})}),enableSorting:!1,size:100},{accessorKey:"title",header:({column:s})=>e.jsx(g,{column:s,title:"标题"}),cell:({row:s})=>e.jsx("div",{className:"flex max-w-[500px] items-center",children:e.jsx("span",{className:"truncate font-medium",children:s.getValue("title")})}),enableSorting:!1,size:6e3},{id:"actions",header:({column:s})=>e.jsx(g,{className:"justify-end",column:s,title:"操作"}),cell:({row:s})=>e.jsxs("div",{className:"flex items-center justify-end space-x-2",children:[e.jsx(b,{refetch:a,dialogTrigger:e.jsxs(i,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-muted",children:[e.jsx(O,{className:"h-4 w-4 text-muted-foreground hover:text-foreground"}),e.jsx("span",{className:"sr-only",children:"编辑"})]}),type:"edit",defaultFormValues:s.original}),e.jsx(re,{title:"删除确认",description:"确定要删除该条公告吗?此操作无法撤销。",onConfirm:async()=>{Q({id:s.original.id}).then(()=>{S.success("删除成功"),a()})},children:e.jsxs(i,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-red-100 dark:hover:bg-red-900",children:[e.jsx(ie,{className:"h-4 w-4 text-muted-foreground hover:text-red-600 dark:hover:text-red-400"}),e.jsx("span",{className:"sr-only",children:"删除"})]})})]}),size:100}];function he(){const[a,s]=u.useState({}),[l,n]=u.useState({}),[p,j]=u.useState([]),[o,t]=u.useState([]),{data:f,isLoading:v,refetch:y}=ne({queryKey:["notices"],queryFn:async()=>{const{data:N}=await $();return N}}),F=z({data:f??[],columns:xe(y),state:{sorting:o,columnVisibility:l,rowSelection:a,columnFilters:p},enableRowSelection:!0,onRowSelectionChange:s,onSortingChange:t,onColumnFiltersChange:j,onColumnVisibilityChange:n,getCoreRowModel:P(),getFilteredRowModel:B(),getPaginationRowModel:H(),getSortedRowModel:U(),getFacetedRowModel:q(),getFacetedUniqueValues:K(),initialState:{columnPinning:{right:["actions"]}}});return e.jsx(I,{table:F,toolbar:N=>e.jsx(me,{table:N,refetch:y})})}function qe(){return e.jsxs(V,{children:[e.jsxs(M,{className:"flex items-center justify-between",children:[e.jsx(D,{}),e.jsxs("div",{className:"flex items-center space-x-4",children:[e.jsx(R,{}),e.jsx(T,{})]})]}),e.jsxs(k,{className:"flex flex-col",fixedHeight:!0,children:[e.jsx("div",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("div",{className:"mb-2",children:e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:"公告管理"})}),e.jsx("p",{className:"text-muted-foreground",children:"在这里可以配置公告,包括添加、删除、编辑等操作。"})]})}),e.jsx("div",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx(he,{})})]})]})}export{qe as default}; diff --git a/public/assets/admin/assets/index-BlMNiBlp.js b/public/assets/admin/assets/index-BlMNiBlp.js deleted file mode 100644 index e6e9132af..000000000 --- a/public/assets/admin/assets/index-BlMNiBlp.js +++ /dev/null @@ -1 +0,0 @@ -import{r as u}from"./index-_xd8OyP8.js";import{b as z}from"./index-BwSRHYe4.js";function c(r){const[h,e]=u.useState(void 0);return z(()=>{if(r){e({width:r.offsetWidth,height:r.offsetHeight});const f=new ResizeObserver(i=>{if(!Array.isArray(i)||!i.length)return;const b=i[0];let o,t;if("borderBoxSize"in b){const s=b.borderBoxSize,d=Array.isArray(s)?s[0]:s;o=d.inlineSize,t=d.blockSize}else o=r.offsetWidth,t=r.offsetHeight;e({width:o,height:t})});return f.observe(r,{box:"border-box"}),()=>f.unobserve(r)}else e(void 0)},[r]),h}export{c as u}; diff --git a/public/assets/admin/assets/index-BwSRHYe4.js b/public/assets/admin/assets/index-BwSRHYe4.js deleted file mode 100644 index 8723e54b4..000000000 --- a/public/assets/admin/assets/index-BwSRHYe4.js +++ /dev/null @@ -1 +0,0 @@ -import{r as c,j as C}from"./index-_xd8OyP8.js";function $(e,o,{checkForDefaultPrevented:t=!0}={}){return function(n){if(e?.(n),t===!1||!n.defaultPrevented)return o?.(n)}}function j(e,o){const t=c.createContext(o),u=s=>{const{children:r,...a}=s,i=c.useMemo(()=>a,Object.values(a));return C.jsx(t.Provider,{value:i,children:r})};u.displayName=e+"Provider";function n(s){const r=c.useContext(t);if(r)return r;if(o!==void 0)return o;throw new Error(`\`${s}\` must be used within \`${e}\``)}return[u,n]}function w(e,o=[]){let t=[];function u(s,r){const a=c.createContext(r),i=t.length;t=[...t,r];const f=l=>{const{scope:p,children:v,...d}=l,h=p?.[e]?.[i]||a,S=c.useMemo(()=>d,Object.values(d));return C.jsx(h.Provider,{value:S,children:v})};f.displayName=s+"Provider";function x(l,p){const v=p?.[e]?.[i]||a,d=c.useContext(v);if(d)return d;if(r!==void 0)return r;throw new Error(`\`${l}\` must be used within \`${s}\``)}return[f,x]}const n=()=>{const s=t.map(r=>c.createContext(r));return function(a){const i=a?.[e]||s;return c.useMemo(()=>({[`__scope${e}`]:{...a,[e]:i}}),[a,i])}};return n.scopeName=e,[u,P(n,...o)]}function P(...e){const o=e[0];if(e.length===1)return o;const t=()=>{const u=e.map(n=>({useScope:n(),scopeName:n.scopeName}));return function(s){const r=u.reduce((a,{useScope:i,scopeName:f})=>{const l=i(s)[`__scope${f}`];return{...a,...l}},{});return c.useMemo(()=>({[`__scope${o.scopeName}`]:r}),[r])}};return t.scopeName=o.scopeName,t}function m(e){const o=c.useRef(e);return c.useEffect(()=>{o.current=e}),c.useMemo(()=>(...t)=>o.current?.(...t),[])}function R({prop:e,defaultProp:o,onChange:t=()=>{}}){const[u,n]=b({defaultProp:o,onChange:t}),s=e!==void 0,r=s?e:u,a=m(t),i=c.useCallback(f=>{if(s){const l=typeof f=="function"?f(e):f;l!==e&&a(l)}else n(f)},[s,e,n,a]);return[r,i]}function b({defaultProp:e,onChange:o}){const t=c.useState(e),[u]=t,n=c.useRef(u),s=m(o);return c.useEffect(()=>{n.current!==u&&(s(u),n.current=u)},[u,n,s]),t}var _=globalThis?.document?c.useLayoutEffect:()=>{};export{$ as a,_ as b,w as c,m as d,j as e,R as u}; diff --git a/public/assets/admin/assets/index-BycJudEO.js b/public/assets/admin/assets/index-BycJudEO.js deleted file mode 100644 index d7e9b1fe2..000000000 --- a/public/assets/admin/assets/index-BycJudEO.js +++ /dev/null @@ -1 +0,0 @@ -import"./clipboard-YH5zrf5X.js";import{b as e}from"./index-_xd8OyP8.js";const s=window?.settings?.secure_path,a=()=>e.get(s+"/stat/getOrder"),p=()=>e.get(s+"/stat/getStats"),c=t=>e.get(s+"/stat/getTrafficRank",{params:t}),u=()=>e.get(s+"/theme/getThemes"),g=t=>e.post(s+"/theme/getThemeConfig",{name:t}),d=(t,r)=>e.post(s+"/theme/saveThemeConfig",{name:t,config:r}),i=t=>{const r=new FormData;return r.append("file",t),e.post(s+"/theme/upload",r,{headers:{"Content-Type":"multipart/form-data"}})},m=t=>e.post(s+"/theme/delete",{name:t}),l=t=>e.post(s+"/config/save",t),h=()=>e.get(s+"/server/manage/getNodes"),f=t=>e.post(s+"/server/manage/save",t),v=t=>e.post(s+"/server/manage/drop",t),y=t=>e.post(s+"/server/manage/copy",t),k=t=>e.post(s+"/server/manage/update",t),T=t=>e.post(s+"/server/manage/sort",t),w=()=>e.get(s+"/server/group/fetch"),S=t=>e.post(s+"/server/group/save",t),P=t=>e.post(s+"/server/group/drop",t),L=()=>e.get(s+"/server/route/fetch"),N=t=>e.post(s+"/server/route/save",t),C=t=>e.post(s+"/server/route/drop",t),M=()=>e.get(s+"/payment/fetch"),O=()=>e.get(s+"/payment/getPaymentMethods"),G=t=>e.post(s+"/payment/getPaymentForm",t),K=t=>e.post(s+"/payment/save",t),U=t=>e.post(s+"/payment/drop",t),I=t=>e.post(s+"/payment/show",t),b=t=>e.post(s+"/payment/sort",t),D=()=>e.get(s+"/notice/fetch"),R=t=>e.post(s+"/notice/save",t),F=t=>e.post(s+"/notice/drop",t),x=t=>e.post(s+"/notice/show",t),E=()=>e.get(s+"/knowledge/fetch"),W=t=>e.get(s+"/knowledge/fetch?id="+t),q=t=>e.post(s+"/knowledge/save",t),_=t=>e.post(s+"/knowledge/drop",t),j=t=>e.post(s+"/knowledge/show",t),z=t=>e.post(s+"/knowledge/sort",t),A=()=>e.get(s+"/plan/fetch"),B=t=>e.post(s+"/plan/save",t),H=t=>e.post(s+"/plan/update",t),J=t=>e.post(s+"/plan/drop",t),Q=t=>e.post(s+"/plan/sort",{ids:t}),V=async t=>e.post(s+"/order/fetch",t),X=t=>e.post(s+"/order/detail",t),Y=t=>e.post(s+"/order/paid",t),Z=t=>e.post(s+"/order/cancel",t),$=t=>e.post(s+"/order/update",t),tt=t=>e.post(s+"/order/assign",t),et=t=>e.post(s+"/coupon/fetch",t),st=t=>e.post(s+"/coupon/generate",t),rt=t=>e.post(s+"/coupon/drop",t),ot=t=>e.post(s+"/coupon/update",t),nt=t=>e.post(s+"/user/fetch",t),at=t=>e.post(s+"/user/update",t),pt=t=>e.post(s+"/user/resetSecret",t),ct=t=>e.post(s+"/user/generate",t),ut=t=>e.post(s+"/stat/getStatUser",t),gt=t=>e.post(s+"/ticket/fetch",t),dt=t=>e.get(s+"/ticket/fetch?id= "+t),it=t=>e.post(s+"/ticket/reply",t),mt=t=>e.post(s+"/ticket/close",{id:t}),lt=(t="")=>e.get(s+"/config/fetch?key="+t),ht=t=>e.post(s+"/config/save",t),ft=()=>e.get(s+"/config/getEmailTemplate"),vt=()=>e.post(s+"/config/testSendMail"),yt=()=>e.post(s+"/config/setTelegramWebhook");export{$,D as A,W as B,q as C,j as D,_ as E,E as F,z as G,w as H,L as I,h as J,f as K,k as L,y as M,v as N,T as O,P,N as Q,C as R,B as S,H as T,J as U,A as V,Q as W,S as X,X as Y,Y as Z,Z as _,gt as a,st as a0,ot as a1,rt as a2,et as a3,ct as a4,pt as a5,nt as a6,tt as a7,dt as a8,it as a9,mt as aa,at as ab,ut as ac,V as b,p as c,c as d,lt as e,ft as f,a as g,vt as h,yt as i,O as j,G as k,K as l,U as m,M as n,b as o,g as p,d as q,m as r,ht as s,l as t,I as u,i as v,u as w,R as x,x as y,F as z}; diff --git a/public/assets/admin/assets/index-C2oLNIXb.js b/public/assets/admin/assets/index-C2oLNIXb.js deleted file mode 100644 index 6c3cf2c61..000000000 --- a/public/assets/admin/assets/index-C2oLNIXb.js +++ /dev/null @@ -1,5 +0,0 @@ -import{j as e,B as A,a as u,r as d,t as B,L as G,w as Y}from"./index-_xd8OyP8.js";import{C as Q,a as J,b as W,d as X,e as P,f as R,g as ee,S as se,T as ae,U as le}from"./user-nav-BBmBVa03.js";import{D as te,a as re,b as ne,e as h,L as ie,f as oe,g as ce}from"./sidelinks-DLs_k-Mk.js";import{B as j,D as o,u as de,g as me,b as ue,c as xe,d as he,e as ge,f as je,a as pe}from"./column-header-BLyyjrhJ.js";import{u as fe}from"./useQuery-mr7Ep0hT.js";import{b as ve,c as be,a as Ne}from"./react-icons.esm-rZq2pt7A.js";import{I as N}from"./input-d0vtE30O.js";import{P as I,a as E,b as $,c as we}from"./popover-C5eiPdqD.js";import{S as ye}from"./separator-lX8UNwTG.js";import{D as Ce,e as Se,B as m,a as _e,b as Fe,c as De,d as Me,f as Te}from"./button-DhrtVlOa.js";import{C as Ve,b as Le}from"./calendar-DHKoWj25.js";import{u as Pe,F as Re,b as v,c as b,a as p,e as Ue,d as U}from"./form-DIzSOdtk.js";import{S as ke,a as He,b as ze,c as Ae,d as k}from"./select-Cqkdx-UJ.js";import{a as w,b as S,d as H,c as Be}from"./common-BL1VIuho.js";import{z as g,t as Ie}from"./zod-x_8lkCGK.js";import{V as Ee,a4 as $e,a5 as Ke,H as Oe,a6 as Ze}from"./index-BycJudEO.js";import{u as qe}from"./index-ngg4RcvF.js";import{U as Ge,T as Ye}from"./traffic-record-table-ChIQ7swu.js";import{O as Qe}from"./order-assign-form-D2gTIMis.js";import{T as _,a as F,b as D,c as M}from"./tooltip-B58e4dA7.js";import{E as Je}from"./ellipsis-DggWsm3O.js";import"./index-CcyXqhZ9.js";import"./index-BwSRHYe4.js";import"./index-CX6PQ3zO.js";import"./index-BlMNiBlp.js";import"./IconTicket-COhvkaJH.js";import"./arrow-up-9fLptvj0.js";import"./index-CRh0M8qI.js";import"./index-kwEAqj-e.js";import"./clipboard-YH5zrf5X.js";import"./switch-w5WyeRwk.js";import"./textarea-Bmd-AJpD.js";import"./skeleton-Dzu0p8kx.js";function z({column:t,title:c,options:s}){const a=t?.getFacetedUniqueValues(),r=new Set(t?.getFilterValue());return e.jsxs(I,{children:[e.jsx(E,{asChild:!0,children:e.jsxs(A,{variant:"outline",size:"sm",className:"h-8 border-dashed",children:[e.jsx(ve,{className:"mr-2 h-4 w-4"}),c,r?.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(ye,{orientation:"vertical",className:"mx-2 h-4"}),e.jsx(j,{variant:"secondary",className:"rounded-sm px-1 font-normal lg:hidden",children:r.size}),e.jsx("div",{className:"hidden space-x-1 lg:flex",children:r.size>2?e.jsxs(j,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:[r.size," selected"]}):s.filter(n=>r.has(n.value)).map(n=>e.jsx(j,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:n.label},n.value))})]})]})}),e.jsx($,{className:"w-[200px] p-0",align:"start",children:e.jsxs(Q,{children:[e.jsx(J,{placeholder:c}),e.jsxs(W,{children:[e.jsx(X,{children:"No results found."}),e.jsx(P,{children:s.map(n=>{const l=r.has(n.value);return e.jsxs(R,{onSelect:()=>{l?r.delete(n.value):r.add(n.value);const i=Array.from(r);t?.setFilterValue(i.length?i:void 0)},children:[e.jsx("div",{className:u("mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary",l?"bg-primary text-primary-foreground":"opacity-50 [&_svg]:invisible"),children:e.jsx(be,{className:u("h-4 w-4")})}),n.icon&&e.jsx(n.icon,{className:`mr-2 h-4 w-4 text-muted-foreground text-${n.color}`}),e.jsx("span",{children:n.label}),a?.get(n.value)&&e.jsx("span",{className:"ml-auto flex h-4 w-4 items-center justify-center font-mono text-xs",children:a.get(n.value)})]},n.value)})}),r.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(ee,{}),e.jsx(P,{children:e.jsx(R,{onSelect:()=>t?.setFilterValue(void 0),className:"justify-center text-center",children:"Clear filters"})})]})]})]})})]})}const We=t=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...t,children:e.jsx("path",{fill:"currentColor",d:"M21 10.5h-1v-1a1 1 0 0 0-2 0v1h-1a1 1 0 0 0 0 2h1v1a1 1 0 0 0 2 0v-1h1a1 1 0 0 0 0-2m-7.7 1.72A4.92 4.92 0 0 0 15 8.5a5 5 0 0 0-10 0a4.92 4.92 0 0 0 1.7 3.72A8 8 0 0 0 2 19.5a1 1 0 0 0 2 0a6 6 0 0 1 12 0a1 1 0 0 0 2 0a8 8 0 0 0-4.7-7.28M10 11.5a3 3 0 1 1 3-3a3 3 0 0 1-3 3"})}),Xe=g.object({email_prefix:g.string().optional(),email_suffix:g.string().min(1),password:g.string().optional(),expired_at:g.number().optional().nullable(),plan_id:g.number().nullable(),generate_count:g.number().optional().nullable()}).refine(t=>t.generate_count===null?t.email_prefix!==void 0&&t.email_prefix!=="":!0,{message:"Email prefix is required when generate_count is null",path:["email_prefix"]}),es={email_prefix:"",email_suffix:"",password:"",expired_at:null,plan_id:null,generate_count:void 0};function ss({refetch:t}){const[c,s]=d.useState(!1),a=Pe({resolver:Ie(Xe),defaultValues:es,mode:"onChange"}),[r,n]=d.useState([]);return d.useEffect(()=>{c&&Ee().then(({data:l})=>{l&&n(l)})},[c]),e.jsxs(Ce,{open:c,onOpenChange:s,children:[e.jsx(Se,{asChild:!0,children:e.jsx(m,{variant:"outline",size:"icon",children:e.jsx(We,{})})}),e.jsxs(_e,{className:"sm:max-w-[425px]",children:[e.jsxs(Fe,{children:[e.jsx(De,{children:"创建用户"}),e.jsx(Me,{})]}),e.jsxs(Re,{...a,children:[e.jsxs(v,{children:[e.jsx(b,{children:"邮箱"}),e.jsxs("div",{className:"flex",children:[!a.watch("generate_count")&&e.jsx(p,{control:a.control,name:"email_prefix",render:({field:l})=>e.jsx(N,{className:"flex-[5] rounded-r-none",placeholder:"帐号(批量生成请留空)",...l})}),e.jsx("div",{className:`z-[-1] border border-r-0 border-input px-3 py-1 shadow-sm ${a.watch("generate_count")?"rounded-l-md":"border-l-0"}`,children:"@"}),e.jsx(p,{control:a.control,name:"email_suffix",render:({field:l})=>e.jsx(N,{className:"flex-[4] rounded-l-none",placeholder:"域",...l})})]})]}),e.jsx(p,{control:a.control,name:"password",render:({field:l})=>e.jsxs(v,{children:[e.jsx(b,{children:"密码"}),e.jsx(N,{placeholder:"留空则密码与邮件相同",...l}),e.jsx(Ue,{})]})}),e.jsx(p,{control:a.control,name:"expired_at",render:({field:l})=>e.jsxs(v,{className:"flex flex-col",children:[e.jsx(b,{children:"到期时间"}),e.jsxs(I,{children:[e.jsx(E,{asChild:!0,children:e.jsx(U,{children:e.jsxs(m,{variant:"outline",className:u("w-full pl-3 text-left font-normal",!l.value&&"text-muted-foreground"),children:[l.value?w(l.value):e.jsx("span",{children:"请选择用户到期日期,留空为长期有效"}),e.jsx(Ve,{className:"ml-auto h-4 w-4 opacity-50"})]})})}),e.jsxs($,{className:"flex w-auto flex-col space-y-2 p-2",children:[e.jsx(we,{asChild:!0,children:e.jsx(m,{variant:"outline",className:"w-full",onClick:()=>{l.onChange(null)},children:"长期有效"})}),e.jsx("div",{className:"rounded-md border",children:e.jsx(Le,{mode:"single",selected:l.value?new Date(l.value*1e3):void 0,onSelect:i=>{i&&l.onChange(i?.getTime()/1e3)}})})]})]})]})}),e.jsx(p,{control:a.control,name:"plan_id",render:({field:l})=>e.jsxs(v,{children:[e.jsx(b,{children:"订阅计划"}),e.jsx(U,{children:e.jsxs(ke,{value:l.value?l.value.toString():"null",onValueChange:i=>l.onChange(i==="null"?null:parseInt(i)),children:[e.jsx(He,{children:e.jsx(ze,{placeholder:"无"})}),e.jsxs(Ae,{children:[e.jsx(k,{value:"null",children:"无"}),r.map(i=>e.jsx(k,{value:i.id.toString(),children:i.name},i.id))]})]})})]})}),!a.watch("email_prefix")&&e.jsx(p,{control:a.control,name:"generate_count",render:({field:l})=>e.jsxs(v,{children:[e.jsx(b,{children:"生成数量"}),e.jsx(N,{type:"number",placeholder:"如果为批量生产请输入生成数量",value:l.value||"",onChange:i=>l.onChange(i.target.value?parseInt(i.target.value):null)})]})})]}),e.jsxs(Te,{children:[e.jsx(m,{variant:"outline",onClick:()=>s(!1),children:"取消"}),e.jsx(m,{onClick:()=>a.handleSubmit(l=>{$e(l).then(({data:i})=>{i&&(B.success("生成成功"),a.reset(),t(),s(!1))})})(),children:"生成"})]})]})]})}function as({table:t,refetch:c,serverGroupList:s}){const a=t.getState().columnFilters.length>0;return e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[e.jsxs("div",{className:"flex flex-1 flex-wrap items-center gap-2",children:[e.jsx(N,{placeholder:"搜索用户邮箱...",value:t.getColumn("email")?.getFilterValue()??"",onChange:r=>t.getColumn("email")?.setFilterValue(r.target.value),className:"h-9 w-[150px] lg:w-[250px]"}),t.getColumn("banned")&&e.jsx(z,{column:t.getColumn("banned"),title:"用户状态",options:[{label:"正常",value:0},{label:"封禁",value:1}]}),t.getColumn("group_ids")&&e.jsx(z,{column:t.getColumn("group_ids"),title:"权限组",options:s.map(r=>({label:r.name,value:r.id}))}),a&&e.jsxs(A,{variant:"ghost",onClick:()=>t.resetColumnFilters(),className:"h-8 px-2 lg:px-3",children:["重置筛选",e.jsx(Ne,{className:"ml-2 h-4 w-4"})]})]}),e.jsx("div",{className:"flex items-center gap-2",children:e.jsx(ss,{refetch:c})})]})}const ls=t=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...t,children:e.jsx("path",{fill:"currentColor",d:"M5 18h4.24a1 1 0 0 0 .71-.29l6.92-6.93L19.71 8a1 1 0 0 0 0-1.42l-4.24-4.29a1 1 0 0 0-1.42 0l-2.82 2.83l-6.94 6.93a1 1 0 0 0-.29.71V17a1 1 0 0 0 1 1m9.76-13.59l2.83 2.83l-1.42 1.42l-2.83-2.83ZM6 13.17l5.93-5.93l2.83 2.83L8.83 16H6ZM21 20H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2"})}),ts=t=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...t,children:e.jsx("path",{fill:"currentColor",d:"M19 11h-6V5a1 1 0 0 0-2 0v6H5a1 1 0 0 0 0 2h6v6a1 1 0 0 0 2 0v-6h6a1 1 0 0 0 0-2"})}),rs=t=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...t,children:e.jsx("path",{fill:"currentColor",d:"M21 8.94a1.3 1.3 0 0 0-.06-.27v-.09a1 1 0 0 0-.19-.28l-6-6a1 1 0 0 0-.28-.19a.3.3 0 0 0-.09 0a.9.9 0 0 0-.33-.11H10a3 3 0 0 0-3 3v1H6a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3v-1h1a3 3 0 0 0 3-3zm-6-3.53L17.59 8H16a1 1 0 0 1-1-1ZM15 19a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h1v7a3 3 0 0 0 3 3h5Zm4-4a1 1 0 0 1-1 1h-8a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h3v3a3 3 0 0 0 3 3h3Z"})}),ns=t=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...t,children:e.jsx("path",{fill:"currentColor",d:"M21 11a1 1 0 0 0-1 1a8.05 8.05 0 1 1-2.22-5.5h-2.4a1 1 0 0 0 0 2h4.53a1 1 0 0 0 1-1V3a1 1 0 0 0-2 0v1.77A10 10 0 1 0 22 12a1 1 0 0 0-1-1"})}),is=t=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...t,children:e.jsx("path",{fill:"currentColor",d:"M9.5 10.5H12a1 1 0 0 0 0-2h-1V8a1 1 0 0 0-2 0v.55a2.5 2.5 0 0 0 .5 4.95h1a.5.5 0 0 1 0 1H8a1 1 0 0 0 0 2h1v.5a1 1 0 0 0 2 0v-.55a2.5 2.5 0 0 0-.5-4.95h-1a.5.5 0 0 1 0-1M21 12h-3V3a1 1 0 0 0-.5-.87a1 1 0 0 0-1 0l-3 1.72l-3-1.72a1 1 0 0 0-1 0l-3 1.72l-3-1.72a1 1 0 0 0-1 0A1 1 0 0 0 2 3v16a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-6a1 1 0 0 0-1-1M5 20a1 1 0 0 1-1-1V4.73l2 1.14a1.08 1.08 0 0 0 1 0l3-1.72l3 1.72a1.08 1.08 0 0 0 1 0l2-1.14V19a3 3 0 0 0 .18 1Zm15-1a1 1 0 0 1-2 0v-5h2Z"})}),os=t=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...t,children:e.jsx("path",{fill:"currentColor",d:"M12.3 12.22A4.92 4.92 0 0 0 14 8.5a5 5 0 0 0-10 0a4.92 4.92 0 0 0 1.7 3.72A8 8 0 0 0 1 19.5a1 1 0 0 0 2 0a6 6 0 0 1 12 0a1 1 0 0 0 2 0a8 8 0 0 0-4.7-7.28M9 11.5a3 3 0 1 1 3-3a3 3 0 0 1-3 3m9.74.32A5 5 0 0 0 15 3.5a1 1 0 0 0 0 2a3 3 0 0 1 3 3a3 3 0 0 1-1.5 2.59a1 1 0 0 0-.5.84a1 1 0 0 0 .45.86l.39.26l.13.07a7 7 0 0 1 4 6.38a1 1 0 0 0 2 0a9 9 0 0 0-4.23-7.68"})}),cs=t=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...t,children:e.jsx("path",{fill:"currentColor",d:"M12 2a10 10 0 0 0-6.88 2.77V3a1 1 0 0 0-2 0v4.5a1 1 0 0 0 1 1h4.5a1 1 0 0 0 0-2h-2.4A8 8 0 1 1 4 12a1 1 0 0 0-2 0A10 10 0 1 0 12 2m0 6a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h2a1 1 0 0 0 0-2h-1V9a1 1 0 0 0-1-1"})}),ds=(t,c)=>[{accessorKey:"id",header:({column:s})=>e.jsx(o,{column:s,title:"ID"}),cell:({row:s})=>e.jsx(j,{variant:"outline",children:s.original.id}),enableSorting:!0,enableHiding:!1},{accessorKey:"email",header:({column:s})=>e.jsx(o,{column:s,title:"邮箱"}),cell:({row:s})=>{const a=s.original.t||0,r=Date.now()/1e3-a<120,n=Math.floor(Date.now()/1e3-a);let l=r?"当前在线":a===0?"从未在线":`最后在线时间: ${w(a)}`;if(!r&&a!==0){const i=Math.floor(n/60),f=Math.floor(i/60),x=Math.floor(f/24);x>0?l+=` -离线时长: ${x}天`:f>0?l+=` -离线时长: ${f}小时`:i>0?l+=` -离线时长: ${i}分钟`:l+=` -离线时长: ${n}秒`}return e.jsx(_,{delayDuration:100,children:e.jsxs(F,{children:[e.jsx(D,{children:e.jsxs("div",{className:"flex items-center gap-2.5",children:[e.jsx("div",{className:u("size-2.5 rounded-full ring-2 ring-offset-2",r?"bg-green-500 ring-green-500/20":"bg-gray-300 ring-gray-300/20","transition-all duration-300")}),e.jsx("span",{className:"font-medium text-foreground/90",children:s.original.email})]})}),e.jsx(M,{side:"bottom",className:"max-w-[280px]",children:e.jsx("p",{className:"whitespace-pre-line text-sm",children:l})})]})})},enableSorting:!1,enableHiding:!1},{accessorKey:"banned",header:({column:s})=>e.jsx(o,{column:s,title:"状态"}),cell:({row:s})=>{const a=s.original.banned;return e.jsx("div",{className:"flex justify-center",children:e.jsx(j,{className:u("min-w-20 justify-center transition-colors",a?"bg-destructive/15 text-destructive hover:bg-destructive/25":"bg-success/15 text-success hover:bg-success/25"),children:qe[a]})})},enableSorting:!0,filterFn:(s,a,r)=>r.includes(s.getValue(a))},{accessorKey:"plan.name",header:({column:s})=>e.jsx(o,{column:s,title:"订阅"}),cell:({row:s})=>e.jsx("div",{className:"min-w-[10em] break-all",children:s.original?.plan?.name||"-"}),enableSorting:!1,enableHiding:!1},{accessorKey:"group",header:({column:s})=>e.jsx(o,{column:s,title:"权限组"}),cell:({row:s})=>e.jsx("div",{className:"flex flex-wrap gap-1",children:e.jsx(j,{variant:"outline",className:u("px-2 py-0.5 font-medium","bg-secondary/50 hover:bg-secondary/70","border border-border/50","transition-all duration-200","cursor-default select-none","flex items-center gap-1.5 whitespace-nowrap"),children:s.original?.group?.name||"-"})}),enableSorting:!1,filterFn:(s,a,r)=>{const n=s.getValue(a);return r.some(l=>n?.includes(l))}},{accessorKey:"total_used",header:({column:s})=>e.jsx(o,{column:s,title:"已用流量"}),cell:({row:s})=>{const a=S(s.original?.total_used),r=S(s.original?.transfer_enable),n=s.original?.total_used/s.original?.transfer_enable*100||0;return e.jsx(_,{delayDuration:100,children:e.jsxs(F,{children:[e.jsx(D,{className:"w-full",children:e.jsxs("div",{className:"w-full space-y-1",children:[e.jsxs("div",{className:"flex justify-between text-sm",children:[e.jsx("span",{className:"text-muted-foreground",children:a}),e.jsxs("span",{className:"text-xs text-muted-foreground",children:[n.toFixed(1),"%"]})]}),e.jsx("div",{className:"h-1.5 w-full rounded-full bg-secondary",children:e.jsx("div",{className:u("h-full rounded-full transition-all",n>90?"bg-destructive":"bg-primary"),style:{width:`${Math.min(n,100)}%`}})})]})}),e.jsx(M,{side:"bottom",children:e.jsxs("p",{className:"text-sm",children:["总流量配额: ",r]})})]})})}},{accessorKey:"transfer_enable",header:({column:s})=>e.jsx(o,{column:s,title:"总流量"}),cell:({row:s})=>e.jsx("div",{className:"font-medium text-muted-foreground",children:S(s.original?.transfer_enable)})},{accessorKey:"expired_at",header:({column:s})=>e.jsx(o,{column:s,title:"到期时间"}),cell:({row:s})=>{const a=s.original.expired_at,r=Date.now()/1e3,n=a!=null&&ae.jsx(o,{column:s,title:"余额"}),cell:({row:s})=>{const a=H(s.original?.balance);return e.jsxs("div",{className:"flex items-center gap-1 font-medium",children:[e.jsx("span",{className:"text-sm text-muted-foreground",children:"¥"}),e.jsx("span",{className:"tabular-nums text-foreground",children:a})]})}},{accessorKey:"commission_balance",header:({column:s})=>e.jsx(o,{column:s,title:"佣金"}),cell:({row:s})=>{const a=H(s.original?.commission_balance);return e.jsxs("div",{className:"flex items-center gap-1 font-medium",children:[e.jsx("span",{className:"text-sm text-muted-foreground",children:"¥"}),e.jsx("span",{className:"tabular-nums text-foreground",children:a})]})}},{accessorKey:"created_at",header:({column:s})=>e.jsx(o,{column:s,title:"注册时间"}),cell:({row:s})=>e.jsx("div",{className:"truncate",children:w(s.original?.created_at)}),size:1e3},{id:"actions",header:({column:s})=>e.jsx(o,{column:s,className:"justify-end",title:"操作"}),cell:({row:s,table:a})=>e.jsxs(te,{modal:!0,children:[e.jsx(re,{asChild:!0,children:e.jsx("div",{className:"text-end",children:e.jsx(m,{variant:"ghost",className:"h-8 w-8 p-0 hover:bg-muted","aria-label":"打开操作菜单",children:e.jsx(Je,{className:"size-4"})})})}),e.jsxs(ne,{align:"end",className:"min-w-[40px]",children:[e.jsx(h,{onSelect:r=>{r.preventDefault()},className:"p-0",children:e.jsx(Ge,{defaultValues:{...s.original,invite_user_email:s.original.invite_user?.email},refetch:t,dialogTrigger:e.jsxs(m,{variant:"ghost",className:"w-full justify-start px-2 py-1.5",children:[e.jsx(ls,{className:"mr-2"}),"编辑"]})})}),e.jsx(h,{onSelect:r=>r.preventDefault(),className:"p-0",children:e.jsx(Qe,{defaultValues:{email:s.original.email},trigger:e.jsxs(m,{variant:"ghost",className:"w-full justify-start px-2 py-1.5",children:[e.jsx(ts,{className:"mr-2 "}),"分配订单"]})})}),e.jsx(h,{onSelect:()=>{Be(s.original.subscribe_url)},className:"p-0",children:e.jsxs(m,{variant:"ghost",className:"w-full justify-start px-2 py-1.5",children:[e.jsx(rs,{className:"mr-2"}),"复制订阅URL"]})}),e.jsx(h,{onSelect:()=>{Ke({id:s.original.id}).then(({data:r})=>{r&&B.success("重置成功")})},children:e.jsxs("div",{className:"flex items-center",children:[e.jsx(ns,{className:"mr-2 "}),"重置UUID及订阅URL"]})}),e.jsx(h,{onSelect:()=>{},className:"p-0",children:e.jsxs(G,{className:"flex items-center px-2 py-1.5",to:`/finance/order?user_id=${s.original?.id}`,children:[e.jsx(is,{className:"mr-2"}),"TA的订单"]})}),e.jsx(h,{onSelect:()=>{a.setColumnFilters([{id:"invite_user_id",value:s.original?.id}])},children:e.jsxs("div",{className:"flex items-center",children:[e.jsx(os,{className:"mr-2 "}),"TA的邀请"]})}),e.jsx(h,{onSelect:r=>r.preventDefault(),className:"p-0",children:e.jsx(Ye,{user_id:s.original?.id,dialogTrigger:e.jsxs(m,{variant:"ghost",className:"w-full justify-start px-2 py-1.5",children:[e.jsx(cs,{className:"mr-2 "}),"TA的流量记录"]})})})]})]})}];function ms(){const[t]=Y(),[c,s]=d.useState({}),[a,r]=d.useState({}),[n,l]=d.useState([]),[i,f]=d.useState([]),[x,K]=d.useState({pageIndex:0,pageSize:10});d.useEffect(()=>{const y=t.get("email");y&&l(C=>C.some(q=>q.id==="email")?C:[...C,{id:"email",value:y}])},[t]);const{refetch:T,data:V,isLoading:us}=fe({queryKey:["userList",x,n,i],queryFn:()=>Ze({pageSize:x.pageSize,current:x.pageIndex+1,filter:n,sort:i})}),[O,Z]=d.useState([]);d.useEffect(()=>{Oe().then(({data:y})=>{Z(y)})},[]);const L=de({data:V?.data??[],columns:ds(T),state:{sorting:i,columnVisibility:a,rowSelection:c,columnFilters:n,pagination:x},rowCount:V?.total??0,manualPagination:!0,manualFiltering:!0,manualSorting:!0,enableRowSelection:!0,onRowSelectionChange:s,onSortingChange:f,onColumnFiltersChange:l,onColumnVisibilityChange:r,getCoreRowModel:me(),getFilteredRowModel:ue(),getPaginationRowModel:xe(),onPaginationChange:K,getSortedRowModel:he(),getFacetedRowModel:ge(),getFacetedUniqueValues:je(),initialState:{columnVisibility:{commission_balance:!1,created_at:!1},columnPinning:{right:["actions"]}}});return e.jsx(pe,{table:L,toolbar:e.jsx(as,{table:L,refetch:T,serverGroupList:O})})}function qs(){return e.jsxs(ie,{children:[e.jsxs(oe,{children:[e.jsx(se,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(ae,{}),e.jsx(le,{})]})]}),e.jsxs(ce,{className:"flex flex-col",fixedHeight:!0,children:[e.jsx("div",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:"用户管理"}),e.jsx("p",{className:"text-muted-foreground",children:"在这里可以管理用户,包括增加、删除、编辑、查询等操作。"})]})}),e.jsx("div",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx("div",{className:"w-full",children:e.jsx(ms,{})})})]})]})}export{qs as default}; diff --git a/public/assets/admin/assets/index-CBDBNBFK.js b/public/assets/admin/assets/index-CBDBNBFK.js deleted file mode 100644 index 4b9dcf2a5..000000000 --- a/public/assets/admin/assets/index-CBDBNBFK.js +++ /dev/null @@ -1,4 +0,0 @@ -import{r as i,j as e,B as c,t as R}from"./index-_xd8OyP8.js";import{S as D,T,U as k}from"./user-nav-BBmBVa03.js";import{L as V,f as M,g as I}from"./sidelinks-DLs_k-Mk.js";import{u as L,a as P,g as z,b as B,c as H,d as U,e as E,f as G,D as v,B as N}from"./column-header-BLyyjrhJ.js";import{a as K,P as _}from"./react-icons.esm-rZq2pt7A.js";import{I as f}from"./input-d0vtE30O.js";import{D as q,e as O,a as Q,b as $,c as A,d as J,f as W,g as X}from"./button-DhrtVlOa.js";import{u as Y,F as Z,a as d,b as x,c as h,d as u,e as p}from"./form-DIzSOdtk.js";import{z as n,t as ee}from"./zod-x_8lkCGK.js";import{I as se}from"./iconify-Dsf6bxB2.js";import{Q as ae,R as te,I as re}from"./index-BycJudEO.js";import{T as le}from"./textarea-Bmd-AJpD.js";import{S as oe,a as ie,b as ne,c as ce,d as w}from"./select-Cqkdx-UJ.js";import{C as me}from"./confirm-dialog-CHz9pK2w.js";import{T as de}from"./trash-2-lI1I6nfk.js";import"./index-CcyXqhZ9.js";import"./index-BwSRHYe4.js";import"./index-CX6PQ3zO.js";import"./index-BlMNiBlp.js";import"./IconTicket-COhvkaJH.js";import"./tooltip-B58e4dA7.js";import"./index-kwEAqj-e.js";import"./arrow-up-9fLptvj0.js";import"./clipboard-YH5zrf5X.js";import"./index-CRh0M8qI.js";const xe=n.object({remarks:n.string().min(1,"Please enter a valid remarks."),match:n.array(n.string()),action:n.enum(["block","dns"]),action_value:n.string().optional()});function C({refetch:a,dialogTrigger:s,defaultValues:t={remarks:"",match:[],action:"block",action_value:""},type:o="add"}){const l=Y({resolver:ee(xe),defaultValues:t,mode:"onChange"}),[j,m]=i.useState(!1);return e.jsxs(q,{open:j,onOpenChange:m,children:[e.jsx(O,{asChild:!0,children:s||e.jsxs(c,{variant:"outline",size:"sm",className:"space-x-2",children:[e.jsx(se,{icon:"ion:add"})," ",e.jsx("div",{children:"添加路由"})]})}),e.jsxs(Q,{className:"sm:max-w-[425px]",children:[e.jsxs($,{children:[e.jsx(A,{children:o==="edit"?"编辑路由":"创建路由"}),e.jsx(J,{})]}),e.jsxs(Z,{...l,children:[e.jsx(d,{control:l.control,name:"remarks",render:({field:r})=>e.jsxs(x,{className:"flex-[2]",children:[e.jsx(h,{children:"备注"}),e.jsx("div",{className:"relative",children:e.jsx(u,{children:e.jsx(f,{type:"text",placeholder:"请输入备注",...r})})}),e.jsx(p,{})]})}),e.jsx(d,{control:l.control,name:"match",render:({field:r})=>e.jsxs(x,{className:"flex-[2]",children:[e.jsx(h,{children:"备注"}),e.jsx("div",{className:"relative",children:e.jsx(u,{children:e.jsx(le,{className:"min-h-[120px]",placeholder:`example.com -*.example.com`,value:r.value.join(` -`),onChange:g=>{r.onChange(g.target.value.split(` -`))}})})}),e.jsx(p,{})]})}),e.jsx(d,{control:l.control,name:"action",render:({field:r})=>e.jsxs(x,{children:[e.jsx(h,{children:"动作"}),e.jsx("div",{className:"relative",children:e.jsx(u,{children:e.jsxs(oe,{onValueChange:r.onChange,defaultValue:r.value,children:[e.jsx(ie,{children:e.jsx(ne,{placeholder:"请选择动作"})}),e.jsxs(ce,{children:[e.jsx(w,{value:"block",children:"禁止访问"}),e.jsx(w,{value:"dns",children:"指定DNS服务器进行解析"})]})]})})}),e.jsx(p,{})]})}),l.watch("action")==="dns"&&e.jsx(d,{control:l.control,name:"action_value",render:({field:r})=>e.jsxs(x,{children:[e.jsx(h,{children:"DNS服务器"}),e.jsx("div",{className:"relative",children:e.jsx(u,{children:e.jsx(f,{type:"text",placeholder:"请输入DNS服务器",...r})})})]})}),e.jsxs(W,{children:[e.jsx(X,{asChild:!0,children:e.jsx(c,{variant:"outline",children:"取消"})}),e.jsx(c,{type:"submit",onClick:()=>{ae(l.getValues()).then(({data:r})=>{r&&(m(!1),a&&a(),l.reset())})},children:"提交"})]})]})]})]})}function he({table:a,refetch:s}){const t=a.getState().columnFilters.length>0;return e.jsx("div",{className:"flex items-center justify-between ",children:e.jsxs("div",{className:"flex flex-1 flex-col-reverse items-start gap-y-2 sm:flex-row sm:items-center sm:space-x-2",children:[e.jsx(C,{refetch:s}),e.jsx(f,{placeholder:"输入任意关键词搜索",value:a.getColumn("remarks")?.getFilterValue()??"",onChange:o=>a.getColumn("remarks")?.setFilterValue(o.target.value),className:"h-9 w-[150px] lg:w-[250px]"}),t&&e.jsxs(c,{variant:"ghost",onClick:()=>a.resetColumnFilters(),className:"h-9 px-2 lg:px-3",children:["Reset",e.jsx(K,{className:"ml-2 h-4 w-4"})]})]})})}function ue({columns:a,data:s,refetch:t}){const[o,l]=i.useState({}),[j,m]=i.useState({}),[r,g]=i.useState([]),[S,b]=i.useState([]),F=L({data:s,columns:a,state:{sorting:S,columnVisibility:j,rowSelection:o,columnFilters:r},enableRowSelection:!0,onRowSelectionChange:l,onSortingChange:b,onColumnFiltersChange:g,onColumnVisibilityChange:m,getCoreRowModel:z(),getFilteredRowModel:B(),getPaginationRowModel:H(),getSortedRowModel:U(),getFacetedRowModel:E(),getFacetedUniqueValues:G(),initialState:{columnPinning:{right:["actions"]}}});return e.jsx(P,{table:F,toolbar:y=>e.jsx(he,{table:y,refetch:t})})}const je=a=>[{accessorKey:"id",header:({column:s})=>e.jsx(v,{column:s,title:"组ID"}),cell:({row:s})=>e.jsx("div",{className:"flex items-center space-x-2",children:e.jsx(N,{variant:"outline",children:s.getValue("id")})}),enableSorting:!0,enableHiding:!1},{accessorKey:"remarks",header:()=>e.jsx("div",{children:"备注"}),cell:({row:s})=>e.jsx("div",{className:"flex space-x-2",children:e.jsxs("span",{className:"max-w-32 truncate font-medium sm:max-w-72 md:max-w-[31rem]",children:["匹配 ",s.original.match?.length," 条规则"]})})},{accessorKey:"action",header:({column:s})=>e.jsx(v,{column:s,title:"动作"}),cell:({row:s})=>{const t={dns:"指定DNS服务器进行解析",block:"禁止访问"};return e.jsx("div",{className:"flex items-center space-x-2",children:e.jsx(N,{className:"max-w-32 truncate font-medium sm:max-w-72 md:max-w-[31rem]",children:t[s.getValue("action")]})})},enableSorting:!1,size:9e3},{id:"actions",header:()=>e.jsx("div",{className:"text-right",children:"操作"}),cell:({row:s})=>e.jsxs("div",{className:"flex items-center justify-end",children:[e.jsx(C,{defaultValues:s.original,refetch:a,type:"edit",dialogTrigger:e.jsxs(c,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-muted",children:[e.jsx(_,{className:"h-4 w-4 text-muted-foreground hover:text-foreground"}),e.jsx("span",{className:"sr-only",children:"编辑"})]})}),e.jsx(me,{title:"确认删除",description:"此操作将永久删除该权限组,删除后无法恢复。确定要继续吗?",confirmText:"删除",variant:"destructive",onConfirm:async()=>{te({id:s.original.id}).then(({data:t})=>{t&&(R.success("删除成功"),a())})},children:e.jsxs(c,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-red-100 dark:hover:bg-red-900",children:[e.jsx(de,{className:"h-4 w-4 text-muted-foreground hover:text-red-600 dark:hover:text-red-400"}),e.jsx("span",{className:"sr-only",children:"删除"})]})})]})}];function Ge(){const[a,s]=i.useState([]);function t(){re().then(({data:o})=>{s(o)})}return i.useEffect(()=>{t()},[]),e.jsxs(V,{children:[e.jsxs(M,{children:[e.jsx(D,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(T,{}),e.jsx(k,{})]})]}),e.jsxs(I,{className:"flex flex-col",fixedHeight:!0,children:[e.jsx("div",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:"路由管理"}),e.jsx("p",{className:"mt-2 text-muted-foreground",children:"管理所有路由组,包括添加、删除、编辑等操作。"})]})}),e.jsx("div",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx(ue,{data:a,columns:je(t),refetch:t})})]})]})}export{Ge as default}; diff --git a/public/assets/admin/assets/index-CQJqQLCA.js b/public/assets/admin/assets/index-CQJqQLCA.js deleted file mode 100644 index a35482d2b..000000000 --- a/public/assets/admin/assets/index-CQJqQLCA.js +++ /dev/null @@ -1 +0,0 @@ -import{r as u,j as e,B as b,t as f}from"./index-_xd8OyP8.js";import{S as p}from"./separator-lX8UNwTG.js";import{z as i,t as v}from"./zod-x_8lkCGK.js";import{u as g,F as w,a as o,b as r,c,f as l,d as t,e as a}from"./form-DIzSOdtk.js";import{I as d}from"./input-d0vtE30O.js";import{S as m}from"./switch-w5WyeRwk.js";import{e as C,s as y}from"./index-BycJudEO.js";import{u as N}from"./useQuery-mr7Ep0hT.js";import"./index-CX6PQ3zO.js";import"./index-BwSRHYe4.js";import"./index-CRh0M8qI.js";import"./index-BlMNiBlp.js";import"./clipboard-YH5zrf5X.js";const k=i.object({invite_force:i.boolean().default(!1),invite_commission:i.coerce.string().default("0"),invite_gen_limit:i.coerce.string().default("0"),invite_never_expire:i.boolean().default(!1),commission_first_time_enable:i.boolean().default(!1),commission_auto_check_enable:i.boolean().default(!1),commission_withdraw_limit:i.coerce.string().default("0"),commission_withdraw_method:i.array(i.string()).default(["支付宝","USDT","Paypal"]),withdraw_close_enable:i.boolean().default(!1),commission_distribution_enable:i.boolean().default(!1),commission_distribution_l1:i.coerce.number().default(0),commission_distribution_l2:i.coerce.number().default(0),commission_distribution_l3:i.coerce.number().default(0)}),F={invite_force:!1,invite_commission:"0",invite_gen_limit:"0",invite_never_expire:!1,commission_first_time_enable:!1,commission_auto_check_enable:!1,commission_withdraw_limit:"0",commission_withdraw_method:["支付宝","USDT","Paypal"],withdraw_close_enable:!1,commission_distribution_enable:!1,commission_distribution_l1:0,commission_distribution_l2:0,commission_distribution_l3:0};function S(){const{data:x}=N({queryKey:["settings","invite"],queryFn:()=>C("invite")}),n=g({resolver:v(k),defaultValues:F,mode:"onChange"});u.useEffect(()=>{if(x?.data?.invite){const s=x?.data?.invite;Object.entries(s).forEach(([h,j])=>{typeof j=="number"?n.setValue(h,String(j)):n.setValue(h,j)})}},[x,n]);function _(s){y(s).then(h=>{h.data&&f.success("更新成功")})}return e.jsx(w,{...n,children:e.jsxs("form",{onSubmit:n.handleSubmit(_),className:"space-y-8",children:[e.jsx(o,{control:n.control,name:"invite_force",render:({field:s})=>e.jsxs(r,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(c,{className:"text-base",children:"开启强制邀请"}),e.jsx(l,{children:"开启后只有被邀请的用户才可以进行注册。"})]}),e.jsx(t,{children:e.jsx(m,{checked:s.value,onCheckedChange:s.onChange})})]})}),e.jsx(o,{control:n.control,name:"invite_commission",render:({field:s})=>e.jsxs(r,{children:[e.jsx(c,{children:"邀请佣金百分比"}),e.jsx(t,{children:e.jsx(d,{placeholder:"请输入",...s})}),e.jsx(l,{children:"默认全局的佣金分配比例,你可以在用户管理单独配置单个比例。"}),e.jsx(a,{})]})}),e.jsx(o,{control:n.control,name:"invite_gen_limit",render:({field:s})=>e.jsxs(r,{children:[e.jsx(c,{children:"用户可创建邀请码上限"}),e.jsx(t,{children:e.jsx(d,{placeholder:"请输入",...s})}),e.jsx(l,{children:"用户可创建邀请码上限"}),e.jsx(a,{})]})}),e.jsx(o,{control:n.control,name:"invite_never_expire",render:({field:s})=>e.jsxs(r,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(c,{className:"text-base",children:"邀请码永不失效"}),e.jsx(l,{children:"开启后邀请码被使用后将不会失效,否则使用过后即失效。"})]}),e.jsx(t,{children:e.jsx(m,{checked:s.value,onCheckedChange:s.onChange})})]})}),e.jsx(o,{control:n.control,name:"commission_first_time_enable",render:({field:s})=>e.jsxs(r,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(c,{className:"text-base",children:"佣金仅首次发放"}),e.jsx(l,{children:"开启后被邀请人首次支付时才会产生佣金,可以在用户管理对用户进行单独配置。"})]}),e.jsx(t,{children:e.jsx(m,{checked:s.value,onCheckedChange:s.onChange})})]})}),e.jsx(o,{control:n.control,name:"commission_auto_check_enable",render:({field:s})=>e.jsxs(r,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(c,{className:"text-base",children:"佣金自动确认"}),e.jsx(l,{children:"开启后佣金将会在订单完成3日后自动进行确认。"})]}),e.jsx(t,{children:e.jsx(m,{checked:s.value,onCheckedChange:s.onChange})})]})}),e.jsx(o,{control:n.control,name:"commission_withdraw_limit",render:({field:s})=>e.jsxs(r,{children:[e.jsx(c,{children:"提现单申请门槛(元)"}),e.jsx(t,{children:e.jsx(d,{placeholder:"请输入",...s})}),e.jsx(l,{children:"小于门槛金额的提现单将不会被提交。"}),e.jsx(a,{})]})}),e.jsx(o,{control:n.control,name:"commission_withdraw_method",render:({field:s})=>e.jsxs(r,{children:[e.jsx(c,{children:"提现方式"}),e.jsx(t,{children:e.jsx(d,{placeholder:"请输入",...s})}),e.jsx(l,{children:"可以支持的提现方式。"}),e.jsx(a,{})]})}),e.jsx(o,{control:n.control,name:"withdraw_close_enable",render:({field:s})=>e.jsxs(r,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(c,{className:"text-base",children:"关闭提现"}),e.jsx(l,{children:"关闭后将禁止用户申请提现,且邀请佣金将会直接进入用户余额。"})]}),e.jsx(t,{children:e.jsx(m,{checked:s.value,onCheckedChange:s.onChange})})]})}),e.jsx(o,{control:n.control,name:"commission_distribution_enable",render:({field:s})=>e.jsxs(r,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(c,{className:"text-base",children:"三级分销"}),e.jsxs(l,{children:["开启后将佣金将按照设置的3成比例进行分成,三成比例合计请不要",">","100%。"]})]}),e.jsx(t,{children:e.jsx(m,{checked:s.value,onCheckedChange:s.onChange})})]})}),n.watch("commission_distribution_enable")&&e.jsxs(e.Fragment,{children:[e.jsx(o,{control:n.control,name:"commission_distribution_l1",render:({field:s})=>e.jsxs(r,{children:[e.jsx(c,{children:"一级邀请人比例"}),e.jsx(t,{children:e.jsx(d,{placeholder:"请输入比例如:50",...s})}),e.jsx(a,{})]})}),e.jsx(o,{control:n.control,name:"commission_distribution_l2",render:({field:s})=>e.jsxs(r,{children:[e.jsx(c,{children:"二级邀请人比例"}),e.jsx(t,{children:e.jsx(d,{placeholder:"请输入比例如:50",...s})}),e.jsx(a,{})]})}),e.jsx(o,{control:n.control,name:"commission_distribution_l3",render:({field:s})=>e.jsxs(r,{children:[e.jsx(c,{children:"三级邀请人比例"}),e.jsx(t,{children:e.jsx(d,{placeholder:"请输入比例如:50",...s})}),e.jsx(a,{})]})})]}),e.jsx(b,{type:"submit",children:"保存设置"})]})})}function O(){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:"邀请&佣金设置"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"邀请注册、佣金相关设置。"})]}),e.jsx(p,{}),e.jsx(S,{})]})}export{O as default}; diff --git a/public/assets/admin/assets/index-CRh0M8qI.js b/public/assets/admin/assets/index-CRh0M8qI.js deleted file mode 100644 index 3683019c9..000000000 --- a/public/assets/admin/assets/index-CRh0M8qI.js +++ /dev/null @@ -1 +0,0 @@ -import{r as u}from"./index-_xd8OyP8.js";function o(r){const e=u.useRef({value:r,previous:r});return u.useMemo(()=>(e.current.value!==r&&(e.current.previous=e.current.value,e.current.value=r),e.current.previous),[r])}export{o as u}; diff --git a/public/assets/admin/assets/index-CW6yiqe3.js b/public/assets/admin/assets/index-CW6yiqe3.js deleted file mode 100644 index 324a4a881..000000000 --- a/public/assets/admin/assets/index-CW6yiqe3.js +++ /dev/null @@ -1,6 +0,0 @@ -import{j as e,B as M,a as I,r as u,t as Q}from"./index-_xd8OyP8.js";import{c as J,C as W,a as X,b as Z,d as ee,e as k,f as z,g as te,S as se,T as ae,U as re}from"./user-nav-BBmBVa03.js";import{L as ne,f as oe,g as ie}from"./sidelinks-DLs_k-Mk.js";import{B as S,D as C,u as le,g as ce,b as de,c as me,d as ue,e as xe,f as he,a as pe}from"./column-header-BLyyjrhJ.js";import{u as ge}from"./useQuery-mr7Ep0hT.js";import{I as y}from"./input-d0vtE30O.js";import{b as L,c as je,a as fe,P as be}from"./react-icons.esm-rZq2pt7A.js";import{P as K,a as A,b as U}from"./popover-C5eiPdqD.js";import{S as ve}from"./separator-lX8UNwTG.js";import{g as P,h as T,i as V}from"./index-ngg4RcvF.js";import{D as Ce,e as Ne,a as ye,b as we,c as _e,f as Se}from"./button-DhrtVlOa.js";import{z as l,t as De}from"./zod-x_8lkCGK.js";import{u as Me,F as Fe,a as j,b as f,c as b,e as N,f as F}from"./form-DIzSOdtk.js";import{V as Te,a0 as Ie,a1 as Oe,a2 as He,a3 as Pe}from"./index-BycJudEO.js";import{S as Ve,a as Ye,b as ke,c as ze,d as Ee}from"./select-Cqkdx-UJ.js";import{C as Re,b as Le}from"./calendar-DHKoWj25.js";import{a as D}from"./common-BL1VIuho.js";import{M as E}from"./multiple-selector-CeO_loUo.js";import{C as Ke}from"./confirm-dialog-CHz9pK2w.js";import{S as Ae}from"./switch-w5WyeRwk.js";import{C as Ue,a as qe,b as $e}from"./collapsible-CrQxGeLm.js";import{T as Be}from"./trash-2-lI1I6nfk.js";import"./index-CcyXqhZ9.js";import"./index-BwSRHYe4.js";import"./index-CX6PQ3zO.js";import"./index-BlMNiBlp.js";import"./IconTicket-COhvkaJH.js";import"./tooltip-B58e4dA7.js";import"./index-kwEAqj-e.js";import"./arrow-up-9fLptvj0.js";import"./clipboard-YH5zrf5X.js";import"./index-CRh0M8qI.js";/** - * @license lucide-react v0.399.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ge=J("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);function Qe({column:a,title:s,options:d}){const c=a?.getFacetedUniqueValues(),o=new Set(a?.getFilterValue());return e.jsxs(K,{children:[e.jsx(A,{asChild:!0,children:e.jsxs(M,{variant:"outline",size:"sm",className:"h-8 border-dashed",children:[e.jsx(L,{className:"mr-2 h-4 w-4"}),s,o?.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(ve,{orientation:"vertical",className:"mx-2 h-4"}),e.jsx(S,{variant:"secondary",className:"rounded-sm px-1 font-normal lg:hidden",children:o.size}),e.jsx("div",{className:"hidden space-x-1 lg:flex",children:o.size>2?e.jsxs(S,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:[o.size," selected"]}):d.filter(i=>o.has(i.value)).map(i=>e.jsx(S,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:i.label},i.value))})]})]})}),e.jsx(U,{className:"w-[200px] p-0",align:"start",children:e.jsxs(W,{children:[e.jsx(X,{placeholder:s}),e.jsxs(Z,{children:[e.jsx(ee,{children:"No results found."}),e.jsx(k,{children:d.map(i=>{const x=o.has(i.value);return e.jsxs(z,{onSelect:()=>{x?o.delete(i.value):o.add(i.value);const p=Array.from(o);a?.setFilterValue(p.length?p:void 0)},children:[e.jsx("div",{className:I("mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary",x?"bg-primary text-primary-foreground":"opacity-50 [&_svg]:invisible"),children:e.jsx(je,{className:I("h-4 w-4")})}),i.icon&&e.jsx(i.icon,{className:`mr-2 h-4 w-4 text-muted-foreground text-${i.color}`}),e.jsx("span",{children:i.label}),c?.get(i.value)&&e.jsx("span",{className:"ml-auto flex h-4 w-4 items-center justify-center font-mono text-xs",children:c.get(i.value)})]},i.value)})}),o.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(te,{}),e.jsx(k,{children:e.jsx(z,{onSelect:()=>a?.setFilterValue(void 0),className:"justify-center text-center",children:"Clear filters"})})]})]})]})})]})}const H=a=>a===""||a===void 0?void 0:typeof a=="string"?Number(a):a,Je=l.object({id:l.number().optional(),name:l.string().min(1,"请输入优惠券名称"),code:l.string().optional(),type:l.union([l.string(),l.nativeEnum(P)]).transform(a=>typeof a=="string"?Number(a):a),value:l.union([l.string(),l.number()]).transform(a=>typeof a=="string"?Number(a):a).refine(a=>a>0,"优惠值必须大于0"),started_at:l.number(),ended_at:l.number(),limit_use:l.union([l.string(),l.number()]).optional().transform(H),limit_use_with_user:l.union([l.string(),l.number()]).optional().transform(H),generate_count:l.union([l.string(),l.number()]).optional().transform(H),limit_plan_ids:l.array(l.number()).default([]),limit_period:l.array(l.nativeEnum(T)).default([])}).refine(a=>a.ended_at>a.started_at,{message:"结束时间必须晚于开始时间",path:["ended_at"]}),R={name:"",code:"",type:P.AMOUNT,value:0,started_at:Math.floor(Date.now()/1e3),ended_at:Math.floor(Date.now()/1e3)+7*24*60*60,limit_use:"",limit_use_with_user:"",limit_plan_ids:[],limit_period:[],generate_count:""};function q({defaultValues:a,refetch:s,type:d="create",dialogTrigger:c=e.jsxs(M,{variant:"outline",size:"sm",className:"ml-auto hidden h-8 lg:flex",children:[e.jsx(L,{className:"mr-2 h-4 w-4"}),"添加优惠券"]}),open:o,onOpenChange:i}){const[x,p]=u.useState(!1),h=o??x,w=i??p,[_,v]=u.useState([]),n=Me({resolver:De(Je),defaultValues:a||R});u.useEffect(()=>{a&&n.reset(a)},[a,n]),u.useEffect(()=>{Te().then(({data:t})=>v(t))},[]);const B=t=>{if(!t)return;const r=(m,g)=>{const O=new Date(g*1e3);return m.setHours(O.getHours(),O.getMinutes(),O.getSeconds()),Math.floor(m.getTime()/1e3)};t.from&&n.setValue("started_at",r(t.from,n.watch("started_at"))),t.to&&n.setValue("ended_at",r(t.to,n.watch("ended_at")))},G=async t=>{try{console.log("Form values before formatting:",t);const r={...t,type:Number(t.type),value:Number(t.value),limit_use:t.limit_use===""?void 0:Number(t.limit_use),limit_use_with_user:t.limit_use_with_user===""?void 0:Number(t.limit_use_with_user),generate_count:t.generate_count===""?void 0:Number(t.generate_count),limit_period:Array.isArray(t.limit_period)?t.limit_period:[],limit_plan_ids:Array.isArray(t.limit_plan_ids)?t.limit_plan_ids:[]};console.log("Formatted values:",r),await Ie(r),w(!1),d==="create"&&n.reset(R),s()}catch(r){console.error("保存优惠券失败:",r)}},Y=(t,r)=>e.jsxs("div",{className:"flex-1 space-y-1.5",children:[e.jsx("div",{className:"text-sm font-medium text-muted-foreground",children:r}),e.jsx(y,{type:"datetime-local",step:"1",value:D(n.watch(t),"YYYY-MM-DDTHH:mm:ss"),onChange:m=>{const g=new Date(m.target.value);n.setValue(t,Math.floor(g.getTime()/1e3))},className:"h-8 [&::-webkit-calendar-picker-indicator]:hidden"})]});return e.jsxs(Ce,{open:h,onOpenChange:w,children:[c&&e.jsx(Ne,{asChild:!0,children:c}),e.jsxs(ye,{className:"sm:max-w-[425px]",children:[e.jsx(we,{children:e.jsx(_e,{children:d==="create"?"添加优惠券":"编辑优惠券"})}),e.jsx(Fe,{...n,children:e.jsxs("form",{onSubmit:n.handleSubmit(G),className:"space-y-4",children:[e.jsx(j,{control:n.control,name:"name",render:({field:t})=>e.jsxs(f,{children:[e.jsx(b,{children:"优惠券名称"}),e.jsx(y,{placeholder:"请输入优惠券名称",...t}),e.jsx(N,{})]})}),e.jsxs(f,{children:[e.jsx(b,{children:"优惠券类型和值"}),e.jsxs("div",{className:"flex",children:[e.jsx(j,{control:n.control,name:"type",render:({field:t})=>e.jsxs(Ve,{value:t.value.toString(),onValueChange:t.onChange,children:[e.jsx(Ye,{className:"flex-[1.2] rounded-r-none border-r-0 focus:z-10",children:e.jsx(ke,{placeholder:"优惠券类型"})}),e.jsx(ze,{children:Object.entries(V).map(([r,m])=>e.jsx(Ee,{value:r,children:m},r))})]})}),e.jsx(j,{control:n.control,name:"value",render:({field:t})=>e.jsx(y,{type:"number",placeholder:"请输入值",...t,onChange:r=>t.onChange(r.target.value===""?"":r.target.value),className:"flex-[2] rounded-none border-x-0 text-left"})}),e.jsx("div",{className:"flex min-w-[40px] items-center justify-center rounded-md rounded-l-none border border-l-0 border-input bg-muted/50 px-3 font-medium text-muted-foreground",children:e.jsx("span",{children:n.watch("type")===P.AMOUNT?"¥":"%"})})]})]}),e.jsxs(f,{children:[e.jsx(b,{children:"优惠券有效期"}),e.jsxs(K,{children:[e.jsx(A,{asChild:!0,children:e.jsxs(M,{variant:"outline",className:I("w-full justify-start text-left font-normal",!n.watch("started_at")&&"text-muted-foreground"),children:[e.jsx(Re,{className:"mr-2 h-4 w-4"}),D(n.watch("started_at"),"YYYY-MM-DD HH:mm:ss")," ","至"," ",D(n.watch("ended_at"),"YYYY-MM-DD HH:mm:ss")]})}),e.jsxs(U,{className:"w-auto p-0",align:"start",children:[e.jsx("div",{className:"border-b border-border",children:e.jsx(Le,{mode:"range",selected:{from:new Date(n.watch("started_at")*1e3),to:new Date(n.watch("ended_at")*1e3)},onSelect:B,numberOfMonths:2})}),e.jsx("div",{className:"p-3",children:e.jsxs("div",{className:"flex items-center gap-4",children:[Y("started_at","开始时间"),e.jsx("div",{className:"mt-6 text-sm text-muted-foreground",children:"至"}),Y("ended_at","结束时间")]})})]})]}),e.jsx(N,{})]}),e.jsx(j,{control:n.control,name:"limit_use",render:({field:t})=>e.jsxs(f,{children:[e.jsx(b,{children:"最大使用次数"}),e.jsx(y,{type:"number",min:0,placeholder:"限制最大使用次数,留空则不限制",...t,value:t.value===void 0?"":t.value,onChange:r=>t.onChange(r.target.value===""?"":r.target.value),className:"h-9"}),e.jsx(F,{className:"text-xs",children:"设置优惠券的总使用次数限制,留空表示不限制使用次数"}),e.jsx(N,{})]})}),e.jsx(j,{control:n.control,name:"limit_use_with_user",render:({field:t})=>e.jsxs(f,{children:[e.jsx(b,{children:"每个用户可使用次数"}),e.jsx(y,{type:"number",min:0,placeholder:"限制每个用户可使用次数,留空则不限制",...t,value:t.value===void 0?"":t.value,onChange:r=>t.onChange(r.target.value===""?"":r.target.value),className:"h-9"}),e.jsx(F,{className:"text-xs",children:"限制每个用户可使用该优惠券的次数,留空表示不限制单用户使用次数"}),e.jsx(N,{})]})}),e.jsx(j,{control:n.control,name:"limit_period",render:({field:t})=>e.jsxs(f,{children:[e.jsx(b,{children:"指定周期"}),e.jsx(E,{options:Object.entries(T).filter(([r])=>isNaN(Number(r))).map(([r,m])=>({label:m,value:r})),onChange:r=>{if(r.length===0){t.onChange([]);return}const m=r.map(g=>T[g.value]);t.onChange(m)},value:(t.value||[]).map(r=>({label:Object.entries(T).find(([m,g])=>g===r)?.[1]||"",value:Object.entries(T).find(([m,g])=>g===r)?.[0]||""})),placeholder:"限制指定周期可以使用优惠,留空则不限制",emptyIndicator:e.jsx("p",{className:"text-center text-sm text-muted-foreground",children:"没有找到匹配的周期"})}),e.jsx(F,{className:"text-xs",children:"选择可以使用优惠券的订阅周期,留空表示不限制使用周期"}),e.jsx(N,{})]})}),e.jsx(j,{control:n.control,name:"limit_plan_ids",render:({field:t})=>e.jsxs(f,{children:[e.jsx(b,{children:"指定订阅"}),e.jsx(E,{options:_?.map(r=>({label:r.name,value:r.id.toString()}))||[],onChange:r=>t.onChange(r.map(m=>Number(m.value))),value:(_||[]).filter(r=>(t.value||[]).includes(r.id)).map(r=>({label:r.name,value:r.id.toString()})),placeholder:"限制指定订阅可以使用优惠,留空则不限制",emptyIndicator:e.jsx("p",{className:"text-center text-sm text-muted-foreground",children:"没有找到匹配的订阅"})}),e.jsx(N,{})]})}),d==="create"&&e.jsxs(e.Fragment,{children:[e.jsx(j,{control:n.control,name:"code",render:({field:t})=>e.jsxs(f,{children:[e.jsx(b,{children:"自定义优惠码"}),e.jsx(y,{placeholder:"自定义优惠码,留空则自动生成",...t,className:"h-9"}),e.jsx(F,{className:"text-xs",children:"可以自定义优惠码,留空则系统自动生成"}),e.jsx(N,{})]})}),e.jsx(j,{control:n.control,name:"generate_count",render:({field:t})=>e.jsxs(f,{children:[e.jsx(b,{children:"批量生成数量"}),e.jsx(y,{type:"number",min:0,placeholder:"批量生成优惠码数量,留空则生成单个",...t,value:t.value===void 0?"":t.value,onChange:r=>t.onChange(r.target.value===""?"":r.target.value),className:"h-9"}),e.jsx(F,{className:"text-xs",children:"批量生成多个优惠码,留空则只生成单个优惠码"}),e.jsx(N,{})]})})]}),e.jsx(Se,{children:e.jsx(M,{type:"submit",disabled:n.formState.isSubmitting,children:n.formState.isSubmitting?"保存中...":"保存"})})]})})]})]})}function We({table:a,refetch:s}){const d=a.getState().columnFilters.length>0;return e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex flex-1 items-center space-x-2",children:[e.jsx(y,{placeholder:"搜索优惠券...",value:a.getColumn("name")?.getFilterValue()??"",onChange:c=>a.getColumn("name")?.setFilterValue(c.target.value),className:"h-9 w-[150px] lg:w-[250px]"}),a.getColumn("type")&&e.jsx(Qe,{column:a.getColumn("type"),title:"类型",options:Object.entries(V).map(([c,o])=>({value:c,label:o}))}),d&&e.jsxs(M,{variant:"ghost",onClick:()=>a.resetColumnFilters(),className:"h-8 px-2 lg:px-3",children:["重置",e.jsx(fe,{className:"ml-2 h-4 w-4"})]})]}),e.jsx("div",{className:"flex items-center space-x-2",children:e.jsx(q,{refetch:s})})]})}const $=u.createContext(void 0);function Xe({children:a,refetch:s}){const[d,c]=u.useState(!1),[o,i]=u.useState(null),x=h=>{i(h),c(!0)},p=()=>{c(!1),i(null)};return e.jsxs($.Provider,{value:{isOpen:d,currentCoupon:o,openEdit:x,closeEdit:p},children:[a,o&&e.jsx(q,{defaultValues:o,refetch:s,type:"edit",open:d,onOpenChange:c})]})}function Ze(){const a=u.useContext($);if(a===void 0)throw new Error("useCouponEdit must be used within a CouponEditProvider");return a}const et=a=>[{accessorKey:"id",header:({column:s})=>e.jsx(C,{column:s,title:"ID"}),cell:({row:s})=>e.jsx(S,{children:s.original.id}),enableSorting:!0},{accessorKey:"show",header:({column:s})=>e.jsx(C,{column:s,title:"启用"}),cell:({row:s})=>e.jsx(Ae,{defaultChecked:s.original.show,onCheckedChange:d=>{Oe({id:s.original.id,show:d}).then(({data:c})=>!c&&a())}}),enableSorting:!1},{accessorKey:"name",header:({column:s})=>e.jsx(C,{column:s,title:"卷名称"}),cell:({row:s})=>e.jsx("div",{className:"flex items-center",children:e.jsx("span",{children:s.original.name})}),enableSorting:!1,size:800},{accessorKey:"type",header:({column:s})=>e.jsx(C,{column:s,title:"类型"}),cell:({row:s})=>e.jsx(S,{variant:"outline",children:V[s.original.type]}),enableSorting:!0},{accessorKey:"code",header:({column:s})=>e.jsx(C,{column:s,title:"卷码"}),cell:({row:s})=>e.jsx(S,{variant:"secondary",children:s.original.code}),enableSorting:!0},{accessorKey:"limit_use",header:({column:s})=>e.jsx(C,{column:s,title:"剩余次数"}),cell:({row:s})=>e.jsx(S,{variant:"outline",children:s.original.limit_use}),enableSorting:!0},{accessorKey:"#",header:({column:s})=>e.jsx(C,{column:s,title:"有效期"}),cell:({row:s})=>{const[d,c]=u.useState(!1),o=Date.now(),i=s.original.started_at*1e3,x=s.original.ended_at*1e3,p=o>x,h=oe.jsx(C,{className:"justify-end",column:s,title:"操作"}),cell:({row:s})=>{const{openEdit:d}=Ze();return e.jsxs("div",{className:"flex items-center justify-end",children:[e.jsxs(M,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-muted",onClick:()=>d(s.original),children:[e.jsx(be,{className:"h-4 w-4 text-muted-foreground hover:text-foreground"}),e.jsx("span",{className:"sr-only",children:"编辑"})]}),e.jsx(Ke,{title:"确认删除",description:"此操作将永久删除该优惠券,删除后无法恢复。确定要继续吗?",confirmText:"删除",variant:"destructive",onConfirm:async()=>{He({id:s.original.id}).then(({data:c})=>{c&&(Q.success("删除成功"),a())})},children:e.jsxs(M,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-red-100 dark:hover:bg-red-900",children:[e.jsx(Be,{className:"h-4 w-4 text-muted-foreground hover:text-red-600 dark:hover:text-red-400"}),e.jsx("span",{className:"sr-only",children:"删除"})]})})]})}}];function tt(){const[a,s]=u.useState({}),[d,c]=u.useState({}),[o,i]=u.useState([]),[x,p]=u.useState([]),[h,w]=u.useState({pageIndex:0,pageSize:10}),{refetch:_,data:v}=ge({queryKey:["couponList",h,o,x],queryFn:()=>Pe({pageSize:h.pageSize,current:h.pageIndex+1,filter:o,sort:x})}),n=le({data:v?.data??[],columns:et(_),state:{sorting:x,columnVisibility:d,rowSelection:a,columnFilters:o,pagination:h},pageCount:Math.ceil((v?.total??0)/h.pageSize),rowCount:v?.total??0,manualPagination:!0,manualFiltering:!0,manualSorting:!0,enableRowSelection:!0,onRowSelectionChange:s,onSortingChange:p,onColumnFiltersChange:i,onColumnVisibilityChange:c,onPaginationChange:w,getCoreRowModel:ce(),getFilteredRowModel:de(),getPaginationRowModel:me(),getSortedRowModel:ue(),getFacetedRowModel:xe(),getFacetedUniqueValues:he(),initialState:{columnPinning:{right:["actions"]}}});return e.jsx(Xe,{refetch:_,children:e.jsx("div",{className:"space-y-4",children:e.jsx(pe,{table:n,toolbar:e.jsx(We,{table:n,refetch:_})})})})}function Pt(){return e.jsxs(ne,{children:[e.jsxs(oe,{children:[e.jsx(se,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(ae,{}),e.jsx(re,{})]})]}),e.jsxs(ie,{className:"flex flex-col",fixedHeight:!0,children:[e.jsx("div",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:"优惠券管理"}),e.jsx("p",{className:"text-muted-foreground mt-2",children:"在这里可以查看优惠券,包括增加、查看、删除等操作。"})]})}),e.jsx("div",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx(tt,{})})]})]})}export{Pt as default}; diff --git a/public/assets/admin/assets/index-CX6PQ3zO.js b/public/assets/admin/assets/index-CX6PQ3zO.js deleted file mode 100644 index 0b54034f4..000000000 --- a/public/assets/admin/assets/index-CX6PQ3zO.js +++ /dev/null @@ -1 +0,0 @@ -import{r as p,j as m,z as u,M as d}from"./index-_xd8OyP8.js";var f=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],l=f.reduce((r,i)=>{const t=p.forwardRef((s,o)=>{const{asChild:e,...a}=s,n=e?u:i;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),m.jsx(n,{...a,ref:o})});return t.displayName=`Primitive.${i}`,{...r,[i]:t}},{});function v(r,i){r&&d.flushSync(()=>r.dispatchEvent(i))}export{l as P,v as d}; diff --git a/public/assets/admin/assets/index-CbgZ-8or.js b/public/assets/admin/assets/index-CbgZ-8or.js deleted file mode 100644 index 5f65b07b3..000000000 --- a/public/assets/admin/assets/index-CbgZ-8or.js +++ /dev/null @@ -1,6 +0,0 @@ -import{j as e,B as z,a as N,r as m,L as ee,e as se}from"./index-_xd8OyP8.js";import{c as ae,C as te,a as le,b as re,d as ne,e as M,f as O,g as ie,S as oe,T as ce,U as de}from"./user-nav-BBmBVa03.js";import{D as V,a as R,b as k,e as C,L as me,f as ue,g as xe}from"./sidelinks-DLs_k-Mk.js";import{B as g,D as u,u as he,g as ge,b as je,c as fe,d as pe,e as Ne,f as ve,a as be}from"./column-header-BLyyjrhJ.js";import{u as Ce}from"./useQuery-mr7Ep0hT.js";import{d as Se,S as K,e as E,f as U,Q as ye,b as we,c as Ie,a as De}from"./react-icons.esm-rZq2pt7A.js";import{I as Ee}from"./input-d0vtE30O.js";import{O as i,o as h,b as f,C as o,c as S,d as y,e as B,f as Pe}from"./index-ngg4RcvF.js";import{P as _e,a as Le,b as Te}from"./popover-C5eiPdqD.js";import{S as $}from"./separator-lX8UNwTG.js";import{O as Fe}from"./order-assign-form-D2gTIMis.js";import{Y as Me,Z as Oe,_ as Ve,$ as A,b as Re}from"./index-BycJudEO.js";import{D as ke,e as Ae,a as Ge,b as He,c as ze,B as D}from"./button-DhrtVlOa.js";import{f as p,a as P}from"./common-BL1VIuho.js";import{T as Ke,a as Ue,b as Be,c as $e}from"./tooltip-B58e4dA7.js";import{u as qe}from"./question-circle-qmgAd7XP.js";import"./index-CcyXqhZ9.js";import"./index-BwSRHYe4.js";import"./index-CX6PQ3zO.js";import"./index-BlMNiBlp.js";import"./IconTicket-COhvkaJH.js";import"./select-Cqkdx-UJ.js";import"./index-CRh0M8qI.js";import"./index-kwEAqj-e.js";import"./arrow-up-9fLptvj0.js";import"./zod-x_8lkCGK.js";import"./form-DIzSOdtk.js";import"./clipboard-YH5zrf5X.js";/** - * @license lucide-react v0.399.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const q=ae("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]),Y=[{value:i.PENDING,label:h[i.PENDING],icon:Se,color:f[i.PENDING]},{value:i.PROCESSING,label:h[i.PROCESSING],icon:K,color:f[i.PROCESSING]},{value:i.COMPLETED,label:h[i.COMPLETED],icon:E,color:f[i.COMPLETED]},{value:i.CANCELLED,label:h[i.CANCELLED],icon:U,color:f[i.CANCELLED]},{value:i.DISCOUNTED,label:h[i.DISCOUNTED],icon:E,color:f[i.DISCOUNTED]}],Q=[{value:o.PENDING,label:S[o.PENDING],icon:ye,color:y[o.PENDING]},{value:o.PROCESSING,label:S[o.PROCESSING],icon:K,color:y[o.PROCESSING]},{value:o.VALID,label:S[o.VALID],icon:E,color:y[o.VALID]},{value:o.INVALID,label:S[o.INVALID],icon:U,color:y[o.INVALID]}];function G({column:a,title:s,options:r}){const t=a?.getFacetedUniqueValues(),l=a?.getFilterValue(),c=Array.isArray(l)?new Set(l):l!==void 0?new Set([l]):new Set;return e.jsxs(_e,{children:[e.jsx(Le,{asChild:!0,children:e.jsxs(z,{variant:"outline",size:"sm",className:"h-8 border-dashed",children:[e.jsx(we,{className:"mr-2 h-4 w-4"}),s,c?.size>0&&e.jsxs(e.Fragment,{children:[e.jsx($,{orientation:"vertical",className:"mx-2 h-4"}),e.jsx(g,{variant:"secondary",className:"rounded-sm px-1 font-normal lg:hidden",children:c.size}),e.jsx("div",{className:"hidden space-x-1 lg:flex",children:c.size>2?e.jsxs(g,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:[c.size," selected"]}):r.filter(n=>c.has(n.value)).map(n=>e.jsx(g,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:n.label},n.value))})]})]})}),e.jsx(Te,{className:"w-[200px] p-0",align:"start",children:e.jsxs(te,{children:[e.jsx(le,{placeholder:s}),e.jsxs(re,{children:[e.jsx(ne,{children:"No results found."}),e.jsx(M,{children:r.map(n=>{const x=c.has(n.value);return e.jsxs(O,{onSelect:()=>{const j=new Set(c);x?j.delete(n.value):j.add(n.value);const v=Array.from(j);a?.setFilterValue(v.length?v:void 0)},children:[e.jsx("div",{className:N("mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary",x?"bg-primary text-primary-foreground":"opacity-50 [&_svg]:invisible"),children:e.jsx(Ie,{className:N("h-4 w-4")})}),n.icon&&e.jsx(n.icon,{className:`mr-2 h-4 w-4 text-muted-foreground text-${n.color}`}),e.jsx("span",{children:n.label}),t?.get(n.value)&&e.jsx("span",{className:"ml-auto flex h-4 w-4 items-center justify-center font-mono text-xs",children:t.get(n.value)})]},n.value)})}),c.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(ie,{}),e.jsx(M,{children:e.jsx(O,{onSelect:()=>a?.setFilterValue(void 0),className:"justify-center text-center",children:"Clear filters"})})]})]})]})})]})}function Ye({table:a,refetch:s}){const r=a.getState().columnFilters.length>0;return e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex flex-1 flex-col-reverse items-start gap-y-2 sm:flex-row sm:items-center sm:space-x-2",children:[e.jsx(Ee,{placeholder:"搜索订单...",value:a.getColumn("trade_no")?.getFilterValue()??"",onChange:t=>a.getColumn("trade_no")?.setFilterValue(t.target.value),className:"h-9 w-[150px] lg:w-[250px]"}),e.jsxs("div",{className:"flex gap-x-2",children:[a.getColumn("status")&&e.jsx(G,{column:a.getColumn("status"),title:"订单状态",options:Y}),a.getColumn("commission_status")&&e.jsx(G,{column:a.getColumn("commission_status"),title:"佣金状态",options:Q})]}),r&&e.jsxs(z,{variant:"ghost",onClick:()=>a.resetColumnFilters(),className:"h-8 px-2 lg:px-3",children:["重置",e.jsx(De,{className:"ml-2 h-4 w-4"})]})]}),e.jsx(Fe,{refetch:s})]})}function d({label:a,value:s,className:r,valueClassName:t}){return e.jsxs("div",{className:N("flex items-center py-1.5",r),children:[e.jsx("div",{className:"w-28 shrink-0 text-sm text-muted-foreground",children:a}),e.jsx("div",{className:N("text-sm",t),children:s||"-"})]})}function Qe({status:a}){const s={PENDING:"bg-yellow-100 text-yellow-800 hover:bg-yellow-100",PAID:"bg-green-100 text-green-800 hover:bg-green-100",FAILED:"bg-red-100 text-red-800 hover:bg-red-100",REFUNDED:"bg-gray-100 text-gray-800 hover:bg-gray-100"};return e.jsx(g,{variant:"secondary",className:N("font-medium",s[a]),children:h[a]})}function Ze({id:a,trigger:s}){const[r,t]=m.useState(!1),[l,c]=m.useState();return m.useEffect(()=>{(async()=>{if(r){const{data:x}=await Me({id:a});c(x)}})()},[r,a]),e.jsxs(ke,{onOpenChange:t,open:r,children:[e.jsx(Ae,{asChild:!0,children:s}),e.jsxs(Ge,{className:"max-w-xl",children:[e.jsxs(He,{className:"space-y-2",children:[e.jsx(ze,{className:"text-lg font-medium",children:"订单信息"}),e.jsx("div",{className:"flex items-center justify-between text-sm",children:e.jsxs("div",{className:"flex items-center space-x-6",children:[e.jsxs("div",{className:"text-muted-foreground",children:["订单号:",l?.trade_no]}),l?.status&&e.jsx(Qe,{status:l.status})]})})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"rounded-lg border p-4",children:[e.jsx("div",{className:"mb-2 text-sm font-medium",children:"基本信息"}),e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(d,{label:"用户邮箱",value:l?.user?.email?e.jsxs(ee,{to:`/user/manage?email=${l.user.email}`,className:"group inline-flex items-center gap-1 text-primary hover:underline",children:[l.user.email,e.jsx(q,{className:"h-3.5 w-3.5 opacity-0 transition-opacity group-hover:opacity-100"})]}):"-"}),e.jsx(d,{label:"订单周期",value:l&&B[l.period]}),e.jsx(d,{label:"订阅计划",value:l?.plan?.name,valueClassName:"font-medium"}),e.jsx(d,{label:"回调单号",value:l?.callback_no,valueClassName:"font-mono text-xs"})]})]}),e.jsxs("div",{className:"rounded-lg border p-4",children:[e.jsx("div",{className:"mb-2 text-sm font-medium",children:"金额信息"}),e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(d,{label:"支付金额",value:p(l?.total_amount||0),valueClassName:"font-medium text-primary"}),e.jsx($,{className:"my-2"}),e.jsx(d,{label:"余额支付",value:p(l?.balance_amount||0)}),e.jsx(d,{label:"优惠金额",value:p(l?.discount_amount||0),valueClassName:"text-green-600"}),e.jsx(d,{label:"退回金额",value:p(l?.refund_amount||0),valueClassName:"text-red-600"}),e.jsx(d,{label:"折抵金额",value:p(l?.surplus_amount||0)})]})]}),e.jsxs("div",{className:"rounded-lg border p-4",children:[e.jsx("div",{className:"mb-2 text-sm font-medium",children:"时间信息"}),e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(d,{label:"创建时间",value:P(l?.created_at),valueClassName:"font-mono text-xs"}),e.jsx(d,{label:"更新时间",value:P(l?.updated_at),valueClassName:"font-mono text-xs"})]})]})]})]})]})}const H=a=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...a,children:e.jsx("path",{fill:"currentColor",d:"M17 9.17a1 1 0 0 0-1.41 0L12 12.71L8.46 9.17a1 1 0 0 0-1.41 0a1 1 0 0 0 0 1.42l4.24 4.24a1 1 0 0 0 1.42 0L17 10.59a1 1 0 0 0 0-1.42"})}),Je=a=>[{accessorKey:"trade_no",header:({column:s})=>e.jsx(u,{column:s,title:"#订单号"}),cell:({row:s})=>{const r=s.original.trade_no,t=r.length>6?`${r.slice(0,3)}...${r.slice(-3)}`:r;return e.jsx("div",{className:"flex items-center",children:e.jsx(Ze,{trigger:e.jsxs(D,{variant:"ghost",size:"sm",className:"h-8 px-2 text-blue-500 hover:text-blue-600 hover:bg-blue-50 flex items-center gap-1 font-medium",children:[e.jsx("span",{children:t}),e.jsx(q,{className:"h-3.5 w-3.5"})]}),id:s.original.id})})},enableSorting:!1,enableHiding:!1},{accessorKey:"type",header:({column:s})=>e.jsx(u,{column:s,title:"类型"}),cell:({row:s})=>e.jsx(g,{variant:"outline",children:Pe[s.getValue("type")]}),enableSorting:!1,enableHiding:!1},{accessorKey:"plan.name",header:({column:s})=>e.jsx(u,{column:s,title:"订阅计划"}),cell:({row:s})=>e.jsx("div",{className:"flex space-x-2",children:e.jsx("span",{className:"max-w-32 truncate font-medium sm:max-w-72 md:max-w-[31rem]",children:s.original.plan?.name||"-"})}),enableSorting:!1,enableHiding:!1},{accessorKey:"period",header:({column:s})=>e.jsx(u,{column:s,title:"周期"}),cell:({row:s})=>e.jsx(g,{variant:"outline",children:B[s.getValue("period")]}),enableSorting:!1,enableHiding:!1},{accessorKey:"total_amount",header:({column:s})=>e.jsx(u,{column:s,title:"支付金额"}),cell:({row:s})=>{const r=s.getValue("total_amount"),t=typeof r=="number"?(r/100).toFixed(2):"N/A";return e.jsx("div",{className:"flex items-center",children:e.jsx("span",{children:t})})},enableSorting:!1,enableHiding:!1},{accessorKey:"status",header:({column:s})=>e.jsxs("div",{className:"flex",children:[e.jsx(u,{column:s,title:"订单状态"}),e.jsx(Ke,{delayDuration:100,children:e.jsxs(Ue,{children:[e.jsx(Be,{className:"ml-1",children:e.jsx(qe,{})}),e.jsx($e,{children:"标记为[已支付]后将会由系统进行开通后并完成"})]})})]}),cell:({row:s,table:r})=>{const t=Y.find(l=>l.value===s.getValue("status"));return t&&e.jsxs("div",{className:"flex",children:[e.jsxs("div",{className:"flex items-center",children:[t.icon&&e.jsx(t.icon,{className:`mr-2 h-4 w-4 text-${t.color}`}),e.jsx("span",{children:t.label})]}),t.value===i.PENDING&&e.jsxs(V,{modal:!0,children:[e.jsx(R,{asChild:!0,children:e.jsx("div",{className:"text-end",children:e.jsxs(D,{variant:"link",size:"sm",children:["标记为",e.jsx(H,{className:" h-4 w-4"})]})})}),e.jsxs(k,{align:"end",className:"min-w-[40px]",children:[e.jsx(C,{className:"cursor-pointer",onClick:()=>{Oe({trade_no:s.original.trade_no}),a()},children:"已支付"}),e.jsx(C,{className:"cursor-pointer",onClick:()=>{Ve({trade_no:s.original.trade_no}),a()},children:"取消"})]})]})]})},enableSorting:!1,enableHiding:!1},{accessorKey:"commission_balance",header:({column:s})=>e.jsx(u,{column:s,title:"佣金金额"}),cell:({row:s})=>{const r=s.getValue("commission_balance"),t=r?(r/100).toFixed(2):"-";return e.jsx("div",{className:"flex items-center",children:e.jsx("span",{children:t})})},enableSorting:!1,enableHiding:!1},{accessorKey:"commission_status",header:({column:s})=>e.jsx(u,{column:s,title:"佣金状态"}),cell:({row:s})=>{const r=s.original.commission_status,t=Q.find(l=>l.value===s.getValue("commission_status"));return r==0||!t?"-":e.jsxs("div",{className:"flex",children:[e.jsxs("div",{className:"flex items-center",children:[t.icon&&e.jsx(t.icon,{className:`mr-2 h-4 w-4 text-${t.color}`}),e.jsx("span",{children:t.label})]}),t.value===o.PENDING&&e.jsxs(V,{modal:!0,children:[e.jsx(R,{asChild:!0,children:e.jsx("div",{className:"text-end",children:e.jsxs(D,{variant:"link",size:"sm",children:["标记为",e.jsx(H,{className:" h-4 w-4"})]})})}),e.jsxs(k,{align:"end",className:"min-w-[40px]",children:[e.jsx(C,{className:"cursor-pointer",onClick:()=>{A({trade_no:s.original.trade_no,commission_status:o.PROCESSING}),a()},children:"有效"}),e.jsx(C,{className:"cursor-pointer",onClick:()=>{A({trade_no:s.original.trade_no,commission_status:o.INVALID}),a()},children:"无效"})]})]})]})},enableSorting:!1,enableHiding:!1},{accessorKey:"created_at",header:({column:s})=>e.jsx(u,{column:s,title:"创建时间"}),cell:({row:s})=>e.jsx("div",{children:P(s.getValue("created_at"),"YYYY/MM/DD HH:mm:ss")}),enableSorting:!0,enableHiding:!1}];function We(){const a=se(),s=new URLSearchParams(a.search),r=Array.from(s.entries()).map(([X,F])=>({id:X,value:parseInt(F)||F})),[t]=m.useState(!0),l=t&&a.state?.filters?a.state.filters:[],c=[...r,...l];m.useEffect(()=>{a.state?.filters&&window.history.replaceState({...a.state,filters:void 0},"")},[]);const[n,x]=m.useState({}),[j,v]=m.useState({}),[w,Z]=m.useState(c),[I,J]=m.useState([]),[b,W]=m.useState({pageIndex:0,pageSize:10}),{refetch:_,data:L,isLoading:Xe}=Ce({queryKey:["orderList",b,w,I],queryFn:()=>Re({pageSize:b.pageSize,current:b.pageIndex+1,filter:w,sort:I})}),T=he({data:L?.data??[],columns:Je(_),state:{sorting:I,columnVisibility:j,rowSelection:n,columnFilters:w,pagination:b},rowCount:L?.total??0,manualPagination:!0,manualFiltering:!0,manualSorting:!0,enableRowSelection:!0,onRowSelectionChange:x,onSortingChange:J,onColumnFiltersChange:Z,onColumnVisibilityChange:v,getCoreRowModel:ge(),getFilteredRowModel:je(),getPaginationRowModel:fe(),onPaginationChange:W,getSortedRowModel:pe(),getFacetedRowModel:Ne(),getFacetedUniqueValues:ve()});return e.jsx(be,{table:T,toolbar:e.jsx(Ye,{table:T,refetch:_}),showPagination:!0})}function Es(){return e.jsxs(me,{children:[e.jsxs(ue,{children:[e.jsx(oe,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(ce,{}),e.jsx(de,{})]})]}),e.jsxs(xe,{className:"flex flex-col",fixedHeight:!0,children:[e.jsx("div",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:" 订单管理"}),e.jsx("p",{className:"text-muted-foreground mt-2",children:"在这里可以查看用户订单,包括分配、查看、删除等操作。"})]})}),e.jsx("div",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx(We,{})})]})]})}export{Es as default}; diff --git a/public/assets/admin/assets/index-CcbTaQp-.js b/public/assets/admin/assets/index-CcbTaQp-.js deleted file mode 100644 index fc8de8e17..000000000 --- a/public/assets/admin/assets/index-CcbTaQp-.js +++ /dev/null @@ -1,11 +0,0 @@ -import{r as n,j as e,a as v,x as H,u as he,t as C}from"./index-_xd8OyP8.js";import{c as z,C as fe,a as ge,b as pe,d as ve,e as P,f as A,g as je,S as be,T as ye,U as Ne}from"./user-nav-BBmBVa03.js";import{i as O,u as we,R as Ce,I as Te,L as Se,f as Me,g as ke}from"./sidelinks-DLs_k-Mk.js";import{B as b,D as N,u as Re,g as Ve,b as Fe,c as Le,d as De,e as Ie,f as _e,a as Ee}from"./column-header-BLyyjrhJ.js";import{u as K}from"./useQuery-mr7Ep0hT.js";import{c as Pe,u as Ae,a as V}from"./index-BwSRHYe4.js";import{u as Be,P as He}from"./index-CcyXqhZ9.js";import{P as k}from"./index-CX6PQ3zO.js";import{B as p,D as ze,e as Oe,a as Ke,c as Ue}from"./button-DhrtVlOa.js";import{P as qe,a as $e,b as Ge}from"./popover-C5eiPdqD.js";import{S as L}from"./separator-lX8UNwTG.js";import{t as T,T as j,j as w,k as We}from"./index-ngg4RcvF.js";import{u as Ze,a as Qe,U as Je,T as Xe}from"./traffic-record-table-ChIQ7swu.js";import{a8 as Ye,a9 as ea,aa as U,a as aa}from"./index-BycJudEO.js";import{a as M}from"./common-BL1VIuho.js";import{T as sa}from"./textarea-Bmd-AJpD.js";import{C as q}from"./confirm-dialog-CHz9pK2w.js";import{S as F}from"./skeleton-Dzu0p8kx.js";import{u as B}from"./user-CIJd3wDa.js";import"./react-icons.esm-rZq2pt7A.js";import"./index-BlMNiBlp.js";import"./IconTicket-COhvkaJH.js";import"./input-d0vtE30O.js";import"./select-Cqkdx-UJ.js";import"./index-CRh0M8qI.js";import"./index-kwEAqj-e.js";import"./tooltip-B58e4dA7.js";import"./arrow-up-9fLptvj0.js";import"./zod-x_8lkCGK.js";import"./form-DIzSOdtk.js";import"./calendar-DHKoWj25.js";import"./switch-w5WyeRwk.js";import"./clipboard-YH5zrf5X.js";/** - * @license lucide-react v0.399.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const ta=z("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/** - * @license lucide-react v0.399.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const ra=z("CirclePlus",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 12h8",key:"1wcyev"}],["path",{d:"M12 8v8",key:"napkw2"}]]);var I="Tabs",[ia,rs]=Pe(I,[O]),$=O(),[la,_]=ia(I),G=n.forwardRef((s,a)=>{const{__scopeTabs:i,value:t,onValueChange:r,defaultValue:o,orientation:l="horizontal",dir:h,activationMode:x="automatic",...f}=s,m=we(h),[d,g]=Ae({prop:t,onChange:r,defaultProp:o});return e.jsx(la,{scope:i,baseId:Be(),value:d,onValueChange:g,orientation:l,dir:m,activationMode:x,children:e.jsx(k.div,{dir:m,"data-orientation":l,...f,ref:a})})});G.displayName=I;var W="TabsList",Z=n.forwardRef((s,a)=>{const{__scopeTabs:i,loop:t=!0,...r}=s,o=_(W,i),l=$(i);return e.jsx(Ce,{asChild:!0,...l,orientation:o.orientation,dir:o.dir,loop:t,children:e.jsx(k.div,{role:"tablist","aria-orientation":o.orientation,...r,ref:a})})});Z.displayName=W;var Q="TabsTrigger",J=n.forwardRef((s,a)=>{const{__scopeTabs:i,value:t,disabled:r=!1,...o}=s,l=_(Q,i),h=$(i),x=ee(l.baseId,t),f=ae(l.baseId,t),m=t===l.value;return e.jsx(Te,{asChild:!0,...h,focusable:!r,active:m,children:e.jsx(k.button,{type:"button",role:"tab","aria-selected":m,"aria-controls":f,"data-state":m?"active":"inactive","data-disabled":r?"":void 0,disabled:r,id:x,...o,ref:a,onMouseDown:V(s.onMouseDown,d=>{!r&&d.button===0&&d.ctrlKey===!1?l.onValueChange(t):d.preventDefault()}),onKeyDown:V(s.onKeyDown,d=>{[" ","Enter"].includes(d.key)&&l.onValueChange(t)}),onFocus:V(s.onFocus,()=>{const d=l.activationMode!=="manual";!m&&!r&&d&&l.onValueChange(t)})})})});J.displayName=Q;var X="TabsContent",Y=n.forwardRef((s,a)=>{const{__scopeTabs:i,value:t,forceMount:r,children:o,...l}=s,h=_(X,i),x=ee(h.baseId,t),f=ae(h.baseId,t),m=t===h.value,d=n.useRef(m);return n.useEffect(()=>{const g=requestAnimationFrame(()=>d.current=!1);return()=>cancelAnimationFrame(g)},[]),e.jsx(He,{present:r||m,children:({present:g})=>e.jsx(k.div,{"data-state":m?"active":"inactive","data-orientation":h.orientation,role:"tabpanel","aria-labelledby":x,hidden:!g,id:f,tabIndex:0,...l,ref:a,style:{...s.style,animationDuration:d.current?"0s":void 0},children:g&&o})})});Y.displayName=X;function ee(s,a){return`${s}-trigger-${a}`}function ae(s,a){return`${s}-content-${a}`}var na=G,se=Z,te=J,re=Y;const oa=na,ie=n.forwardRef(({className:s,...a},i)=>e.jsx(se,{ref:i,className:v("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",s),...a}));ie.displayName=se.displayName;const D=n.forwardRef(({className:s,...a},i)=>e.jsx(te,{ref:i,className:v("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow",s),...a}));D.displayName=te.displayName;const ca=n.forwardRef(({className:s,...a},i)=>e.jsx(re,{ref:i,className:v("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",s),...a}));ca.displayName=re.displayName;function da({column:s,title:a,options:i}){const t=new Set(s?.getFilterValue());return e.jsxs(qe,{children:[e.jsx($e,{asChild:!0,children:e.jsxs(p,{variant:"outline",size:"sm",className:"h-8 border-dashed",children:[e.jsx(ra,{className:"mr-2 h-4 w-4"}),a,t?.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(L,{orientation:"vertical",className:"mx-2 h-4"}),e.jsx(b,{variant:"secondary",className:"rounded-sm px-1 font-normal lg:hidden",children:t.size}),e.jsx("div",{className:"hidden space-x-1 lg:flex",children:t.size>2?e.jsxs(b,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:[t.size," selected"]}):i.filter(r=>t.has(r.value)).map(r=>e.jsx(b,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:r.label},`selected-${r.value}`))})]})]})}),e.jsx(Ge,{className:"w-[200px] p-0",align:"start",children:e.jsxs(fe,{children:[e.jsx(ge,{placeholder:a}),e.jsxs(pe,{children:[e.jsx(ve,{children:"No results found."}),e.jsx(P,{children:i.map(r=>{const o=t.has(r.value);return e.jsxs(A,{onSelect:()=>{o?t.delete(r.value):t.add(r.value);const l=Array.from(t);s?.setFilterValue(l.length?l:void 0)},children:[e.jsx("div",{className:v("mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary",o?"bg-primary text-primary-foreground":"opacity-50 [&_svg]:invisible"),children:e.jsx(ta,{className:v("h-4 w-4")})}),r.icon&&e.jsx(r.icon,{className:"mr-2 h-4 w-4 text-muted-foreground"}),e.jsx("span",{children:r.label})]},`option-${r.value}`)})}),t.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(je,{}),e.jsx(P,{children:e.jsx(A,{onSelect:()=>s?.setFilterValue(void 0),className:"justify-center text-center",children:"Clear filters"})})]})]})]})})]})}const ua=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M19 11H5a1 1 0 0 0 0 2h14a1 1 0 0 0 0-2"})});function ma({table:s}){return e.jsx("div",{className:"flex items-center justify-between",children:e.jsxs("div",{className:"flex flex-1 flex-col-reverse items-start gap-y-2 sm:flex-row sm:items-center sm:space-x-4",children:[e.jsx(oa,{defaultValue:s.getColumn("status")?.getFilterValue(),onValueChange:a=>s.getColumn("status")?.setFilterValue(a),children:e.jsxs(ie,{className:"grid w-full grid-cols-2",children:[e.jsx(D,{value:"0",children:"已开始"}),e.jsx(D,{value:"1",children:"已关闭"})]})}),s.getColumn("level")&&e.jsx(da,{column:s.getColumn("level"),title:"优先级",options:[{label:T[j.LOW],value:j.LOW,icon:ua,color:"gray"},{label:T[j.MEDIUM],value:j.MEDIUM,icon:Ze,color:"yellow"},{label:T[j.HIGH],value:j.HIGH,icon:Qe,color:"red"}]})]})})}function xa(){return e.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",className:"text-foreground",children:[e.jsx("circle",{cx:"4",cy:"12",r:"2",fill:"currentColor",children:e.jsx("animate",{id:"spinner_qFRN",begin:"0;spinner_OcgL.end+0.25s",attributeName:"cy",calcMode:"spline",dur:"0.6s",values:"12;6;12",keySplines:".33,.66,.66,1;.33,0,.66,.33"})}),e.jsx("circle",{cx:"12",cy:"12",r:"2",fill:"currentColor",children:e.jsx("animate",{begin:"spinner_qFRN.begin+0.1s",attributeName:"cy",calcMode:"spline",dur:"0.6s",values:"12;6;12",keySplines:".33,.66,.66,1;.33,0,.66,.33"})}),e.jsx("circle",{cx:"20",cy:"12",r:"2",fill:"currentColor",children:e.jsx("animate",{id:"spinner_OcgL",begin:"spinner_qFRN.begin+0.2s",attributeName:"cy",calcMode:"spline",dur:"0.6s",values:"12;6;12",keySplines:".33,.66,.66,1;.33,0,.66,.33"})})]})}const ha=H("flex gap-2 max-w-[60%] items-end relative group",{variants:{variant:{received:"self-start",sent:"self-end flex-row-reverse"},layout:{default:"",ai:"max-w-full w-full items-center"}},defaultVariants:{variant:"received",layout:"default"}}),le=n.forwardRef(({className:s,variant:a,layout:i,children:t,...r},o)=>e.jsx("div",{className:v(ha({variant:a,layout:i,className:s}),"relative group"),ref:o,...r,children:n.Children.map(t,l=>n.isValidElement(l)&&typeof l.type!="string"?n.cloneElement(l,{variant:a,layout:i}):l)}));le.displayName="ChatBubble";const fa=H("p-4",{variants:{variant:{received:"bg-secondary text-secondary-foreground rounded-r-lg rounded-tl-lg",sent:"bg-primary text-primary-foreground rounded-l-lg rounded-tr-lg"},layout:{default:"",ai:"border-t w-full rounded-none bg-transparent"}},defaultVariants:{variant:"received",layout:"default"}}),ne=n.forwardRef(({className:s,variant:a,layout:i,isLoading:t=!1,children:r,...o},l)=>e.jsx("div",{className:v(fa({variant:a,layout:i,className:s}),"break-words max-w-full whitespace-pre-wrap"),ref:l,...o,children:t?e.jsx("div",{className:"flex items-center space-x-2",children:e.jsx(xa,{})}):r}));ne.displayName="ChatBubbleMessage";const ga=n.forwardRef(({variant:s,className:a,children:i,...t},r)=>e.jsx("div",{ref:r,className:v("absolute top-1/2 -translate-y-1/2 flex opacity-0 group-hover:opacity-100 transition-opacity duration-200",s==="sent"?"-left-1 -translate-x-full flex-row-reverse":"-right-1 translate-x-full",a),...t,children:i}));ga.displayName="ChatBubbleActionWrapper";const oe=n.forwardRef(({className:s,...a},i)=>e.jsx(sa,{autoComplete:"off",ref:i,name:"message",className:v("max-h-12 px-4 py-3 bg-background text-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 w-full rounded-md flex items-center h-16 resize-none",s),...a}));oe.displayName="ChatInput";const ce=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"m13.41 12l4.3-4.29a1 1 0 1 0-1.42-1.42L12 10.59l-4.29-4.3a1 1 0 0 0-1.42 1.42l4.3 4.29l-4.3 4.29a1 1 0 0 0 0 1.42a1 1 0 0 0 1.42 0l4.29-4.3l4.29 4.3a1 1 0 0 0 1.42 0a1 1 0 0 0 0-1.42Z"})}),de=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M15.098 12.634L13 11.423V7a1 1 0 0 0-2 0v5a1 1 0 0 0 .5.866l2.598 1.5a1 1 0 1 0 1-1.732M12 2a10 10 0 1 0 10 10A10.01 10.01 0 0 0 12 2m0 18a8 8 0 1 1 8-8a8.01 8.01 0 0 1-8 8"})}),pa=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M3.71 16.29a1 1 0 0 0-.33-.21a1 1 0 0 0-.76 0a1 1 0 0 0-.33.21a1 1 0 0 0-.21.33a1 1 0 0 0 .21 1.09a1.2 1.2 0 0 0 .33.21a.94.94 0 0 0 .76 0a1.2 1.2 0 0 0 .33-.21a1 1 0 0 0 .21-1.09a1 1 0 0 0-.21-.33M7 8h14a1 1 0 0 0 0-2H7a1 1 0 0 0 0 2m-3.29 3.29a1 1 0 0 0-1.09-.21a1.2 1.2 0 0 0-.33.21a1 1 0 0 0-.21.33a.94.94 0 0 0 0 .76a1.2 1.2 0 0 0 .21.33a1.2 1.2 0 0 0 .33.21a.94.94 0 0 0 .76 0a1.2 1.2 0 0 0 .33-.21a1.2 1.2 0 0 0 .21-.33a.94.94 0 0 0 0-.76a1 1 0 0 0-.21-.33M21 11H7a1 1 0 0 0 0 2h14a1 1 0 0 0 0-2M3.71 6.29a1 1 0 0 0-.33-.21a1 1 0 0 0-1.09.21a1.2 1.2 0 0 0-.21.33a.94.94 0 0 0 0 .76a1.2 1.2 0 0 0 .21.33a1.2 1.2 0 0 0 .33.21a1 1 0 0 0 1.09-.21a1.2 1.2 0 0 0 .21-.33a.94.94 0 0 0 0-.76a1.2 1.2 0 0 0-.21-.33M21 16H7a1 1 0 0 0 0 2h14a1 1 0 0 0 0-2"})}),va=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M9 12H7a1 1 0 0 0 0 2h2a1 1 0 0 0 0-2m-1-2h4a1 1 0 0 0 0-2H8a1 1 0 0 0 0 2m1 6H7a1 1 0 0 0 0 2h2a1 1 0 0 0 0-2m12-4h-3V3a1 1 0 0 0-.5-.87a1 1 0 0 0-1 0l-3 1.72l-3-1.72a1 1 0 0 0-1 0l-3 1.72l-3-1.72a1 1 0 0 0-1 0A1 1 0 0 0 2 3v16a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-6a1 1 0 0 0-1-1M5 20a1 1 0 0 1-1-1V4.73l2 1.14a1.08 1.08 0 0 0 1 0l3-1.72l3 1.72a1.08 1.08 0 0 0 1 0l2-1.14V19a3 3 0 0 0 .18 1Zm15-1a1 1 0 0 1-2 0v-5h2Zm-6.44-2.83a.8.8 0 0 0-.18-.09a.6.6 0 0 0-.19-.06a1 1 0 0 0-.9.27A1.05 1.05 0 0 0 12 17a1 1 0 0 0 .07.38a1.2 1.2 0 0 0 .22.33a1.2 1.2 0 0 0 .33.21a.94.94 0 0 0 .76 0a1.2 1.2 0 0 0 .33-.21A1 1 0 0 0 14 17a1.05 1.05 0 0 0-.29-.71a2 2 0 0 0-.15-.12m.14-3.88a1 1 0 0 0-1.62.33A1 1 0 0 0 13 14a1 1 0 0 0 1-1a1 1 0 0 0-.08-.38a.9.9 0 0 0-.22-.33"})});function ja(){return e.jsxs("div",{className:"flex h-full flex-col space-y-4 p-6",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(F,{className:"h-8 w-3/4"}),e.jsx(F,{className:"h-4 w-1/2"})]}),e.jsx("div",{className:"flex-1 space-y-4",children:[1,2,3].map(s=>e.jsx(F,{className:"h-20 w-2/3"},s))})]})}function ba({ticketId:s,dialogTrigger:a}){const i=he(),t=n.useRef(null),[r,o]=n.useState(!1),[l,h]=n.useState(""),[x,f]=n.useState(!1),{data:m,refetch:d,isLoading:g}=K({queryKey:["ticket",s,r],queryFn:()=>r?Ye(s):Promise.resolve(null),refetchInterval:r?5e3:!1,retry:3}),u=m?.data,R=(c="smooth")=>{if(t.current){const{scrollHeight:S,clientHeight:xe}=t.current;t.current.scrollTo({top:S-xe,behavior:c})}};n.useEffect(()=>{if(!r)return;const c=requestAnimationFrame(()=>{R("instant"),setTimeout(()=>R(),1e3)});return()=>{cancelAnimationFrame(c)}},[r,u?.messages]);const E=async()=>{const c=l.trim();if(!(!c||x)){f(!0);try{await ea({id:s,message:c}),h(""),await d(),R()}catch(S){C.error(S instanceof Error?S.message:"回复失败")}finally{f(!1)}}},ue=async()=>{try{await U(s),C.success("工单已关闭"),await d()}catch(c){C.error(c instanceof Error?c.message:"关闭工单失败")}},me=()=>{u?.user&&i("/finance/order?user_id="+u.user.id)},y=u?.status===w.CLOSED;return e.jsxs(ze,{open:r,onOpenChange:o,children:[e.jsx(Oe,{asChild:!0,children:a??e.jsx(p,{variant:"outline",children:"查看工单"})}),e.jsxs(Ke,{className:"flex h-[90vh] max-w-4xl flex-col gap-0 p-0",children:[e.jsx(Ue,{}),g?e.jsx(ja,{}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"flex flex-col space-y-4 border-b p-6",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx("h2",{className:"text-2xl font-semibold",children:u?.subject}),e.jsx(b,{variant:y?"secondary":"default",children:y?"已关闭":"处理中"}),!y&&e.jsx(q,{title:"确认关闭工单",description:"关闭后将无法继续回复,是否确认关闭该工单?",confirmText:"关闭工单",variant:"destructive",onConfirm:ue,children:e.jsxs(p,{variant:"ghost",size:"sm",className:"gap-1 text-muted-foreground hover:text-destructive",children:[e.jsx(ce,{className:"h-4 w-4"}),"关闭工单"]})})]}),e.jsxs("div",{className:"flex items-center space-x-4 text-sm text-muted-foreground",children:[e.jsxs("div",{className:"flex items-center space-x-1",children:[e.jsx(B,{className:"h-4 w-4"}),e.jsx("span",{children:u?.user?.email})]}),e.jsx(L,{orientation:"vertical",className:"h-4"}),e.jsxs("div",{className:"flex items-center space-x-1",children:[e.jsx(de,{className:"h-4 w-4"}),e.jsxs("span",{children:["创建于 ",M(u?.created_at)]})]}),e.jsx(L,{orientation:"vertical",className:"h-4"}),e.jsx(b,{variant:"outline",children:u?.level!=null&&T[u.level]})]})]}),u?.user&&e.jsxs("div",{className:"flex space-x-2",children:[e.jsx(Je,{defaultValues:u.user,refetch:d,dialogTrigger:e.jsx(p,{variant:"outline",size:"icon",className:"h-8 w-8",title:"用户信息",children:e.jsx(B,{className:"h-4 w-4"})})}),e.jsx(Xe,{user_id:u.user.id,dialogTrigger:e.jsx(p,{variant:"outline",size:"icon",className:"h-8 w-8",title:"流量记录",children:e.jsx(pa,{className:"h-4 w-4"})})}),e.jsx(p,{variant:"outline",size:"icon",className:"h-8 w-8",title:"订单记录",onClick:me,children:e.jsx(va,{className:"h-4 w-4"})})]})]})}),e.jsx("div",{className:"flex-1 overflow-hidden",children:e.jsx("div",{ref:t,className:"h-full space-y-4 overflow-y-auto p-6",children:u?.messages?.length===0?e.jsx("div",{className:"flex h-full items-center justify-center text-muted-foreground",children:"暂无消息记录"}):u?.messages?.map(c=>e.jsx(le,{variant:c.is_me?"sent":"received",className:c.is_me?"ml-auto":"mr-auto",children:e.jsx(ne,{children:e.jsxs("div",{className:"space-y-1",children:[e.jsx("div",{className:"whitespace-pre-wrap break-words",children:c.message}),e.jsx("div",{className:"text-right",children:e.jsx("time",{className:"text-[10px] text-muted-foreground",children:M(c.created_at)})})]})})},c.id))})}),e.jsx("div",{className:"border-t p-4",children:e.jsxs("div",{className:"relative flex items-center space-x-2",children:[e.jsx(oe,{disabled:y||x,placeholder:y?"工单已关闭":"请输入回复内容...",className:"flex-1 resize-none rounded-lg border bg-background p-3 focus-visible:ring-1",value:l,onChange:c=>h(c.target.value),onKeyDown:c=>{c.key==="Enter"&&!c.shiftKey&&(c.preventDefault(),E())}}),e.jsx(p,{disabled:y||x||!l.trim(),onClick:E,children:x?"发送中...":"发送"})]})})]})]})]})}const ya=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M19 4H5a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3m-.41 2l-5.88 5.88a1 1 0 0 1-1.42 0L5.41 6ZM20 17a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7.41l5.88 5.88a3 3 0 0 0 4.24 0L20 7.41Z"})}),Na=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M21.92 11.6C19.9 6.91 16.1 4 12 4s-7.9 2.91-9.92 7.6a1 1 0 0 0 0 .8C4.1 17.09 7.9 20 12 20s7.9-2.91 9.92-7.6a1 1 0 0 0 0-.8M12 18c-3.17 0-6.17-2.29-7.9-6C5.83 8.29 8.83 6 12 6s6.17 2.29 7.9 6c-1.73 3.71-4.73 6-7.9 6m0-10a4 4 0 1 0 4 4a4 4 0 0 0-4-4m0 6a2 2 0 1 1 2-2a2 2 0 0 1-2 2"})}),wa=s=>[{accessorKey:"id",header:({column:a})=>e.jsx(N,{column:a,title:"工单号"}),cell:({row:a})=>e.jsx(b,{variant:"outline",children:a.getValue("id")}),enableSorting:!1,enableHiding:!1},{accessorKey:"subject",header:({column:a})=>e.jsx(N,{column:a,title:"主题"}),cell:({row:a})=>e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(ya,{className:"h-4 w-4 text-muted-foreground"}),e.jsx("span",{className:"max-w-[500px] truncate font-medium",children:a.getValue("subject")})]}),enableSorting:!1,enableHiding:!1,size:4e3},{accessorKey:"level",header:({column:a})=>e.jsx(N,{column:a,title:"优先级"}),cell:({row:a})=>{const i=a.getValue("level"),t=i===j.LOW?"default":i===j.MEDIUM?"secondary":"destructive";return e.jsx(b,{variant:t,className:"whitespace-nowrap",children:T[i]})},filterFn:(a,i,t)=>t.includes(a.getValue(i))},{accessorKey:"status",header:({column:a})=>e.jsx(N,{column:a,title:"状态"}),cell:({row:a})=>{const i=a.getValue("status"),t=a.original.reply_status,r=i===w.CLOSED?We[w.CLOSED]:t===0?"已回复":"待回复",o=i===w.CLOSED?"default":t===0?"secondary":"destructive";return e.jsx(b,{variant:o,className:"whitespace-nowrap",children:r})}},{accessorKey:"updated_at",header:({column:a})=>e.jsx(N,{column:a,title:"最后更新"}),cell:({row:a})=>e.jsxs("div",{className:"flex items-center space-x-2 text-muted-foreground",children:[e.jsx(de,{className:"h-4 w-4"}),e.jsx("span",{className:"text-sm",children:M(a.getValue("updated_at"))})]}),enableSorting:!0},{accessorKey:"created_at",header:({column:a})=>e.jsx(N,{column:a,title:"创建时间"}),cell:({row:a})=>e.jsx("div",{className:"text-sm text-muted-foreground",children:M(a.getValue("created_at"))}),enableSorting:!0,meta:{isFlexGrow:!0}},{id:"actions",header:()=>e.jsx("div",{className:"text-right",children:"操作"}),cell:({row:a})=>{const i=a.original.status!==w.CLOSED;return e.jsxs("div",{className:"flex items-center justify-end",children:[e.jsx(ba,{ticketId:a.original.id,dialogTrigger:e.jsx(p,{variant:"ghost",size:"icon",className:"h-8 w-8",title:"查看详情",children:e.jsx(Na,{className:"h-4 w-4"})})}),i&&e.jsx(q,{title:"确认关闭工单",description:"关闭后将无法继续回复,是否确认关闭该工单?",confirmText:"关闭工单",variant:"destructive",onConfirm:async()=>{try{await U(a.original.id),C.success("工单已关闭"),s()}catch{C.error("关闭工单失败")}},children:e.jsx(p,{variant:"ghost",size:"icon",className:"h-8 w-8",title:"关闭工单",children:e.jsx(ce,{className:"h-4 w-4"})})})]})}}];function Ca(){const[s,a]=n.useState({}),[i,t]=n.useState({}),[r,o]=n.useState([{id:"status",value:"0"}]),[l,h]=n.useState([]),[x,f]=n.useState({pageIndex:0,pageSize:10}),{refetch:m,data:d,isLoading:g}=K({queryKey:["orderList",x,r,l],queryFn:()=>aa({pageSize:x.pageSize,current:x.pageIndex+1,filter:r,sort:l})}),u=Re({data:d?.data??[],columns:wa(m),state:{sorting:l,columnVisibility:i,rowSelection:s,columnFilters:r,pagination:x},rowCount:d?.total??0,manualPagination:!0,manualFiltering:!0,manualSorting:!0,enableRowSelection:!0,onRowSelectionChange:a,onSortingChange:h,onColumnFiltersChange:o,onColumnVisibilityChange:t,getCoreRowModel:Ve(),getFilteredRowModel:Fe(),getPaginationRowModel:Le(),onPaginationChange:f,getSortedRowModel:De(),getFacetedRowModel:Ie(),getFacetedUniqueValues:_e(),initialState:{columnPinning:{right:["actions"]}}});return e.jsxs("div",{className:"space-y-4",children:[e.jsx(ma,{table:u,refetch:m}),e.jsx(Ee,{table:u,showPagination:!0})]})}function is(){return e.jsxs(Se,{children:[e.jsxs(Me,{children:[e.jsx(be,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(ye,{}),e.jsx(Ne,{})]})]}),e.jsxs(ke,{className:"flex flex-col",fixedHeight:!0,children:[e.jsx("div",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:" 工单管理"}),e.jsx("p",{className:"text-muted-foreground",children:"在这里可以查看用户工单,包括查看、回复、关闭等操作。"})]})}),e.jsx("div",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx(Ca,{})})]})]})}export{is as default}; diff --git a/public/assets/admin/assets/index-CcyXqhZ9.js b/public/assets/admin/assets/index-CcyXqhZ9.js deleted file mode 100644 index f2e6cbe01..000000000 --- a/public/assets/admin/assets/index-CcyXqhZ9.js +++ /dev/null @@ -1,41 +0,0 @@ -import{r as o,$ as Oe,v as j,j as H,N as Ae}from"./index-_xd8OyP8.js";import{a as X,d as _,b as ee}from"./index-BwSRHYe4.js";import{P as K,d as Re}from"./index-CX6PQ3zO.js";var Te=globalThis?.document?o.useLayoutEffect:()=>{},Le=Oe.useId||(()=>{}),Me=0;function qt(e){const[t,n]=o.useState(Le());return Te(()=>{n(r=>r??String(Me++))},[e]),t?`radix-${t}`:""}function De(e){const t=o.useRef(e);return o.useEffect(()=>{t.current=e}),o.useMemo(()=>(...n)=>t.current?.(...n),[])}function ke(e,t=globalThis?.document){const n=De(e);o.useEffect(()=>{const r=a=>{a.key==="Escape"&&n(a)};return t.addEventListener("keydown",r,{capture:!0}),()=>t.removeEventListener("keydown",r,{capture:!0})},[n,t])}var Ie="DismissableLayer",te="dismissableLayer.update",Fe="dismissableLayer.pointerDownOutside",xe="dismissableLayer.focusOutside",re,he=o.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),We=o.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:a,onFocusOutside:c,onInteractOutside:l,onDismiss:i,...p}=e,u=o.useContext(he),[d,v]=o.useState(null),m=d?.ownerDocument??globalThis?.document,[,h]=o.useState({}),C=j(t,E=>v(E)),s=Array.from(u.layers),[f]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),y=s.indexOf(f),w=d?s.indexOf(d):-1,g=u.layersWithOutsidePointerEventsDisabled.size>0,b=w>=y,S=_e(E=>{const O=E.target,D=[...u.branches].some(V=>V.contains(O));!b||D||(a?.(E),l?.(E),E.defaultPrevented||i?.())},m),N=je(E=>{const O=E.target;[...u.branches].some(V=>V.contains(O))||(c?.(E),l?.(E),E.defaultPrevented||i?.())},m);return ke(E=>{w===u.layers.size-1&&(r?.(E),!E.defaultPrevented&&i&&(E.preventDefault(),i()))},m),o.useEffect(()=>{if(d)return n&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(re=m.body.style.pointerEvents,m.body.style.pointerEvents="none"),u.layersWithOutsidePointerEventsDisabled.add(d)),u.layers.add(d),ae(),()=>{n&&u.layersWithOutsidePointerEventsDisabled.size===1&&(m.body.style.pointerEvents=re)}},[d,m,n,u]),o.useEffect(()=>()=>{d&&(u.layers.delete(d),u.layersWithOutsidePointerEventsDisabled.delete(d),ae())},[d,u]),o.useEffect(()=>{const E=()=>h({});return document.addEventListener(te,E),()=>document.removeEventListener(te,E)},[]),H.jsx(K.div,{...p,ref:C,style:{pointerEvents:g?b?"auto":"none":void 0,...e.style},onFocusCapture:X(e.onFocusCapture,N.onFocusCapture),onBlurCapture:X(e.onBlurCapture,N.onBlurCapture),onPointerDownCapture:X(e.onPointerDownCapture,S.onPointerDownCapture)})});We.displayName=Ie;var Be="DismissableLayerBranch",Ue=o.forwardRef((e,t)=>{const n=o.useContext(he),r=o.useRef(null),a=j(t,r);return o.useEffect(()=>{const c=r.current;if(c)return n.branches.add(c),()=>{n.branches.delete(c)}},[n.branches]),H.jsx(K.div,{...e,ref:a})});Ue.displayName=Be;function _e(e,t=globalThis?.document){const n=_(e),r=o.useRef(!1),a=o.useRef(()=>{});return o.useEffect(()=>{const c=i=>{if(i.target&&!r.current){let p=function(){pe(Fe,n,u,{discrete:!0})};const u={originalEvent:i};i.pointerType==="touch"?(t.removeEventListener("click",a.current),a.current=p,t.addEventListener("click",a.current,{once:!0})):p()}else t.removeEventListener("click",a.current);r.current=!1},l=window.setTimeout(()=>{t.addEventListener("pointerdown",c)},0);return()=>{window.clearTimeout(l),t.removeEventListener("pointerdown",c),t.removeEventListener("click",a.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function je(e,t=globalThis?.document){const n=_(e),r=o.useRef(!1);return o.useEffect(()=>{const a=c=>{c.target&&!r.current&&pe(xe,n,{originalEvent:c},{discrete:!1})};return t.addEventListener("focusin",a),()=>t.removeEventListener("focusin",a)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function ae(){const e=new CustomEvent(te);document.dispatchEvent(e)}function pe(e,t,n,{discrete:r}){const a=n.originalEvent.target,c=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&a.addEventListener(e,t,{once:!0}),r?Re(a,c):a.dispatchEvent(c)}var Y="focusScope.autoFocusOnMount",z="focusScope.autoFocusOnUnmount",oe={bubbles:!1,cancelable:!0},He="FocusScope",Ke=o.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:a,onUnmountAutoFocus:c,...l}=e,[i,p]=o.useState(null),u=_(a),d=_(c),v=o.useRef(null),m=j(t,s=>p(s)),h=o.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;o.useEffect(()=>{if(r){let s=function(g){if(h.paused||!i)return;const b=g.target;i.contains(b)?v.current=b:A(v.current,{select:!0})},f=function(g){if(h.paused||!i)return;const b=g.relatedTarget;b!==null&&(i.contains(b)||A(v.current,{select:!0}))},y=function(g){if(document.activeElement===document.body)for(const S of g)S.removedNodes.length>0&&A(i)};document.addEventListener("focusin",s),document.addEventListener("focusout",f);const w=new MutationObserver(y);return i&&w.observe(i,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",s),document.removeEventListener("focusout",f),w.disconnect()}}},[r,i,h.paused]),o.useEffect(()=>{if(i){ce.add(h);const s=document.activeElement;if(!i.contains(s)){const y=new CustomEvent(Y,oe);i.addEventListener(Y,u),i.dispatchEvent(y),y.defaultPrevented||($e(Ge(ye(i)),{select:!0}),document.activeElement===s&&A(i))}return()=>{i.removeEventListener(Y,u),setTimeout(()=>{const y=new CustomEvent(z,oe);i.addEventListener(z,d),i.dispatchEvent(y),y.defaultPrevented||A(s??document.body,{select:!0}),i.removeEventListener(z,d),ce.remove(h)},0)}}},[i,u,d,h]);const C=o.useCallback(s=>{if(!n&&!r||h.paused)return;const f=s.key==="Tab"&&!s.altKey&&!s.ctrlKey&&!s.metaKey,y=document.activeElement;if(f&&y){const w=s.currentTarget,[g,b]=Ve(w);g&&b?!s.shiftKey&&y===b?(s.preventDefault(),n&&A(g,{select:!0})):s.shiftKey&&y===g&&(s.preventDefault(),n&&A(b,{select:!0})):y===w&&s.preventDefault()}},[n,r,h.paused]);return H.jsx(K.div,{tabIndex:-1,...l,ref:m,onKeyDown:C})});Ke.displayName=He;function $e(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(A(r,{select:t}),document.activeElement!==n)return}function Ve(e){const t=ye(e),n=ie(t,e),r=ie(t.reverse(),e);return[n,r]}function ye(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const a=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||a?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function ie(e,t){for(const n of e)if(!Xe(n,{upTo:t}))return n}function Xe(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function Ye(e){return e instanceof HTMLInputElement&&"select"in e}function A(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&Ye(e)&&t&&e.select()}}var ce=ze();function ze(){let e=[];return{add(t){const n=e[0];t!==n&&n?.pause(),e=se(e,t),e.unshift(t)},remove(t){e=se(e,t),e[0]?.resume()}}}function se(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function Ge(e){return e.filter(t=>t.tagName!=="A")}var Ze="Portal",qe=o.forwardRef((e,t)=>{const{container:n,...r}=e,[a,c]=o.useState(!1);ee(()=>c(!0),[]);const l=n||a&&globalThis?.document?.body;return l?Ae.createPortal(H.jsx(K.div,{...r,ref:t}),l):null});qe.displayName=Ze;function Qe(e,t){return o.useReducer((n,r)=>t[n][r]??n,e)}var Je=e=>{const{present:t,children:n}=e,r=et(t),a=typeof n=="function"?n({present:r.isPresent}):o.Children.only(n),c=j(r.ref,tt(a));return typeof n=="function"||r.isPresent?o.cloneElement(a,{ref:c}):null};Je.displayName="Presence";function et(e){const[t,n]=o.useState(),r=o.useRef({}),a=o.useRef(e),c=o.useRef("none"),l=e?"mounted":"unmounted",[i,p]=Qe(l,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return o.useEffect(()=>{const u=k(r.current);c.current=i==="mounted"?u:"none"},[i]),ee(()=>{const u=r.current,d=a.current;if(d!==e){const m=c.current,h=k(u);e?p("MOUNT"):h==="none"||u?.display==="none"?p("UNMOUNT"):p(d&&m!==h?"ANIMATION_OUT":"UNMOUNT"),a.current=e}},[e,p]),ee(()=>{if(t){let u;const d=t.ownerDocument.defaultView??window,v=h=>{const s=k(r.current).includes(h.animationName);if(h.target===t&&s&&(p("ANIMATION_END"),!a.current)){const f=t.style.animationFillMode;t.style.animationFillMode="forwards",u=d.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=f)})}},m=h=>{h.target===t&&(c.current=k(r.current))};return t.addEventListener("animationstart",m),t.addEventListener("animationcancel",v),t.addEventListener("animationend",v),()=>{d.clearTimeout(u),t.removeEventListener("animationstart",m),t.removeEventListener("animationcancel",v),t.removeEventListener("animationend",v)}}else p("ANIMATION_END")},[t,p]),{isPresent:["mounted","unmountSuspended"].includes(i),ref:o.useCallback(u=>{u&&(r.current=getComputedStyle(u)),n(u)},[])}}function k(e){return e?.animationName||"none"}function tt(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var G=0;function Qt(){o.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??ue()),document.body.insertAdjacentElement("beforeend",e[1]??ue()),G++,()=>{G===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),G--}},[])}function ue(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var P=function(){return P=Object.assign||function(t){for(var n,r=1,a=arguments.length;r"u")return Et;var t=gt(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},St=yt(),M="data-scroll-locked",wt=function(e,t,n,r){var a=e.left,c=e.top,l=e.right,i=e.gap;return n===void 0&&(n="margin"),` - .`.concat(rt,` { - overflow: hidden `).concat(r,`; - padding-right: `).concat(i,"px ").concat(r,`; - } - body[`).concat(M,`] { - overflow: hidden `).concat(r,`; - overscroll-behavior: contain; - `).concat([t&&"position: relative ".concat(r,";"),n==="margin"&&` - padding-left: `.concat(a,`px; - padding-top: `).concat(c,`px; - padding-right: `).concat(l,`px; - margin-left:0; - margin-top:0; - margin-right: `).concat(i,"px ").concat(r,`; - `),n==="padding"&&"padding-right: ".concat(i,"px ").concat(r,";")].filter(Boolean).join(""),` - } - - .`).concat(B,` { - right: `).concat(i,"px ").concat(r,`; - } - - .`).concat(U,` { - margin-right: `).concat(i,"px ").concat(r,`; - } - - .`).concat(B," .").concat(B,` { - right: 0 `).concat(r,`; - } - - .`).concat(U," .").concat(U,` { - margin-right: 0 `).concat(r,`; - } - - body[`).concat(M,`] { - `).concat(at,": ").concat(i,`px; - } -`)},de=function(){var e=parseInt(document.body.getAttribute(M)||"0",10);return isFinite(e)?e:0},Ct=function(){o.useEffect(function(){return document.body.setAttribute(M,(de()+1).toString()),function(){var e=de()-1;e<=0?document.body.removeAttribute(M):document.body.setAttribute(M,e.toString())}},[])},Pt=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,a=r===void 0?"margin":r;Ct();var c=o.useMemo(function(){return bt(a)},[a]);return o.createElement(St,{styles:wt(c,!t,a,n?"":"!important")})};function Nt(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=Se();return t&&e.setAttribute("nonce",t),e}function Ot(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function At(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var Rt=function(){var e=0,t=null;return{add:function(n){e==0&&(t=Nt())&&(Ot(t,n),At(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Tt=function(){var e=Rt();return function(t,n){o.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},Lt=function(){var e=Tt(),t=function(n){var r=n.styles,a=n.dynamic;return e(r,a),null};return t},ne=!1;if(typeof window<"u")try{var I=Object.defineProperty({},"passive",{get:function(){return ne=!0,!0}});window.addEventListener("test",I,I),window.removeEventListener("test",I,I)}catch{ne=!1}var R=ne?{passive:!1}:!1,Mt=function(e){return e.tagName==="TEXTAREA"},we=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!Mt(e)&&n[t]==="visible")},Dt=function(e){return we(e,"overflowY")},kt=function(e){return we(e,"overflowX")},fe=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var a=Ce(e,r);if(a){var c=Pe(e,r),l=c[1],i=c[2];if(l>i)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},It=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},Ft=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},Ce=function(e,t){return e==="v"?Dt(t):kt(t)},Pe=function(e,t){return e==="v"?It(t):Ft(t)},xt=function(e,t){return e==="h"&&t==="rtl"?-1:1},Wt=function(e,t,n,r,a){var c=xt(e,window.getComputedStyle(t).direction),l=c*r,i=n.target,p=t.contains(i),u=!1,d=l>0,v=0,m=0;do{var h=Pe(e,i),C=h[0],s=h[1],f=h[2],y=s-f-c*C;(C||y)&&Ce(e,i)&&(v+=y,m+=C),i instanceof ShadowRoot?i=i.host:i=i.parentNode}while(!p&&i!==document.body||p&&(t.contains(i)||t===i));return(d&&(Math.abs(v)<1||!a)||!d&&(Math.abs(m)<1||!a))&&(u=!0),u},F=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},ve=function(e){return[e.deltaX,e.deltaY]},me=function(e){return e&&"current"in e?e.current:e},Bt=function(e,t){return e[0]===t[0]&&e[1]===t[1]},Ut=function(e){return` - .block-interactivity-`.concat(e,` {pointer-events: none;} - .allow-interactivity-`).concat(e,` {pointer-events: all;} -`)},_t=0,T=[];function jt(e){var t=o.useRef([]),n=o.useRef([0,0]),r=o.useRef(),a=o.useState(_t++)[0],c=o.useState(Lt)[0],l=o.useRef(e);o.useEffect(function(){l.current=e},[e]),o.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(a));var s=nt([e.lockRef.current],(e.shards||[]).map(me),!0).filter(Boolean);return s.forEach(function(f){return f.classList.add("allow-interactivity-".concat(a))}),function(){document.body.classList.remove("block-interactivity-".concat(a)),s.forEach(function(f){return f.classList.remove("allow-interactivity-".concat(a))})}}},[e.inert,e.lockRef.current,e.shards]);var i=o.useCallback(function(s,f){if("touches"in s&&s.touches.length===2||s.type==="wheel"&&s.ctrlKey)return!l.current.allowPinchZoom;var y=F(s),w=n.current,g="deltaX"in s?s.deltaX:w[0]-y[0],b="deltaY"in s?s.deltaY:w[1]-y[1],S,N=s.target,E=Math.abs(g)>Math.abs(b)?"h":"v";if("touches"in s&&E==="h"&&N.type==="range")return!1;var O=fe(E,N);if(!O)return!0;if(O?S=E:(S=E==="v"?"h":"v",O=fe(E,N)),!O)return!1;if(!r.current&&"changedTouches"in s&&(g||b)&&(r.current=S),!S)return!0;var D=r.current||S;return Wt(D,f,s,D==="h"?g:b,!0)},[]),p=o.useCallback(function(s){var f=s;if(!(!T.length||T[T.length-1]!==c)){var y="deltaY"in f?ve(f):F(f),w=t.current.filter(function(S){return S.name===f.type&&(S.target===f.target||f.target===S.shadowParent)&&Bt(S.delta,y)})[0];if(w&&w.should){f.cancelable&&f.preventDefault();return}if(!w){var g=(l.current.shards||[]).map(me).filter(Boolean).filter(function(S){return S.contains(f.target)}),b=g.length>0?i(f,g[0]):!l.current.noIsolation;b&&f.cancelable&&f.preventDefault()}}},[]),u=o.useCallback(function(s,f,y,w){var g={name:s,delta:f,target:y,should:w,shadowParent:Ht(y)};t.current.push(g),setTimeout(function(){t.current=t.current.filter(function(b){return b!==g})},1)},[]),d=o.useCallback(function(s){n.current=F(s),r.current=void 0},[]),v=o.useCallback(function(s){u(s.type,ve(s),s.target,i(s,e.lockRef.current))},[]),m=o.useCallback(function(s){u(s.type,F(s),s.target,i(s,e.lockRef.current))},[]);o.useEffect(function(){return T.push(c),e.setCallbacks({onScrollCapture:v,onWheelCapture:v,onTouchMoveCapture:m}),document.addEventListener("wheel",p,R),document.addEventListener("touchmove",p,R),document.addEventListener("touchstart",d,R),function(){T=T.filter(function(s){return s!==c}),document.removeEventListener("wheel",p,R),document.removeEventListener("touchmove",p,R),document.removeEventListener("touchstart",d,R)}},[]);var h=e.removeScrollBar,C=e.inert;return o.createElement(o.Fragment,null,C?o.createElement(c,{styles:Ut(a)}):null,h?o.createElement(Pt,{gapMode:e.gapMode}):null)}function Ht(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const Kt=dt(be,jt);var $t=o.forwardRef(function(e,t){return o.createElement($,P({},e,{ref:t,sideCar:Kt}))});$t.classNames=$.classNames;var Vt=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},L=new WeakMap,x=new WeakMap,W={},J=0,Ne=function(e){return e&&(e.host||Ne(e.parentNode))},Xt=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=Ne(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},Yt=function(e,t,n,r){var a=Xt(t,Array.isArray(e)?e:[e]);W[n]||(W[n]=new WeakMap);var c=W[n],l=[],i=new Set,p=new Set(a),u=function(v){!v||i.has(v)||(i.add(v),u(v.parentNode))};a.forEach(u);var d=function(v){!v||p.has(v)||Array.prototype.forEach.call(v.children,function(m){if(i.has(m))d(m);else try{var h=m.getAttribute(r),C=h!==null&&h!=="false",s=(L.get(m)||0)+1,f=(c.get(m)||0)+1;L.set(m,s),c.set(m,f),l.push(m),s===1&&C&&x.set(m,!0),f===1&&m.setAttribute(n,"true"),C||m.setAttribute(r,"true")}catch(y){console.error("aria-hidden: cannot operate on ",m,y)}})};return d(t),i.clear(),J++,function(){l.forEach(function(v){var m=L.get(v)-1,h=c.get(v)-1;L.set(v,m),c.set(v,h),m||(x.has(v)||v.removeAttribute(r),x.delete(v)),h||v.removeAttribute(n)}),J--,J||(L=new WeakMap,L=new WeakMap,x=new WeakMap,W={})}},Jt=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),a=Vt(e);return a?(r.push.apply(r,Array.from(a.querySelectorAll("[aria-live]"))),Yt(r,a,n,"aria-hidden")):function(){return null}};export{We as D,Ke as F,Je as P,$t as R,Ee as _,Qt as a,qe as b,lt as c,P as d,nt as e,dt as f,Jt as h,Lt as s,qt as u}; diff --git a/public/assets/admin/assets/index-Ch72jsGA.js b/public/assets/admin/assets/index-Ch72jsGA.js deleted file mode 100644 index 9bafb14ee..000000000 --- a/public/assets/admin/assets/index-Ch72jsGA.js +++ /dev/null @@ -1 +0,0 @@ -import{j as e,a as j,B as n,t as v,r as i}from"./index-_xd8OyP8.js";import{S as N,T as w,U as y}from"./user-nav-BBmBVa03.js";import{L as S,f as b,g as C}from"./sidelinks-DLs_k-Mk.js";import{D as r,B as F,u as R,a as T,g as V,b as M,c as D,d as L,e as P,f as k}from"./column-header-BLyyjrhJ.js";import{a as B,P as I}from"./react-icons.esm-rZq2pt7A.js";import{I as K}from"./input-d0vtE30O.js";import{S as m}from"./server-group-form-JiCHpkCJ.js";import{P as U,H as q}from"./index-BycJudEO.js";import{u as G}from"./useQuery-mr7Ep0hT.js";import{C as H}from"./confirm-dialog-CHz9pK2w.js";import{u as _}from"./user-CIJd3wDa.js";import{S as z}from"./server-Igd-p88k.js";import{T as E}from"./trash-2-lI1I6nfk.js";import"./index-CcyXqhZ9.js";import"./index-BwSRHYe4.js";import"./index-CX6PQ3zO.js";import"./button-DhrtVlOa.js";import"./index-BlMNiBlp.js";import"./IconTicket-COhvkaJH.js";import"./select-Cqkdx-UJ.js";import"./index-CRh0M8qI.js";import"./index-kwEAqj-e.js";import"./tooltip-B58e4dA7.js";import"./arrow-up-9fLptvj0.js";import"./form-DIzSOdtk.js";import"./zod-x_8lkCGK.js";import"./iconify-Dsf6bxB2.js";import"./loader-circle-BgRqqHyr.js";import"./clipboard-YH5zrf5X.js";function Q({table:t,refetch:s}){const a=t.getState().columnFilters.length>0;return e.jsxs("div",{className:"flex items-center justify-between space-x-4",children:[e.jsxs("div",{className:"flex flex-1 items-center space-x-4",children:[e.jsx(K,{placeholder:"搜索权限组...",value:t.getColumn("name")?.getFilterValue()??"",onChange:o=>t.getColumn("name")?.setFilterValue(o.target.value),className:j("h-9 w-[150px] lg:w-[250px]",a&&"border-primary/50 ring-primary/20")}),a&&e.jsxs(n,{variant:"ghost",onClick:()=>t.resetColumnFilters(),className:"h-8 px-2 lg:px-3",children:["重置",e.jsx(B,{className:"ml-2 h-4 w-4"})]})]}),e.jsx("div",{className:"flex items-center space-x-2",children:e.jsx(m,{refetch:s})})]})}const $=t=>[{accessorKey:"id",header:({column:s})=>e.jsx(r,{column:s,title:"组ID"}),cell:({row:s})=>e.jsx("div",{className:"flex items-center space-x-2",children:e.jsx(F,{variant:"outline",children:s.getValue("id")})}),enableSorting:!0},{accessorKey:"name",header:({column:s})=>e.jsx(r,{column:s,title:"组名称"}),cell:({row:s})=>e.jsx("div",{className:"flex space-x-2",children:e.jsx("span",{className:"max-w-32 truncate font-medium",children:s.getValue("name")})})},{accessorKey:"users_count",header:({column:s})=>e.jsx(r,{column:s,title:"用户数量"}),cell:({row:s})=>e.jsxs("div",{className:"flex items-center space-x-2 px-4",children:[e.jsx(_,{className:"h-4 w-4"}),e.jsx("span",{className:"font-medium",children:s.getValue("users_count")})]}),enableSorting:!0},{accessorKey:"server_count",header:({column:s})=>e.jsx(r,{column:s,title:"节点数量"}),cell:({row:s})=>e.jsxs("div",{className:"flex items-center space-x-2 px-4",children:[e.jsx(z,{className:"h-4 w-4"}),e.jsx("span",{className:"font-medium",children:s.getValue("server_count")})]}),enableSorting:!0,size:8e3},{id:"actions",header:({column:s})=>e.jsx(r,{className:"justify-end",column:s,title:"操作"}),cell:({row:s})=>e.jsxs("div",{className:"flex items-center justify-end",children:[e.jsx(m,{defaultValues:s.original,refetch:t,type:"edit",dialogTrigger:e.jsxs(n,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-muted",children:[e.jsx(I,{className:"h-4 w-4 text-muted-foreground hover:text-foreground"}),e.jsx("span",{className:"sr-only",children:"编辑"})]})}),e.jsx(H,{title:"确认删除",description:"此操作将永久删除该权限组,删除后无法恢复。确定要继续吗?",confirmText:"删除",variant:"destructive",onConfirm:async()=>{U({id:s.original.id}).then(({data:a})=>{a&&(v.success("删除成功"),t())})},children:e.jsxs(n,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-red-100 dark:hover:bg-red-900",children:[e.jsx(E,{className:"h-4 w-4 text-muted-foreground hover:text-red-600 dark:hover:text-red-400"}),e.jsx("span",{className:"sr-only",children:"删除"})]})})]})}];function A(){const[t,s]=i.useState({}),[a,o]=i.useState({}),[d,u]=i.useState([]),[x,g]=i.useState([]),{data:p,refetch:c,isLoading:h}=G({queryKey:["serverGroupList"],queryFn:async()=>{const{data:l}=await q();return l}}),f=R({data:p||[],columns:$(c),state:{sorting:x,columnVisibility:a,rowSelection:t,columnFilters:d},enableRowSelection:!0,onRowSelectionChange:s,onSortingChange:g,onColumnFiltersChange:u,onColumnVisibilityChange:o,getCoreRowModel:V(),getFilteredRowModel:M(),getPaginationRowModel:D(),getSortedRowModel:L(),getFacetedRowModel:P(),getFacetedUniqueValues:k(),initialState:{columnPinning:{right:["actions"]}}});return e.jsx(T,{table:f,toolbar:l=>e.jsx(Q,{table:l,refetch:c}),isLoading:h})}function Se(){return e.jsxs(S,{children:[e.jsxs(b,{children:[e.jsx(N,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(w,{}),e.jsx(y,{})]})]}),e.jsxs(C,{className:"flex flex-col",fixedHeight:!0,children:[e.jsx("div",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:"权限组管理"}),e.jsx("p",{className:"mt-2 text-muted-foreground",children:"管理所有权限组,包括添加、删除、编辑等操作。"})]})}),e.jsx("div",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx(A,{})})]})]})}export{Se as default}; diff --git a/public/assets/admin/assets/index-Cs3Zo7LL.js b/public/assets/admin/assets/index-Cs3Zo7LL.js deleted file mode 100644 index 08043fdd3..000000000 --- a/public/assets/admin/assets/index-Cs3Zo7LL.js +++ /dev/null @@ -1,14 +0,0 @@ -import{r as m,j as e,B as x,a as re,t as K}from"./index-_xd8OyP8.js";import{S as ae,T as te,U as ne}from"./user-nav-BBmBVa03.js";import{L as le,f as ie,g as oe}from"./sidelinks-DLs_k-Mk.js";import{D as v,B as q,u as ce,a as de,g as me,b as ue,c as xe,d as he,e as ge,f as pe}from"./column-header-BLyyjrhJ.js";import{a as je,D as fe,P as be}from"./react-icons.esm-rZq2pt7A.js";import{I as b}from"./input-d0vtE30O.js";import{S as ve,H as ye,T as R,U as Ne,V as we,W as Se}from"./index-BycJudEO.js";import{D as Ce,e as Te,a as _e,b as De,c as Fe,d as ke,f as Me,g as Ve}from"./button-DhrtVlOa.js";import{u as Oe,F as Re,a as h,b as g,c as p,d as j,e as y,f as G}from"./form-DIzSOdtk.js";import{z as a,t as Ie}from"./zod-x_8lkCGK.js";import{S as $,a as Q,b as W,c as X,d as Y}from"./select-Cqkdx-UJ.js";import{T as I,a as P,b as A,c as L}from"./tooltip-B58e4dA7.js";import{M as Pe,E as Ae}from"./index-hFh1_zyo.js";import{S as Le}from"./server-group-form-JiCHpkCJ.js";import{S as E}from"./switch-w5WyeRwk.js";import{C as Ee}from"./confirm-dialog-CHz9pK2w.js";import{u as ze}from"./user-CIJd3wDa.js";import{T as He}from"./trash-2-lI1I6nfk.js";import{u as Be}from"./useQuery-mr7Ep0hT.js";import"./index-CcyXqhZ9.js";import"./index-BwSRHYe4.js";import"./index-CX6PQ3zO.js";import"./index-BlMNiBlp.js";import"./IconTicket-COhvkaJH.js";import"./arrow-up-9fLptvj0.js";import"./clipboard-YH5zrf5X.js";import"./index-CRh0M8qI.js";import"./index-kwEAqj-e.js";import"./index-DScOlCGV.js";import"./iconify-Dsf6bxB2.js";import"./loader-circle-BgRqqHyr.js";const Ke=a.object({id:a.number().nullable(),group_id:a.union([a.number(),a.string()]).nullable().optional(),name:a.string().min(1).max(250),content:a.string().nullable().optional(),transfer_enable:a.union([a.number().min(0),a.string().min(1)]),prices:a.object({monthly:a.union([a.number(),a.string()]).nullable().optional(),quarterly:a.union([a.number(),a.string()]).nullable().optional(),half_yearly:a.union([a.number(),a.string()]).nullable().optional(),yearly:a.union([a.number(),a.string()]).nullable().optional(),two_yearly:a.union([a.number(),a.string()]).nullable().optional(),three_yearly:a.union([a.number(),a.string()]).nullable().optional(),onetime:a.union([a.number(),a.string()]).nullable().optional(),reset_traffic:a.union([a.number(),a.string()]).nullable().optional()}).default({}),speed_limit:a.union([a.number(),a.string()]).nullable().optional(),capacity_limit:a.union([a.number(),a.string()]).nullable().optional(),device_limit:a.union([a.number(),a.string()]).nullable().optional(),reset_traffic_method:a.number().nullable(),users_count:a.number().optional()}),Ue=1,qe=1e6;let z=0;function Ge(){return z=(z+1)%Number.MAX_SAFE_INTEGER,z.toString()}const H=new Map,J=t=>{if(H.has(t))return;const s=setTimeout(()=>{H.delete(t),M({type:"REMOVE_TOAST",toastId:t})},qe);H.set(t,s)},$e=(t,s)=>{switch(s.type){case"ADD_TOAST":return{...t,toasts:[s.toast,...t.toasts].slice(0,Ue)};case"UPDATE_TOAST":return{...t,toasts:t.toasts.map(i=>i.id===s.toast.id?{...i,...s.toast}:i)};case"DISMISS_TOAST":{const{toastId:i}=s;return i?J(i):t.toasts.forEach(c=>{J(c.id)}),{...t,toasts:t.toasts.map(c=>c.id===i||i===void 0?{...c,open:!1}:c)}}case"REMOVE_TOAST":return s.toastId===void 0?{...t,toasts:[]}:{...t,toasts:t.toasts.filter(i=>i.id!==s.toastId)}}},Qe=[];let B={toasts:[]};function M(t){B=$e(B,t),Qe.forEach(s=>{s(B)})}function Z({...t}){const s=Ge(),i=u=>M({type:"UPDATE_TOAST",toast:{...u,id:s}}),c=()=>M({type:"DISMISS_TOAST",toastId:s});return M({type:"ADD_TOAST",toast:{...t,id:s,open:!0,onOpenChange:u=>{u||c()}}}),{id:s,dismiss:c,update:i}}const ee={id:null,group_id:null,name:"",content:"",transfer_enable:"",prices:{monthly:"",quarterly:"",half_yearly:"",yearly:"",two_yearly:"",three_yearly:"",onetime:"",reset_traffic:""},speed_limit:"",capacity_limit:"",device_limit:"",show:!0,renew:!0,sort:null,reset_traffic_method:null},k={monthly:{label:"月付",months:1,discount:1},quarterly:{label:"季付",months:3,discount:.95},half_yearly:{label:"半年付",months:6,discount:.9},yearly:{label:"年付",months:12,discount:.85},two_yearly:{label:"两年付",months:24,discount:.8},three_yearly:{label:"三年付",months:36,discount:.75},onetime:{label:"流量包",months:1,discount:1},reset_traffic:{label:"重置包",months:1,discount:1}},We=[{value:0,label:"跟随系统设置"},{value:1,label:"每月1号"},{value:2,label:"按月重置"},{value:3,label:"不重置"},{value:4,label:"每年1月1日"},{value:5,label:"按年重置"}];function U({refreshData:t,dialogTrigger:s,type:i="add",defaultFormValues:c=ee}){const[u,N]=m.useState(!1),[T,_]=m.useState(!1),o=Oe({resolver:Ie(Ke),defaultValues:{...ee,...c},mode:"onChange"}),w=new Pe({html:!0}),[C,D]=m.useState();async function S(){ye().then(({data:r})=>{D(r)})}m.useEffect(()=>{u&&S()},[u]);const V=r=>{if(isNaN(r))return;const n=Object.entries(k).reduce((d,[l,f])=>{const F=r*f.months*f.discount;return{...d,[l]:F.toFixed(2)}},{});o.setValue("prices",n,{shouldDirty:!0})};return e.jsxs(Ce,{onOpenChange:N,open:u,children:[e.jsx(Te,{asChild:!0,children:s||e.jsx(x,{variant:"outline",size:"sm",children:"添加套餐"})}),e.jsxs(_e,{className:"sm:max-w-[600px]",children:[e.jsxs(De,{children:[e.jsx(Fe,{children:i==="add"?"添加套餐":"编辑套餐"}),e.jsx(ke,{})]}),e.jsxs(Re,{...o,children:[e.jsxs("div",{className:"space-y-4",children:[e.jsx(h,{control:o.control,name:"name",render:({field:r})=>e.jsxs(g,{children:[e.jsx(p,{children:"套餐名称"}),e.jsx(j,{children:e.jsx(b,{placeholder:"请输入套餐名称",...r})}),e.jsx(y,{})]})}),e.jsx(h,{control:o.control,name:"group_id",render:({field:r})=>e.jsxs(g,{children:[e.jsxs(p,{className:"flex items-center justify-between",children:["权限组",e.jsx(Le,{dialogTrigger:e.jsx(x,{variant:"link",children:"添加权限组"}),refetch:S})]}),e.jsxs($,{value:r.value||"",onValueChange:r.onChange,children:[e.jsx(j,{children:e.jsx(Q,{children:e.jsx(W,{placeholder:"选择权限组"})})}),e.jsx(X,{children:C?.map(n=>e.jsx(Y,{value:n.id,children:n.name},n.id))})]}),e.jsx(y,{})]})}),e.jsx(h,{control:o.control,name:"transfer_enable",render:({field:r})=>e.jsxs(g,{className:"flex-1",children:[e.jsx(p,{children:"流量"}),e.jsxs("div",{className:"relative flex",children:[e.jsx(j,{children:e.jsx(b,{type:"number",min:0,placeholder:"请输入流量大小",className:"rounded-r-none",...r})}),e.jsx("div",{className:"flex items-center rounded-r-md border border-l-0 border-input bg-muted px-3 text-sm text-muted-foreground",children:"GB"})]}),e.jsx(y,{})]})}),e.jsx(h,{control:o.control,name:"speed_limit",render:({field:r})=>e.jsxs(g,{className:"flex-1",children:[e.jsx(p,{children:"限速"}),e.jsxs("div",{className:"relative flex",children:[e.jsx(j,{children:e.jsx(b,{type:"number",min:0,placeholder:"请输入限速",className:"rounded-r-none",...r})}),e.jsx("div",{className:"flex items-center rounded-r-md border border-l-0 border-input bg-muted px-3 text-sm text-muted-foreground",children:"Mbps"})]}),e.jsx(y,{})]})}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex flex-1 items-center",children:[e.jsx("div",{className:"flex-grow border-t border-gray-200 dark:border-gray-700"}),e.jsx("h3",{className:"mx-4 text-sm font-medium text-gray-500 dark:text-gray-400",children:"售价设置"}),e.jsx("div",{className:"flex-grow border-t border-gray-200 dark:border-gray-700"})]}),e.jsxs("div",{className:"ml-4 flex items-center gap-2",children:[e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"pointer-events-none absolute inset-y-0 left-0 flex items-center pl-2",children:e.jsx("span",{className:"text-sm font-medium text-gray-400",children:"¥"})}),e.jsx(b,{type:"number",placeholder:"基础月付价格",className:"h-7 w-32 border-0 bg-gray-50 pl-6 pr-2 text-sm shadow-none ring-1 ring-gray-200 transition-shadow focus-visible:ring-2 focus-visible:ring-primary dark:bg-gray-800/50 dark:ring-gray-700 dark:placeholder:text-gray-500",onChange:r=>{const n=parseFloat(r.target.value);V(n)}})]}),e.jsx(I,{children:e.jsxs(P,{children:[e.jsx(A,{asChild:!0,children:e.jsx(x,{variant:"outline",size:"sm",className:"h-7 text-xs",onClick:()=>{const r=Object.keys(k).reduce((n,d)=>({...n,[d]:""}),{});o.setValue("prices",r,{shouldDirty:!0})},children:"清空价格"})}),e.jsx(L,{side:"top",align:"end",children:e.jsx("p",{className:"text-xs",children:"清空所有周期的价格设置"})})]})})]})]}),e.jsx("div",{className:"grid grid-cols-2 gap-3 lg:grid-cols-3",children:Object.entries(k).filter(([r])=>!["onetime","reset_traffic"].includes(r)).map(([r,n])=>e.jsx("div",{className:"group relative rounded-md bg-card p-2 ring-1 ring-gray-200 transition-all hover:ring-primary dark:ring-gray-800",children:e.jsx(h,{control:o.control,name:`prices.${r}`,render:({field:d})=>e.jsxs(g,{children:[e.jsxs(p,{className:"text-xs font-medium text-muted-foreground",children:[n.label,e.jsxs("span",{className:"ml-1 text-[10px] text-gray-400",children:["(",n.months===1?"每月":`每${n.months}个月`,"结算)"]})]}),e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"pointer-events-none absolute inset-y-0 left-0 flex items-center pl-2",children:e.jsx("span",{className:"text-sm font-medium text-gray-400",children:"¥"})}),e.jsx(j,{children:e.jsx(b,{type:"number",placeholder:"0.00",min:0,...d,value:d.value??"",onChange:l=>d.onChange(l.target.value),className:"h-7 border-0 bg-gray-50 pl-6 pr-2 text-sm shadow-none ring-1 ring-gray-200 transition-shadow focus-visible:ring-2 focus-visible:ring-primary dark:bg-gray-800/50 dark:ring-gray-700 dark:placeholder:text-gray-500"})})]})]})})},r))}),e.jsx("div",{className:"grid grid-cols-1 gap-3 md:grid-cols-2",children:Object.entries(k).filter(([r])=>["onetime","reset_traffic"].includes(r)).map(([r,n])=>e.jsx("div",{className:"rounded-md border border-dashed border-gray-200 bg-muted/30 p-3 dark:border-gray-700",children:e.jsx(h,{control:o.control,name:`prices.${r}`,render:({field:d})=>e.jsx(g,{children:e.jsxs("div",{className:"flex flex-col gap-2 md:flex-row md:items-center md:justify-between",children:[e.jsxs("div",{className:"space-y-0",children:[e.jsx(p,{className:"text-xs font-medium",children:n.label}),e.jsx("p",{className:"text-[10px] text-muted-foreground",children:r==="onetime"?"一次性流量包,购买后立即生效":"用户可随时购买流量重置包,立即重置流量"})]}),e.jsxs("div",{className:"relative w-full md:w-32",children:[e.jsx("div",{className:"pointer-events-none absolute inset-y-0 left-0 flex items-center pl-2",children:e.jsx("span",{className:"text-sm font-medium text-gray-400",children:"¥"})}),e.jsx(j,{children:e.jsx(b,{type:"number",placeholder:"0.00",min:0,...d,className:"h-7 border-0 bg-gray-50 pl-6 pr-2 text-sm shadow-none ring-1 ring-gray-200 transition-shadow focus-visible:ring-2 focus-visible:ring-primary dark:bg-gray-800/50 dark:ring-gray-700 dark:placeholder:text-gray-500"})})]})]})})})},r))})]}),e.jsxs("div",{className:"flex gap-4",children:[e.jsx(h,{control:o.control,name:"device_limit",render:({field:r})=>e.jsxs(g,{className:"flex-1",children:[e.jsx(p,{children:"设备限制"}),e.jsxs("div",{className:"relative flex",children:[e.jsx(j,{children:e.jsx(b,{type:"number",min:0,placeholder:"留空则不限制",className:"rounded-r-none",...r,value:r.value??""})}),e.jsx("div",{className:"flex items-center rounded-r-md border border-l-0 border-input bg-muted px-3 text-sm text-muted-foreground",children:"台"})]}),e.jsx(y,{})]})}),e.jsx(h,{control:o.control,name:"capacity_limit",render:({field:r})=>e.jsxs(g,{className:"flex-1",children:[e.jsx(p,{children:"容量限制"}),e.jsxs("div",{className:"relative flex",children:[e.jsx(j,{children:e.jsx(b,{type:"number",min:0,placeholder:"留空则不限制",className:"rounded-r-none",...r,value:r.value??""})}),e.jsx("div",{className:"flex items-center rounded-r-md border border-l-0 border-input bg-muted px-3 text-sm text-muted-foreground",children:"人"})]}),e.jsx(y,{})]})})]}),e.jsx(h,{control:o.control,name:"reset_traffic_method",render:({field:r})=>e.jsxs(g,{children:[e.jsx(p,{children:"流量重置方式"}),e.jsxs($,{value:r.value?.toString()??"0",onValueChange:n=>r.onChange(Number(n)),children:[e.jsx(j,{children:e.jsx(Q,{children:e.jsx(W,{placeholder:"选择流量重置方式"})})}),e.jsx(X,{children:We.map(n=>e.jsx(Y,{value:n.value.toString(),children:n.label},n.value))})]}),e.jsx(G,{className:"text-xs",children:"设置订阅流量的重置方式,不同的重置方式会影响用户的流量计算方式"}),e.jsx(y,{})]})}),e.jsx(h,{control:o.control,name:"content",render:({field:r})=>{const[n,d]=m.useState(!1);return e.jsxs(g,{className:"space-y-2",children:[e.jsxs(p,{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-2",children:["套餐描述",e.jsx(I,{children:e.jsxs(P,{children:[e.jsx(A,{asChild:!0,children:e.jsx(x,{variant:"ghost",size:"sm",className:"h-6 w-6 p-0",onClick:()=>d(!n),children:n?e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:"h-4 w-4",children:[e.jsx("path",{d:"M10 12.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5z"}),e.jsx("path",{fillRule:"evenodd",d:"M.664 10.59a1.651 1.651 0 010-1.186A10.004 10.004 0 0110 3c4.257 0 7.893 2.66 9.336 6.41.147.381.146.804 0 1.186A10.004 10.004 0 0110 17c-4.257 0-7.893-2.66-9.336-6.41zM14 10a4 4 0 11-8 0 4 4 0 018 0z",clipRule:"evenodd"})]}):e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:"h-4 w-4",children:[e.jsx("path",{fillRule:"evenodd",d:"M3.28 2.22a.75.75 0 00-1.06 1.06l14.5 14.5a.75.75 0 101.06-1.06l-1.745-1.745a10.029 10.029 0 003.3-4.38 1.651 1.651 0 000-1.185A10.004 10.004 0 009.999 3a9.956 9.956 0 00-4.744 1.194L3.28 2.22zM7.752 6.69l1.092 1.092a2.5 2.5 0 013.374 3.373l1.091 1.092a4 4 0 00-5.557-5.557z",clipRule:"evenodd"}),e.jsx("path",{d:"M10.748 13.93l2.523 2.523a9.987 9.987 0 01-3.27.547c-4.258 0-7.894-2.66-9.337-6.41a1.651 1.651 0 010-1.186A10.007 10.007 0 012.839 6.02L6.07 9.252a4 4 0 004.678 4.678z"})]})})}),e.jsx(L,{side:"top",children:e.jsx("p",{className:"text-xs",children:n?"隐藏预览":"显示预览"})})]})})]}),e.jsx(I,{children:e.jsxs(P,{children:[e.jsx(A,{asChild:!0,children:e.jsx(x,{variant:"outline",size:"sm",onClick:()=>{r.onChange(`## 套餐特点 -• 高速稳定的全球网络接入 -• 支持多设备同时在线 -• 无限制的流量重置 - -## 使用说明 -1. 支持设备:iOS、Android、Windows、macOS -2. 24/7 技术支持 -3. 自动定期流量重置 - -## 注意事项 -- 禁止滥用 -- 遵守当地法律法规 -- 支持随时更换套餐`)},children:"使用模板"})}),e.jsx(L,{side:"left",align:"center",children:e.jsx("p",{className:"text-xs",children:"点击使用预设的套餐描述模板"})})]})})]}),e.jsxs("div",{className:`grid gap-4 ${n?"grid-cols-1 lg:grid-cols-2":"grid-cols-1"}`,children:[e.jsx("div",{className:"space-y-2",children:e.jsx(j,{children:e.jsx(Ae,{style:{height:"400px"},value:r.value||"",renderHTML:l=>w.render(l),onChange:({text:l})=>r.onChange(l),config:{view:{menu:!0,md:!0,html:!1},canView:{menu:!0,md:!0,html:!1,fullScreen:!1,hideMenu:!1}},placeholder:"在这里编写套餐描述...",className:"rounded-md border"})})}),n&&e.jsxs("div",{className:"space-y-2",children:[e.jsx("div",{className:"text-sm text-muted-foreground",children:"预览"}),e.jsx("div",{className:"prose prose-sm dark:prose-invert h-[400px] max-w-none overflow-y-auto rounded-md border p-4",children:e.jsx("div",{dangerouslySetInnerHTML:{__html:w.render(r.value||"")}})})]})]}),e.jsx(G,{className:"text-xs",children:"支持 Markdown 格式,可以使用标题、列表、粗体、斜体等样式来美化描述内容"}),e.jsx(y,{})]})}})]}),e.jsxs(Me,{className:"mt-6",children:[e.jsx(Ve,{asChild:!0,children:e.jsx(x,{type:"button",variant:"outline",children:"取消"})}),e.jsx(x,{type:"submit",disabled:T,onClick:()=>{o.handleSubmit(async r=>{_(!0);try{(await ve(r)).data&&(Z({title:"成功",description:i==="add"?"套餐添加成功":"套餐更新成功"}),N(!1),o.reset(),t())}catch(n){console.error("保存失败:",n),Z({variant:"destructive",title:"错误",description:n?.response?.data?.message||"保存失败,请重试"})}finally{_(!1)}})()},children:T?"提交中...":"提交"})]})]})]})]})}function Xe({table:t,refetch:s,saveOrder:i,isSortMode:c}){const u=t.getState().columnFilters.length>0;return e.jsxs("div",{className:"flex items-center justify-between",children:[c?e.jsx("p",{className:"text-sm text-muted-foreground",children:"拖拽套餐进行排序,完成后点击保存"}):e.jsxs("div",{className:"flex flex-1 flex-col-reverse items-start gap-y-2 sm:flex-row sm:items-center sm:space-x-2",children:[e.jsx(U,{refreshData:s}),e.jsx(b,{placeholder:"搜索订阅...",value:t.getColumn("name")?.getFilterValue()??"",onChange:N=>t.getColumn("name")?.setFilterValue(N.target.value),className:"h-9 w-[150px] lg:w-[250px]"}),u&&e.jsxs(x,{variant:"ghost",onClick:()=>t.resetColumnFilters(),className:"h-8 px-2 lg:px-3",children:["重置",e.jsx(je,{className:"ml-2 h-4 w-4"})]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[!c&&e.jsx(U,{refreshData:s}),e.jsx(x,{size:"sm",variant:c?"default":"outline",onClick:i,children:c?"保存排序":"编辑排序"})]})]})}const Ye=t=>[{id:"drag-handle",header:()=>null,cell:()=>e.jsx("div",{className:"cursor-move",children:e.jsx(fe,{className:"size-4"})}),size:40,enableSorting:!1},{accessorKey:"id",header:({column:s})=>e.jsx(v,{column:s,title:"ID"}),cell:({row:s})=>e.jsx("div",{className:"flex items-center space-x-2",children:e.jsx(q,{variant:"outline",children:s.getValue("id")})}),enableSorting:!0,enableHiding:!1},{accessorKey:"show",header:({column:s})=>e.jsx(v,{column:s,title:"显示"}),cell:({row:s})=>e.jsx(E,{defaultChecked:s.getValue("show"),onCheckedChange:i=>{R({id:s.original.id,show:i}).then(({data:c})=>{!c&&t()})}}),enableSorting:!1,enableHiding:!1},{accessorKey:"sell",header:({column:s})=>e.jsx(v,{column:s,title:"销售"}),cell:({row:s})=>e.jsx(E,{defaultChecked:s.getValue("sell"),onCheckedChange:i=>{R({id:s.original.id,sell:i}).then(({data:c})=>{!c&&t()})}}),enableSorting:!1,enableHiding:!1},{accessorKey:"renew",header:({column:s})=>e.jsx(v,{column:s,title:"续费",tooltip:"在订阅停止销售时,已购用户是否可以续费"}),cell:({row:s})=>e.jsx(E,{defaultChecked:s.getValue("renew"),onCheckedChange:i=>{R({id:s.original.id,renew:i}).then(({data:c})=>{!c&&t()})}}),enableSorting:!1,enableHiding:!1},{accessorKey:"name",header:({column:s})=>e.jsx(v,{column:s,title:"名称"}),cell:({row:s})=>e.jsx("div",{className:"flex space-x-2",children:e.jsx("span",{className:"max-w-32 truncate font-medium sm:max-w-72 md:max-w-[31rem]",children:s.getValue("name")})}),enableSorting:!1,enableHiding:!1,size:900},{accessorKey:"users_count",header:({column:s})=>e.jsx(v,{column:s,title:"统计"}),cell:({row:s})=>e.jsxs("div",{className:"flex items-center space-x-2 px-2",children:[e.jsx(ze,{}),e.jsx("span",{className:"max-w-32 truncate font-medium sm:max-w-72 md:max-w-[31rem]",children:s.getValue("users_count")})]}),enableSorting:!0},{accessorKey:"group",header:({column:s})=>e.jsx(v,{column:s,title:"权限组"}),cell:({row:s})=>e.jsx("div",{className:"flex max-w-[600px] flex-wrap items-center gap-1.5",children:e.jsx(q,{variant:"secondary",className:re("px-2 py-0.5 font-medium","bg-secondary/50 hover:bg-secondary/70","border border-border/50","transition-all duration-200","cursor-default select-none","flex items-center gap-1.5"),children:s.getValue("group")?.name})}),enableSorting:!1,enableHiding:!1,size:9e3},{id:"actions",header:({column:s})=>e.jsx(v,{className:"justify-end",column:s,title:"操作"}),cell:({row:s})=>e.jsxs("div",{className:"flex items-center justify-end",children:[e.jsx(U,{refreshData:t,type:"edit",defaultFormValues:s.original,dialogTrigger:e.jsxs(x,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-muted",children:[e.jsx(be,{className:"h-4 w-4 text-muted-foreground hover:text-foreground"}),e.jsx("span",{className:"sr-only",children:"编辑"})]})}),e.jsx(Ee,{title:"确认删除",description:"此操作将永久删除该订阅,删除后无法恢复。确定要继续吗?",confirmText:"删除",variant:"destructive",onConfirm:async()=>{Ne({id:s.original.id}).then(({data:i})=>{i&&(K.success("删除成功"),t())})},children:e.jsxs(x,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-red-100 dark:hover:bg-red-900",children:[e.jsx(He,{className:"h-4 w-4 text-muted-foreground hover:text-red-600 dark:hover:text-red-400"}),e.jsx("span",{className:"sr-only",children:"删除"})]})})]})}];function Je(){const[t,s]=m.useState({}),[i,c]=m.useState({"drag-handle":!1}),[u,N]=m.useState([]),[T,_]=m.useState([]),[o,w]=m.useState(!1),[C,D]=m.useState([]),{refetch:S}=Be({queryKey:["planList"],queryFn:async()=>{const{data:l}=await we();return D(l),l}});m.useEffect(()=>{c({"drag-handle":o})},[o]);const V=(l,f)=>{o&&(l.dataTransfer.setData("text/plain",f.toString()),l.currentTarget.classList.add("opacity-50"))},r=(l,f)=>{if(!o)return;l.preventDefault(),l.currentTarget.classList.remove("bg-muted");const F=parseInt(l.dataTransfer.getData("text/plain"));if(F===f)return;const O=[...C],[se]=O.splice(F,1);O.splice(f,0,se),D(O)},n=async()=>{if(!o){w(!0);return}try{const l=C?.map(f=>f.id);await Se(l),K.success("排序保存成功"),w(!1),S()}catch{K.error("排序保存失败"),w(!1)}},d=ce({data:C||[],columns:Ye(S),state:{sorting:T,columnVisibility:i,rowSelection:t,columnFilters:u},enableRowSelection:!0,onRowSelectionChange:s,onSortingChange:_,onColumnFiltersChange:N,onColumnVisibilityChange:c,getCoreRowModel:me(),getFilteredRowModel:ue(),getPaginationRowModel:xe(),getSortedRowModel:he(),getFacetedRowModel:ge(),getFacetedUniqueValues:pe(),initialState:{columnPinning:{right:["actions"]}},pageCount:o?1:void 0});return e.jsx(de,{table:d,toolbar:l=>e.jsx(Xe,{table:l,refetch:S,saveOrder:n,isSortMode:o}),draggable:o,onDragStart:V,onDragEnd:l=>l.currentTarget.classList.remove("opacity-50"),onDragOver:l=>{l.preventDefault(),l.currentTarget.classList.add("bg-muted")},onDragLeave:l=>l.currentTarget.classList.remove("bg-muted"),onDrop:r,showPagination:!o})}function ks(){return e.jsxs(le,{children:[e.jsxs(ie,{children:[e.jsx(ae,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(te,{}),e.jsx(ne,{})]})]}),e.jsxs(oe,{className:"flex flex-col",fixedHeight:!0,children:[e.jsx("div",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:"订阅管理"}),e.jsx("p",{className:"mt-2 text-muted-foreground",children:"在这里可以配置订阅计划,包括添加、删除、编辑等操作。"})]})}),e.jsx("div",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx(Je,{})})]})]})}export{ks as default}; diff --git a/public/assets/admin/assets/index-CsxGdFlS.js b/public/assets/admin/assets/index-CsxGdFlS.js deleted file mode 100644 index 2c38c5a4f..000000000 --- a/public/assets/admin/assets/index-CsxGdFlS.js +++ /dev/null @@ -1 +0,0 @@ -import{e as d,u as m,r as h,j as e,a as r,L as p,g as f,O as j}from"./index-_xd8OyP8.js";import{S as u,T as g,U as N}from"./user-nav-BBmBVa03.js";import{S as v}from"./separator-lX8UNwTG.js";import{L as S,f as y,g as b}from"./sidelinks-DLs_k-Mk.js";import{S as w,a as L,b as T,c as k,d as E}from"./select-Cqkdx-UJ.js";import{S as V}from"./config-BDd6elvr.js";import"./react-icons.esm-rZq2pt7A.js";import"./index-CcyXqhZ9.js";import"./index-BwSRHYe4.js";import"./index-CX6PQ3zO.js";import"./button-DhrtVlOa.js";import"./index-BlMNiBlp.js";import"./IconTicket-COhvkaJH.js";import"./index-CRh0M8qI.js";import"./index-kwEAqj-e.js";function H({className:t,items:a,...c}){const{pathname:l}=d(),i=m(),[n,o]=h.useState(l??"/settings"),x=s=>{o(s),i(s)};return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"p-1 md:hidden",children:e.jsxs(w,{value:n,onValueChange:x,children:[e.jsx(L,{className:"h-12 sm:w-48",children:e.jsx(T,{placeholder:"Theme"})}),e.jsx(k,{children:a.map(s=>e.jsx(E,{value:s.href,children:e.jsxs("div",{className:"flex gap-x-4 px-2 py-1",children:[e.jsx("span",{className:"scale-125",children:s.icon}),e.jsx("span",{className:"text-md",children:s.title})]})},s.href))})]})}),e.jsx("div",{className:"hidden w-full overflow-x-auto bg-background px-1 py-2 md:block",children:e.jsx("nav",{className:r("flex space-x-2 lg:flex-col lg:space-x-0 lg:space-y-1",t),...c,children:a.map(s=>e.jsxs(p,{to:s.href,className:r(f({variant:"ghost"}),l===s.href?"bg-muted hover:bg-muted":"hover:bg-transparent hover:underline","justify-start"),children:[e.jsx("span",{className:"mr-2",children:s.icon}),s.title]},s.href))})})]})}function J(){return e.jsxs(S,{fadedBelow:!0,fixedHeight:!0,children:[e.jsxs(y,{children:[e.jsx(u,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(g,{}),e.jsx(N,{})]})]}),e.jsxs(b,{className:"flex flex-col",fixedHeight:!0,children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("h1",{className:"text-2xl font-bold tracking-tight md:text-3xl",children:"系统设置"}),e.jsx("p",{className:"text-muted-foreground",children:"管理系统核心配置,包括站点、安全、订阅、邀请佣金、节点、邮件和通知等设置"})]}),e.jsx(v,{className:"my-6"}),e.jsxs("div",{className:"flex flex-1 flex-col space-y-8 overflow-auto lg:flex-row lg:space-x-12 lg:space-y-0",children:[e.jsx("aside",{className:"sticky top-0 lg:w-1/5",children:e.jsx(H,{items:V})}),e.jsx("div",{className:"w-full p-1 pr-4 lg:max-w-xl",children:e.jsx("div",{className:"pb-16",children:e.jsx(j,{})})})]})]})]})}export{J as default}; diff --git a/public/assets/admin/assets/index-D9tddXib.js b/public/assets/admin/assets/index-D9tddXib.js deleted file mode 100644 index 429e5a3c0..000000000 --- a/public/assets/admin/assets/index-D9tddXib.js +++ /dev/null @@ -1,16 +0,0 @@ -import{r as v,j as e,a as O,t as P,B as z}from"./index-_xd8OyP8.js";import{c as le,C as Ce,a as Se,b as ke,d as _e,e as ne,f as te,g as Ve,S as De,T as Te,U as Fe}from"./user-nav-BBmBVa03.js";import{D as de,a as xe,b as he,h as Pe,e as se,d as ze,L as Ie,f as Le,g as Me}from"./sidelinks-DLs_k-Mk.js";import{B as R,D as L,u as Oe,a as Re,g as He,b as Ee,c as Ge,d as Be}from"./column-header-BLyyjrhJ.js";import{b as Ke,c as Je,a as Ae,D as $e}from"./react-icons.esm-rZq2pt7A.js";import{I as b}from"./input-d0vtE30O.js";import{B as Q,D as me,e as ue,a as je,b as pe,c as ge,f as fe,d as qe,g as Ue}from"./button-DhrtVlOa.js";import{u as ve,a as x,b as h,c as u,d as m,e as k,F as We}from"./form-DIzSOdtk.js";import{z as l,t as Ne}from"./zod-x_8lkCGK.js";import{I as Y}from"./iconify-Dsf6bxB2.js";import{X as Xe,M as oe}from"./multiple-selector-CeO_loUo.js";import{H as Qe,I as Ye,J as ye,K as Ze,L as es,M as ss,N as rs,O as as}from"./index-BycJudEO.js";import{S as C,p as J,a as B}from"./index-ngg4RcvF.js";import{S as _,a as V,b as D,c as T,e as G,d as N}from"./select-Cqkdx-UJ.js";import{S as ls}from"./server-group-form-JiCHpkCJ.js";import{T as ns}from"./textarea-Bmd-AJpD.js";import{S as K}from"./switch-w5WyeRwk.js";import{T as A,a as $,b as q,c as U}from"./tooltip-B58e4dA7.js";import{P as ts,a as os,b as is}from"./popover-C5eiPdqD.js";import{S as cs}from"./separator-lX8UNwTG.js";import{C as ds}from"./confirm-dialog-CHz9pK2w.js";import{c as re}from"./common-BL1VIuho.js";import{u as xs}from"./user-CIJd3wDa.js";import{S as hs}from"./server-Igd-p88k.js";import{E as ms}from"./ellipsis-DggWsm3O.js";import{T as us}from"./trash-2-lI1I6nfk.js";import{u as js}from"./useQuery-mr7Ep0hT.js";import"./index-CcyXqhZ9.js";import"./index-BwSRHYe4.js";import"./index-CX6PQ3zO.js";import"./index-BlMNiBlp.js";import"./IconTicket-COhvkaJH.js";import"./arrow-up-9fLptvj0.js";import"./clipboard-YH5zrf5X.js";import"./index-CRh0M8qI.js";import"./index-kwEAqj-e.js";import"./loader-circle-BgRqqHyr.js";/** - * @license lucide-react v0.399.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const ie=le("ClipboardCopy",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]]);/** - * @license lucide-react v0.399.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const ps=le("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);/** - * @license lucide-react v0.399.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const gs=le("Pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]),be=v.forwardRef(({className:t,value:a,onChange:i,...j},n)=>{const[d,p]=v.useState("");v.useEffect(()=>{if(d.includes(",")){const g=new Set([...a,...d.split(",").map(S=>S.trim())]);i(Array.from(g)),p("")}},[d,i,a]);const w=()=>{if(d){const g=new Set([...a,d]);i(Array.from(g)),p("")}};return e.jsxs("div",{className:O(" has-[:focus-visible]:outline-none has-[:focus-visible]:ring-1 has-[:focus-visible]:ring-neutral-950 dark:has-[:focus-visible]:ring-neutral-300 flex w-full flex-wrap gap-2 rounded-md border border-input shadow-sm px-3 py-2 text-sm ring-offset-white disabled:cursor-not-allowed disabled:opacity-50",t),children:[a.map(g=>e.jsxs(R,{variant:"secondary",children:[g,e.jsx(Q,{variant:"ghost",size:"icon",className:"ml-2 h-3 w-3",onClick:()=>{i(a.filter(S=>S!==g))},children:e.jsx(Xe,{className:"w-3"})})]},g)),e.jsx("input",{className:"flex-1 outline-none placeholder:text-muted-foreground bg-transparent",value:d,onChange:g=>p(g.target.value),onKeyDown:g=>{g.key==="Enter"||g.key===","?(g.preventDefault(),w()):g.key==="Backspace"&&d.length===0&&a.length>0&&(g.preventDefault(),i(a.slice(0,-1)))},...j,ref:n})]})});be.displayName="InputTags";function ae({dialogTrigger:t,state:a,setState:i,templateType:j}){const[n,d]=v.useState(!1),[p,w]=v.useState(typeof a=="object"?JSON.stringify(a,null,2):a),[g,S]=v.useState(null),F=r=>{if(!r)return null;try{const s=JSON.parse(r);return typeof s!="object"||s===null?"配置必须是一个JSON对象":null}catch{return"无效的JSON格式"}},H={tcp:{label:"TCP",content:{acceptProxyProtocol:!1,header:{type:"none"}}},"tcp-http":{label:"TCP + HTTP",content:{acceptProxyProtocol:!1,header:{type:"http",request:{version:"1.1",method:"GET",path:["/"],headers:{Host:["www.example.com"]}},response:{version:"1.1",status:"200",reason:"OK"}}}},grpc:{label:"gRPC",content:{serviceName:"GunService"}},ws:{label:"WebSocket",content:{path:"/",headers:{Host:"v2ray.com"}}}},I=()=>{switch(j){case"tcp":return["tcp","tcp-http"];case"grpc":return["grpc"];case"ws":return["ws"];default:return[]}},M=()=>{const r=F(p||"");if(r){P.error(r);return}try{if(!p){i(""),d(!1);return}i(JSON.parse(p)),d(!1)}catch{P.error("保存时发生错误")}},f=r=>{w(r),S(F(r))},E=r=>{const s=H[r];if(s){const c=JSON.stringify(s.content,null,2);w(c),S(null)}};return e.jsxs(me,{open:n,onOpenChange:r=>{!r&&n&&M(),d(r)},children:[e.jsx(ue,{asChild:!0,children:t??e.jsx(Q,{variant:"link",children:"编辑协议"})}),e.jsxs(je,{className:"sm:max-w-[425px]",children:[e.jsx(pe,{children:e.jsx(ge,{children:"编辑协议配置"})}),e.jsxs("div",{className:"space-y-4",children:[I().length>0&&e.jsx("div",{className:"flex flex-wrap gap-2 pt-2",children:I().map(r=>e.jsxs(Q,{variant:"outline",size:"sm",onClick:()=>E(r),children:["使用",H[r].label,"模板"]},r))}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(ns,{className:`min-h-[200px] font-mono text-sm ${g?"border-red-500 focus-visible:ring-red-500":""}`,value:p,placeholder:`请输入JSON配置${I().length>0?"或选择上方模板":""}`,onChange:r=>f(r.target.value)}),g&&e.jsx("p",{className:"text-sm text-red-500",children:g})]})]}),e.jsxs(fe,{className:"gap-2",children:[e.jsx(Q,{variant:"outline",onClick:()=>d(!1),children:"取消"}),e.jsx(Q,{onClick:M,disabled:!!g,children:"确定"})]})]})]})}const fs=({serverType:t,state:a,setState:i})=>{const j=l.object({cipher:l.string(),obfs:l.string().optional(),obfs_settings:l.object({path:l.string(),host:l.string()}).optional()}),n={cipher:"aes-128-gcm",obfs:"",obfs_settings:{path:"",host:""}},d=l.object({tls:l.string(),network:l.string(),network_settings:l.string().optional(),tls_settings:l.object({server_name:l.string(),allow_insecure:l.boolean()}).optional()}),p={tls:"0",network:"tcp",network_settings:"",tls_settings:{server_name:"",allow_insecure:!1}},w=l.object({allow_insecure:l.boolean(),network:l.string(),networkSettings:l.string().optional(),server_name:l.string().optional()}),g={allow_insecure:!1,network:"tcp",networkSettings:"",server_name:""},S=l.object({version:l.string(),obfs:l.object({open:l.boolean(),type:l.string().optional(),password:l.string().optional()}).optional(),tls:l.object({allow_insecure:l.boolean(),server_name:l.string().optional()}).optional(),bandwidth:l.object({up:l.union([l.number(),l.string()]).optional(),down:l.union([l.number(),l.string()]).optional()}),alpn:l.string().optional()}),F={version:"2",obfs:{open:!1,type:"",password:""},tls:{allow_insecure:!1,server_name:""},bandwidth:{up:"",down:""},alpn:"hysteria"},H=l.object({tls:l.string(),network:l.string(),network_settings:l.string().optional(),flow:l.string().optional(),tls_settings:l.object({server_name:l.string().optional(),allow_insecure:l.boolean()}),reality_settings:l.object({dest:l.string(),allow_insecure:l.boolean(),public_key:l.string().optional(),private_key:l.string().optional(),short_id:l.string().optional()}).optional()}),I={tls:"0",network:"tcp",network_settings:"",flow:"",tls_settings:{server_name:"",allow_insecure:!1},reality_settings:{dest:"",allow_insecure:!1,public_key:"",private_key:"",short_id:""}},M=()=>{let s,c;switch(t){case"shadowsocks":s=j,c=n;break;case"vmess":s=d,c=p;break;case"trojan":s=w,c=g;break;case"hysteria":s=S,c=F;break;case"vless":s=H,c=I;break}return{formSchema:s,initialValues:c}},{formSchema:f,initialValues:E}=M(),r=ve({resolver:Ne(f),defaultValues:JSON.stringify(a)!=="{}"?a:E,mode:"onChange"});return v.useEffect(()=>{if(JSON.stringify(a)==="{}"){const{initialValues:s}=M();r.reset(s),i(s)}},[t]),v.useEffect(()=>{i(r.getValues())},[]),r.watch(s=>i(s)),e.jsxs(e.Fragment,{children:[t==="shadowsocks"&&e.jsxs(e.Fragment,{children:[e.jsx(x,{control:r.control,name:"cipher",render:({field:s})=>e.jsxs(h,{children:[e.jsx(u,{children:"加密算法"}),e.jsx("div",{className:"relative w-full",children:e.jsx(m,{children:e.jsxs(_,{onValueChange:s.onChange,defaultValue:s.value,children:[e.jsx(V,{children:e.jsx(D,{placeholder:"选择加密算法"})}),e.jsx(T,{children:e.jsx(G,{children:["aes-128-gcm","aes-192-gcm","aes-256-gcm","chacha20-ietf-poly1305","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm"].map(c=>e.jsx(N,{value:c,children:c},c))})})]})})})]})}),e.jsx(x,{control:r.control,name:"obfs",render:({field:s})=>e.jsxs(h,{children:[e.jsx(u,{children:" 混淆 "}),e.jsx("div",{className:"relative w-full",children:e.jsx(m,{children:e.jsxs(_,{onValueChange:s.onChange,defaultValue:s.value||"0",children:[e.jsx(V,{children:e.jsx(D,{placeholder:"选择混淆方式"})}),e.jsx(T,{children:e.jsxs(G,{children:[e.jsx(N,{value:"0",children:"无"}),e.jsx(N,{value:"http",children:"HTTP"})]})})]})})})]})}),r.watch("obfs")=="http"&&e.jsxs("div",{className:"flex gap-2",children:[e.jsx(x,{control:r.control,name:"obfs_settings.path",render:({field:s})=>e.jsxs(h,{className:"flex-[1]",children:[e.jsx("div",{className:"relative ",children:e.jsx(m,{children:e.jsx(b,{type:"text",placeholder:"路径",...s})})}),e.jsx(k,{})]})}),e.jsx(x,{control:r.control,name:"obfs_settings.host",render:({field:s})=>e.jsxs(h,{className:"flex-[2]",children:[e.jsx("div",{className:"relative flex ",children:e.jsx(m,{children:e.jsx(b,{type:"text",placeholder:"Host",...s})})}),e.jsx(k,{})]})})]})]}),t==="vmess"&&e.jsxs(e.Fragment,{children:[e.jsx(x,{control:r.control,name:"tls",render:({field:s})=>e.jsxs(h,{children:[e.jsx(u,{children:"TLS"}),e.jsx("div",{className:"",children:e.jsx(m,{children:e.jsxs(_,{value:s.value,onValueChange:s.onChange,children:[e.jsx(V,{children:e.jsx(D,{placeholder:"请选择安全性"})}),e.jsxs(T,{children:[e.jsx(N,{value:"0",children:"不支持"}),e.jsx(N,{value:"1",children:"支持"})]})]})})})]})}),r.watch("tls")=="1"&&e.jsxs("div",{className:"flex gap-2",children:[e.jsx(x,{control:r.control,name:"tls_settings.server_name",render:({field:s})=>e.jsxs(h,{className:"flex-[2]",children:[e.jsx(u,{children:"服务器名称指示(SNI)"}),e.jsx("div",{className:"relative w-full",children:e.jsx(m,{children:e.jsx(b,{placeholder:"不使用请留空",...s})})})]})}),e.jsx(x,{control:r.control,name:"tls_settings.allow_insecure",render:({field:s})=>e.jsxs(h,{className:"",children:[e.jsx(u,{children:"允许不安全?"}),e.jsx("div",{className:"py-2 text-center",children:e.jsx(m,{children:e.jsx(K,{onCheckedChange:s.onChange,checked:s.value})})})]})})]}),e.jsx(x,{control:r.control,name:"network",render:({field:s})=>e.jsxs(h,{children:[e.jsxs(u,{children:["传输协议",e.jsx(ae,{state:r.getValues("network_settings"),setState:c=>r.setValue("network_settings",c),templateType:r.getValues("network")})]}),e.jsx("div",{className:"relative w-full",children:e.jsx(m,{children:e.jsxs(_,{onValueChange:s.onChange,defaultValue:s.value,children:[e.jsx(V,{children:e.jsx(D,{placeholder:"选择传输协议"})}),e.jsx(T,{children:e.jsx(G,{children:[{value:"tcp",label:"TCP"},{value:"ws",label:"Websocket"},{value:"grpc",label:"gRPC"}].map(c=>e.jsx(N,{value:c.value,className:"cursor-pointer",children:c.label},c.value))})})]})})})]})})]}),t==="trojan"&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx(x,{control:r.control,name:"server_name",render:({field:s})=>e.jsxs(h,{className:"flex-[2]",children:[e.jsx(u,{className:"leading-loose",children:"服务器名称指示(SNI)"}),e.jsx("div",{className:"relative w-full",children:e.jsx(m,{children:e.jsx(b,{placeholder:"当节点地址于证书不一致时用于证书验证",...s})})})]})}),e.jsx(x,{control:r.control,name:"allow_insecure",render:({field:s})=>e.jsxs(h,{className:"flex flex-col",children:[e.jsx(u,{className:"leading-loose",children:"允许不安全?"}),e.jsx("div",{className:"flex flex-[1] items-center justify-center",children:e.jsx(m,{children:e.jsx(K,{onCheckedChange:s.onChange,checked:s.value})})})]})})]}),e.jsx(x,{control:r.control,name:"network",render:({field:s})=>e.jsxs(h,{children:[e.jsxs(u,{children:["传输协议",e.jsx(ae,{state:r.getValues("network_settings"),setState:c=>r.setValue("network_settings",c),templateType:r.getValues("network")})]}),e.jsx("div",{className:"relative w-full",children:e.jsx(m,{children:e.jsxs(_,{onValueChange:s.onChange,defaultValue:s.value,children:[e.jsx(V,{children:e.jsx(D,{placeholder:"选择传输协议"})}),e.jsx(T,{children:e.jsx(G,{children:[{value:"tcp",label:"TCP"},{value:"ws",label:"Websocket"},{value:"grpc",label:"gRPC"}].map(c=>e.jsx(N,{value:c.value,className:"cursor-pointer",children:c.label},c.value))})})]})})})]})})]}),t==="hysteria"&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx(x,{control:r.control,name:"version",render:({field:s})=>e.jsxs(h,{className:"flex-[1]",children:[e.jsx(u,{children:"协议版本"}),e.jsx(m,{children:e.jsxs(_,{value:s.value.toString(),onValueChange:s.onChange,children:[e.jsx(V,{children:e.jsx(D,{placeholder:"协议版本"})}),e.jsx(T,{children:e.jsxs(G,{children:[e.jsx(N,{value:"1",className:"cursor-pointer",children:"V1"}),e.jsx(N,{value:"2",className:"cursor-pointer",children:"V2"})]})})]})})]})}),r.watch("version")==="1"&&e.jsx(x,{control:r.control,name:"alpn",render:({field:s})=>e.jsxs(h,{className:"flex-[2]",children:[e.jsx(u,{children:"ALPN"}),e.jsx(m,{children:e.jsxs(_,{value:s.value,onValueChange:s.onChange,children:[e.jsx(V,{children:e.jsx(D,{placeholder:"ALPN"})}),e.jsx(T,{children:e.jsxs(G,{children:[e.jsx(N,{value:"hysteria",children:"hysteria"}),e.jsx(N,{value:"http/1.1",children:"http/1.1"}),e.jsx(N,{value:"h2",children:"h2"}),e.jsx(N,{value:"h3",children:"h3"})]})})]})})]})})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(x,{control:r.control,name:"obfs.open",render:({field:s})=>e.jsxs(h,{children:[e.jsx(u,{children:"混淆"}),e.jsx("div",{className:"py-2 text-center",children:e.jsx(m,{children:e.jsx(K,{checked:s.value,onCheckedChange:s.onChange})})})]})}),r.watch("obfs.open")==!0&&e.jsxs(e.Fragment,{children:[r.watch("version")=="2"&&e.jsx(x,{control:r.control,name:"obfs.type",render:({field:s})=>e.jsxs(h,{className:"flex-[1] ",children:[e.jsx(u,{children:"混淆实现"}),e.jsx(m,{children:e.jsxs(_,{value:s.value,onValueChange:s.onChange,children:[e.jsx(V,{children:e.jsx(D,{placeholder:"选择混淆实现"})}),e.jsx(T,{children:e.jsx(G,{children:e.jsx(N,{value:"salamander",children:"Salamander"})})})]})})]})}),e.jsx(x,{control:r.control,name:"obfs.password",render:({field:s})=>e.jsxs(h,{className:"flex-[2]",children:[e.jsx(u,{children:"混淆密码"}),e.jsx(m,{children:e.jsx(b,{placeholder:"请输入混淆密码",...s})})]})})]})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(x,{control:r.control,name:"tls.server_name",render:({field:s})=>e.jsxs(h,{className:"flex-[2]",children:[e.jsx(u,{children:"服务器名称指示(SNI)"}),e.jsx("div",{className:"relative w-full",children:e.jsx(m,{children:e.jsx(b,{placeholder:"当节点地址于证书不一致时用于证书验证",...s})})})]})}),e.jsx(x,{control:r.control,name:"tls.allow_insecure",render:({field:s})=>e.jsxs(h,{className:"",children:[e.jsx(u,{children:"允许不安全?"}),e.jsx("div",{className:"py-2 text-center",children:e.jsx(m,{children:e.jsx(K,{className:"",onCheckedChange:s.onChange,checked:s.value})})})]})})]}),e.jsx(x,{control:r.control,name:"bandwidth.up",render:({field:s})=>e.jsxs(h,{children:[e.jsx(u,{children:"上行宽带"}),e.jsxs("div",{className:"relative flex",children:[e.jsx(m,{children:e.jsx(b,{type:"number",placeholder:"请输入上行宽带"+(r.watch("version")==="2"?",留空则使用BBR":""),className:"rounded-br-none rounded-tr-none",...s})}),e.jsx("div",{className:"pointer-events-none z-[-1] flex items-center rounded-md rounded-bl-none rounded-tl-none border border-l-0 border-input px-3 shadow-sm",children:e.jsx("span",{className:"text-gray-500",children:"Mbps"})})]})]})}),e.jsx(x,{control:r.control,name:"bandwidth.down",render:({field:s})=>e.jsxs(h,{children:[e.jsx(u,{children:"下行宽带"}),e.jsxs("div",{className:"relative flex",children:[e.jsx(m,{children:e.jsx(b,{type:"number",placeholder:"请输入下行宽带"+(r.watch("version")==="2"?",留空则使用BBR":""),className:"rounded-br-none rounded-tr-none",...s})}),e.jsx("div",{className:"pointer-events-none z-[-1] flex items-center rounded-md rounded-bl-none rounded-tl-none border border-l-0 border-input px-3 shadow-sm",children:e.jsx("span",{className:"text-gray-500",children:"Mbps"})})]})]})})]}),t==="vless"&&e.jsxs(e.Fragment,{children:[e.jsx(x,{control:r.control,name:"tls",render:({field:s})=>e.jsxs(h,{children:[e.jsx(u,{children:"安全性"}),e.jsxs("div",{className:"",children:[e.jsx(m,{children:e.jsxs(_,{value:s.value.toString(),onValueChange:s.onChange,children:[e.jsx(V,{children:e.jsx(D,{placeholder:"请选择安全性"})}),e.jsxs(T,{children:[e.jsx(N,{value:"0",children:"无"}),e.jsx(N,{value:"1",children:"TLS"}),e.jsx(N,{value:"2",children:"Reality"})]})]})}),e.jsx(k,{})]})]})}),r.watch("tls")=="1"&&e.jsxs("div",{className:"flex gap-2",children:[e.jsx(x,{control:r.control,name:"tls_settings.server_name",render:({field:s})=>e.jsxs(h,{className:"flex-[2]",children:[e.jsx(u,{children:"服务器名称指示(SNI)"}),e.jsx("div",{className:"relative w-full",children:e.jsx(m,{children:e.jsx(b,{placeholder:"不使用请留空",...s})})})]})}),e.jsx(x,{control:r.control,name:"tls_settings.allow_insecure",render:({field:s})=>e.jsxs(h,{className:"",children:[e.jsx(u,{children:"允许不安全?"}),e.jsx("div",{className:"py-2 text-center",children:e.jsx(m,{children:e.jsx(K,{onCheckedChange:s.onChange,checked:s.value})})})]})})]}),r.watch("tls")=="2"&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx(x,{control:r.control,name:"reality_settings.dest",render:({field:s})=>e.jsxs(h,{className:"flex-[2]",children:[e.jsx(u,{children:"伪装站点(dest)"}),e.jsx("div",{className:"relative w-full",children:e.jsx(m,{children:e.jsx(b,{placeholder:"例如:example.com:443",...s})})})]})}),e.jsx(x,{control:r.control,name:"reality_settings.allow_insecure",render:({field:s})=>e.jsxs(h,{className:"",children:[e.jsx(u,{children:"允许不安全?"}),e.jsx("div",{className:"py-2 text-center",children:e.jsx(m,{children:e.jsx(K,{onCheckedChange:s.onChange,checked:s.value})})})]})})]}),e.jsx(x,{control:r.control,name:"reality_settings.private_key",render:({field:s})=>e.jsxs(h,{children:[e.jsx(u,{children:"私钥(Private key)"}),e.jsx(m,{children:e.jsx(b,{...s})})]})}),e.jsx(x,{control:r.control,name:"reality_settings.public_key",render:({field:s})=>e.jsxs(h,{children:[e.jsx(u,{children:"公钥(Public key)"}),e.jsx(m,{children:e.jsx(b,{...s})})]})}),e.jsx(x,{control:r.control,name:"reality_settings.short_id",render:({field:s})=>e.jsxs(h,{children:[e.jsx(u,{children:"Short ID"}),e.jsx(m,{children:e.jsx(b,{...s})})]})})]}),e.jsx(x,{control:r.control,name:"network",render:({field:s})=>e.jsxs(h,{children:[e.jsxs(u,{children:["传输协议",e.jsx(ae,{state:r.getValues("network_settings"),setState:c=>r.setValue("network_settings",c),templateType:r.getValues("network")})]}),e.jsx("div",{className:"relative w-full",children:e.jsx(m,{children:e.jsxs(_,{onValueChange:s.onChange,defaultValue:s.value,children:[e.jsx(V,{children:e.jsx(D,{placeholder:"选择传输协议"})}),e.jsx(T,{children:e.jsx(G,{children:[{value:"tcp",label:"TCP"},{value:"ws",label:"Websocket"},{value:"grpc",label:"gRPC"}].map(c=>e.jsx(N,{value:c.value,className:"cursor-pointer",children:c.label},c.value))})})]})})})]})}),e.jsx(x,{control:r.control,name:"flow",render:({field:s})=>e.jsxs(h,{children:[e.jsx(u,{children:"XTLS流控算法"}),e.jsx("div",{className:"",children:e.jsx(m,{children:e.jsxs(_,{value:s.value||"none",onValueChange:c=>{s.onChange(c==="none"?"":c)},children:[e.jsx(V,{children:e.jsx(D,{placeholder:"请选择流控算法"})}),e.jsxs(T,{children:[e.jsx(N,{value:"none",children:"无"}),e.jsx(N,{value:"xtls-rprx-vision",children:"xtls-rprx-vision"})]})]})})})]})})]})]})},vs=l.object({id:l.number().optional().nullable(),code:l.string().optional(),name:l.string().min(1,"Please enter a valid name."),rate:l.string().min(1,"Please enter a valid rate."),tags:l.array(l.string()).default([]),excludes:l.array(l.string()).default([]),ips:l.array(l.string()).default([]),group_ids:l.array(l.string()).default([]),host:l.string().min(1,"Please enter a valid host."),port:l.string().min(1,"Please enter a valid port."),server_port:l.string().min(1,"Please enter a valid server port."),parent_id:l.string().default("0").nullable(),route_ids:l.array(l.string()).default([]),protocol_settings:l.record(l.any()).default({})}),Ns={id:null,code:"",name:"",rate:"1",tags:[],excludes:[],ips:[],group_ids:[],host:"",port:"",server_port:"",parent_id:"0",route_ids:[],protocol_settings:{}};function we({dialogTrigger:t,type:a,defaultFormValues:i=Ns,refetch:j}){const[n,d]=v.useState(!1),[p,w]=v.useState(a||C.Shadowsocks),[g,S]=v.useState([]),[F,H]=v.useState([]),[I,M]=v.useState([]),f=ve({resolver:Ne(vs),defaultValues:i,mode:"onChange"}),E=async()=>{if(!n)return;const[o,y,W]=await Promise.all([Qe(),Ye(),ye()]);S(o.data?.map(X=>({label:X.name,value:X.id.toString()}))||[]),H(y.data?.map(X=>({label:X.remarks,value:X.id.toString()}))||[]),M(W.data||[])},r=v.useMemo(()=>I?.filter(o=>(o.parent_id===0||o.parent_id===null)&&o.type===p&&o.id!==f.watch("id")),[p,I,f]);v.useEffect(()=>{E()},[n]),v.useEffect(()=>{f.reset(i)},[i,f,p]);const s=async()=>{try{const o=f.getValues();(await Ze({...o,type:p})).data&&(f.reset(i),d(!1),P.success("提交成功"),j())}catch{P.error("提交失败")}},c=()=>e.jsxs(de,{children:[e.jsx(xe,{asChild:!0,children:e.jsx(z,{size:"sm",variant:"outline",children:e.jsx(Y,{icon:"ion:add"})})}),e.jsx(he,{align:"start",children:e.jsx(Pe,{children:J.map(({type:o,label:y})=>e.jsx(se,{onClick:()=>{w(o),d(!0)},className:"cursor-pointer",children:e.jsx(R,{variant:"outline",className:"text-white",style:{background:B[o]},children:y})},o))})})]});return e.jsxs(me,{open:n,onOpenChange:d,children:[t?e.jsx(ue,{asChild:!0,children:t}):c(),e.jsxs(je,{className:"sm:max-w-[425px]",children:[e.jsxs(pe,{children:[e.jsx(ge,{children:"新建节点"}),e.jsx(qe,{})]}),e.jsxs(We,{...f,children:[e.jsxs("div",{className:"grid gap-4",children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx(x,{control:f.control,name:"name",render:({field:o})=>e.jsxs(h,{className:"flex-[2]",children:[e.jsx(u,{children:"节点名称"}),e.jsx(m,{children:e.jsx(b,{placeholder:"请输入节点名称",...o})}),e.jsx(k,{})]})}),e.jsx(x,{control:f.control,name:"rate",render:({field:o})=>e.jsxs(h,{className:"flex-[1]",children:[e.jsx(u,{children:"倍率"}),e.jsx("div",{className:"relative flex",children:e.jsx(m,{children:e.jsx(b,{type:"number",min:"0",step:"0.1",...o})})}),e.jsx(k,{})]})})]}),e.jsx(x,{control:f.control,name:"code",render:({field:o})=>e.jsxs(h,{children:[e.jsxs(u,{children:["节点代码",e.jsx("span",{className:"ml-1 text-xs text-muted-foreground",children:"(选填)"})]}),e.jsx(m,{children:e.jsx(b,{placeholder:"请输入节点唯一标识符",...o,value:o.value||""})}),e.jsx(k,{})]})}),e.jsx(x,{control:f.control,name:"tags",render:({field:o})=>e.jsxs(h,{children:[e.jsx(u,{children:"节点标签"}),e.jsx(m,{children:e.jsx(be,{value:o.value,onChange:o.onChange,placeholder:"输入后回车添加标签",className:"w-full"})}),e.jsx(k,{})]})}),e.jsx(x,{control:f.control,name:"group_ids",render:({field:o})=>e.jsxs(h,{children:[e.jsxs(u,{className:"flex items-center justify-between",children:["权限组",e.jsx(ls,{dialogTrigger:e.jsx(z,{variant:"link",children:"添加权限组"}),refetch:E})]}),e.jsx(m,{children:e.jsx(oe,{options:g,onChange:y=>o.onChange(y.map(W=>W.value)),value:g?.filter(y=>o.value.includes(y.value)),placeholder:"请选择权限组",emptyIndicator:e.jsx("p",{className:"text-center text-lg leading-10 text-gray-600 dark:text-gray-400",children:"no results found."})})}),e.jsx(k,{})]})}),e.jsxs("div",{className:"space-y-4",children:[e.jsx(x,{control:f.control,name:"host",render:({field:o})=>e.jsxs(h,{children:[e.jsx(u,{children:"节点地址"}),e.jsx(m,{children:e.jsx(b,{placeholder:"请输入节点域名或者IP",...o})}),e.jsx(k,{})]})}),e.jsxs("div",{className:"flex space-x-2",children:[e.jsx(x,{control:f.control,name:"port",render:({field:o})=>e.jsxs(h,{className:"flex-1",children:[e.jsxs(u,{className:"flex items-center gap-1.5",children:["连接端口",e.jsx(A,{delayDuration:100,children:e.jsxs($,{children:[e.jsx(q,{asChild:!0,children:e.jsx(Y,{icon:"ph:info-light",className:"size-3.5 text-muted-foreground cursor-help"})}),e.jsx(U,{side:"top",className:"max-w-80 p-3",children:e.jsx("p",{children:"用户实际连接使用的端口,这是客户端配置中需要填写的端口号。如果使用了中转或隧道,这个端口可能与服务器实际监听的端口不同。"})})]})})]}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(m,{children:e.jsx(b,{placeholder:"用户连接端口",...o})}),e.jsx(A,{delayDuration:100,children:e.jsxs($,{children:[e.jsx(q,{asChild:!0,children:e.jsx(z,{type:"button",variant:"ghost",size:"icon",className:"size-6 shrink-0 text-muted-foreground/50 hover:text-muted-foreground",onClick:()=>{const y=o.value;y&&f.setValue("server_port",y)},children:e.jsx(Y,{icon:"tabler:arrows-right",className:"size-3"})})}),e.jsx(U,{side:"right",children:e.jsx("p",{children:"同步到服务端口"})})]})})]}),e.jsx(k,{})]})}),e.jsx(x,{control:f.control,name:"server_port",render:({field:o})=>e.jsxs(h,{className:"flex-1",children:[e.jsxs(u,{className:"flex items-center gap-1.5",children:["服务端口",e.jsx(A,{delayDuration:100,children:e.jsxs($,{children:[e.jsx(q,{asChild:!0,children:e.jsx(Y,{icon:"ph:info-light",className:"size-3.5 text-muted-foreground cursor-help"})}),e.jsx(U,{side:"top",className:"max-w-80 p-3",children:e.jsx("p",{children:"服务器实际监听的端口,这是在服务器上开放的真实端口。如果使用了中转或隧道,这个端口可能与用户连接端口不同。"})})]})})]}),e.jsx(m,{children:e.jsx(b,{placeholder:"服务端开放端口",...o})}),e.jsx(k,{})]})})]})]}),e.jsx(fs,{serverType:p,setState:o=>f.setValue("protocol_settings",o),state:f.getValues("protocol_settings")}),e.jsx(x,{control:f.control,name:"parent_id",render:({field:o})=>e.jsxs(h,{children:[e.jsx(u,{children:"父节点"}),e.jsxs(_,{onValueChange:o.onChange,value:o.value||"0",children:[e.jsx(m,{children:e.jsx(V,{children:e.jsx(D,{placeholder:"选择父节点"})})}),e.jsxs(T,{children:[e.jsx(N,{value:"0",children:"无"}),r?.map(y=>e.jsx(N,{value:y.id.toString(),className:"cursor-pointer",children:y.name},y.id))]})]}),e.jsx(k,{})]})}),e.jsx(x,{control:f.control,name:"route_ids",render:({field:o})=>e.jsxs(h,{children:[e.jsx(u,{children:"路由组"}),e.jsx(m,{children:e.jsx(oe,{options:F,onChange:y=>o.onChange(y.map(W=>W.value)),value:F?.filter(y=>o.value.includes(y.value)),placeholder:"选择路由组",emptyIndicator:e.jsx("p",{className:"text-center text-lg leading-10 text-gray-600 dark:text-gray-400",children:"no results found."})})}),e.jsx(k,{})]})})]}),e.jsxs(fe,{className:"mt-6",children:[e.jsx(Ue,{asChild:!0,children:e.jsx(z,{variant:"outline",children:"取消"})}),e.jsx(z,{type:"submit",onClick:s,children:"提交"})]})]})]})]})}function ce({column:t,title:a,options:i}){const j=t?.getFacetedUniqueValues(),n=new Set(t?.getFilterValue());return e.jsxs(ts,{children:[e.jsx(os,{asChild:!0,children:e.jsxs(z,{variant:"outline",size:"sm",className:"h-8 border-dashed",children:[e.jsx(Ke,{className:"mr-2 h-4 w-4"}),a,n?.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(cs,{orientation:"vertical",className:"mx-2 h-4"}),e.jsx(R,{variant:"secondary",className:"rounded-sm px-1 font-normal lg:hidden",children:n.size}),e.jsx("div",{className:"hidden space-x-1 lg:flex",children:n.size>2?e.jsxs(R,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:[n.size," selected"]}):i.filter(d=>n.has(d.value)).map(d=>e.jsx(R,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:d.label},d.value))})]})]})}),e.jsx(is,{className:"w-[200px] p-0",align:"start",children:e.jsxs(Ce,{children:[e.jsx(Se,{placeholder:a}),e.jsxs(ke,{children:[e.jsx(_e,{children:"No results found."}),e.jsx(ne,{children:i.map(d=>{const p=n.has(d.value);return e.jsxs(te,{onSelect:()=>{p?n.delete(d.value):n.add(d.value);const w=Array.from(n);t?.setFilterValue(w.length?w:void 0)},className:"cursor-pointer",children:[e.jsx("div",{className:O("mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary",p?"bg-primary text-primary-foreground":"opacity-50 [&_svg]:invisible"),children:e.jsx(Je,{className:O("h-4 w-4")})}),d.icon&&e.jsx(d.icon,{className:`mr-2 h-4 w-4 text-muted-foreground text-${d.color}`}),e.jsx("span",{children:d.label}),j?.get(d.value)&&e.jsx("span",{className:"ml-auto flex h-4 w-4 items-center justify-center font-mono text-xs",children:j.get(d.value)})]},d.value)})}),n.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(Ve,{}),e.jsx(ne,{children:e.jsx(te,{onSelect:()=>t?.setFilterValue(void 0),className:"justify-center text-center cursor-pointer",children:"Clear filters"})})]})]})]})})]})}const ys=[{value:C.Shadowsocks,label:J.find(t=>t.type===C.Shadowsocks)?.label,color:B[C.Shadowsocks]},{value:C.Vmess,label:J.find(t=>t.type===C.Vmess)?.label,color:B[C.Vmess]},{value:C.Trojan,label:J.find(t=>t.type===C.Trojan)?.label,color:B[C.Trojan]},{value:C.Hysteria,label:J.find(t=>t.type===C.Hysteria)?.label,color:B[C.Hysteria]},{value:C.Vless,label:J.find(t=>t.type===C.Vless)?.label,color:B[C.Vless]}];function bs({table:t,refetch:a,saveOrder:i,isSortMode:j,groups:n}){const d=t.getState().columnFilters.length>0,p=n.map(w=>({label:w,value:w}));return e.jsxs("div",{className:"flex items-center justify-between ",children:[e.jsxs("div",{className:"flex flex-1 flex-col-reverse items-start gap-y-2 sm:flex-row sm:items-center sm:space-x-2",children:[!j&&e.jsxs(e.Fragment,{children:[e.jsx(we,{refetch:a}),e.jsx(b,{placeholder:"搜索节点...",value:t.getColumn("name")?.getFilterValue()??"",onChange:w=>t.getColumn("name")?.setFilterValue(w.target.value),className:"h-9 w-[150px] lg:w-[250px]"}),e.jsxs("div",{className:"flex gap-x-2",children:[t.getColumn("type")&&e.jsx(ce,{column:t.getColumn("type"),title:"类型",options:ys}),t.getColumn("groups")&&e.jsx(ce,{column:t.getColumn("groups"),title:"权限组",options:p})]}),d&&e.jsxs(z,{variant:"ghost",onClick:()=>t.resetColumnFilters(),className:"h-8 px-2 lg:px-3",children:["重置",e.jsx(Ae,{className:"ml-2 h-4 w-4"})]})]}),j&&e.jsx("div",{className:"flex items-center space-x-2",children:e.jsx("p",{className:"text-sm text-muted-foreground",children:"拖拽节点进行排序,完成后点击保存"})})]}),e.jsx("div",{children:e.jsx(z,{size:"sm",variant:j?"default":"outline",className:"ml-auto hidden h-8 lg:flex",onClick:i,children:j?"保存排序":"编辑排序"})})]})}const Z={0:"bg-destructive/80 shadow-sm shadow-destructive/50",1:"bg-yellow-500/80 shadow-sm shadow-yellow-500/50",2:"bg-emerald-500/80 shadow-sm shadow-emerald-500/50"},ee={0:"未运行",1:"异常",2:"正常"},ws=t=>[{id:"drag-handle",header:({column:a})=>e.jsx(L,{column:a,title:"排序"}),cell:()=>e.jsx("div",{className:"flex items-center justify-center",children:e.jsx($e,{className:"size-4 cursor-move text-muted-foreground transition-colors hover:text-primary","aria-hidden":"true"})}),size:50},{accessorKey:"id",header:({column:a})=>e.jsx(L,{column:a,title:"节点ID"}),cell:({row:a})=>{const i=a.getValue("id"),j=a.original.code;return e.jsx(A,{delayDuration:100,children:e.jsxs($,{children:[e.jsx(q,{asChild:!0,children:e.jsxs("div",{className:"group/id flex items-center space-x-2",children:[e.jsxs(R,{variant:"outline",className:O("border-2 font-medium transition-all duration-200 hover:opacity-80","flex items-center gap-1.5"),style:{borderColor:B[a.original.type]},children:[e.jsx(hs,{className:"size-3"}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsxs("span",{className:"flex items-center gap-0.5",children:[i,j&&e.jsxs("span",{className:"cursor-copy text-[0.7rem] text-muted-foreground/50",onClick:n=>{n.stopPropagation(),re(j),P.success("已复制节点代码")},children:["(",j,")"]})]}),a.original.parent_id?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"text-sm text-muted-foreground/30",children:"→"}),e.jsx("span",{children:a.original.parent_id})]}):""]})]}),e.jsx(z,{variant:"ghost",size:"icon",className:"size-5 text-muted-foreground/40 opacity-0 transition-all duration-200 hover:text-muted-foreground group-hover/id:opacity-100",onClick:n=>{n.stopPropagation(),re(j||i.toString()),P.success(j?"已复制节点代码":"已复制节点ID")},children:e.jsx(ie,{className:"size-3"})})]})}),e.jsxs(U,{side:"top",className:"flex flex-col gap-1 p-3",children:[e.jsxs("p",{className:"font-medium",children:[J.find(n=>n.type===a.original.type)?.label,a.original.parent_id?" (子节点)":""]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:j?"点击括号内容或复制按钮可复制节点代码":"点击复制按钮可复制节点ID"})]})]})})},size:200,enableSorting:!0},{accessorKey:"show",header:({column:a})=>e.jsx(L,{column:a,title:"显示"}),cell:({row:a})=>e.jsx(K,{defaultChecked:a.getValue("show"),onCheckedChange:async i=>{es({id:a.original.id,type:a.original.type,show:i?1:0}).catch(()=>{t()})},className:"data-[state=checked]:bg-primary"}),size:50,enableSorting:!1},{accessorKey:"name",header:({column:a})=>e.jsx("div",{className:"flex items-center",children:e.jsx(L,{column:a,title:"节点",tooltip:e.jsxs("div",{className:"grid grid-cols-1 gap-3 p-2",children:[e.jsxs("div",{className:"flex items-center space-x-2.5",children:[e.jsx("span",{className:O("h-2.5 w-2.5 rounded-full",Z[0])}),e.jsx("span",{className:"text-sm font-medium",children:ee[0]})]}),e.jsxs("div",{className:"flex items-center space-x-2.5",children:[e.jsx("span",{className:O("h-2.5 w-2.5 rounded-full",Z[1])}),e.jsx("span",{className:"text-sm font-medium",children:ee[1]})]}),e.jsxs("div",{className:"flex items-center space-x-2.5",children:[e.jsx("span",{className:O("h-2.5 w-2.5 rounded-full",Z[2])}),e.jsx("span",{className:"text-sm font-medium",children:ee[2]})]})]})})}),cell:({row:a})=>e.jsx(A,{delayDuration:100,children:e.jsxs($,{children:[e.jsx(q,{children:e.jsxs("div",{className:"flex items-center space-x-2.5",children:[e.jsx("span",{className:O("h-2.5 w-2.5 rounded-full transition-all duration-200",Z[a.original.available_status])}),e.jsx("span",{className:"font-medium text-left transition-colors hover:text-primary",children:a.getValue("name")})]})}),e.jsx(U,{children:e.jsx("p",{className:"font-medium",children:ee[a.original.available_status]})})]})}),enableSorting:!1,size:200},{accessorKey:"host",header:({column:a})=>e.jsx(L,{column:a,title:"地址"}),cell:({row:a})=>{const i=`${a.original.host}:${a.original.port}`,j=a.original.port!==a.original.server_port;return e.jsxs("div",{className:"group relative flex min-w-0 items-start",children:[e.jsxs("div",{className:"flex min-w-0 flex-wrap items-baseline gap-x-1 gap-y-0.5 pr-7",children:[e.jsxs("div",{className:"flex items-center whitespace-nowrap",children:[e.jsx("span",{className:"break-all font-mono text-sm font-medium text-foreground/90",children:a.original.host}),e.jsx("span",{className:"text-muted-foreground/50",children:":"}),e.jsx("span",{className:"font-mono text-sm font-medium text-foreground/90",children:a.original.port})]}),j&&e.jsxs("span",{className:"whitespace-nowrap text-[0.7rem] tracking-tight text-muted-foreground/40",children:["(内部端口 ",a.original.server_port,")"]})]}),e.jsx("div",{className:"absolute right-0 top-0",children:e.jsx(A,{delayDuration:0,children:e.jsxs($,{children:[e.jsx(q,{asChild:!0,children:e.jsx(z,{variant:"ghost",size:"icon",className:"size-6 text-muted-foreground/40 opacity-0 transition-all duration-200 hover:bg-muted/50 hover:text-muted-foreground group-hover:opacity-100",onClick:n=>{n.stopPropagation(),re(i)},children:e.jsx(ie,{className:"size-3"})})}),e.jsx(U,{side:"top",sideOffset:10,children:"复制连接地址"})]})})})]})},enableSorting:!1,enableHiding:!0},{accessorKey:"online",header:({column:a})=>e.jsx(L,{column:a,title:"人数",tooltip:"在线人数根据服务端上报频率而定"}),cell:({row:a})=>e.jsxs("div",{className:"flex items-center space-x-2 px-4",children:[e.jsx(xs,{className:"size-4"}),e.jsx("span",{className:"font-medium",children:a.getValue("online")})]}),size:80,enableSorting:!0,enableHiding:!0},{accessorKey:"rate",header:({column:a})=>e.jsx(L,{column:a,title:"倍率",tooltip:"流量扣费倍率"}),cell:({row:a})=>e.jsxs(R,{variant:"secondary",className:"font-medium",children:[a.getValue("rate")," x"]}),size:80,enableSorting:!1,enableHiding:!0},{accessorKey:"groups",header:({column:a})=>e.jsx(L,{column:a,title:"权限组",tooltip:"可订阅到该节点的权限组"}),cell:({row:a})=>{const i=a.getValue("groups")||[];return e.jsx("div",{className:"flex max-w-[600px] flex-wrap items-center gap-1.5",children:i.length>0?i.map((j,n)=>e.jsx(R,{variant:"secondary",className:O("px-2 py-0.5 font-medium","bg-secondary/50 hover:bg-secondary/70","border border-border/50","transition-all duration-200","cursor-default select-none","flex items-center gap-1.5"),children:j.name},n)):e.jsx("span",{className:"text-sm text-muted-foreground",children:"--"})})},enableSorting:!1,size:600,filterFn:(a,i,j)=>{const n=a.getValue(i);return n?j.some(d=>n.includes(d)):!1}},{accessorKey:"type",header:({column:a})=>e.jsx(L,{column:a,title:"类型"}),cell:({row:a})=>e.jsx(R,{variant:"outline",className:"border-2 font-medium transition-colors",style:{borderColor:B[a.getValue("type")]},children:a.getValue("type")}),enableSorting:!1,enableHiding:!0,enableColumnFilter:!1,size:8e3},{id:"actions",header:({column:a})=>e.jsx(L,{className:"justify-end",column:a,title:"操作"}),cell:({row:a})=>e.jsx("div",{className:"flex justify-end",children:e.jsxs(de,{modal:!1,children:[e.jsx(xe,{asChild:!0,children:e.jsx(z,{variant:"ghost",className:"h-8 w-8 p-0 hover:bg-muted","aria-label":"打开操作菜单",children:e.jsx(ms,{className:"size-4"})})}),e.jsxs(he,{align:"end",className:"w-40",children:[e.jsx(se,{className:"cursor-pointer",onSelect:i=>i.preventDefault(),children:e.jsx(we,{refetch:t,type:a.original.type,defaultFormValues:{...a.original,rate:a.original.rate.toString(),parent_id:a.original.parent_id?.toString()??null},fetchNodeList:t,dialogTrigger:e.jsxs("div",{className:"flex w-full items-center",children:[e.jsx(gs,{className:"mr-2 size-4"}),"编辑"]})})}),e.jsxs(se,{className:"cursor-pointer",onClick:async()=>{try{await ss({id:a.original.id}),P.success("复制成功"),t()}catch{P.error("复制失败")}},children:[e.jsx(ps,{className:"mr-2 size-4"}),"复制"]}),e.jsx(ze,{}),e.jsx(se,{className:"cursor-pointer text-destructive focus:text-destructive",onSelect:i=>i.preventDefault(),children:e.jsx(ds,{title:"确认删除",description:"此操作将永久删除该节点,删除后无法恢复。确定要继续吗?",confirmText:"删除",variant:"destructive",onConfirm:async()=>{rs({id:a.original.id}).then(({data:i})=>{i&&(P.success("删除成功"),t())})},children:e.jsxs("div",{className:"flex w-full items-center",children:[e.jsx(us,{className:"mr-2 size-4"}),"删除"]})})})]})]})}),size:50}];function Cs(){const[t,a]=v.useState([]),[i,j]=v.useState([]),[n,d]=v.useState(!1),[p,w]=v.useState([]),[g,S]=v.useState({"drag-handle":!1}),{refetch:F}=js({queryKey:["nodeList"],queryFn:async()=>{const{data:r}=await ye();return w(r),r}}),H=v.useMemo(()=>{const r=new Set;return p.forEach(s=>{s.groups&&s.groups.forEach(c=>r.add(c))}),Array.from(r).sort()},[p]);v.useEffect(()=>{S({"drag-handle":n,type:!1,show:!n,name:!0,host:!n,online:!n,rate:!n,groups:!n,actions:!n})},[n]);const I=(r,s)=>{n&&(r.dataTransfer.setData("text/plain",s.toString()),r.currentTarget.classList.add("opacity-50"))},M=(r,s)=>{if(!n)return;r.preventDefault(),r.currentTarget.classList.remove("bg-muted");const c=parseInt(r.dataTransfer.getData("text/plain"));if(c===s)return;const o=[...p],[y]=o.splice(c,1);o.splice(s,0,y),w(o)},f=async()=>{if(n)try{const r=p.map((s,c)=>({id:s.id,order:c}));await as(r),await F(),d(!1),P.success("排序保存成功")}catch{P.error("排序保存失败")}else d(!0)},E=Oe({data:p,columns:ws(F),state:{sorting:i,columnFilters:t,columnVisibility:g},onSortingChange:j,onColumnFiltersChange:a,onColumnVisibilityChange:S,getCoreRowModel:He(),getFilteredRowModel:Ee(),getPaginationRowModel:Ge(),getSortedRowModel:Be(),initialState:{columnPinning:{right:["actions"]}}});return e.jsx(Re,{table:E,toolbar:r=>e.jsx(bs,{table:r,refetch:F,saveOrder:f,isSortMode:n,groups:H}),draggable:n,onDragStart:I,onDragEnd:r=>r.currentTarget.classList.remove("opacity-50"),onDragOver:r=>{r.preventDefault(),r.currentTarget.classList.add("bg-muted")},onDragLeave:r=>r.currentTarget.classList.remove("bg-muted"),onDrop:M,showPagination:!n})}function ir(){return e.jsxs(Ie,{children:[e.jsxs(Le,{children:[e.jsx(De,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(Te,{}),e.jsx(Fe,{})]})]}),e.jsxs(Me,{className:"flex flex-col",fixedHeight:!0,children:[e.jsx("div",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:"节点管理"}),e.jsx("p",{className:"text-muted-foreground mt-2",children:"管理所有节点,包括添加、删除、编辑等操作。"})]})}),e.jsx("div",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx(Cs,{})})]})]})}export{ir as default}; diff --git a/public/assets/admin/assets/index-DEmkjojo.js b/public/assets/admin/assets/index-DEmkjojo.js deleted file mode 100644 index c164d8c58..000000000 --- a/public/assets/admin/assets/index-DEmkjojo.js +++ /dev/null @@ -1 +0,0 @@ -import{r as m,j as e,B as x,t as N,a as T}from"./index-_xd8OyP8.js";import{C as R,a as B,b as H,d as O,e as z,f as V,g as A,S as U,T as q,U as G}from"./user-nav-BBmBVa03.js";import{L as _,f as J,g as Q}from"./sidelinks-DLs_k-Mk.js";import{B as y,D as g,u as W,a as X,g as $,b as Y,c as Z,d as ee}from"./column-header-BLyyjrhJ.js";import{b as se,c as ae,a as re,D as te,P as le}from"./react-icons.esm-rZq2pt7A.js";import{I as D}from"./input-d0vtE30O.js";import{B as ne,C as ie,D as oe,E as ce,F as de,G as me}from"./index-BycJudEO.js";import{D as xe,e as ue,a as he,b as ge,c as je,d as fe,f as pe,g as ve}from"./button-DhrtVlOa.js";import{u as ye,F as Ce,a as j,b as f,c as p,d as v,e as w}from"./form-DIzSOdtk.js";import{z as h,t as we}from"./zod-x_8lkCGK.js";import{S as I}from"./switch-w5WyeRwk.js";import{S as Ne,a as be,b as Se,c as De,d as Fe}from"./select-Cqkdx-UJ.js";import{M as Te,E as ze}from"./index-hFh1_zyo.js";import{P as Ve,a as Ie,b as ke}from"./popover-C5eiPdqD.js";import{S as Le}from"./separator-lX8UNwTG.js";import{C as Ee}from"./confirm-dialog-CHz9pK2w.js";import{T as Ke}from"./trash-2-lI1I6nfk.js";import{u as Me}from"./useQuery-mr7Ep0hT.js";import"./index-CcyXqhZ9.js";import"./index-BwSRHYe4.js";import"./index-CX6PQ3zO.js";import"./index-BlMNiBlp.js";import"./IconTicket-COhvkaJH.js";import"./tooltip-B58e4dA7.js";import"./index-kwEAqj-e.js";import"./arrow-up-9fLptvj0.js";import"./clipboard-YH5zrf5X.js";import"./index-CRh0M8qI.js";import"./index-DScOlCGV.js";const Pe=h.object({id:h.number().nullable(),language:h.string().max(250),category:h.string().max(250),title:h.string().min(1).max(250),body:h.string().min(1),show:h.boolean()}),Re={id:null,language:"zh-CN",category:"",title:"",body:"",show:!1};function k({refreshData:l,dialogTrigger:d,type:s="add",defaultFormValues:n=Re}){const[a,r]=m.useState(!1),o=ye({resolver:we(Pe),defaultValues:n,mode:"onChange",shouldFocusError:!0}),u=new Te({html:!0});return m.useEffect(()=>{a&&n.id&&ne(n.id).then(({data:i})=>{o.reset(i)})},[n.id,o,a]),e.jsxs(xe,{onOpenChange:r,open:a,children:[e.jsx(ue,{asChild:!0,children:d||e.jsx(x,{variant:"outline",children:"添加知识"})}),e.jsxs(he,{className:"sm:max-w-[1025px]",children:[e.jsxs(ge,{children:[e.jsx(je,{children:s==="add"?"添加知识":"编辑知识"}),e.jsx(fe,{})]}),e.jsxs(Ce,{...o,children:[e.jsx(j,{control:o.control,name:"title",render:({field:i})=>e.jsxs(f,{children:[e.jsx(p,{children:"标题"}),e.jsx("div",{className:"relative ",children:e.jsx(v,{children:e.jsx(D,{placeholder:"请输入知识标题",...i})})}),e.jsx(w,{})]})}),e.jsx(j,{control:o.control,name:"category",render:({field:i})=>e.jsxs(f,{children:[e.jsx(p,{children:"分类"}),e.jsx("div",{className:"relative ",children:e.jsx(v,{children:e.jsx(D,{placeholder:"请输入分类,分类将会自动归类",...i})})}),e.jsx(w,{})]})}),e.jsx(j,{control:o.control,name:"language",render:({field:i})=>e.jsxs(f,{children:[e.jsx(p,{children:"语言"}),e.jsx(v,{children:e.jsxs(Ne,{value:i.value,onValueChange:i.onChange,children:[e.jsx(be,{children:e.jsx(Se,{placeholder:"请选择语言"})}),e.jsx(De,{children:[{field:"English",value:"en-US"},{field:"日本語",value:"ja-JP"},{field:"한국어",value:"ko-KR"},{field:"Tiếng Việt",value:"vi-VN"},{field:"简体中文",value:"zh-CN"},{field:"繁體中文",value:"zh-TW"}].map(c=>e.jsx(Fe,{value:c.value,className:"cursor-pointer",children:c.field},c.value))})]})})]})}),e.jsx(j,{control:o.control,name:"body",render:({field:i})=>e.jsxs(f,{children:[e.jsx(p,{children:"内容"}),e.jsx(v,{children:e.jsx(ze,{style:{height:"500px"},value:i.value,renderHTML:c=>u.render(c),onChange:({text:c})=>{i.onChange(c)}})}),e.jsx(w,{})]})}),e.jsx(j,{control:o.control,name:"show",render:({field:i})=>e.jsxs(f,{children:[e.jsx(p,{children:"显示"}),e.jsx("div",{className:"relative py-2",children:e.jsx(v,{children:e.jsx(I,{checked:i.value,onCheckedChange:i.onChange})})}),e.jsx(w,{})]})}),e.jsxs(pe,{children:[e.jsx(ve,{asChild:!0,children:e.jsx(x,{type:"button",variant:"outline",children:"取消"})}),e.jsx(x,{type:"submit",onClick:()=>{o.handleSubmit(i=>{ie(i).then(({data:c})=>{c&&(o.reset(),N.success("操作成功"),r(!1),l())})})()},children:"提交"})]})]})]})]})}function Be({column:l,title:d,options:s}){const n=l?.getFacetedUniqueValues(),a=new Set(l?.getFilterValue());return e.jsxs(Ve,{children:[e.jsx(Ie,{asChild:!0,children:e.jsxs(x,{variant:"outline",size:"sm",className:"h-8 border-dashed",children:[e.jsx(se,{className:"mr-2 h-4 w-4"}),d,a?.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(Le,{orientation:"vertical",className:"mx-2 h-4"}),e.jsx(y,{variant:"secondary",className:"rounded-sm px-1 font-normal lg:hidden",children:a.size}),e.jsx("div",{className:"hidden space-x-1 lg:flex",children:a.size>2?e.jsxs(y,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:[a.size," selected"]}):s.filter(r=>a.has(r.value)).map(r=>e.jsx(y,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:r.label},r.value))})]})]})}),e.jsx(ke,{className:"w-[200px] p-0",align:"start",children:e.jsxs(R,{children:[e.jsx(B,{placeholder:d}),e.jsxs(H,{children:[e.jsx(O,{children:"No results found."}),e.jsx(z,{children:s.map(r=>{const o=a.has(r.value);return e.jsxs(V,{onSelect:()=>{o?a.delete(r.value):a.add(r.value);const u=Array.from(a);l?.setFilterValue(u.length?u:void 0)},children:[e.jsx("div",{className:T("mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary",o?"bg-primary text-primary-foreground":"opacity-50 [&_svg]:invisible"),children:e.jsx(ae,{className:T("h-4 w-4")})}),r.icon&&e.jsx(r.icon,{className:"mr-2 h-4 w-4 text-muted-foreground"}),e.jsx("span",{children:r.label}),n?.get(r.value)&&e.jsx("span",{className:"ml-auto flex h-4 w-4 items-center justify-center font-mono text-xs",children:n.get(r.value)})]},r.value)})}),a.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(A,{}),e.jsx(z,{children:e.jsx(V,{onSelect:()=>l?.setFilterValue(void 0),className:"justify-center text-center",children:"Clear filters"})})]})]})]})})]})}function He({table:l,refetch:d,saveOrder:s,isSortMode:n}){const a=l.getState().columnFilters.length>0;return e.jsxs("div",{className:"flex items-center justify-between",children:[n?e.jsx("p",{className:"text-sm text-muted-foreground",children:"拖拽知识条目进行排序,完成后点击保存"}):e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx(D,{placeholder:"搜索知识...",value:l.getColumn("title")?.getFilterValue()??"",onChange:r=>l.getColumn("title")?.setFilterValue(r.target.value),className:"h-9 w-[250px]"}),l.getColumn("category")&&e.jsx(Be,{column:l.getColumn("category"),title:"分类",options:Array.from(new Set(l.getCoreRowModel().rows.map(r=>r.getValue("category")))).map(r=>({label:r,value:r}))}),a&&e.jsxs(x,{variant:"ghost",onClick:()=>l.resetColumnFilters(),children:["重置",e.jsx(re,{className:"ml-2 h-4 w-4"})]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[!n&&e.jsx(k,{refreshData:d}),e.jsx(x,{variant:n?"default":"outline",onClick:s,children:n?"保存排序":"编辑排序"})]})]})}const Oe=({refetch:l,isSortMode:d=!1})=>[{id:"drag-handle",header:()=>null,cell:()=>e.jsx("div",{className:d?"cursor-move":"opacity-0",children:e.jsx(te,{className:"size-4"})}),size:40,enableSorting:!1},{accessorKey:"id",header:({column:s})=>e.jsx(g,{column:s,title:"ID"}),cell:({row:s})=>e.jsx(y,{variant:"outline",className:"justify-center",children:s.getValue("id")}),enableSorting:!0,size:70},{accessorKey:"show",header:({column:s})=>e.jsx(g,{column:s,title:"状态"}),cell:({row:s})=>e.jsx("div",{className:"flex items-center",children:e.jsx(I,{defaultChecked:s.getValue("show"),onCheckedChange:async()=>{oe({id:s.original.id}).then(({data:n})=>{n||l()})}})}),enableSorting:!1,size:100},{accessorKey:"title",header:({column:s})=>e.jsx(g,{column:s,title:"标题"}),cell:({row:s})=>e.jsx("div",{className:"flex space-x-2",children:e.jsx("span",{className:"line-clamp-2 font-medium",children:s.getValue("title")})}),enableSorting:!0,size:600},{accessorKey:"category",header:({column:s})=>e.jsx(g,{column:s,title:"分类"}),cell:({row:s})=>e.jsx(y,{variant:"secondary",className:"max-w-[180px] truncate",children:s.getValue("category")}),enableSorting:!0,size:1800},{id:"actions",header:({column:s})=>e.jsx(g,{className:"justify-end",column:s,title:"操作"}),cell:({row:s})=>e.jsxs("div",{className:"flex items-center justify-end space-x-1",children:[e.jsx(k,{refreshData:l,dialogTrigger:e.jsxs(x,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-muted",children:[e.jsx(le,{className:"h-4 w-4 text-muted-foreground hover:text-foreground"}),e.jsx("span",{className:"sr-only",children:"编辑"})]}),type:"edit",defaultFormValues:s.original}),e.jsx(Ee,{title:"确认删除",description:"此操作将永久删除该知识库记录,删除后无法恢复。确定要继续吗?",confirmText:"删除",variant:"destructive",onConfirm:async()=>{ce({id:s.original.id}).then(({data:n})=>{n&&(N.success("删除成功"),l())})},children:e.jsxs(x,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-red-100 dark:hover:bg-red-900",children:[e.jsx(Ke,{className:"h-4 w-4 text-muted-foreground hover:text-red-600 dark:hover:text-red-400"}),e.jsx("span",{className:"sr-only",children:"删除"})]})})]}),size:100}];function Ae(){const[l,d]=m.useState([]),[s,n]=m.useState([]),[a,r]=m.useState(!1),[o,u]=m.useState([]),[i,c]=m.useState({"drag-handle":!1}),{refetch:b,isLoading:Ue,data:qe}=Me({queryKey:["knowledge"],queryFn:async()=>{const{data:t}=await de();return u(t||[]),t}});m.useEffect(()=>{c({"drag-handle":a})},[a]);const L=(t,C)=>{a&&(t.dataTransfer.setData("text/plain",C.toString()),t.currentTarget.classList.add("opacity-50"))},E=(t,C)=>{if(!a)return;t.preventDefault(),t.currentTarget.classList.remove("bg-muted");const F=parseInt(t.dataTransfer.getData("text/plain"));if(F===C)return;const S=[...o],[P]=S.splice(F,1);S.splice(C,0,P),u(S)},K=async()=>{if(a)try{await me({ids:o.map(t=>t.id)}),await b(),r(!1),N.success("排序保存成功")}catch{N.error("排序保存失败")}else r(!0)},M=W({data:o,columns:Oe({refetch:b,isSortMode:a}),state:{sorting:s,columnFilters:l,columnVisibility:i},onSortingChange:n,onColumnFiltersChange:d,onColumnVisibilityChange:c,getCoreRowModel:$(),getFilteredRowModel:Y(),getPaginationRowModel:Z(),getSortedRowModel:ee(),pagination:a?{pageSize:Number.MAX_SAFE_INTEGER,pageIndex:0}:void 0,initialState:{columnPinning:{right:["actions"]}}});return e.jsx(X,{table:M,toolbar:t=>e.jsx(He,{table:t,refetch:b,saveOrder:K,isSortMode:a}),draggable:a,onDragStart:L,onDragEnd:t=>t.currentTarget.classList.remove("opacity-50"),onDragOver:t=>{t.preventDefault(),t.currentTarget.classList.add("bg-muted")},onDragLeave:t=>t.currentTarget.classList.remove("bg-muted"),onDrop:E,showPagination:!a})}function ys(){return e.jsxs(_,{children:[e.jsxs(J,{children:[e.jsx(U,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(q,{}),e.jsx(G,{})]})]}),e.jsxs(Q,{className:"flex flex-col",fixedHeight:!0,children:[e.jsx("div",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold tracking-tight mb-2",children:"知识库管理"}),e.jsx("p",{className:"text-muted-foreground",children:"在这里可以配置知识库,包括添加、删除、编辑等操作。"})]})}),e.jsx("div",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx(Ae,{})})]})]})}export{ys as default}; diff --git a/public/assets/admin/assets/index-DScOlCGV.js b/public/assets/admin/assets/index-DScOlCGV.js deleted file mode 100644 index 3b14b2745..000000000 --- a/public/assets/admin/assets/index-DScOlCGV.js +++ /dev/null @@ -1 +0,0 @@ -import{i as d}from"./index-_xd8OyP8.js";var m={exports:{}};(function(w){var g=Object.prototype.hasOwnProperty,u="~";function h(){}Object.create&&(h.prototype=Object.create(null),new h().__proto__||(u=!1));function E(s,t,n){this.fn=s,this.context=t,this.once=n||!1}function x(s,t,n,r,l){if(typeof n!="function")throw new TypeError("The listener must be a function");var c=new E(n,r||s,l),o=u?u+t:t;return s._events[o]?s._events[o].fn?s._events[o]=[s._events[o],c]:s._events[o].push(c):(s._events[o]=c,s._eventsCount++),s}function y(s,t){--s._eventsCount===0?s._events=new h:delete s._events[t]}function f(){this._events=new h,this._eventsCount=0}f.prototype.eventNames=function(){var t=[],n,r;if(this._eventsCount===0)return t;for(r in n=this._events)g.call(n,r)&&t.push(u?r.slice(1):r);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(n)):t},f.prototype.listeners=function(t){var n=u?u+t:t,r=this._events[n];if(!r)return[];if(r.fn)return[r.fn];for(var l=0,c=r.length,o=new Array(c);ll===""?null:l).nullable(),register_limit_expire:r.coerce.string().transform(l=>l===""?null:l).nullable(),password_limit_enable:r.boolean().nullable(),password_limit_count:r.coerce.string().transform(l=>l===""?null:l).nullable(),password_limit_expire:r.coerce.string().transform(l=>l===""?null:l).nullable()}),F={email_verify:!1,safe_mode_enable:!1,secure_path:"",email_whitelist_enable:!1,email_whitelist_suffix:[],email_gmail_limit_enable:!1,recaptcha_enable:!1,recaptcha_key:"",recaptcha_site_key:"",register_limit_by_ip_enable:!1,register_limit_count:"",register_limit_expire:"",password_limit_enable:!1,password_limit_count:"",password_limit_expire:""};function I(){const l=C({resolver:f(S),defaultValues:F,mode:"onChange"}),{data:x}=v({queryKey:["settings","safe"],queryFn:()=>N("safe")});p.useEffect(()=>{if(x?.data.safe){const s=x.data.safe;Object.entries(s).forEach(([h,j])=>{typeof j=="number"?l.setValue(h,String(j)):l.setValue(h,j)})}},[x,l]);function _(s){k(s).then(({data:h})=>{h&&b.success("保存成功")})}return e.jsx(y,{...l,children:e.jsxs("form",{onSubmit:l.handleSubmit(_),className:"space-y-8",children:[e.jsx(a,{control:l.control,name:"email_verify",render:({field:s})=>e.jsxs(n,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(i,{className:"text-base",children:"邮箱验证"}),e.jsx(c,{children:"开启后将会强制要求用户进行邮箱验证。"})]}),e.jsx(t,{children:e.jsx(m,{checked:s.value,onCheckedChange:s.onChange})})]})}),e.jsx(a,{control:l.control,name:"email_gmail_limit_enable",render:({field:s})=>e.jsxs(n,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(i,{className:"text-base",children:"禁止使用Gmail多别名"}),e.jsx(c,{children:"开启后Gmail多别名将无法注册。"})]}),e.jsx(t,{children:e.jsx(m,{checked:s.value,onCheckedChange:s.onChange})})]})}),e.jsx(a,{control:l.control,name:"safe_mode_enable",render:({field:s})=>e.jsxs(n,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(i,{className:"text-base",children:"安全模式"}),e.jsx(c,{children:"开启后除了站点URL以外的绑定本站点的域名访问都将会被403。"})]}),e.jsx(t,{children:e.jsx(m,{checked:s.value,onCheckedChange:s.onChange})})]})}),e.jsx(a,{control:l.control,name:"secure_path",render:({field:s})=>e.jsxs(n,{children:[e.jsx(i,{children:"后台路径"}),e.jsx(t,{children:e.jsx(d,{placeholder:"admin",...s})}),e.jsx(c,{children:"后台管理路径,修改后将会改变原有的admin路径"}),e.jsx(o,{})]})}),e.jsx(a,{control:l.control,name:"email_whitelist_enable",render:({field:s})=>e.jsxs(n,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(i,{className:"text-base",children:"邮箱后缀白名单"}),e.jsx(c,{children:"开启后在名单中的邮箱后缀才允许进行注册。"})]}),e.jsx(t,{children:e.jsx(m,{checked:s.value,onCheckedChange:s.onChange})})]})}),l.watch("email_whitelist_enable")&&e.jsx(a,{control:l.control,name:"email_whitelist_suffix",render:({field:s})=>e.jsxs(n,{children:[e.jsx(i,{children:"白名单后缀"}),e.jsx(t,{children:e.jsx(w,{placeholder:"请输入后缀域名,逗号分割 如:qq.com,gmail.com",value:s.value?.length&&s.value.join(","),onChange:h=>{h.target.value&&s.onChange(h.target.value.split(","))}})}),e.jsx(c,{children:"请使用逗号进行分割,如:qq.com,gmail.com。"}),e.jsx(o,{})]})}),e.jsx(a,{control:l.control,name:"recaptcha_enable",render:({field:s})=>e.jsxs(n,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(i,{className:"text-base",children:"防机器人"}),e.jsx(c,{children:"开启后将会使用Google reCAPTCHA防止机器人。"})]}),e.jsx(t,{children:e.jsx(m,{checked:s.value,onCheckedChange:s.onChange})})]})}),l.watch("recaptcha_enable")&&e.jsx(a,{control:l.control,name:"recaptcha_key",render:({field:s})=>e.jsxs(n,{children:[e.jsx(i,{children:"密钥"}),e.jsx(t,{children:e.jsx(d,{placeholder:"请输入",...s})}),e.jsx(c,{children:"在Google reCAPTCHA申请的密钥。"}),e.jsx(o,{})]})}),l.watch("recaptcha_enable")&&e.jsx(a,{control:l.control,name:"recaptcha_site_key",render:({field:s})=>e.jsxs(n,{children:[e.jsx(i,{children:"网站密钥"}),e.jsx(t,{children:e.jsx(d,{placeholder:"请输入",...s})}),e.jsx(c,{children:"在Google reCAPTCH申请的网站密钥。"}),e.jsx(o,{})]})}),e.jsx(a,{control:l.control,name:"register_limit_by_ip_enable",render:({field:s})=>e.jsxs(n,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(i,{className:"text-base",children:"IP注册限制"}),e.jsx(c,{children:"开启后如果IP注册账户达到规则要求将会被限制注册,请注意IP判断可能因为CDN或前置代理导致问题。"})]}),e.jsx(t,{children:e.jsx(m,{checked:s.value,onCheckedChange:s.onChange})})]})}),l.watch("register_limit_by_ip_enable")&&e.jsx(a,{control:l.control,name:"register_limit_count",render:({field:s})=>e.jsxs(n,{children:[e.jsx(i,{children:"次数"}),e.jsx(t,{children:e.jsx(d,{placeholder:"请输入",...s})}),e.jsx(c,{children:"达到注册次数后开启惩罚。"}),e.jsx(o,{})]})}),l.watch("register_limit_by_ip_enable")&&e.jsx(a,{control:l.control,name:"register_limit_expire",render:({field:s})=>e.jsxs(n,{children:[e.jsx(i,{children:"惩罚时间(分钟)"}),e.jsx(t,{children:e.jsx(d,{placeholder:"请输入",...s})}),e.jsx(c,{children:"需要等待惩罚时间过后才可以再次注册。"}),e.jsx(o,{})]})}),e.jsx(a,{control:l.control,name:"password_limit_enable",render:({field:s})=>e.jsxs(n,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(i,{className:"text-base",children:"IP注册限制"}),e.jsx(c,{children:"开启后如果IP注册账户达到规则要求将会被限制注册,请注意IP判断可能因为CDN或前置代理导致问题。"})]}),e.jsx(t,{children:e.jsx(m,{checked:s.value,onCheckedChange:s.onChange})})]})}),l.watch("password_limit_enable")&&e.jsx(a,{control:l.control,name:"password_limit_count",render:({field:s})=>e.jsxs(n,{children:[e.jsx(i,{children:"次数"}),e.jsx(t,{children:e.jsx(d,{placeholder:"请输入",...s})}),e.jsx(c,{children:"达到注册次数后开启惩罚。"}),e.jsx(o,{})]})}),l.watch("password_limit_enable")&&e.jsx(a,{control:l.control,name:"password_limit_expire",render:({field:s})=>e.jsxs(n,{children:[e.jsx(i,{children:"惩罚时间(分钟)"}),e.jsx(t,{children:e.jsx(d,{placeholder:"请输入",...s})}),e.jsx(c,{children:"需要等待惩罚时间过后才可以再次登陆。"}),e.jsx(o,{})]})}),e.jsx(u,{type:"submit",children:"保存配置"})]})})}function M(){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:"安全设置"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"配置系统安全相关选项,包括登录验证、密码策略、API访问等安全设置。"})]}),e.jsx(g,{}),e.jsx(I,{})]})}export{M as default}; diff --git a/public/assets/admin/assets/index-DammVlxs.css b/public/assets/admin/assets/index-DammVlxs.css deleted file mode 100644 index 7f7f8d870..000000000 --- a/public/assets/admin/assets/index-DammVlxs.css +++ /dev/null @@ -1 +0,0 @@ -@font-face{font-family:rmel-iconfont;src:url(data:application/vnd.ms-fontobject;base64,fBkAAMAYAAABAAIAAAAAAAIABQMAAAAAAAABAJABAAAAAExQAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAB9vj4gAAAAAAAAAAAAAAAAAAAAAAABoAcgBtAGUAbAAtAGkAYwBvAG4AZgBvAG4AdAAAAA4AUgBlAGcAdQBsAGEAcgAAABYAVgBlAHIAcwBpAG8AbgAgADEALgAwAAAAGgByAG0AZQBsAC0AaQBjAG8AbgBmAG8AbgB0AAAAAAAAAQAAAAsAgAADADBHU1VCsP6z7QAAATgAAABCT1MvMj3jT5QAAAF8AAAAVmNtYXBA5I9dAAACPAAAAwhnbHlmMImhbQAABXwAAA9gaGVhZBtQ+k8AAADgAAAANmhoZWEH3gObAAAAvAAAACRobXR4aAAAAAAAAdQAAABobG9jYTX6MgAAAAVEAAAANm1heHABMAB7AAABGAAAACBuYW1lc9ztwgAAFNwAAAKpcG9zdCcpv64AABeIAAABNQABAAADgP+AAFwEAAAAAAAEAAABAAAAAAAAAAAAAAAAAAAAGgABAAAAAQAA4uPbB18PPPUACwQAAAAAANwY2ykAAAAA3BjbKQAA//8EAAMBAAAACAACAAAAAAAAAAEAAAAaAG8ADAAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAQAAAAoAHgAsAAFERkxUAAgABAAAAAAAAAABAAAAAWxpZ2EACAAAAAEAAAABAAQABAAAAAEACAABAAYAAAABAAAAAAABBAABkAAFAAgCiQLMAAAAjwKJAswAAAHrADIBCAAAAgAFAwAAAAAAAAAAAAAAAAAAAAAAAAAAAABQZkVkAEDnbe2iA4D/gABcA4AAgAAAAAEAAAAAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAAAAAUAAAADAAAALAAAAAQAAAHMAAEAAAAAAMYAAwABAAAALAADAAoAAAHMAAQAmgAAABYAEAADAAbnbelB7TztRe1h7XXteO2A7Y3tov//AADnbelB7TvtRO1f7W/td+2A7Yztn///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAWABYAFgAYABoAHgAqACwALAAuAAAAAQAEAAUAAwAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAAgAUABUAFgAXABgAGQAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAABPAAAAAAAAAAZAADnbQAA520AAAABAADpQQAA6UEAAAAEAADtOwAA7TsAAAAFAADtPAAA7TwAAAADAADtRAAA7UQAAAAGAADtRQAA7UUAAAAHAADtXwAA7V8AAAAIAADtYAAA7WAAAAAJAADtYQAA7WEAAAAKAADtbwAA7W8AAAALAADtcAAA7XAAAAAMAADtcQAA7XEAAAANAADtcgAA7XIAAAAOAADtcwAA7XMAAAAPAADtdAAA7XQAAAAQAADtdQAA7XUAAAARAADtdwAA7XcAAAASAADteAAA7XgAAAATAADtgAAA7YAAAAACAADtjAAA7YwAAAAUAADtjQAA7Y0AAAAVAADtnwAA7Z8AAAAWAADtoAAA7aAAAAAXAADtoQAA7aEAAAAYAADtogAA7aIAAAAZAAAAAABmAMwBHgGEAbwB/gJmAsgC/gM0A3IDogRABKgE7gUuBXAFygYKBmoGpAbEBugHRgewAAAABQAAAAADVgLWAAsAGAAlADQAQAAAEyEyFhQGByEuATQ2Fz4BNyEeARQGIyEiJgM0NjchHgEUBiMhIiY3PgEzITIeARQOASMhIiYnFhQPAQYmNRE0NhfWAlQSGRkS/awSGRnaARgTAWASGRkS/qASGfQZEgJUEhkZEv2sEhnzARgTAWAMFAsLFAz+oBIZOQgIkgseHgsC1RklGAEBGCUZ8hMYAQEYJRkZ/oUTGAEBGCUZGdkSGQsVFxQMGoYGFgaVDAwRASoRDAwAAAAADAAAAAADqwKrAA8AEwAXABsAHwAjACcAMwA3ADsAPwBDAAABIQ4BBwMeARchPgE3ES4BBTMVIxUzFSMnMxUjFTMVKwI1MzUjNTMBISImNDYzITIWFAY3IzUzNSM1MxcjNTM1IzUzA1X9ViQwAQEBMSQCqiQxAQEx/lxWVlZWgFZWVlYqVlZWVgFV/wASGBgSAQASGBgZVlZWVoBWVlZWAqsBMST+ViQxAQExJAGqJDF/VipW1lYqVlYqVv6AGCQZGSQYqlYqVtZWKlYAAwAAAAADKwMAAA8AHwAzAAAlHgEXIT4BNxEuASchDgEHMyEyFhcRDgEHIS4BJxE+ASUnJisBIg8BIyIGFBYzITI2NCYjAQABMCQBViQwAQEwJP6qJDABgAEAExcBARcT/wATFwEBFwEoHgsStBILHmsTFxcTAgARGRkRVSQwAQEwJAGrJDABATAkFxT+qxEZAQEZEQFVFBfVHg0NHhcnFxcnFwADAAAAAAOrAtkAFgAtAD4AAAEVBg8BBiIvASY0PwEnJjQ/ATYyHwEWBTc2NC8BJiIPAQYHFRYfARYyPwE2NCcBJyYGBwMGFh8BFjY3EzYmJwOrAQmwBxEHHgYGk5MGBh4HEQewCf0PkwYGHwYSBrAJAQEJsAcRBx4GBgFCKQkPBOMCBwgoCQ8E4gMHCQGIEA0KsAYGHgcRBpOTBhIGHgYGsAoVkwYRBx4GBrAKDRANCrAGBh4GEgYB2Q8DBwj9jAgQAw4DBwgCcwgPBAACAAAAAAOaAm8AEAAhAAAlJzc2NCYiDwEGFB8BFjI2NCU3JyY0NjIfARYUDwEGIiY0AXOmpg0ZJAzEDQ3EDiEaAQ2mpg0aIQ7EDQ3EDiEa2qamDiEaDcQNIg3EDRohDqamDCQZDcQNIg3EDRkkAAAAAwAAAAADuAKsAAsAFwAjAAABDgEHHgEXPgE3LgEDLgEnPgE3HgEXDgEDDgEHHgEXPgE3LgECAJjrNTXrmJjrNTXrmFZwAgJwVlZwAgJwVjRDAQFDNDRDAQFDAqwCpIaGpAICpIaGpP4OAnBWVnACAnBWVnABPgFDNDRDAQFDNDRDAAAABQAAAAADgAKrAAsAFwAjADAAQAAAEyEyNjQmIyEiBhQWFyE+ATQmJyEOARQWEyEyNjQmIyEiBhQWJx4BFyE+ATQmJyEOASUhHgEXEQ4BByEuATURNDarAQATFxcT/wARGRkRAQATFxcT/wARGRkRAQATFxcT/wARGRkaARkRAQATFxcT/wARGQHUAQARGQEBGRH/ABMXFwEAFycXFycXqwEZIhkBARkiGQFVFycXFycX1RMXAQEXJhcBARcYARcT/gARGQEBGRECABMXAAAAAAMAAAAAA6sCVgAZACYAQAAAASMiBhQWOwEeARcOAQcjIgYUFjsBPgE3LgEFHgEXIT4BNCYnIQ4BFyMuASc+ATczMjY0JisBDgEHHgEXMzI2NCYC1YASGBgSgDdIAQFIN4ASGBgSgFt4AwN4/iUBGBIBABIYGBL/ABIYVYA3SAEBSDeAEhgYEoBbeAMDeFuAEhgYAlUYJBkBSTY2SQEZJBgCeFtbeNMSGAEBGCQYAQEYkgFJNjZJARkkGAJ4W1t4AhgkGQABAAAAAAOsAisAHgAAAS4BJw4BBwYWFxY2Nz4BNzIWFwcGFhczPgE3NS4BBwMSO5ZVh9Q4ChMXFCMJK6FnP28sURMTHu4SGAECMRYBvDQ6AQKJchcqCAYPElZpASslUhYxAgEYEu8dFBMAAAABAAAAAAOyAisAHgAAAQ4BBycmBgcVHgEXMz4BLwE+ATMeARceATc+AScuAQIUVZY7URYxAgEYEu4eFBNSLW8+Z6ErCSQTFxMKOdMCKwE6NFAUFB3vEhgBAjEWUiUrAWlWEg8GCCoXcokAAAADAAAAAAL1Ar8AFAAcACQAAAE+ATcuAScjDgEHER4BFyE+ATc0JiUzHgEUBgcjEyM1Mx4BFAYCkyEpAQJmTu8UGQEBGRQBB0lpAjT+1IgdJycdiJ+fnx0nJwGKF0QkTmYCARoT/d4TGgECYUk1UtkBJjsmAf7viQEmOyYAAQAAAAADEgK/ABwAAAEeARczAyMOARQWFzM+ATQmJyMTMz4BNCYnIw4BAaUBJh0hnDsdJiYd5B0mJh0hnDsdJiYd5B0mAnodJgH+lAEmOicBASc6JgEBbAEmOicBAScABgAAAAADlgLWAAsAFwAjAEEAUgBuAAABIT4BNCYnIQ4BFBYBIQ4BFBYXIT4BNCYDIQ4BFBYXIT4BNCYFIyIGFBY7ARUjIgYUFjsBFSMiBhQWOwEyNjc1LgEDMxUeATI2PQE0JisBIgYUFhcjIgYUFjsBBwYdARQWOwEyNjQmKwE3Nj0BLgEBawIAEhgYEv4AEhkZAhL+ABIZGRICABIYGBL+ABIZGRICABIYGP1YVQkMDAlAFQoLCwoVQAkMDAlVCgsBAQtfFQELEwwMCSsJDAxeVQkMDAk3RwUMCVUKCwsKN0gFAQsCVQEYJBgBARgkGP5VARgkGAEBGCQYAQEBGCQYAQEYJBjVDBIMFgwSDBYMEgwMCYAJDAHWawkMDAmACQwMEgzWDBIMVAYICQkMDBIMVAYICQkMAAAAAAYAAAAAA4sCwAAIABEAGgAmADIAPwAAEw4BFBYyNjQmAw4BFBYyNjQmAw4BFBYyNjQmFyE+ATQmJyEOARQWNyE+ATQmJyEOARQWAx4BFyE+ATQmJyEOAbUbJCQ3JCQcGyQkNyQkHBskJDYlJI8CABIYGBL+ABIYGBICABIYGBL+ABIYGBkBGBICABIYGBL+ABIYAcABJDYkJDYkAQEBJDYkJDYk/gEBJDYkJDYkagEYJBgBARgkGP8BGCQYAQEYJBgBKhIYAQEYJBgBARgAAAACAAAAAANWAlYAFgAtAAAlMjY/ATY9AS4BKwEiBh0BFBYXMwcGFgUyNj8BNj0BNCYrASIGBxUeARczBwYWATIRGwc9CQEYEqsSGBgSViwOIAHMEBsIPAkYEqsSGAEBGBJVLA0gqxEOeRIUwhIYGBKrEhgBWB4zAREOeRIUwhIYGBKrEhgBWB4zAAAAAAMAAAAAA4ACwAAIABkAJQAAJT4BNzUjFR4BAR4BFzMVMzUzPgE0JichDgEDIT4BNCYnIQ4BFBYCACQwAaoBMP75ASQblqqWGyQkG/4qGyQrAqoSGRkS/VYSGRlAATAkKyskMAI/GyQBgIABJDYkAQEk/noBGCQYAQEYJBgAAAAAAgAA//8DKwMBABsAKAAAJT4BNxEuASIGBxEUBgcGLgI1ES4BIgYHER4BBx4BMyEyNjQmIyEiBgIiYnoCAR4tHgFBNSFBNR0BHi0eAQOm1AEYEgIAEhgYEv4AEhitD5NlARcWHh4W/uQ3UwwHDys8IwEgFh4eFv7gdpR2EhkZJBgYAAAAAwAAAAADcALHAAsALQA5AAATIT4BNCYjISIGFBYFISIGFBYXITIWFxYGByM1LgEPAQYUHwEWNjc1Mz4BJy4BBSMiBhQWFzM+ATQmwAJVEhkZEv2rEhgYAgv+BxIYGBICBiAzBgUxKGABGQtMBgZMDBgBVU1iBQhk/m2rEhgYEqsSGBgCcQEYJBgYJBisGCQYAScgKTkCIg8KCkwHEQdMCgoPIgJrTkRV/xgkGAEBGCQYAAAAAgAAAAADlgLAABQAKAAAARQWFzMRHgEyNjcRMz4BNCYnIQ4BAzMVFBYyNjc1MzI2NCYnIQ4BFBYBayQclQEkNiQBlRwkJBz+VhwkwEAkNyQBQBskJBv/ABwkJAKAGyQB/kAbJCQbAcABJDYkAQEk/tDrGyQkG+skNyQBASQ3JAAKAAAAAAN4AvgADwAWABoAIQAlACkALQA0ADgAPwAAASEOAQcRHgEXIT4BNxEuAQEjIiY9ATM1IzUzNSM1NDY7ARMjNTM1IzUzNSM1MxMjNTMVFAY3IzUzNSM1MzIWFQMs/aggKgEBKiACWCAqAQEq/h5xDxaWlpaWFg9x4ZaWlpaWlrxxlhYWlpaWcQ8WAvcBKiD9qCAqAQEqIAJYICr9XhYPcUuWS3EPFv2olkuWS5b9qJZxDxbhlkuWFg8AAAACAAD//wOAAwAADwAgAAAlES4BJyEOAQcRHgEXIT4BJRc3NjIfARYGIyEiJj8BPgEDgAEwJP2qJDABATAkAlYkMP39WYUHFAeVCAwN/gEOCwhqBxRVAlYkMAEBMCT9qiQwAQEw+2yqCAnHCxcXC4kIAQAAAAEAAAAAAzUCNgAQAAABBwYUFjI/ARcWMjY0LwEmIgHZ/hAhLBHX1xEsIRD+EC4CJv4RLCEQ19cQISwR/hAAAAABAAAAAAM1AjYAEgAAAQcnJiciDgEWHwEWMj8BNjQuAQLW1tcQFxEbDQYM/hEsEf4QIS0CJtfXDwESICAM/hAQ/hAtIAEAAAAEAAAAAANrAusAEAAhADMARAAANzMVFBYyNj0BNCYrASIGFBYTIyIGFBY7ATI2PQE0JiIGFQEyNj0BMzI2NCYrASIGHQEUFhM1NCYiBh0BFBY7ATI2NCYjyWgeLB0dFpwWHR1+aBYdHRacFh0dLB4BahYeaBYdHRacFh0dSh4sHR0WnBYdHRaxaBYdHRacFh0dLB4Bnh4sHR0WnBYdHRb9Xx0WaB4sHR0WnBYdAjloFh0dFpwWHR0sHgAAAAQAAAAAA1QC1AARACMANABGAAATDgEHFR4BFzM+ATQmKwE1NCYnPgE9ATMyNjQmJyMOAQcVHgEBIyIGFBYXMz4BNzUuASIGFQMeATsBFRQWMjY3NS4BJyMOAd0VGwEBGxWRFRsbFWEcFBQcYRUbGxWRFRsBARsCK2EVGxsVkRUbAQEbKRySARsVYRwpGwEBGxWRFRsBHwEbFZEVGwEBGykcYRUbwwEbFWEcKRsBARsVkRUb/qscKRsBARsVkRUbGxUBtRQcYRUbGxWRFRsBARsAAAAAAAASAN4AAQAAAAAAAAAVAAAAAQAAAAAAAQANABUAAQAAAAAAAgAHACIAAQAAAAAAAwANACkAAQAAAAAABAANADYAAQAAAAAABQALAEMAAQAAAAAABgANAE4AAQAAAAAACgArAFsAAQAAAAAACwATAIYAAwABBAkAAAAqAJkAAwABBAkAAQAaAMMAAwABBAkAAgAOAN0AAwABBAkAAwAaAOsAAwABBAkABAAaAQUAAwABBAkABQAWAR8AAwABBAkABgAaATUAAwABBAkACgBWAU8AAwABBAkACwAmAaUKQ3JlYXRlZCBieSBpY29uZm9udApybWVsLWljb25mb250UmVndWxhcnJtZWwtaWNvbmZvbnRybWVsLWljb25mb250VmVyc2lvbiAxLjBybWVsLWljb25mb250R2VuZXJhdGVkIGJ5IHN2ZzJ0dGYgZnJvbSBGb250ZWxsbyBwcm9qZWN0Lmh0dHA6Ly9mb250ZWxsby5jb20ACgBDAHIAZQBhAHQAZQBkACAAYgB5ACAAaQBjAG8AbgBmAG8AbgB0AAoAcgBtAGUAbAAtAGkAYwBvAG4AZgBvAG4AdABSAGUAZwB1AGwAYQByAHIAbQBlAGwALQBpAGMAbwBuAGYAbwBuAHQAcgBtAGUAbAAtAGkAYwBvAG4AZgBvAG4AdABWAGUAcgBzAGkAbwBuACAAMQAuADAAcgBtAGUAbAAtAGkAYwBvAG4AZgBvAG4AdABHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAQIBAwEEAQUBBgEHAQgBCQEKAQsBDAENAQ4BDwEQAREBEgETARQBFQEWARcBGAEZARoBGwADdGFiCGtleWJvYXJkBmRlbGV0ZQpjb2RlLWJsb2NrBGNvZGUKdmlzaWJpbGl0eQp2aWV3LXNwbGl0BGxpbmsEcmVkbwR1bmRvBGJvbGQGaXRhbGljDGxpc3Qtb3JkZXJlZA5saXN0LXVub3JkZXJlZAVxdW90ZQ1zdHJpa2V0aHJvdWdoCXVuZGVybGluZQR3cmFwCWZvbnQtc2l6ZQRncmlkBWltYWdlC2V4cGFuZC1sZXNzC2V4cGFuZC1tb3JlD2Z1bGxzY3JlZW4tZXhpdApmdWxsc2NyZWVuAAAAAAA=);src:url(data:font/ttf;base64,AAEAAAALAIAAAwAwR1NVQrD+s+0AAAE4AAAAQk9TLzI940+UAAABfAAAAFZjbWFwQOSPXQAAAjwAAAMIZ2x5ZjCJoW0AAAV8AAAPYGhlYWQbUPpPAAAA4AAAADZoaGVhB94DmwAAALwAAAAkaG10eGgAAAAAAAHUAAAAaGxvY2E1+jIAAAAFRAAAADZtYXhwATAAewAAARgAAAAgbmFtZXPc7cIAABTcAAACqXBvc3QnKb+uAAAXiAAAATUAAQAAA4D/gABcBAAAAAAABAAAAQAAAAAAAAAAAAAAAAAAABoAAQAAAAEAAOLjgrdfDzz1AAsEAAAAAADcGNspAAAAANwY2ykAAP//BAADAQAAAAgAAgAAAAAAAAABAAAAGgBvAAwAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKAB4ALAABREZMVAAIAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAAAAQQAAZAABQAIAokCzAAAAI8CiQLMAAAB6wAyAQgAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA523togOA/4AAXAOAAIAAAAABAAAAAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAAAAAFAAAAAwAAACwAAAAEAAABzAABAAAAAADGAAMAAQAAACwAAwAKAAABzAAEAJoAAAAWABAAAwAG523pQe087UXtYe117XjtgO2N7aL//wAA523pQe077UTtX+1v7XftgO2M7Z///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAFgAWABYAGAAaAB4AKgAsACwALgAAAAEABAAFAAMABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATAAIAFAAVABYAFwAYABkAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAATwAAAAAAAAAGQAA520AAOdtAAAAAQAA6UEAAOlBAAAABAAA7TsAAO07AAAABQAA7TwAAO08AAAAAwAA7UQAAO1EAAAABgAA7UUAAO1FAAAABwAA7V8AAO1fAAAACAAA7WAAAO1gAAAACQAA7WEAAO1hAAAACgAA7W8AAO1vAAAACwAA7XAAAO1wAAAADAAA7XEAAO1xAAAADQAA7XIAAO1yAAAADgAA7XMAAO1zAAAADwAA7XQAAO10AAAAEAAA7XUAAO11AAAAEQAA7XcAAO13AAAAEgAA7XgAAO14AAAAEwAA7YAAAO2AAAAAAgAA7YwAAO2MAAAAFAAA7Y0AAO2NAAAAFQAA7Z8AAO2fAAAAFgAA7aAAAO2gAAAAFwAA7aEAAO2hAAAAGAAA7aIAAO2iAAAAGQAAAAAAZgDMAR4BhAG8Af4CZgLIAv4DNANyA6IEQASoBO4FLgVwBcoGCgZqBqQGxAboB0YHsAAAAAUAAAAAA1YC1gALABgAJQA0AEAAABMhMhYUBgchLgE0Nhc+ATchHgEUBiMhIiYDNDY3IR4BFAYjISImNz4BMyEyHgEUDgEjISImJxYUDwEGJjURNDYX1gJUEhkZEv2sEhkZ2gEYEwFgEhkZEv6gEhn0GRICVBIZGRL9rBIZ8wEYEwFgDBQLCxQM/qASGTkICJILHh4LAtUZJRgBARglGfITGAEBGCUZGf6FExgBARglGRnZEhkLFRcUDBqGBhYGlQwMEQEqEQwMAAAAAAwAAAAAA6sCqwAPABMAFwAbAB8AIwAnADMANwA7AD8AQwAAASEOAQcDHgEXIT4BNxEuAQUzFSMVMxUjJzMVIxUzFSsCNTM1IzUzASEiJjQ2MyEyFhQGNyM1MzUjNTMXIzUzNSM1MwNV/VYkMAEBATEkAqokMQEBMf5cVlZWVoBWVlZWKlZWVlYBVf8AEhgYEgEAEhgYGVZWVlaAVlZWVgKrATEk/lYkMQEBMSQBqiQxf1YqVtZWKlZWKlb+gBgkGRkkGKpWKlbWVipWAAMAAAAAAysDAAAPAB8AMwAAJR4BFyE+ATcRLgEnIQ4BBzMhMhYXEQ4BByEuAScRPgElJyYrASIPASMiBhQWMyEyNjQmIwEAATAkAVYkMAEBMCT+qiQwAYABABMXAQEXE/8AExcBARcBKB4LErQSCx5rExcXEwIAERkZEVUkMAEBMCQBqyQwAQEwJBcU/qsRGQEBGREBVRQX1R4NDR4XJxcXJxcAAwAAAAADqwLZABYALQA+AAABFQYPAQYiLwEmND8BJyY0PwE2Mh8BFgU3NjQvASYiDwEGBxUWHwEWMj8BNjQnAScmBgcDBhYfARY2NxM2JicDqwEJsAcRBx4GBpOTBgYeBxEHsAn9D5MGBh8GEgawCQEBCbAHEQceBgYBQikJDwTjAgcIKAkPBOIDBwkBiBANCrAGBh4HEQaTkwYSBh4GBrAKFZMGEQceBgawCg0QDQqwBgYeBhIGAdkPAwcI/YwIEAMOAwcIAnMIDwQAAgAAAAADmgJvABAAIQAAJSc3NjQmIg8BBhQfARYyNjQlNycmNDYyHwEWFA8BBiImNAFzpqYNGSQMxA0NxA4hGgENpqYNGiEOxA0NxA4hGtqmpg4hGg3EDSINxA0aIQ6mpgwkGQ3EDSINxA0ZJAAAAAMAAAAAA7gCrAALABcAIwAAAQ4BBx4BFz4BNy4BAy4BJz4BNx4BFw4BAw4BBx4BFz4BNy4BAgCY6zU165iY6zU165hWcAICcFZWcAICcFY0QwEBQzQ0QwEBQwKsAqSGhqQCAqSGhqT+DgJwVlZwAgJwVlZwAT4BQzQ0QwEBQzQ0QwAAAAUAAAAAA4ACqwALABcAIwAwAEAAABMhMjY0JiMhIgYUFhchPgE0JichDgEUFhMhMjY0JiMhIgYUFiceARchPgE0JichDgElIR4BFxEOAQchLgE1ETQ2qwEAExcXE/8AERkZEQEAExcXE/8AERkZEQEAExcXE/8AERkZGgEZEQEAExcXE/8AERkB1AEAERkBARkR/wATFxcBABcnFxcnF6sBGSIZAQEZIhkBVRcnFxcnF9UTFwEBFyYXAQEXGAEXE/4AERkBARkRAgATFwAAAAADAAAAAAOrAlYAGQAmAEAAAAEjIgYUFjsBHgEXDgEHIyIGFBY7AT4BNy4BBR4BFyE+ATQmJyEOARcjLgEnPgE3MzI2NCYrAQ4BBx4BFzMyNjQmAtWAEhgYEoA3SAEBSDeAEhgYEoBbeAMDeP4lARgSAQASGBgS/wASGFWAN0gBAUg3gBIYGBKAW3gDA3hbgBIYGAJVGCQZAUk2NkkBGSQYAnhbW3jTEhgBARgkGAEBGJIBSTY2SQEZJBgCeFtbeAIYJBkAAQAAAAADrAIrAB4AAAEuAScOAQcGFhcWNjc+ATcyFhcHBhYXMz4BNzUuAQcDEjuWVYfUOAoTFxQjCSuhZz9vLFETEx7uEhgBAjEWAbw0OgECiXIXKggGDxJWaQErJVIWMQIBGBLvHRQTAAAAAQAAAAADsgIrAB4AAAEOAQcnJgYHFR4BFzM+AS8BPgEzHgEXHgE3PgEnLgECFFWWO1EWMQIBGBLuHhQTUi1vPmehKwkkExcTCjnTAisBOjRQFBQd7xIYAQIxFlIlKwFpVhIPBggqF3KJAAAAAwAAAAAC9QK/ABQAHAAkAAABPgE3LgEnIw4BBxEeARchPgE3NCYlMx4BFAYHIxMjNTMeARQGApMhKQECZk7vFBkBARkUAQdJaQI0/tSIHScnHYifn58dJycBihdEJE5mAgEaE/3eExoBAmFJNVLZASY7JgH+74kBJjsmAAEAAAAAAxICvwAcAAABHgEXMwMjDgEUFhczPgE0JicjEzM+ATQmJyMOAQGlASYdIZw7HSYmHeQdJiYdIZw7HSYmHeQdJgJ6HSYB/pQBJjonAQEnOiYBAWwBJjonAQEnAAYAAAAAA5YC1gALABcAIwBBAFIAbgAAASE+ATQmJyEOARQWASEOARQWFyE+ATQmAyEOARQWFyE+ATQmBSMiBhQWOwEVIyIGFBY7ARUjIgYUFjsBMjY3NS4BAzMVHgEyNj0BNCYrASIGFBYXIyIGFBY7AQcGHQEUFjsBMjY0JisBNzY9AS4BAWsCABIYGBL+ABIZGQIS/gASGRkSAgASGBgS/gASGRkSAgASGBj9WFUJDAwJQBUKCwsKFUAJDAwJVQoLAQELXxUBCxMMDAkrCQwMXlUJDAwJN0cFDAlVCgsLCjdIBQELAlUBGCQYAQEYJBj+VQEYJBgBARgkGAEBARgkGAEBGCQY1QwSDBYMEgwWDBIMDAmACQwB1msJDAwJgAkMDBIM1gwSDFQGCAkJDAwSDFQGCAkJDAAAAAAGAAAAAAOLAsAACAARABoAJgAyAD8AABMOARQWMjY0JgMOARQWMjY0JgMOARQWMjY0JhchPgE0JichDgEUFjchPgE0JichDgEUFgMeARchPgE0JichDgG1GyQkNyQkHBskJDckJBwbJCQ2JSSPAgASGBgS/gASGBgSAgASGBgS/gASGBgZARgSAgASGBgS/gASGAHAASQ2JCQ2JAEBASQ2JCQ2JP4BASQ2JCQ2JGoBGCQYAQEYJBj/ARgkGAEBGCQYASoSGAEBGCQYAQEYAAAAAgAAAAADVgJWABYALQAAJTI2PwE2PQEuASsBIgYdARQWFzMHBhYFMjY/ATY9ATQmKwEiBgcVHgEXMwcGFgEyERsHPQkBGBKrEhgYElYsDiABzBAbCDwJGBKrEhgBARgSVSwNIKsRDnkSFMISGBgSqxIYAVgeMwERDnkSFMISGBgSqxIYAVgeMwAAAAADAAAAAAOAAsAACAAZACUAACU+ATc1IxUeAQEeARczFTM1Mz4BNCYnIQ4BAyE+ATQmJyEOARQWAgAkMAGqATD++QEkG5aqlhskJBv+KhskKwKqEhkZEv1WEhkZQAEwJCsrJDACPxskAYCAASQ2JAEBJP56ARgkGAEBGCQYAAAAAAIAAP//AysDAQAbACgAACU+ATcRLgEiBgcRFAYHBi4CNREuASIGBxEeAQceATMhMjY0JiMhIgYCImJ6AgEeLR4BQTUhQTUdAR4tHgEDptQBGBICABIYGBL+ABIYrQ+TZQEXFh4eFv7kN1MMBw8rPCMBIBYeHhb+4HaUdhIZGSQYGAAAAAMAAAAAA3ACxwALAC0AOQAAEyE+ATQmIyEiBhQWBSEiBhQWFyEyFhcWBgcjNS4BDwEGFB8BFjY3NTM+AScuAQUjIgYUFhczPgE0JsACVRIZGRL9qxIYGAIL/gcSGBgSAgYgMwYFMShgARkLTAYGTAwYAVVNYgUIZP5tqxIYGBKrEhgYAnEBGCQYGCQYrBgkGAEnICk5AiIPCgpMBxEHTAoKDyICa05EVf8YJBgBARgkGAAAAAIAAAAAA5YCwAAUACgAAAEUFhczER4BMjY3ETM+ATQmJyEOAQMzFRQWMjY3NTMyNjQmJyEOARQWAWskHJUBJDYkAZUcJCQc/lYcJMBAJDckAUAbJCQb/wAcJCQCgBskAf5AGyQkGwHAASQ2JAEBJP7Q6xskJBvrJDckAQEkNyQACgAAAAADeAL4AA8AFgAaACEAJQApAC0ANAA4AD8AAAEhDgEHER4BFyE+ATcRLgEBIyImPQEzNSM1MzUjNTQ2OwETIzUzNSM1MzUjNTMTIzUzFRQGNyM1MzUjNTMyFhUDLP2oICoBASogAlggKgEBKv4ecQ8WlpaWlhYPceGWlpaWlpa8cZYWFpaWlnEPFgL3ASog/aggKgEBKiACWCAq/V4WD3FLlktxDxb9qJZLlkuW/aiWcQ8W4ZZLlhYPAAAAAgAA//8DgAMAAA8AIAAAJREuASchDgEHER4BFyE+ASUXNzYyHwEWBiMhIiY/AT4BA4ABMCT9qiQwAQEwJAJWJDD9/VmFBxQHlQgMDf4BDgsIagcUVQJWJDABATAk/aokMAEBMPtsqggJxwsXFwuJCAEAAAABAAAAAAM1AjYAEAAAAQcGFBYyPwEXFjI2NC8BJiIB2f4QISwR19cRLCEQ/hAuAib+ESwhENfXECEsEf4QAAAAAQAAAAADNQI2ABIAAAEHJyYnIg4BFh8BFjI/ATY0LgEC1tbXEBcRGw0GDP4RLBH+ECEtAibX1w8BEiAgDP4QEP4QLSABAAAABAAAAAADawLrABAAIQAzAEQAADczFRQWMjY9ATQmKwEiBhQWEyMiBhQWOwEyNj0BNCYiBhUBMjY9ATMyNjQmKwEiBh0BFBYTNTQmIgYdARQWOwEyNjQmI8loHiwdHRacFh0dfmgWHR0WnBYdHSweAWoWHmgWHR0WnBYdHUoeLB0dFpwWHR0WsWgWHR0WnBYdHSweAZ4eLB0dFpwWHR0W/V8dFmgeLB0dFpwWHQI5aBYdHRacFh0dLB4AAAAEAAAAAANUAtQAEQAjADQARgAAEw4BBxUeARczPgE0JisBNTQmJz4BPQEzMjY0JicjDgEHFR4BASMiBhQWFzM+ATc1LgEiBhUDHgE7ARUUFjI2NzUuAScjDgHdFRsBARsVkRUbGxVhHBQUHGEVGxsVkRUbAQEbAithFRsbFZEVGwEBGykckgEbFWEcKRsBARsVkRUbAR8BGxWRFRsBARspHGEVG8MBGxVhHCkbAQEbFZEVG/6rHCkbAQEbFZEVGxsVAbUUHGEVGxsVkRUbAQEbAAAAAAAAEgDeAAEAAAAAAAAAFQAAAAEAAAAAAAEADQAVAAEAAAAAAAIABwAiAAEAAAAAAAMADQApAAEAAAAAAAQADQA2AAEAAAAAAAUACwBDAAEAAAAAAAYADQBOAAEAAAAAAAoAKwBbAAEAAAAAAAsAEwCGAAMAAQQJAAAAKgCZAAMAAQQJAAEAGgDDAAMAAQQJAAIADgDdAAMAAQQJAAMAGgDrAAMAAQQJAAQAGgEFAAMAAQQJAAUAFgEfAAMAAQQJAAYAGgE1AAMAAQQJAAoAVgFPAAMAAQQJAAsAJgGlCkNyZWF0ZWQgYnkgaWNvbmZvbnQKcm1lbC1pY29uZm9udFJlZ3VsYXJybWVsLWljb25mb250cm1lbC1pY29uZm9udFZlcnNpb24gMS4wcm1lbC1pY29uZm9udEdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAAoAQwByAGUAYQB0AGUAZAAgAGIAeQAgAGkAYwBvAG4AZgBvAG4AdAAKAHIAbQBlAGwALQBpAGMAbwBuAGYAbwBuAHQAUgBlAGcAdQBsAGEAcgByAG0AZQBsAC0AaQBjAG8AbgBmAG8AbgB0AHIAbQBlAGwALQBpAGMAbwBuAGYAbwBuAHQAVgBlAHIAcwBpAG8AbgAgADEALgAwAHIAbQBlAGwALQBpAGMAbwBuAGYAbwBuAHQARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGgECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBEwEUARUBFgEXARgBGQEaARsAA3RhYghrZXlib2FyZAZkZWxldGUKY29kZS1ibG9jawRjb2RlCnZpc2liaWxpdHkKdmlldy1zcGxpdARsaW5rBHJlZG8EdW5kbwRib2xkBml0YWxpYwxsaXN0LW9yZGVyZWQObGlzdC11bm9yZGVyZWQFcXVvdGUNc3RyaWtldGhyb3VnaAl1bmRlcmxpbmUEd3JhcAlmb250LXNpemUEZ3JpZAVpbWFnZQtleHBhbmQtbGVzcwtleHBhbmQtbW9yZQ9mdWxsc2NyZWVuLWV4aXQKZnVsbHNjcmVlbgAAAAAA) format("truetype")}.rmel-iconfont{font-family:rmel-iconfont!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.rmel-icon-tab:before{content:""}.rmel-icon-keyboard:before{content:""}.rmel-icon-delete:before{content:""}.rmel-icon-code-block:before{content:""}.rmel-icon-code:before{content:""}.rmel-icon-visibility:before{content:""}.rmel-icon-view-split:before{content:""}.rmel-icon-link:before{content:""}.rmel-icon-redo:before{content:""}.rmel-icon-undo:before{content:""}.rmel-icon-bold:before{content:""}.rmel-icon-italic:before{content:""}.rmel-icon-list-ordered:before{content:""}.rmel-icon-list-unordered:before{content:""}.rmel-icon-quote:before{content:""}.rmel-icon-strikethrough:before{content:""}.rmel-icon-underline:before{content:""}.rmel-icon-wrap:before{content:""}.rmel-icon-font-size:before{content:""}.rmel-icon-grid:before{content:""}.rmel-icon-image:before{content:""}.rmel-icon-expand-less:before{content:""}.rmel-icon-expand-more:before{content:""}.rmel-icon-fullscreen-exit:before{content:""}.rmel-icon-fullscreen:before{content:""}.rc-md-editor{padding-bottom:1px;position:relative;border:1px solid #e0e0e0;background:#fff;box-sizing:border-box;display:flex;flex-direction:column}.rc-md-editor.full{width:100%;height:100%!important;position:fixed;left:0;top:0;z-index:1000}.rc-md-editor .editor-container{flex:1;display:flex;width:100%;min-height:0;position:relative}.rc-md-editor .editor-container>.section{flex-grow:1;flex-shrink:1;flex-basis:1px;border-right:1px solid #e0e0e0}.rc-md-editor .editor-container>.section.in-visible{display:none}.rc-md-editor .editor-container>.section>.section-container{padding:10px 15px 15px}.rc-md-editor .editor-container>.section:last-child{border-radius:none}.rc-md-editor .editor-container .sec-md{min-height:0;min-width:0}.rc-md-editor .editor-container .sec-md .input{display:block;box-sizing:border-box;width:100%;height:100%;overflow-y:scroll;border:none;resize:none;outline:none;min-height:0;background:#fff;color:#333;font-size:14px;line-height:1.7}.rc-md-editor .editor-container .sec-html{min-height:0;min-width:0}.rc-md-editor .editor-container .sec-html .html-wrap{height:100%;box-sizing:border-box;overflow:auto}.custom-html-style{color:#333}.custom-html-style h1{font-size:32px;padding:0;border:none;font-weight:700;margin:32px 0;line-height:1.2}.custom-html-style h2{font-size:24px;padding:0;border:none;font-weight:700;margin:24px 0;line-height:1.7}.custom-html-style h3{font-size:18px;margin:18px 0;padding:0;line-height:1.7;border:none}.custom-html-style p{font-size:14px;line-height:1.7;margin:8px 0}.custom-html-style a{color:#0052d9}.custom-html-style a:hover{text-decoration:none}.custom-html-style strong{font-weight:700}.custom-html-style ol,.custom-html-style ul{font-size:14px;line-height:28px;padding-left:36px}.custom-html-style li{margin-bottom:8px;line-height:1.7}.custom-html-style hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.custom-html-style pre{display:block;padding:20px;line-height:28px;word-break:break-word}.custom-html-style code,.custom-html-style pre{background-color:#f5f5f5;font-size:14px;border-radius:0;overflow-x:auto}.custom-html-style code{padding:3px 0;margin:0;word-break:normal}.custom-html-style code:after,.custom-html-style code:before{letter-spacing:0}.custom-html-style blockquote{position:relative;margin:16px 0;padding:5px 8px 5px 30px;background:none repeat scroll 0 0 #6680990d;color:#333;border:none;border-left:10px solid #d6dbdf}.custom-html-style img,.custom-html-style video{max-width:100%}.custom-html-style table{font-size:14px;line-height:1.7;max-width:100%;overflow:auto;border:1px solid #f6f6f6;border-collapse:collapse;border-spacing:0;box-sizing:border-box}.custom-html-style table td,.custom-html-style table th{word-break:break-all;word-wrap:break-word;white-space:normal}.custom-html-style table tr{border:1px solid #efefef}.custom-html-style table tr:nth-child(2n){background-color:transparent}.custom-html-style table th{text-align:center;font-weight:700;border:1px solid #efefef;padding:10px 6px;background-color:#f5f7fa;word-break:break-word}.custom-html-style table td{border:1px solid #efefef;text-align:left;padding:10px 15px;word-break:break-word;min-width:60px}.rc-md-editor .drop-wrap{display:block;position:absolute;left:0;top:28px;z-index:2;min-width:20px;padding:10px 0;text-align:center;background-color:#fff;border-color:#f1f1f1 #ddd #ddd #f1f1f1;border-style:solid;border-width:1px}.rc-md-editor .drop-wrap.hidden{display:none!important}.rc-md-editor .rc-md-navigation{min-height:38px;padding:0 8px;box-sizing:border-box;border-bottom:1px solid #e0e0e0;font-size:16px;background:#f5f5f5;-webkit-user-select:none;-moz-user-select:none;user-select:none;display:flex;flex-direction:row;justify-content:space-between}.rc-md-editor .rc-md-navigation.in-visible{display:none}.rc-md-editor .rc-md-navigation .navigation-nav{align-items:center;justify-content:center;font-size:14px;color:#757575}.rc-md-editor .rc-md-navigation .button-wrap,.rc-md-editor .rc-md-navigation .navigation-nav{display:flex;flex-direction:row}.rc-md-editor .rc-md-navigation .button-wrap{flex-wrap:wrap}.rc-md-editor .rc-md-navigation .button-wrap .button{position:relative;min-width:24px;height:28px;margin-left:3px;margin-right:3px;display:inline-block;cursor:pointer;line-height:28px;text-align:center;color:#757575}.rc-md-editor .rc-md-navigation .button-wrap .button:hover{color:#212121}.rc-md-editor .rc-md-navigation .button-wrap .button.disabled{color:#bdbdbd;cursor:not-allowed}.rc-md-editor .rc-md-navigation .button-wrap .button:first-child{margin-left:0}.rc-md-editor .rc-md-navigation .button-wrap .button:last-child{margin-right:0}.rc-md-editor .rc-md-navigation .button-wrap .rmel-iconfont{font-size:18px}.rc-md-editor .rc-md-navigation li,.rc-md-editor .rc-md-navigation ul{list-style:none;margin:0;padding:0}.rc-md-editor .rc-md-navigation .h1,.rc-md-editor .rc-md-navigation .h2,.rc-md-editor .rc-md-navigation .h3,.rc-md-editor .rc-md-navigation .h4,.rc-md-editor .rc-md-navigation .h5,.rc-md-editor .rc-md-navigation .h6,.rc-md-editor .rc-md-navigation h1,.rc-md-editor .rc-md-navigation h2,.rc-md-editor .rc-md-navigation h3,.rc-md-editor .rc-md-navigation h4,.rc-md-editor .rc-md-navigation h5,.rc-md-editor .rc-md-navigation h6{font-family:inherit;font-weight:500;color:inherit;padding:0;margin:0;line-height:1.1}.rc-md-editor .rc-md-navigation h1{font-size:34px}.rc-md-editor .rc-md-navigation h2{font-size:30px}.rc-md-editor .rc-md-navigation h3{font-size:24px}.rc-md-editor .rc-md-navigation h4{font-size:18px}.rc-md-editor .rc-md-navigation h5{font-size:14px}.rc-md-editor .rc-md-navigation h6{font-size:12px}.rc-md-editor .tool-bar{position:absolute;z-index:1;right:8px;top:8px}.rc-md-editor .tool-bar .button{min-width:24px;height:28px;margin-right:5px;display:inline-block;cursor:pointer;font-size:14px;line-height:28px;text-align:center;color:#999}.rc-md-editor .tool-bar .button:hover{color:#333}.rc-md-editor .rc-md-divider{display:block;width:1px;background-color:#e0e0e0}.rc-md-editor .table-list.wrap{position:relative;margin:0 10px;box-sizing:border-box}.rc-md-editor .table-list.wrap .list-item{position:absolute;top:0;left:0;display:inline-block;width:20px;height:20px;background-color:#e0e0e0;border-radius:3px}.rc-md-editor .table-list.wrap .list-item.active{background:#9e9e9e}.rc-md-editor .tab-map-list .list-item{width:120px;box-sizing:border-box}.rc-md-editor .tab-map-list .list-item:hover{background:#f5f5f5}.rc-md-editor .tab-map-list .list-item.active{font-weight:700}.rc-md-editor .header-list .list-item{width:100px;box-sizing:border-box;padding:8px 0}.rc-md-editor .header-list .list-item:hover{background:#f5f5f5} diff --git a/public/assets/admin/assets/index-IxRe6IB9.js b/public/assets/admin/assets/index-IxRe6IB9.js deleted file mode 100644 index 7ce8d177f..000000000 --- a/public/assets/admin/assets/index-IxRe6IB9.js +++ /dev/null @@ -1 +0,0 @@ -import{j as e,r as p,a as b,g as _,B as g,t as f}from"./index-_xd8OyP8.js";import{S as y}from"./separator-lX8UNwTG.js";import{z as n,t as S}from"./zod-x_8lkCGK.js";import{u as v,F as N,a as l,b as t,c as o,d as c,f as i,e as a}from"./form-DIzSOdtk.js";import{I as x}from"./input-d0vtE30O.js";import{S as m}from"./switch-w5WyeRwk.js";import{C as F}from"./react-icons.esm-rZq2pt7A.js";import{u as C}from"./useQuery-mr7Ep0hT.js";import{s as L,e as T}from"./index-BycJudEO.js";import{S as O}from"./config-BDd6elvr.js";import"./index-CX6PQ3zO.js";import"./index-BwSRHYe4.js";import"./index-CRh0M8qI.js";import"./index-BlMNiBlp.js";import"./clipboard-YH5zrf5X.js";import"./IconTicket-COhvkaJH.js";function R({title:d,description:s,children:j}){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:d}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s})]}),e.jsx(y,{}),j]})}const U=n.object({logo:n.string().nullable().nullable(),force_https:n.number().nullable(),stop_register:n.number().nullable(),app_name:n.string().nullable(),app_description:n.string().nullable(),app_url:n.string().nullable(),subscribe_url:n.string().nullable(),try_out_plan_id:n.number().nullable(),try_out_hour:n.number().nullable(),tos_url:n.string().nullable(),currency:n.string().nullable(),currency_symbol:n.string().nullable()}),E={logo:"",force_https:0,stop_register:0,app_name:"",app_description:"",app_url:"",subscribe_url:"",try_out_plan_id:0,try_out_hour:0,tos_url:"",currency:"USD",currency_symbol:"$"};function k(){const{data:d}=C({queryKey:["settings","site"],queryFn:()=>T("site")}),s=v({resolver:S(U),defaultValues:E,mode:"onChange"});p.useEffect(()=>{if(d?.data?.site){const r=d?.data?.site;Object.entries(r).forEach(([h,u])=>{s.setValue(h,u)})}},[d]);function j(r){L(r).then(({data:h})=>{h&&f.success("更新成功")})}return e.jsx(N,{...s,children:e.jsxs("form",{onSubmit:s.handleSubmit(j),className:"space-y-8",children:[e.jsx(l,{control:s.control,name:"app_name",render:({field:r})=>e.jsxs(t,{children:[e.jsx(o,{children:"站点名称"}),e.jsx(c,{children:e.jsx(x,{placeholder:"请输入站点名称",...r})}),e.jsx(i,{children:"用于显示需要站点名称的地方。"}),e.jsx(a,{})]})}),e.jsx(l,{control:s.control,name:"app_description",render:({field:r})=>e.jsxs(t,{children:[e.jsx(o,{children:"站点描述"}),e.jsx(c,{children:e.jsx(x,{placeholder:"请输入站点描述",...r})}),e.jsx(i,{children:"用于显示需要站点名称的地方。"}),e.jsx(a,{})]})}),e.jsx(l,{control:s.control,name:"app_url",render:({field:r})=>e.jsxs(t,{children:[e.jsx(o,{children:"站点网址"}),e.jsx(c,{children:e.jsx(x,{placeholder:"请输入站点URL,末尾不要/",...r})}),e.jsx(i,{children:"当前网站最新网址,将会在邮件等需要用于网址处体现。"}),e.jsx(a,{})]})}),e.jsx(l,{control:s.control,name:"force_https",render:({field:r})=>e.jsxs(t,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(o,{className:"text-base",children:"强制HTTPS"}),e.jsx(i,{children:"当站点没有使用HTTPS,CDN或反代开启强制HTTPS时需要开启。"})]}),e.jsx(c,{children:e.jsx(m,{checked:r.value,onCheckedChange:r.onChange})})]})}),e.jsx(l,{control:s.control,name:"logo",render:({field:r})=>e.jsxs(t,{children:[e.jsx(o,{children:"LOGO"}),e.jsx(c,{children:e.jsx(x,{placeholder:"请输入LOGO URL,末尾不要/",...r})}),e.jsx(i,{children:"用于显示需要LOGO的地方。"}),e.jsx(a,{})]})}),e.jsx(l,{control:s.control,name:"subscribe_url",render:({field:r})=>e.jsxs(t,{children:[e.jsx(o,{children:"订阅URL"}),e.jsx(c,{children:e.jsx(x,{placeholder:'用于订阅所使用,多个订阅地址用","隔开.留空则为站点URL。',...r})}),e.jsx(i,{children:"用于订阅所使用,留空则为站点URL。"}),e.jsx(a,{})]})}),e.jsx(l,{control:s.control,name:"tos_url",render:({field:r})=>e.jsxs(t,{children:[e.jsx(o,{children:"用户条款(TOS)URL"}),e.jsx(c,{children:e.jsx(x,{placeholder:"请输入用户条款URL,末尾不要/",...r})}),e.jsx(i,{children:"用于跳转到用户条款(TOS)"}),e.jsx(a,{})]})}),e.jsx(l,{control:s.control,name:"stop_register",render:({field:r})=>e.jsxs(t,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(o,{className:"text-base",children:"停止新用户注册"}),e.jsx(i,{children:"开启后任何人都将无法进行注册。"})]}),e.jsx(c,{children:e.jsx(m,{checked:r.value,onCheckedChange:r.onChange})})]})}),e.jsx(l,{control:s.control,name:"try_out_plan_id",render:({field:r})=>e.jsxs(t,{children:[e.jsx(o,{children:"注册试用"}),e.jsxs("div",{className:"relative w-max",children:[e.jsx(c,{children:e.jsxs("select",{className:b(_({variant:"outline"}),"w-[200px] appearance-none font-normal"),...r,children:[e.jsx("option",{value:"inter",children:"关闭"}),e.jsx("option",{value:"manrope",children:"套餐1"}),e.jsx("option",{value:"system",children:"套餐2"})]})}),e.jsx(F,{className:"absolute right-3 top-2.5 h-4 w-4 opacity-50"})]}),e.jsx(i,{children:"选择需要试用的订阅,如果没有选项请先前往订阅管理添加。"}),e.jsx(a,{})]})}),e.jsx(l,{control:s.control,name:"currency",render:({field:r})=>e.jsxs(t,{children:[e.jsx(o,{children:"货币单位"}),e.jsx(c,{children:e.jsx(x,{placeholder:"CNY",...r})}),e.jsx(i,{children:"仅用于展示使用,更改后系统中所有的货币单位都将发生变更。"}),e.jsx(a,{})]})}),e.jsx(l,{control:s.control,name:"currency_symbol",render:({field:r})=>e.jsxs(t,{children:[e.jsx(o,{children:"货币符号"}),e.jsx(c,{children:e.jsx(x,{placeholder:"¥",...r})}),e.jsx(i,{children:"仅用于展示使用,更改后系统中所有的货币单位都将发生变更。"}),e.jsx(a,{})]})}),e.jsx(g,{type:"submit",children:"更新配置"})]})})}function J(){const d=O.find(s=>s.key==="site");return e.jsx(R,{title:d.title,description:d.description,children:e.jsx(k,{})})}export{J as default}; diff --git a/public/assets/admin/assets/index-QF_gJkJl.js b/public/assets/admin/assets/index-QF_gJkJl.js deleted file mode 100644 index c0296d63f..000000000 --- a/public/assets/admin/assets/index-QF_gJkJl.js +++ /dev/null @@ -1 +0,0 @@ -import{r as b,j as e,a as d,g as h,B as v,t as f}from"./index-_xd8OyP8.js";import{S as g}from"./separator-lX8UNwTG.js";import{z as r,t as N}from"./zod-x_8lkCGK.js";import{C as x}from"./react-icons.esm-rZq2pt7A.js";import{u as w,F as C,a,b as l,c as o,f as c,d as t,e as m}from"./form-DIzSOdtk.js";import{S as i}from"./switch-w5WyeRwk.js";import{u as y}from"./useQuery-mr7Ep0hT.js";import{e as F,s as S}from"./index-BycJudEO.js";import"./index-CX6PQ3zO.js";import"./index-BwSRHYe4.js";import"./index-CRh0M8qI.js";import"./index-BlMNiBlp.js";import"./clipboard-YH5zrf5X.js";const k=r.object({plan_change_enable:r.boolean().nullable(),reset_traffic_method:r.coerce.number().nullable(),surplus_enable:r.boolean().nullable(),new_order_event_id:r.coerce.number().nullable(),renew_order_event_id:r.coerce.number().nullable(),change_order_event_id:r.coerce.number().nullable(),show_info_to_server_enable:r.boolean().nullable(),show_protocol_to_server_enable:r.boolean().nullable(),default_remind_expire:r.boolean().nullable(),default_remind_traffic:r.boolean().nullable()}),E={plan_change_enable:!1,reset_traffic_method:0,surplus_enable:!1,new_order_event_id:0,renew_order_event_id:0,change_order_event_id:0,show_info_to_server_enable:!1,show_protocol_to_server_enable:!1,default_remind_expire:!1,default_remind_traffic:!1};function V(){const{data:j}=y({queryKey:["settings","subscribe"],queryFn:()=>F("subscribe")}),n=w({resolver:N(k),defaultValues:E,mode:"onChange"});b.useEffect(()=>{if(j?.data?.subscribe){const s=j?.data?.subscribe;Object.entries(s).forEach(([u,p])=>{n.setValue(u,p)})}},[j]);function _(s){S(s).then(({data:u})=>{u&&f.success("更新成功")})}return e.jsx(C,{...n,children:e.jsxs("form",{onSubmit:n.handleSubmit(_),className:"space-y-8",children:[e.jsx(a,{control:n.control,name:"plan_change_enable",render:({field:s})=>e.jsxs(l,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(o,{className:"text-base",children:"允许用户更改订阅"}),e.jsx(c,{children:"开启后用户将会可以对订阅计划进行变更。"})]}),e.jsx(t,{children:e.jsx(i,{checked:s.value,onCheckedChange:s.onChange})})]})}),e.jsx(a,{control:n.control,name:"reset_traffic_method",render:({field:s})=>e.jsxs(l,{children:[e.jsx(o,{children:"月流量重置方式"}),e.jsxs("div",{className:"relative w-max",children:[e.jsx(t,{children:e.jsxs("select",{className:d(h({variant:"outline"}),"w-[200px] appearance-none font-normal"),...s,children:[e.jsx("option",{value:"0",children:"每月1号"}),e.jsx("option",{value:"1",children:"按月重置"}),e.jsx("option",{value:"2",children:"不重置"}),e.jsx("option",{value:"3",children:"每年1月1号"}),e.jsx("option",{value:"4",children:"按年重置"})]})}),e.jsx(x,{className:"absolute right-3 top-2.5 h-4 w-4 opacity-50"})]}),e.jsx(c,{children:"全局流量重置方式,默认每月1号。可以在订阅管理为订阅单独设置。"}),e.jsx(m,{})]})}),e.jsx(a,{control:n.control,name:"surplus_enable",render:({field:s})=>e.jsxs(l,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(o,{className:"text-base",children:"开启折抵方案"}),e.jsx(c,{children:"开启后用户更换订阅将会由系统对原有订阅进行折抵,方案参考文档。"})]}),e.jsx(t,{children:e.jsx(i,{checked:s.value,onCheckedChange:s.onChange})})]})}),e.jsx(a,{control:n.control,name:"new_order_event_id",render:({field:s})=>e.jsxs(l,{children:[e.jsx(o,{children:"当订阅新购时触发事件"}),e.jsxs("div",{className:"relative w-max",children:[e.jsx(t,{children:e.jsxs("select",{className:d(h({variant:"outline"}),"w-[200px] appearance-none font-normal"),...s,children:[e.jsx("option",{value:"0",children:"不执行任何动作"}),e.jsx("option",{value:"1",children:"重置用户流量"})]})}),e.jsx(x,{className:"absolute right-3 top-2.5 h-4 w-4 opacity-50"})]}),e.jsx(c,{children:"新购订阅完成时将触发该任务。"}),e.jsx(m,{})]})}),e.jsx(a,{control:n.control,name:"renew_order_event_id",render:({field:s})=>e.jsxs(l,{children:[e.jsx(o,{children:"当订阅续费时触发事件"}),e.jsxs("div",{className:"relative w-max",children:[e.jsx(t,{children:e.jsxs("select",{className:d(h({variant:"outline"}),"w-[200px] appearance-none font-normal"),...s,children:[e.jsx("option",{value:"0",children:"不执行任何动作"}),e.jsx("option",{value:"1",children:"重置用户流量"})]})}),e.jsx(x,{className:"absolute right-3 top-2.5 h-4 w-4 opacity-50"})]}),e.jsx(c,{children:"续费订阅完成时将触发该任务。"}),e.jsx(m,{})]})}),e.jsx(a,{control:n.control,name:"change_order_event_id",render:({field:s})=>e.jsxs(l,{children:[e.jsx(o,{children:"当订阅变更时触发事件"}),e.jsxs("div",{className:"relative w-max",children:[e.jsx(t,{children:e.jsxs("select",{className:d(h({variant:"outline"}),"w-[200px] appearance-none font-normal"),...s,children:[e.jsx("option",{value:"0",children:"不执行任何动作"}),e.jsx("option",{value:"1",children:"重置用户流量"})]})}),e.jsx(x,{className:"absolute right-3 top-2.5 h-4 w-4 opacity-50"})]}),e.jsx(c,{children:"变更订阅完成时将触发该任务。"}),e.jsx(m,{})]})}),e.jsx(a,{control:n.control,name:"show_info_to_server_enable",render:({field:s})=>e.jsxs(l,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(o,{className:"text-base",children:"在订阅中展示订阅信息"}),e.jsx(c,{children:"开启后将会在用户订阅节点时输出订阅信息。"})]}),e.jsx(t,{children:e.jsx(i,{checked:s.value,onCheckedChange:s.onChange})})]})}),e.jsx(a,{control:n.control,name:"show_protocol_to_server_enable",render:({field:s})=>e.jsxs(l,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(o,{className:"text-base",children:"在订阅中线路名称中显示协议名称"}),e.jsx(c,{children:"开启后订阅线路会附带协议名称(例如: [Hy2]香港)"})]}),e.jsx(t,{children:e.jsx(i,{checked:s.value,onCheckedChange:s.onChange})})]})}),e.jsx(a,{control:n.control,name:"default_remind_expire",render:({field:s})=>e.jsxs(l,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(o,{className:"text-base",children:"用户订阅到期提醒的默认设置"}),e.jsx(c,{children:"开启后新注册用户将默认接收订阅到期提醒。"})]}),e.jsx(t,{children:e.jsx(i,{checked:s.value,onCheckedChange:s.onChange})})]})}),e.jsx(a,{control:n.control,name:"default_remind_traffic",render:({field:s})=>e.jsxs(l,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(o,{className:"text-base",children:"用户流量告急提醒的默认设置"}),e.jsx(c,{children:"开启后新注册用户将默认接收流量告急提醒。"})]}),e.jsx(t,{children:e.jsx(i,{checked:s.value,onCheckedChange:s.onChange})})]})}),e.jsx(v,{type:"submit",children:"保存设置"})]})})}function G(){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:"订阅设置"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"管理用户订阅相关配置,包括订阅链接格式、更新频率、流量统计等设置。"})]}),e.jsx(g,{}),e.jsx(V,{})]})}export{G as default}; diff --git a/public/assets/admin/assets/index-TIQgQp7L.js b/public/assets/admin/assets/index-TIQgQp7L.js deleted file mode 100644 index 5eea9a901..000000000 --- a/public/assets/admin/assets/index-TIQgQp7L.js +++ /dev/null @@ -1,140 +0,0 @@ -import{h as en,i as et,r as te,k as Ce,R as C,P as Pe,j as L,u as Ij,a as Dr}from"./index-_xd8OyP8.js";import{c as pn,S as Nj,T as Dj,U as kj}from"./user-nav-BBmBVa03.js";import{L as Lj,f as Rj,g as Bj}from"./sidelinks-DLs_k-Mk.js";import{g as Fj,a as Wj,b as zj,c as Uj,d as yg}from"./index-BycJudEO.js";import{C as fi,a as hi,b as Yi,c as pi}from"./card-6-6NT3wL.js";import{E as Gj}from"./index-DScOlCGV.js";import{C as gg,O as mg}from"./index-ngg4RcvF.js";import{u as bo}from"./useQuery-mr7Ep0hT.js";import{S as Ju}from"./skeleton-Dzu0p8kx.js";import{S as Hj,a as qj,b as Kj,c as Xj,d as Yj}from"./select-Cqkdx-UJ.js";import{B as Vj}from"./button-DhrtVlOa.js";import{s as Zj,a as vs,C as Jj,f as jf,b as Qj}from"./calendar-DHKoWj25.js";import{P as eM,a as tM,b as rM}from"./popover-C5eiPdqD.js";import{A as bg,a as xg}from"./arrow-up-9fLptvj0.js";import"./react-icons.esm-rZq2pt7A.js";import"./index-CcyXqhZ9.js";import"./index-BwSRHYe4.js";import"./index-CX6PQ3zO.js";import"./index-BlMNiBlp.js";import"./IconTicket-COhvkaJH.js";import"./clipboard-YH5zrf5X.js";import"./index-CRh0M8qI.js";import"./index-kwEAqj-e.js";/** - * @license lucide-react v0.399.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const wg=pn("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);/** - * @license lucide-react v0.399.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const nM=pn("ArrowDownToLine",[["path",{d:"M12 17V3",key:"1cwfxf"}],["path",{d:"m6 11 6 6 6-6",key:"12ii2o"}],["path",{d:"M19 21H5",key:"150jfl"}]]);/** - * @license lucide-react v0.399.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const iM=pn("ArrowUpFromLine",[["path",{d:"m18 9-6-6-6 6",key:"kcunyi"}],["path",{d:"M12 3v14",key:"7cf3v8"}],["path",{d:"M5 21h14",key:"11awu3"}]]);/** - * @license lucide-react v0.399.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const aM=pn("BarChart3",[["path",{d:"M3 3v18h18",key:"1s2lah"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]]);/** - * @license lucide-react v0.399.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const oM=pn("Bell",[["path",{d:"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9",key:"1qo2s2"}],["path",{d:"M10.3 21a1.94 1.94 0 0 0 3.4 0",key:"qgo35s"}]]);/** - * @license lucide-react v0.399.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const uM=pn("MessagesSquare",[["path",{d:"M14 9a2 2 0 0 1-2 2H6l-4 4V4c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2z",key:"jj09z8"}],["path",{d:"M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1",key:"1cx29u"}]]);/** - * @license lucide-react v0.399.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const sM=pn("Network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]]);/** - * @license lucide-react v0.399.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const cM=pn("TrendingUp",[["polyline",{points:"22 7 13.5 15.5 8.5 10.5 2 17",key:"126l90"}],["polyline",{points:"16 7 22 7 22 13",key:"kwv8wd"}]]);/** - * @license lucide-react v0.399.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const mx=pn("Users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["path",{d:"M16 3.13a4 4 0 0 1 0 7.75",key:"1da9ce"}]]);var lM=Array.isArray,zt=lM,fM=typeof en=="object"&&en&&en.Object===Object&&en,bx=fM,hM=bx,pM=typeof self=="object"&&self&&self.Object===Object&&self,dM=hM||pM||Function("return this")(),zr=dM,vM=zr,yM=vM.Symbol,ru=yM,_g=ru,xx=Object.prototype,gM=xx.hasOwnProperty,mM=xx.toString,eo=_g?_g.toStringTag:void 0;function bM(e){var t=gM.call(e,eo),r=e[eo];try{e[eo]=void 0;var n=!0}catch{}var i=mM.call(e);return n&&(t?e[eo]=r:delete e[eo]),i}var xM=bM,wM=Object.prototype,_M=wM.toString;function OM(e){return _M.call(e)}var AM=OM,Og=ru,SM=xM,PM=AM,$M="[object Null]",TM="[object Undefined]",Ag=Og?Og.toStringTag:void 0;function EM(e){return e==null?e===void 0?TM:$M:Ag&&Ag in Object(e)?SM(e):PM(e)}var dn=EM;function jM(e){return e!=null&&typeof e=="object"}var vn=jM,MM=dn,CM=vn,IM="[object Symbol]";function NM(e){return typeof e=="symbol"||CM(e)&&MM(e)==IM}var Oa=NM,DM=zt,kM=Oa,LM=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,RM=/^\w*$/;function BM(e,t){if(DM(e))return!1;var r=typeof e;return r=="number"||r=="symbol"||r=="boolean"||e==null||kM(e)?!0:RM.test(e)||!LM.test(e)||t!=null&&e in Object(t)}var Dp=BM;function FM(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Rn=FM;const Aa=et(Rn);var WM=dn,zM=Rn,UM="[object AsyncFunction]",GM="[object Function]",HM="[object GeneratorFunction]",qM="[object Proxy]";function KM(e){if(!zM(e))return!1;var t=WM(e);return t==GM||t==HM||t==UM||t==qM}var kp=KM;const Ae=et(kp);var XM=zr,YM=XM["__core-js_shared__"],VM=YM,Mf=VM,Sg=function(){var e=/[^.]+$/.exec(Mf&&Mf.keys&&Mf.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function ZM(e){return!!Sg&&Sg in e}var JM=ZM,QM=Function.prototype,eC=QM.toString;function tC(e){if(e!=null){try{return eC.call(e)}catch{}try{return e+""}catch{}}return""}var wx=tC,rC=kp,nC=JM,iC=Rn,aC=wx,oC=/[\\^$.*+?()[\]{}|]/g,uC=/^\[object .+?Constructor\]$/,sC=Function.prototype,cC=Object.prototype,lC=sC.toString,fC=cC.hasOwnProperty,hC=RegExp("^"+lC.call(fC).replace(oC,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function pC(e){if(!iC(e)||nC(e))return!1;var t=rC(e)?hC:uC;return t.test(aC(e))}var dC=pC;function vC(e,t){return e?.[t]}var yC=vC,gC=dC,mC=yC;function bC(e,t){var r=mC(e,t);return gC(r)?r:void 0}var xi=bC,xC=xi,wC=xC(Object,"create"),bc=wC,Pg=bc;function _C(){this.__data__=Pg?Pg(null):{},this.size=0}var OC=_C;function AC(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var SC=AC,PC=bc,$C="__lodash_hash_undefined__",TC=Object.prototype,EC=TC.hasOwnProperty;function jC(e){var t=this.__data__;if(PC){var r=t[e];return r===$C?void 0:r}return EC.call(t,e)?t[e]:void 0}var MC=jC,CC=bc,IC=Object.prototype,NC=IC.hasOwnProperty;function DC(e){var t=this.__data__;return CC?t[e]!==void 0:NC.call(t,e)}var kC=DC,LC=bc,RC="__lodash_hash_undefined__";function BC(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=LC&&t===void 0?RC:t,this}var FC=BC,WC=OC,zC=SC,UC=MC,GC=kC,HC=FC;function Sa(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t-1}var s2=u2,c2=xc;function l2(e,t){var r=this.__data__,n=c2(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}var f2=l2,h2=XC,p2=r2,d2=a2,v2=s2,y2=f2;function Pa(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t0?1:-1},ri=function(t){return nu(t)&&t.indexOf("%")===t.length-1},re=function(t){return RI(t)&&!Ta(t)},vt=function(t){return re(t)||nu(t)},zI=0,wi=function(t){var r=++zI;return"".concat(t||"").concat(r)},di=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!re(t)&&!nu(t))return n;var o;if(ri(t)){var s=t.indexOf("%");o=r*parseFloat(t.slice(0,s))/100}else o=+t;return Ta(o)&&(o=n),i&&o>r&&(o=r),o},Cn=function(t){if(!t)return null;var r=Object.keys(t);return r&&r.length?t[r[0]]:null},UI=function(t){if(!Array.isArray(t))return!1;for(var r=t.length,n={},i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function VI(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function oh(e){"@babel/helpers - typeof";return oh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},oh(e)}var Ig={click:"onClick",mousedown:"onMouseDown",mouseup:"onMouseUp",mouseover:"onMouseOver",mousemove:"onMouseMove",mouseout:"onMouseOut",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",touchcancel:"onTouchCancel",touchend:"onTouchEnd",touchmove:"onTouchMove",touchstart:"onTouchStart",contextmenu:"onContextMenu",dblclick:"onDoubleClick"},an=function(t){return typeof t=="string"?t:t?t.displayName||t.name||"Component":""},Ng=null,If=null,qp=function e(t){if(t===Ng&&Array.isArray(If))return If;var r=[];return te.Children.forEach(t,function(n){we(n)||(II.isFragment(n)?r=r.concat(e(n.props.children)):r.push(n))}),If=r,Ng=t,r};function Wt(e,t){var r=[],n=[];return Array.isArray(t)?n=t.map(function(i){return an(i)}):n=[an(t)],qp(e).forEach(function(i){var o=dr(i,"type.displayName")||dr(i,"type.name");n.indexOf(o)!==-1&&r.push(i)}),r}function Jt(e,t){var r=Wt(e,t);return r[0]}var Dg=function(t){if(!t||!t.props)return!1;var r=t.props,n=r.width,i=r.height;return!(!re(n)||n<=0||!re(i)||i<=0)},ZI=["a","altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","color-profile","cursor","defs","desc","ellipse","feBlend","feColormatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","font-face","font-face-format","font-face-name","font-face-url","foreignObject","g","glyph","glyphRef","hkern","image","line","lineGradient","marker","mask","metadata","missing-glyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","svg","switch","symbol","text","textPath","title","tref","tspan","use","view","vkern"],JI=function(t){return t&&t.type&&nu(t.type)&&ZI.indexOf(t.type)>=0},Mx=function(t){return t&&oh(t)==="object"&&"clipDot"in t},QI=function(t,r,n,i){var o,s=(o=Cf?.[i])!==null&&o!==void 0?o:[];return!Ae(t)&&(i&&s.includes(r)||qI.includes(r))||n&&Hp.includes(r)},xe=function(t,r,n){if(!t||typeof t=="function"||typeof t=="boolean")return null;var i=t;if(te.isValidElement(t)&&(i=t.props),!Aa(i))return null;var o={};return Object.keys(i).forEach(function(s){var c;QI((c=i)===null||c===void 0?void 0:c[s],s,r,n)&&(o[s]=i[s])}),o},uh=function e(t,r){if(t===r)return!0;var n=te.Children.count(t);if(n!==te.Children.count(r))return!1;if(n===0)return!0;if(n===1)return kg(Array.isArray(t)?t[0]:t,Array.isArray(r)?r[0]:r);for(var i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function iN(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function ch(e){var t=e.children,r=e.width,n=e.height,i=e.viewBox,o=e.className,s=e.style,c=e.title,l=e.desc,h=nN(e,rN),d=i||{width:r,height:n,x:0,y:0},p=Ce("recharts-surface",o);return C.createElement("svg",sh({},xe(h,!0,"svg"),{className:p,width:r,height:n,style:s,viewBox:"".concat(d.x," ").concat(d.y," ").concat(d.width," ").concat(d.height)}),C.createElement("title",null,c),C.createElement("desc",null,l),t)}var aN=["children","className"];function lh(){return lh=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function uN(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}var De=C.forwardRef(function(e,t){var r=e.children,n=e.className,i=oN(e,aN),o=Ce("recharts-layer",n);return C.createElement("g",lh({className:o},xe(i,!0),{ref:t}),r)}),on=function(t,r){for(var n=arguments.length,i=new Array(n>2?n-2:0),o=2;oi?0:i+t),r=r>i?i:r,r<0&&(r+=i),i=t>r?0:r-t>>>0,t>>>=0;for(var o=Array(i);++n=n?e:lN(e,t,r)}var hN=fN,pN="\\ud800-\\udfff",dN="\\u0300-\\u036f",vN="\\ufe20-\\ufe2f",yN="\\u20d0-\\u20ff",gN=dN+vN+yN,mN="\\ufe0e\\ufe0f",bN="\\u200d",xN=RegExp("["+bN+pN+gN+mN+"]");function wN(e){return xN.test(e)}var Cx=wN;function _N(e){return e.split("")}var ON=_N,Ix="\\ud800-\\udfff",AN="\\u0300-\\u036f",SN="\\ufe20-\\ufe2f",PN="\\u20d0-\\u20ff",$N=AN+SN+PN,TN="\\ufe0e\\ufe0f",EN="["+Ix+"]",fh="["+$N+"]",hh="\\ud83c[\\udffb-\\udfff]",jN="(?:"+fh+"|"+hh+")",Nx="[^"+Ix+"]",Dx="(?:\\ud83c[\\udde6-\\uddff]){2}",kx="[\\ud800-\\udbff][\\udc00-\\udfff]",MN="\\u200d",Lx=jN+"?",Rx="["+TN+"]?",CN="(?:"+MN+"(?:"+[Nx,Dx,kx].join("|")+")"+Rx+Lx+")*",IN=Rx+Lx+CN,NN="(?:"+[Nx+fh+"?",fh,Dx,kx,EN].join("|")+")",DN=RegExp(hh+"(?="+hh+")|"+NN+IN,"g");function kN(e){return e.match(DN)||[]}var LN=kN,RN=ON,BN=Cx,FN=LN;function WN(e){return BN(e)?FN(e):RN(e)}var zN=WN,UN=hN,GN=Cx,HN=zN,qN=Sx;function KN(e){return function(t){t=qN(t);var r=GN(t)?HN(t):void 0,n=r?r[0]:t.charAt(0),i=r?UN(r,1).join(""):t.slice(1);return n[e]()+i}}var XN=KN,YN=XN,VN=YN("toUpperCase"),ZN=VN;const Nc=et(ZN);function He(e){return function(){return e}}const Bx=Math.cos,ms=Math.sin,jr=Math.sqrt,bs=Math.PI,Dc=2*bs,ph=Math.PI,dh=2*ph,Qn=1e-6,JN=dh-Qn;function Fx(e){this._+=e[0];for(let t=1,r=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return Fx;const r=10**t;return function(n){this._+=n[0];for(let i=1,o=n.length;iQn)if(!(Math.abs(p*l-h*d)>Qn)||!o)this._append`L${this._x1=t},${this._y1=r}`;else{let g=n-s,m=i-c,b=l*l+h*h,_=g*g+m*m,S=Math.sqrt(b),T=Math.sqrt(v),P=o*Math.tan((ph-Math.acos((b+v-_)/(2*S*T)))/2),E=P/T,w=P/S;Math.abs(E-1)>Qn&&this._append`L${t+E*d},${r+E*p}`,this._append`A${o},${o},0,0,${+(p*g>d*m)},${this._x1=t+w*l},${this._y1=r+w*h}`}}arc(t,r,n,i,o,s){if(t=+t,r=+r,n=+n,s=!!s,n<0)throw new Error(`negative radius: ${n}`);let c=n*Math.cos(i),l=n*Math.sin(i),h=t+c,d=r+l,p=1^s,v=s?i-o:o-i;this._x1===null?this._append`M${h},${d}`:(Math.abs(this._x1-h)>Qn||Math.abs(this._y1-d)>Qn)&&this._append`L${h},${d}`,n&&(v<0&&(v=v%dh+dh),v>JN?this._append`A${n},${n},0,1,${p},${t-c},${r-l}A${n},${n},0,1,${p},${this._x1=h},${this._y1=d}`:v>Qn&&this._append`A${n},${n},0,${+(v>=ph)},${p},${this._x1=t+n*Math.cos(o)},${this._y1=r+n*Math.sin(o)}`)}rect(t,r,n,i){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+r}h${n=+n}v${+i}h${-n}Z`}toString(){return this._}}function Kp(e){let t=3;return e.digits=function(r){if(!arguments.length)return t;if(r==null)t=null;else{const n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);t=n}return e},()=>new eD(t)}function Xp(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function Wx(e){this._context=e}Wx.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function kc(e){return new Wx(e)}function zx(e){return e[0]}function Ux(e){return e[1]}function Gx(e,t){var r=He(!0),n=null,i=kc,o=null,s=Kp(c);e=typeof e=="function"?e:e===void 0?zx:He(e),t=typeof t=="function"?t:t===void 0?Ux:He(t);function c(l){var h,d=(l=Xp(l)).length,p,v=!1,g;for(n==null&&(o=i(g=s())),h=0;h<=d;++h)!(h=g;--m)c.point(P[m],E[m]);c.lineEnd(),c.areaEnd()}S&&(P[v]=+e(_,v,p),E[v]=+t(_,v,p),c.point(n?+n(_,v,p):P[v],r?+r(_,v,p):E[v]))}if(T)return c=null,T+""||null}function d(){return Gx().defined(i).curve(s).context(o)}return h.x=function(p){return arguments.length?(e=typeof p=="function"?p:He(+p),n=null,h):e},h.x0=function(p){return arguments.length?(e=typeof p=="function"?p:He(+p),h):e},h.x1=function(p){return arguments.length?(n=p==null?null:typeof p=="function"?p:He(+p),h):n},h.y=function(p){return arguments.length?(t=typeof p=="function"?p:He(+p),r=null,h):t},h.y0=function(p){return arguments.length?(t=typeof p=="function"?p:He(+p),h):t},h.y1=function(p){return arguments.length?(r=p==null?null:typeof p=="function"?p:He(+p),h):r},h.lineX0=h.lineY0=function(){return d().x(e).y(t)},h.lineY1=function(){return d().x(e).y(r)},h.lineX1=function(){return d().x(n).y(t)},h.defined=function(p){return arguments.length?(i=typeof p=="function"?p:He(!!p),h):i},h.curve=function(p){return arguments.length?(s=p,o!=null&&(c=s(o)),h):s},h.context=function(p){return arguments.length?(p==null?o=c=null:c=s(o=p),h):o},h}class Hx{constructor(t,r){this._context=t,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(t,r){switch(t=+t,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,r):this._context.moveTo(t,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,r,t,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,t,this._y0,t,r);break}}this._x0=t,this._y0=r}}function tD(e){return new Hx(e,!0)}function rD(e){return new Hx(e,!1)}const Yp={draw(e,t){const r=jr(t/bs);e.moveTo(r,0),e.arc(0,0,r,0,Dc)}},nD={draw(e,t){const r=jr(t/5)/2;e.moveTo(-3*r,-r),e.lineTo(-r,-r),e.lineTo(-r,-3*r),e.lineTo(r,-3*r),e.lineTo(r,-r),e.lineTo(3*r,-r),e.lineTo(3*r,r),e.lineTo(r,r),e.lineTo(r,3*r),e.lineTo(-r,3*r),e.lineTo(-r,r),e.lineTo(-3*r,r),e.closePath()}},qx=jr(1/3),iD=qx*2,aD={draw(e,t){const r=jr(t/iD),n=r*qx;e.moveTo(0,-r),e.lineTo(n,0),e.lineTo(0,r),e.lineTo(-n,0),e.closePath()}},oD={draw(e,t){const r=jr(t),n=-r/2;e.rect(n,n,r,r)}},uD=.8908130915292852,Kx=ms(bs/10)/ms(7*bs/10),sD=ms(Dc/10)*Kx,cD=-Bx(Dc/10)*Kx,lD={draw(e,t){const r=jr(t*uD),n=sD*r,i=cD*r;e.moveTo(0,-r),e.lineTo(n,i);for(let o=1;o<5;++o){const s=Dc*o/5,c=Bx(s),l=ms(s);e.lineTo(l*r,-c*r),e.lineTo(c*n-l*i,l*n+c*i)}e.closePath()}},Nf=jr(3),fD={draw(e,t){const r=-jr(t/(Nf*3));e.moveTo(0,r*2),e.lineTo(-Nf*r,-r),e.lineTo(Nf*r,-r),e.closePath()}},sr=-.5,cr=jr(3)/2,vh=1/jr(12),hD=(vh/2+1)*3,pD={draw(e,t){const r=jr(t/hD),n=r/2,i=r*vh,o=n,s=r*vh+r,c=-o,l=s;e.moveTo(n,i),e.lineTo(o,s),e.lineTo(c,l),e.lineTo(sr*n-cr*i,cr*n+sr*i),e.lineTo(sr*o-cr*s,cr*o+sr*s),e.lineTo(sr*c-cr*l,cr*c+sr*l),e.lineTo(sr*n+cr*i,sr*i-cr*n),e.lineTo(sr*o+cr*s,sr*s-cr*o),e.lineTo(sr*c+cr*l,sr*l-cr*c),e.closePath()}};function dD(e,t){let r=null,n=Kp(i);e=typeof e=="function"?e:He(e||Yp),t=typeof t=="function"?t:He(t===void 0?64:+t);function i(){let o;if(r||(r=o=n()),e.apply(this,arguments).draw(r,+t.apply(this,arguments)),o)return r=null,o+""||null}return i.type=function(o){return arguments.length?(e=typeof o=="function"?o:He(o),i):e},i.size=function(o){return arguments.length?(t=typeof o=="function"?o:He(+o),i):t},i.context=function(o){return arguments.length?(r=o??null,i):r},i}function xs(){}function ws(e,t,r){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+r)/6)}function Xx(e){this._context=e}Xx.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:ws(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:ws(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function vD(e){return new Xx(e)}function Yx(e){this._context=e}Yx.prototype={areaStart:xs,areaEnd:xs,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:ws(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function yD(e){return new Yx(e)}function Vx(e){this._context=e}Vx.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+e)/6,n=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:ws(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function gD(e){return new Vx(e)}function Zx(e){this._context=e}Zx.prototype={areaStart:xs,areaEnd:xs,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function mD(e){return new Zx(e)}function Rg(e){return e<0?-1:1}function Bg(e,t,r){var n=e._x1-e._x0,i=t-e._x1,o=(e._y1-e._y0)/(n||i<0&&-0),s=(r-e._y1)/(i||n<0&&-0),c=(o*i+s*n)/(n+i);return(Rg(o)+Rg(s))*Math.min(Math.abs(o),Math.abs(s),.5*Math.abs(c))||0}function Fg(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function Df(e,t,r){var n=e._x0,i=e._y0,o=e._x1,s=e._y1,c=(o-n)/3;e._context.bezierCurveTo(n+c,i+c*t,o-c,s-c*r,o,s)}function _s(e){this._context=e}_s.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Df(this,this._t0,Fg(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var r=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,Df(this,Fg(this,r=Bg(this,e,t)),r);break;default:Df(this,this._t0,r=Bg(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=r}}};function Jx(e){this._context=new Qx(e)}(Jx.prototype=Object.create(_s.prototype)).point=function(e,t){_s.prototype.point.call(this,t,e)};function Qx(e){this._context=e}Qx.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,r,n,i,o){this._context.bezierCurveTo(t,e,n,r,o,i)}};function bD(e){return new _s(e)}function xD(e){return new Jx(e)}function e1(e){this._context=e}e1.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,r=e.length;if(r)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),r===2)this._context.lineTo(e[1],t[1]);else for(var n=Wg(e),i=Wg(t),o=0,s=1;s=0;--t)i[t]=(s[t]-i[t+1])/o[t];for(o[r-1]=(e[r]+i[r-1])/2,t=0;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var r=this._x*(1-this._t)+e*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,t)}break}}this._x=e,this._y=t}};function _D(e){return new Lc(e,.5)}function OD(e){return new Lc(e,0)}function AD(e){return new Lc(e,1)}function Vi(e,t){if((s=e.length)>1)for(var r=1,n,i,o=e[t[0]],s,c=o.length;r=0;)r[t]=t;return r}function SD(e,t){return e[t]}function PD(e){const t=[];return t.key=e,t}function $D(){var e=He([]),t=yh,r=Vi,n=SD;function i(o){var s=Array.from(e.apply(this,arguments),PD),c,l=s.length,h=-1,d;for(const p of o)for(c=0,++h;c0){for(var r,n,i=0,o=e[0].length,s;i0){for(var r=0,n=e[t[0]],i,o=n.length;r0)||!((o=(i=e[t[0]]).length)>0))){for(var r=0,n=1,i,o,s;n=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function kD(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}var t1={symbolCircle:Yp,symbolCross:nD,symbolDiamond:aD,symbolSquare:oD,symbolStar:lD,symbolTriangle:fD,symbolWye:pD},LD=Math.PI/180,RD=function(t){var r="symbol".concat(Nc(t));return t1[r]||Yp},BD=function(t,r,n){if(r==="area")return t;switch(n){case"cross":return 5*t*t/9;case"diamond":return .5*t*t/Math.sqrt(3);case"square":return t*t;case"star":{var i=18*LD;return 1.25*t*t*(Math.tan(i)-Math.tan(i*2)*Math.pow(Math.tan(i),2))}case"triangle":return Math.sqrt(3)*t*t/4;case"wye":return(21-10*Math.sqrt(3))*t*t/8;default:return Math.PI*t*t/4}},FD=function(t,r){t1["symbol".concat(Nc(t))]=r},Rc=function(t){var r=t.type,n=r===void 0?"circle":r,i=t.size,o=i===void 0?64:i,s=t.sizeType,c=s===void 0?"area":s,l=DD(t,MD),h=Ug(Ug({},l),{},{type:n,size:o,sizeType:c}),d=function(){var _=RD(n),S=dD().type(_).size(BD(o,c,n));return S()},p=h.className,v=h.cx,g=h.cy,m=xe(h,!0);return v===+v&&g===+g&&o===+o?C.createElement("path",gh({},m,{className:Ce("recharts-symbols",p),transform:"translate(".concat(v,", ").concat(g,")"),d:d()})):null};Rc.registerSymbol=FD;function Zi(e){"@babel/helpers - typeof";return Zi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Zi(e)}function mh(){return mh=Object.assign?Object.assign.bind():function(e){for(var t=1;t`);var T=g.inactive?h:g.color;return C.createElement("li",mh({className:_,style:p,key:"legend-item-".concat(m)},xo(n.props,g,m)),C.createElement(ch,{width:s,height:s,viewBox:d,style:v},n.renderIcon(g)),C.createElement("span",{className:"recharts-legend-item-text",style:{color:T}},b?b(S,g,m):S))})}},{key:"render",value:function(){var n=this.props,i=n.payload,o=n.layout,s=n.align;if(!i||!i.length)return null;var c={padding:0,margin:0,textAlign:o==="horizontal"?s:"left"};return C.createElement("ul",{className:"recharts-default-legend",style:c},this.renderItems())}}])}(te.PureComponent);_o(Vp,"displayName","Legend");_o(Vp,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"middle",inactiveColor:"#ccc"});var VD=wc;function ZD(){this.__data__=new VD,this.size=0}var JD=ZD;function QD(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var ek=QD;function tk(e){return this.__data__.get(e)}var rk=tk;function nk(e){return this.__data__.has(e)}var ik=nk,ak=wc,ok=Rp,uk=Bp,sk=200;function ck(e,t){var r=this.__data__;if(r instanceof ak){var n=r.__data__;if(!ok||n.lengthc))return!1;var h=o.get(e),d=o.get(t);if(h&&d)return h==t&&d==e;var p=-1,v=!0,g=r&Mk?new $k:void 0;for(o.set(e,t),o.set(t,e);++p-1&&e%1==0&&e-1&&e%1==0&&e<=DL}var ed=kL,LL=dn,RL=ed,BL=vn,FL="[object Arguments]",WL="[object Array]",zL="[object Boolean]",UL="[object Date]",GL="[object Error]",HL="[object Function]",qL="[object Map]",KL="[object Number]",XL="[object Object]",YL="[object RegExp]",VL="[object Set]",ZL="[object String]",JL="[object WeakMap]",QL="[object ArrayBuffer]",eR="[object DataView]",tR="[object Float32Array]",rR="[object Float64Array]",nR="[object Int8Array]",iR="[object Int16Array]",aR="[object Int32Array]",oR="[object Uint8Array]",uR="[object Uint8ClampedArray]",sR="[object Uint16Array]",cR="[object Uint32Array]",Ye={};Ye[tR]=Ye[rR]=Ye[nR]=Ye[iR]=Ye[aR]=Ye[oR]=Ye[uR]=Ye[sR]=Ye[cR]=!0;Ye[FL]=Ye[WL]=Ye[QL]=Ye[zL]=Ye[eR]=Ye[UL]=Ye[GL]=Ye[HL]=Ye[qL]=Ye[KL]=Ye[XL]=Ye[YL]=Ye[VL]=Ye[ZL]=Ye[JL]=!1;function lR(e){return BL(e)&&RL(e.length)&&!!Ye[LL(e)]}var fR=lR;function hR(e){return function(t){return e(t)}}var h1=hR,Ps={exports:{}};Ps.exports;(function(e,t){var r=bx,n=t&&!t.nodeType&&t,i=n&&!0&&e&&!e.nodeType&&e,o=i&&i.exports===n,s=o&&r.process,c=function(){try{var l=i&&i.require&&i.require("util").types;return l||s&&s.binding&&s.binding("util")}catch{}}();e.exports=c})(Ps,Ps.exports);var pR=Ps.exports,dR=fR,vR=h1,Vg=pR,Zg=Vg&&Vg.isTypedArray,yR=Zg?vR(Zg):dR,p1=yR,gR=xL,mR=Jp,bR=zt,xR=f1,wR=Qp,_R=p1,OR=Object.prototype,AR=OR.hasOwnProperty;function SR(e,t){var r=bR(e),n=!r&&mR(e),i=!r&&!n&&xR(e),o=!r&&!n&&!i&&_R(e),s=r||n||i||o,c=s?gR(e.length,String):[],l=c.length;for(var h in e)(t||AR.call(e,h))&&!(s&&(h=="length"||i&&(h=="offset"||h=="parent")||o&&(h=="buffer"||h=="byteLength"||h=="byteOffset")||wR(h,l)))&&c.push(h);return c}var PR=SR,$R=Object.prototype;function TR(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||$R;return e===r}var ER=TR;function jR(e,t){return function(r){return e(t(r))}}var d1=jR,MR=d1,CR=MR(Object.keys,Object),IR=CR,NR=ER,DR=IR,kR=Object.prototype,LR=kR.hasOwnProperty;function RR(e){if(!NR(e))return DR(e);var t=[];for(var r in Object(e))LR.call(e,r)&&r!="constructor"&&t.push(r);return t}var BR=RR,FR=kp,WR=ed;function zR(e){return e!=null&&WR(e.length)&&!FR(e)}var iu=zR,UR=PR,GR=BR,HR=iu;function qR(e){return HR(e)?UR(e):GR(e)}var Bc=qR,KR=sL,XR=mL,YR=Bc;function VR(e){return KR(e,YR,XR)}var ZR=VR,Jg=ZR,JR=1,QR=Object.prototype,eB=QR.hasOwnProperty;function tB(e,t,r,n,i,o){var s=r&JR,c=Jg(e),l=c.length,h=Jg(t),d=h.length;if(l!=d&&!s)return!1;for(var p=l;p--;){var v=c[p];if(!(s?v in t:eB.call(t,v)))return!1}var g=o.get(e),m=o.get(t);if(g&&m)return g==t&&m==e;var b=!0;o.set(e,t),o.set(t,e);for(var _=s;++p-1}var Q3=J3;function eF(e,t,r){for(var n=-1,i=e==null?0:e.length;++n=vF){var h=t?null:pF(e);if(h)return dF(h);s=!1,i=hF,l=new cF}else l=t?[]:c;e:for(;++n=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function MF(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function CF(e){return e.value}function IF(e,t){if(C.isValidElement(e))return C.cloneElement(e,t);if(typeof e=="function")return C.createElement(e,t);t.ref;var r=jF(t,_F);return C.createElement(Vp,r)}var dm=1,ui=function(e){function t(){var r;OF(this,t);for(var n=arguments.length,i=new Array(n),o=0;odm||Math.abs(i.height-this.lastBoundingBox.height)>dm)&&(this.lastBoundingBox.width=i.width,this.lastBoundingBox.height=i.height,n&&n(i)):(this.lastBoundingBox.width!==-1||this.lastBoundingBox.height!==-1)&&(this.lastBoundingBox.width=-1,this.lastBoundingBox.height=-1,n&&n(null))}},{key:"getBBoxSnapshot",value:function(){return this.lastBoundingBox.width>=0&&this.lastBoundingBox.height>=0?Qr({},this.lastBoundingBox):{width:0,height:0}}},{key:"getDefaultPosition",value:function(n){var i=this.props,o=i.layout,s=i.align,c=i.verticalAlign,l=i.margin,h=i.chartWidth,d=i.chartHeight,p,v;if(!n||(n.left===void 0||n.left===null)&&(n.right===void 0||n.right===null))if(s==="center"&&o==="vertical"){var g=this.getBBoxSnapshot();p={left:((h||0)-g.width)/2}}else p=s==="right"?{right:l&&l.right||0}:{left:l&&l.left||0};if(!n||(n.top===void 0||n.top===null)&&(n.bottom===void 0||n.bottom===null))if(c==="middle"){var m=this.getBBoxSnapshot();v={top:((d||0)-m.height)/2}}else v=c==="bottom"?{bottom:l&&l.bottom||0}:{top:l&&l.top||0};return Qr(Qr({},p),v)}},{key:"render",value:function(){var n=this,i=this.props,o=i.content,s=i.width,c=i.height,l=i.wrapperStyle,h=i.payloadUniqBy,d=i.payload,p=Qr(Qr({position:"absolute",width:s||"auto",height:c||"auto"},this.getDefaultPosition(l)),l);return C.createElement("div",{className:"recharts-legend-wrapper",style:p,ref:function(g){n.wrapperNode=g}},IF(o,Qr(Qr({},this.props),{},{payload:w1(d,h,CF)})))}}],[{key:"getWithHeight",value:function(n,i){var o=Qr(Qr({},this.defaultProps),n.props),s=o.layout;return s==="vertical"&&re(n.props.height)?{height:n.props.height}:s==="horizontal"?{width:n.props.width||i}:null}}])}(te.PureComponent);Fc(ui,"displayName","Legend");Fc(ui,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"bottom"});var vm=ru,NF=Jp,DF=zt,ym=vm?vm.isConcatSpreadable:void 0;function kF(e){return DF(e)||NF(e)||!!(ym&&e&&e[ym])}var LF=kF,RF=c1,BF=LF;function A1(e,t,r,n,i){var o=-1,s=e.length;for(r||(r=BF),i||(i=[]);++o0&&r(c)?t>1?A1(c,t-1,r,n,i):RF(i,c):n||(i[i.length]=c)}return i}var S1=A1;function FF(e){return function(t,r,n){for(var i=-1,o=Object(t),s=n(t),c=s.length;c--;){var l=s[e?c:++i];if(r(o[l],l,o)===!1)break}return t}}var WF=FF,zF=WF,UF=zF(),GF=UF,HF=GF,qF=Bc;function KF(e,t){return e&&HF(e,t,qF)}var P1=KF,XF=iu;function YF(e,t){return function(r,n){if(r==null)return r;if(!XF(r))return e(r,n);for(var i=r.length,o=t?i:-1,s=Object(r);(t?o--:++ot||o&&s&&l&&!c&&!h||n&&s&&l||!r&&l||!i)return 1;if(!n&&!o&&!h&&e=c)return l;var h=r[n];return l*(h=="desc"?-1:1)}}return e.index-t.index}var cW=sW,Bf=Wp,lW=zp,fW=Bn,hW=$1,pW=iW,dW=h1,vW=cW,yW=Ma,gW=zt;function mW(e,t,r){t.length?t=Bf(t,function(o){return gW(o)?function(s){return lW(s,o.length===1?o[0]:o)}:o}):t=[yW];var n=-1;t=Bf(t,dW(fW));var i=hW(e,function(o,s,c){var l=Bf(t,function(h){return h(o)});return{criteria:l,index:++n,value:o}});return pW(i,function(o,s){return vW(o,s,r)})}var bW=mW;function xW(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}var wW=xW,_W=wW,mm=Math.max;function OW(e,t,r){return t=mm(t===void 0?e.length-1:t,0),function(){for(var n=arguments,i=-1,o=mm(n.length-t,0),s=Array(o);++i0){if(++t>=IW)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var LW=kW,RW=CW,BW=LW,FW=BW(RW),WW=FW,zW=Ma,UW=AW,GW=WW;function HW(e,t){return GW(UW(e,t,zW),e+"")}var qW=HW,KW=Lp,XW=iu,YW=Qp,VW=Rn;function ZW(e,t,r){if(!VW(r))return!1;var n=typeof t;return(n=="number"?XW(r)&&YW(t,r.length):n=="string"&&t in r)?KW(r[t],e):!1}var Wc=ZW,JW=S1,QW=bW,ez=qW,xm=Wc,tz=ez(function(e,t){if(e==null)return[];var r=t.length;return r>1&&xm(e,t[0],t[1])?t=[]:r>2&&xm(t[0],t[1],t[2])&&(t=[t[0]]),QW(e,JW(t,1),[])}),rz=tz;const nd=et(rz);function Oo(e){"@babel/helpers - typeof";return Oo=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Oo(e)}function Ph(){return Ph=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r=t.x),"".concat(to,"-left"),re(r)&&t&&re(t.x)&&r=t.y),"".concat(to,"-top"),re(n)&&t&&re(t.y)&&nb?Math.max(d,l[n]):Math.max(p,l[n])}function gz(e){var t=e.translateX,r=e.translateY,n=e.useTranslate3d;return{transform:n?"translate3d(".concat(t,"px, ").concat(r,"px, 0)"):"translate(".concat(t,"px, ").concat(r,"px)")}}function mz(e){var t=e.allowEscapeViewBox,r=e.coordinate,n=e.offsetTopLeft,i=e.position,o=e.reverseDirection,s=e.tooltipBox,c=e.useTranslate3d,l=e.viewBox,h,d,p;return s.height>0&&s.width>0&&r?(d=Om({allowEscapeViewBox:t,coordinate:r,key:"x",offsetTopLeft:n,position:i,reverseDirection:o,tooltipDimension:s.width,viewBox:l,viewBoxDimension:l.width}),p=Om({allowEscapeViewBox:t,coordinate:r,key:"y",offsetTopLeft:n,position:i,reverseDirection:o,tooltipDimension:s.height,viewBox:l,viewBoxDimension:l.height}),h=gz({translateX:d,translateY:p,useTranslate3d:c})):h=vz,{cssProperties:h,cssClasses:yz({translateX:d,translateY:p,coordinate:r})}}function Qi(e){"@babel/helpers - typeof";return Qi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Qi(e)}function Am(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 Sm(e){for(var t=1;tPm||Math.abs(n.height-this.state.lastBoundingBox.height)>Pm)&&this.setState({lastBoundingBox:{width:n.width,height:n.height}})}else(this.state.lastBoundingBox.width!==-1||this.state.lastBoundingBox.height!==-1)&&this.setState({lastBoundingBox:{width:-1,height:-1}})}},{key:"componentDidMount",value:function(){document.addEventListener("keydown",this.handleKeyDown),this.updateBBox()}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleKeyDown)}},{key:"componentDidUpdate",value:function(){var n,i;this.props.active&&this.updateBBox(),this.state.dismissed&&(((n=this.props.coordinate)===null||n===void 0?void 0:n.x)!==this.state.dismissedAtCoordinate.x||((i=this.props.coordinate)===null||i===void 0?void 0:i.y)!==this.state.dismissedAtCoordinate.y)&&(this.state.dismissed=!1)}},{key:"render",value:function(){var n=this,i=this.props,o=i.active,s=i.allowEscapeViewBox,c=i.animationDuration,l=i.animationEasing,h=i.children,d=i.coordinate,p=i.hasPayload,v=i.isAnimationActive,g=i.offset,m=i.position,b=i.reverseDirection,_=i.useTranslate3d,S=i.viewBox,T=i.wrapperStyle,P=mz({allowEscapeViewBox:s,coordinate:d,offsetTopLeft:g,position:m,reverseDirection:b,tooltipBox:this.state.lastBoundingBox,useTranslate3d:_,viewBox:S}),E=P.cssClasses,w=P.cssProperties,O=Sm(Sm({transition:v&&o?"transform ".concat(c,"ms ").concat(l):void 0},w),{},{pointerEvents:"none",visibility:!this.state.dismissed&&o&&p?"visible":"hidden",position:"absolute",top:0,left:0},T);return C.createElement("div",{tabIndex:-1,className:E,style:O,ref:function(I){n.wrapperNode=I}},h)}}])}(te.PureComponent),Tz=function(){return!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout)},Tr={isSsr:Tz(),get:function(t){return Tr[t]},set:function(t,r){if(typeof t=="string")Tr[t]=r;else{var n=Object.keys(t);n&&n.length&&n.forEach(function(i){Tr[i]=t[i]})}}};function ea(e){"@babel/helpers - typeof";return ea=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ea(e)}function $m(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 Tm(e){for(var t=1;t0;return C.createElement($z,{allowEscapeViewBox:s,animationDuration:c,animationEasing:l,isAnimationActive:v,active:o,coordinate:d,hasPayload:O,offset:g,position:_,reverseDirection:S,useTranslate3d:T,viewBox:P,wrapperStyle:E},Rz(h,Tm(Tm({},this.props),{},{payload:w})))}}])}(te.PureComponent);id(hr,"displayName","Tooltip");id(hr,"defaultProps",{accessibilityLayer:!1,allowEscapeViewBox:{x:!1,y:!1},animationDuration:400,animationEasing:"ease",contentStyle:{},coordinate:{x:0,y:0},cursor:!0,cursorStyle:{},filterNull:!0,isAnimationActive:!Tr.isSsr,itemStyle:{},labelStyle:{},offset:10,reverseDirection:{x:!1,y:!1},separator:" : ",trigger:"hover",useTranslate3d:!1,viewBox:{x:0,y:0,height:0,width:0},wrapperStyle:{}});var Bz=zr,Fz=function(){return Bz.Date.now()},Wz=Fz,zz=/\s/;function Uz(e){for(var t=e.length;t--&&zz.test(e.charAt(t)););return t}var Gz=Uz,Hz=Gz,qz=/^\s+/;function Kz(e){return e&&e.slice(0,Hz(e)+1).replace(qz,"")}var Xz=Kz,Yz=Xz,Em=Rn,Vz=Oa,jm=NaN,Zz=/^[-+]0x[0-9a-f]+$/i,Jz=/^0b[01]+$/i,Qz=/^0o[0-7]+$/i,eU=parseInt;function tU(e){if(typeof e=="number")return e;if(Vz(e))return jm;if(Em(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=Em(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=Yz(e);var r=Jz.test(e);return r||Qz.test(e)?eU(e.slice(2),r?2:8):Zz.test(e)?jm:+e}var I1=tU,rU=Rn,Wf=Wz,Mm=I1,nU="Expected a function",iU=Math.max,aU=Math.min;function oU(e,t,r){var n,i,o,s,c,l,h=0,d=!1,p=!1,v=!0;if(typeof e!="function")throw new TypeError(nU);t=Mm(t)||0,rU(r)&&(d=!!r.leading,p="maxWait"in r,o=p?iU(Mm(r.maxWait)||0,t):o,v="trailing"in r?!!r.trailing:v);function g(O){var j=n,I=i;return n=i=void 0,h=O,s=e.apply(I,j),s}function m(O){return h=O,c=setTimeout(S,t),d?g(O):s}function b(O){var j=O-l,I=O-h,D=t-j;return p?aU(D,o-I):D}function _(O){var j=O-l,I=O-h;return l===void 0||j>=t||j<0||p&&I>=o}function S(){var O=Wf();if(_(O))return T(O);c=setTimeout(S,b(O))}function T(O){return c=void 0,v&&n?g(O):(n=i=void 0,s)}function P(){c!==void 0&&clearTimeout(c),h=0,n=l=i=c=void 0}function E(){return c===void 0?s:T(Wf())}function w(){var O=Wf(),j=_(O);if(n=arguments,i=this,l=O,j){if(c===void 0)return m(l);if(p)return clearTimeout(c),c=setTimeout(S,t),g(l)}return c===void 0&&(c=setTimeout(S,t)),s}return w.cancel=P,w.flush=E,w}var uU=oU,sU=uU,cU=Rn,lU="Expected a function";function fU(e,t,r){var n=!0,i=!0;if(typeof e!="function")throw new TypeError(lU);return cU(r)&&(n="leading"in r?!!r.leading:n,i="trailing"in r?!!r.trailing:i),sU(e,t,{leading:n,maxWait:t,trailing:i})}var hU=fU;const N1=et(hU);function So(e){"@babel/helpers - typeof";return So=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},So(e)}function Cm(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 rs(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r0&&(K=N1(K,b,{trailing:!0,leading:!1}));var q=new ResizeObserver(K),H=w.current.getBoundingClientRect(),V=H.width,Z=H.height;return B(V,Z),q.observe(w.current),function(){q.disconnect()}},[B,b]);var F=te.useMemo(function(){var K=D.containerWidth,q=D.containerHeight;if(K<0||q<0)return null;on(ri(s)||ri(l),`The width(%s) and height(%s) are both fixed numbers, - maybe you don't need to use a ResponsiveContainer.`,s,l),on(!r||r>0,"The aspect(%s) must be greater than zero.",r);var H=ri(s)?K:s,V=ri(l)?q:l;r&&r>0&&(H?V=H/r:V&&(H=V*r),v&&V>v&&(V=v)),on(H>0||V>0,`The width(%s) and height(%s) of chart should be greater than 0, - please check the style of container, or the props width(%s) and height(%s), - or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the - height and width.`,H,V,s,l,d,p,r);var Z=!Array.isArray(g)&&an(g.type).endsWith("Chart");return C.Children.map(g,function(ee){return C.isValidElement(ee)?te.cloneElement(ee,rs({width:H,height:V},Z?{style:rs({height:"100%",width:"100%",maxHeight:V,maxWidth:H},ee.props.style)}:{})):ee})},[r,g,l,v,p,d,D,s]);return C.createElement("div",{id:_?"".concat(_):void 0,className:Ce("recharts-responsive-container",S),style:rs(rs({},E),{},{width:s,height:l,minWidth:d,minHeight:p,maxHeight:v}),ref:w},F)}),ad=function(t){return null};ad.displayName="Cell";function Po(e){"@babel/helpers - typeof";return Po=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Po(e)}function Nm(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 Mh(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||Tr.isSsr)return{width:0,height:0};var n=PU(r),i=JSON.stringify({text:t,copyStyle:n});if(Bi.widthCache[i])return Bi.widthCache[i];try{var o=document.getElementById(Dm);o||(o=document.createElement("span"),o.setAttribute("id",Dm),o.setAttribute("aria-hidden","true"),document.body.appendChild(o));var s=Mh(Mh({},SU),n);Object.assign(o.style,s),o.textContent="".concat(t);var c=o.getBoundingClientRect(),l={width:c.width,height:c.height};return Bi.widthCache[i]=l,++Bi.cacheCount>AU&&(Bi.cacheCount=0,Bi.widthCache={}),l}catch{return{width:0,height:0}}},$U=function(t){return{top:t.top+window.scrollY-document.documentElement.clientTop,left:t.left+window.scrollX-document.documentElement.clientLeft}};function $o(e){"@babel/helpers - typeof";return $o=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},$o(e)}function js(e,t){return MU(e)||jU(e,t)||EU(e,t)||TU()}function TU(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function EU(e,t){if(e){if(typeof e=="string")return km(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return km(e,t)}}function km(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function HU(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function zm(e,t){return YU(e)||XU(e,t)||KU(e,t)||qU()}function qU(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function KU(e,t){if(e){if(typeof e=="string")return Um(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Um(e,t)}}function Um(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r0&&arguments[0]!==void 0?arguments[0]:[];return H.reduce(function(V,Z){var ee=Z.word,ne=Z.width,fe=V[V.length-1];if(fe&&(i==null||o||fe.width+ne+nZ.width?V:Z})};if(!d)return g;for(var b="…",_=function(H){var V=p.slice(0,H),Z=R1({breakAll:h,style:l,children:V+b}).wordsWithComputedWidth,ee=v(Z),ne=ee.length>s||m(ee).width>Number(i);return[ne,ee]},S=0,T=p.length-1,P=0,E;S<=T&&P<=p.length-1;){var w=Math.floor((S+T)/2),O=w-1,j=_(O),I=zm(j,2),D=I[0],z=I[1],B=_(w),F=zm(B,1),K=F[0];if(!D&&!K&&(S=w+1),D&&K&&(T=w-1),!D&&K){E=z;break}P++}return E||g},Gm=function(t){var r=we(t)?[]:t.toString().split(L1);return[{words:r}]},ZU=function(t){var r=t.width,n=t.scaleToFit,i=t.children,o=t.style,s=t.breakAll,c=t.maxLines;if((r||n)&&!Tr.isSsr){var l,h,d=R1({breakAll:s,children:i,style:o});if(d){var p=d.wordsWithComputedWidth,v=d.spaceWidth;l=p,h=v}else return Gm(i);return VU({breakAll:s,children:i,maxLines:c,style:o},l,h,r,n)}return Gm(i)},Hm="#808080",Ms=function(t){var r=t.x,n=r===void 0?0:r,i=t.y,o=i===void 0?0:i,s=t.lineHeight,c=s===void 0?"1em":s,l=t.capHeight,h=l===void 0?"0.71em":l,d=t.scaleToFit,p=d===void 0?!1:d,v=t.textAnchor,g=v===void 0?"start":v,m=t.verticalAnchor,b=m===void 0?"end":m,_=t.fill,S=_===void 0?Hm:_,T=Wm(t,UU),P=te.useMemo(function(){return ZU({breakAll:T.breakAll,children:T.children,maxLines:T.maxLines,scaleToFit:p,style:T.style,width:T.width})},[T.breakAll,T.children,T.maxLines,p,T.style,T.width]),E=T.dx,w=T.dy,O=T.angle,j=T.className,I=T.breakAll,D=Wm(T,GU);if(!vt(n)||!vt(o))return null;var z=n+(re(E)?E:0),B=o+(re(w)?w:0),F;switch(b){case"start":F=zf("calc(".concat(h,")"));break;case"middle":F=zf("calc(".concat((P.length-1)/2," * -").concat(c," + (").concat(h," / 2))"));break;default:F=zf("calc(".concat(P.length-1," * -").concat(c,")"));break}var K=[];if(p){var q=P[0].width,H=T.width;K.push("scale(".concat((re(H)?H/q:1)/q,")"))}return O&&K.push("rotate(".concat(O,", ").concat(z,", ").concat(B,")")),K.length&&(D.transform=K.join(" ")),C.createElement("text",Ch({},xe(D,!0),{x:z,y:B,className:Ce("recharts-text",j),textAnchor:g,fill:S.includes("url")?Hm:S}),P.map(function(V,Z){var ee=V.words.join(I?"":" ");return C.createElement("tspan",{x:z,dy:Z===0?F:c,key:"".concat(ee,"-").concat(Z)},ee)}))};function kn(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function JU(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function od(e){let t,r,n;e.length!==2?(t=kn,r=(c,l)=>kn(e(c),l),n=(c,l)=>e(c)-l):(t=e===kn||e===JU?e:QU,r=e,n=e);function i(c,l,h=0,d=c.length){if(h>>1;r(c[p],l)<0?h=p+1:d=p}while(h>>1;r(c[p],l)<=0?h=p+1:d=p}while(hh&&n(c[p-1],l)>-n(c[p],l)?p-1:p}return{left:i,center:s,right:o}}function QU(){return 0}function B1(e){return e===null?NaN:+e}function*e6(e,t){for(let r of e)r!=null&&(r=+r)>=r&&(yield r)}const t6=od(kn),au=t6.right;od(B1).center;class qm extends Map{constructor(t,r=i6){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),t!=null)for(const[n,i]of t)this.set(n,i)}get(t){return super.get(Km(this,t))}has(t){return super.has(Km(this,t))}set(t,r){return super.set(r6(this,t),r)}delete(t){return super.delete(n6(this,t))}}function Km({_intern:e,_key:t},r){const n=t(r);return e.has(n)?e.get(n):r}function r6({_intern:e,_key:t},r){const n=t(r);return e.has(n)?e.get(n):(e.set(n,r),r)}function n6({_intern:e,_key:t},r){const n=t(r);return e.has(n)&&(r=e.get(n),e.delete(n)),r}function i6(e){return e!==null&&typeof e=="object"?e.valueOf():e}function a6(e=kn){if(e===kn)return F1;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,r)=>{const n=e(t,r);return n||n===0?n:(e(r,r)===0)-(e(t,t)===0)}}function F1(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}const o6=Math.sqrt(50),u6=Math.sqrt(10),s6=Math.sqrt(2);function Cs(e,t,r){const n=(t-e)/Math.max(0,r),i=Math.floor(Math.log10(n)),o=n/Math.pow(10,i),s=o>=o6?10:o>=u6?5:o>=s6?2:1;let c,l,h;return i<0?(h=Math.pow(10,-i)/s,c=Math.round(e*h),l=Math.round(t*h),c/ht&&--l,h=-h):(h=Math.pow(10,i)*s,c=Math.round(e/h),l=Math.round(t/h),c*ht&&--l),l0))return[];if(e===t)return[e];const n=t=i))return[];const c=o-i+1,l=new Array(c);if(n)if(s<0)for(let h=0;h=n)&&(r=n);return r}function Ym(e,t){let r;for(const n of e)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);return r}function W1(e,t,r=0,n=1/0,i){if(t=Math.floor(t),r=Math.floor(Math.max(0,r)),n=Math.floor(Math.min(e.length-1,n)),!(r<=t&&t<=n))return e;for(i=i===void 0?F1:a6(i);n>r;){if(n-r>600){const l=n-r+1,h=t-r+1,d=Math.log(l),p=.5*Math.exp(2*d/3),v=.5*Math.sqrt(d*p*(l-p)/l)*(h-l/2<0?-1:1),g=Math.max(r,Math.floor(t-h*p/l+v)),m=Math.min(n,Math.floor(t+(l-h)*p/l+v));W1(e,t,g,m,i)}const o=e[t];let s=r,c=n;for(ro(e,r,t),i(e[n],o)>0&&ro(e,r,n);s0;)--c}i(e[r],o)===0?ro(e,r,c):(++c,ro(e,c,n)),c<=t&&(r=c+1),t<=c&&(n=c-1)}return e}function ro(e,t,r){const n=e[t];e[t]=e[r],e[r]=n}function c6(e,t,r){if(e=Float64Array.from(e6(e)),!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return Ym(e);if(t>=1)return Xm(e);var n,i=(n-1)*t,o=Math.floor(i),s=Xm(W1(e,o).subarray(0,o+1)),c=Ym(e.subarray(o+1));return s+(c-s)*(i-o)}}function l6(e,t,r=B1){if(!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return+r(e[0],0,e);if(t>=1)return+r(e[n-1],n-1,e);var n,i=(n-1)*t,o=Math.floor(i),s=+r(e[o],o,e),c=+r(e[o+1],o+1,e);return s+(c-s)*(i-o)}}function f6(e,t,r){e=+e,t=+t,r=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+r;for(var n=-1,i=Math.max(0,Math.ceil((t-e)/r))|0,o=new Array(i);++n>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?is(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?is(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=p6.exec(e))?new Ft(t[1],t[2],t[3],1):(t=d6.exec(e))?new Ft(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=v6.exec(e))?is(t[1],t[2],t[3],t[4]):(t=y6.exec(e))?is(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=g6.exec(e))?rb(t[1],t[2]/100,t[3]/100,1):(t=m6.exec(e))?rb(t[1],t[2]/100,t[3]/100,t[4]):Vm.hasOwnProperty(e)?Qm(Vm[e]):e==="transparent"?new Ft(NaN,NaN,NaN,0):null}function Qm(e){return new Ft(e>>16&255,e>>8&255,e&255,1)}function is(e,t,r,n){return n<=0&&(e=t=r=NaN),new Ft(e,t,r,n)}function w6(e){return e instanceof ou||(e=Mo(e)),e?(e=e.rgb(),new Ft(e.r,e.g,e.b,e.opacity)):new Ft}function Lh(e,t,r,n){return arguments.length===1?w6(e):new Ft(e,t,r,n??1)}function Ft(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}sd(Ft,Lh,U1(ou,{brighter(e){return e=e==null?Is:Math.pow(Is,e),new Ft(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Eo:Math.pow(Eo,e),new Ft(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Ft(si(this.r),si(this.g),si(this.b),Ns(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:eb,formatHex:eb,formatHex8:_6,formatRgb:tb,toString:tb}));function eb(){return`#${ni(this.r)}${ni(this.g)}${ni(this.b)}`}function _6(){return`#${ni(this.r)}${ni(this.g)}${ni(this.b)}${ni((isNaN(this.opacity)?1:this.opacity)*255)}`}function tb(){const e=Ns(this.opacity);return`${e===1?"rgb(":"rgba("}${si(this.r)}, ${si(this.g)}, ${si(this.b)}${e===1?")":`, ${e})`}`}function Ns(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function si(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function ni(e){return e=si(e),(e<16?"0":"")+e.toString(16)}function rb(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new Pr(e,t,r,n)}function G1(e){if(e instanceof Pr)return new Pr(e.h,e.s,e.l,e.opacity);if(e instanceof ou||(e=Mo(e)),!e)return new Pr;if(e instanceof Pr)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,i=Math.min(t,r,n),o=Math.max(t,r,n),s=NaN,c=o-i,l=(o+i)/2;return c?(t===o?s=(r-n)/c+(r0&&l<1?0:s,new Pr(s,c,l,e.opacity)}function O6(e,t,r,n){return arguments.length===1?G1(e):new Pr(e,t,r,n??1)}function Pr(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}sd(Pr,O6,U1(ou,{brighter(e){return e=e==null?Is:Math.pow(Is,e),new Pr(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Eo:Math.pow(Eo,e),new Pr(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,i=2*r-n;return new Ft(Uf(e>=240?e-240:e+120,i,n),Uf(e,i,n),Uf(e<120?e+240:e-120,i,n),this.opacity)},clamp(){return new Pr(nb(this.h),as(this.s),as(this.l),Ns(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Ns(this.opacity);return`${e===1?"hsl(":"hsla("}${nb(this.h)}, ${as(this.s)*100}%, ${as(this.l)*100}%${e===1?")":`, ${e})`}`}}));function nb(e){return e=(e||0)%360,e<0?e+360:e}function as(e){return Math.max(0,Math.min(1,e||0))}function Uf(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}const cd=e=>()=>e;function A6(e,t){return function(r){return e+r*t}}function S6(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(n){return Math.pow(e+n*t,r)}}function P6(e){return(e=+e)==1?H1:function(t,r){return r-t?S6(t,r,e):cd(isNaN(t)?r:t)}}function H1(e,t){var r=t-e;return r?A6(e,r):cd(isNaN(e)?t:e)}const ib=function e(t){var r=P6(t);function n(i,o){var s=r((i=Lh(i)).r,(o=Lh(o)).r),c=r(i.g,o.g),l=r(i.b,o.b),h=H1(i.opacity,o.opacity);return function(d){return i.r=s(d),i.g=c(d),i.b=l(d),i.opacity=h(d),i+""}}return n.gamma=e,n}(1);function $6(e,t){t||(t=[]);var r=e?Math.min(t.length,e.length):0,n=t.slice(),i;return function(o){for(i=0;ir&&(o=t.slice(r,o),c[s]?c[s]+=o:c[++s]=o),(n=n[0])===(i=i[0])?c[s]?c[s]+=i:c[++s]=i:(c[++s]=null,l.push({i:s,x:Ds(n,i)})),r=Gf.lastIndex;return rt&&(r=e,e=t,t=r),function(n){return Math.max(e,Math.min(t,n))}}function R6(e,t,r){var n=e[0],i=e[1],o=t[0],s=t[1];return i2?B6:R6,l=h=null,p}function p(v){return v==null||isNaN(v=+v)?o:(l||(l=c(e.map(n),t,r)))(n(s(v)))}return p.invert=function(v){return s(i((h||(h=c(t,e.map(n),Ds)))(v)))},p.domain=function(v){return arguments.length?(e=Array.from(v,ks),d()):e.slice()},p.range=function(v){return arguments.length?(t=Array.from(v),d()):t.slice()},p.rangeRound=function(v){return t=Array.from(v),r=ld,d()},p.clamp=function(v){return arguments.length?(s=v?!0:Dt,d()):s!==Dt},p.interpolate=function(v){return arguments.length?(r=v,d()):r},p.unknown=function(v){return arguments.length?(o=v,p):o},function(v,g){return n=v,i=g,d()}}function fd(){return zc()(Dt,Dt)}function F6(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function Ls(e,t){if((r=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var r,n=e.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+e.slice(r+1)]}function ta(e){return e=Ls(Math.abs(e)),e?e[1]:NaN}function W6(e,t){return function(r,n){for(var i=r.length,o=[],s=0,c=e[0],l=0;i>0&&c>0&&(l+c+1>n&&(c=Math.max(1,n-l)),o.push(r.substring(i-=c,i+c)),!((l+=c+1)>n));)c=e[s=(s+1)%e.length];return o.reverse().join(t)}}function z6(e){return function(t){return t.replace(/[0-9]/g,function(r){return e[+r]})}}var U6=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Co(e){if(!(t=U6.exec(e)))throw new Error("invalid format: "+e);var t;return new hd({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}Co.prototype=hd.prototype;function hd(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}hd.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function G6(e){e:for(var t=e.length,r=1,n=-1,i;r0&&(n=0);break}return n>0?e.slice(0,n)+e.slice(i+1):e}var q1;function H6(e,t){var r=Ls(e,t);if(!r)return e+"";var n=r[0],i=r[1],o=i-(q1=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,s=n.length;return o===s?n:o>s?n+new Array(o-s+1).join("0"):o>0?n.slice(0,o)+"."+n.slice(o):"0."+new Array(1-o).join("0")+Ls(e,Math.max(0,t+o-1))[0]}function ob(e,t){var r=Ls(e,t);if(!r)return e+"";var n=r[0],i=r[1];return i<0?"0."+new Array(-i).join("0")+n:n.length>i+1?n.slice(0,i+1)+"."+n.slice(i+1):n+new Array(i-n.length+2).join("0")}const ub={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:F6,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>ob(e*100,t),r:ob,s:H6,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function sb(e){return e}var cb=Array.prototype.map,lb=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function q6(e){var t=e.grouping===void 0||e.thousands===void 0?sb:W6(cb.call(e.grouping,Number),e.thousands+""),r=e.currency===void 0?"":e.currency[0]+"",n=e.currency===void 0?"":e.currency[1]+"",i=e.decimal===void 0?".":e.decimal+"",o=e.numerals===void 0?sb:z6(cb.call(e.numerals,String)),s=e.percent===void 0?"%":e.percent+"",c=e.minus===void 0?"−":e.minus+"",l=e.nan===void 0?"NaN":e.nan+"";function h(p){p=Co(p);var v=p.fill,g=p.align,m=p.sign,b=p.symbol,_=p.zero,S=p.width,T=p.comma,P=p.precision,E=p.trim,w=p.type;w==="n"?(T=!0,w="g"):ub[w]||(P===void 0&&(P=12),E=!0,w="g"),(_||v==="0"&&g==="=")&&(_=!0,v="0",g="=");var O=b==="$"?r:b==="#"&&/[boxX]/.test(w)?"0"+w.toLowerCase():"",j=b==="$"?n:/[%p]/.test(w)?s:"",I=ub[w],D=/[defgprs%]/.test(w);P=P===void 0?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,P)):Math.max(0,Math.min(20,P));function z(B){var F=O,K=j,q,H,V;if(w==="c")K=I(B)+K,B="";else{B=+B;var Z=B<0||1/B<0;if(B=isNaN(B)?l:I(Math.abs(B),P),E&&(B=G6(B)),Z&&+B==0&&m!=="+"&&(Z=!1),F=(Z?m==="("?m:c:m==="-"||m==="("?"":m)+F,K=(w==="s"?lb[8+q1/3]:"")+K+(Z&&m==="("?")":""),D){for(q=-1,H=B.length;++qV||V>57){K=(V===46?i+B.slice(q+1):B.slice(q))+K,B=B.slice(0,q);break}}}T&&!_&&(B=t(B,1/0));var ee=F.length+B.length+K.length,ne=ee>1)+F+B+K+ne.slice(ee);break;default:B=ne+F+B+K;break}return o(B)}return z.toString=function(){return p+""},z}function d(p,v){var g=h((p=Co(p),p.type="f",p)),m=Math.max(-8,Math.min(8,Math.floor(ta(v)/3)))*3,b=Math.pow(10,-m),_=lb[8+m/3];return function(S){return g(b*S)+_}}return{format:h,formatPrefix:d}}var os,pd,K1;K6({thousands:",",grouping:[3],currency:["$",""]});function K6(e){return os=q6(e),pd=os.format,K1=os.formatPrefix,os}function X6(e){return Math.max(0,-ta(Math.abs(e)))}function Y6(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(ta(t)/3)))*3-ta(Math.abs(e)))}function V6(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,ta(t)-ta(e))+1}function X1(e,t,r,n){var i=Dh(e,t,r),o;switch(n=Co(n??",f"),n.type){case"s":{var s=Math.max(Math.abs(e),Math.abs(t));return n.precision==null&&!isNaN(o=Y6(i,s))&&(n.precision=o),K1(n,s)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(o=V6(i,Math.max(Math.abs(e),Math.abs(t))))&&(n.precision=o-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(o=X6(i))&&(n.precision=o-(n.type==="%")*2);break}}return pd(n)}function Fn(e){var t=e.domain;return e.ticks=function(r){var n=t();return Ih(n[0],n[n.length-1],r??10)},e.tickFormat=function(r,n){var i=t();return X1(i[0],i[i.length-1],r??10,n)},e.nice=function(r){r==null&&(r=10);var n=t(),i=0,o=n.length-1,s=n[i],c=n[o],l,h,d=10;for(c0;){if(h=Nh(s,c,r),h===l)return n[i]=s,n[o]=c,t(n);if(h>0)s=Math.floor(s/h)*h,c=Math.ceil(c/h)*h;else if(h<0)s=Math.ceil(s*h)/h,c=Math.floor(c*h)/h;else break;l=h}return e},e}function Rs(){var e=fd();return e.copy=function(){return uu(e,Rs())},gr.apply(e,arguments),Fn(e)}function Y1(e){var t;function r(n){return n==null||isNaN(n=+n)?t:n}return r.invert=r,r.domain=r.range=function(n){return arguments.length?(e=Array.from(n,ks),r):e.slice()},r.unknown=function(n){return arguments.length?(t=n,r):t},r.copy=function(){return Y1(e).unknown(t)},e=arguments.length?Array.from(e,ks):[0,1],Fn(r)}function V1(e,t){e=e.slice();var r=0,n=e.length-1,i=e[r],o=e[n],s;return oMath.pow(e,t)}function t8(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function pb(e){return(t,r)=>-e(-t,r)}function dd(e){const t=e(fb,hb),r=t.domain;let n=10,i,o;function s(){return i=t8(n),o=e8(n),r()[0]<0?(i=pb(i),o=pb(o),e(Z6,J6)):e(fb,hb),t}return t.base=function(c){return arguments.length?(n=+c,s()):n},t.domain=function(c){return arguments.length?(r(c),s()):r()},t.ticks=c=>{const l=r();let h=l[0],d=l[l.length-1];const p=d0){for(;v<=g;++v)for(m=1;md)break;S.push(b)}}else for(;v<=g;++v)for(m=n-1;m>=1;--m)if(b=v>0?m/o(-v):m*o(v),!(bd)break;S.push(b)}S.length*2<_&&(S=Ih(h,d,_))}else S=Ih(v,g,Math.min(g-v,_)).map(o);return p?S.reverse():S},t.tickFormat=(c,l)=>{if(c==null&&(c=10),l==null&&(l=n===10?"s":","),typeof l!="function"&&(!(n%1)&&(l=Co(l)).precision==null&&(l.trim=!0),l=pd(l)),c===1/0)return l;const h=Math.max(1,n*c/t.ticks().length);return d=>{let p=d/o(Math.round(i(d)));return p*nr(V1(r(),{floor:c=>o(Math.floor(i(c))),ceil:c=>o(Math.ceil(i(c)))})),t}function Z1(){const e=dd(zc()).domain([1,10]);return e.copy=()=>uu(e,Z1()).base(e.base()),gr.apply(e,arguments),e}function db(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function vb(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function vd(e){var t=1,r=e(db(t),vb(t));return r.constant=function(n){return arguments.length?e(db(t=+n),vb(t)):t},Fn(r)}function J1(){var e=vd(zc());return e.copy=function(){return uu(e,J1()).constant(e.constant())},gr.apply(e,arguments)}function yb(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function r8(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function n8(e){return e<0?-e*e:e*e}function yd(e){var t=e(Dt,Dt),r=1;function n(){return r===1?e(Dt,Dt):r===.5?e(r8,n8):e(yb(r),yb(1/r))}return t.exponent=function(i){return arguments.length?(r=+i,n()):r},Fn(t)}function gd(){var e=yd(zc());return e.copy=function(){return uu(e,gd()).exponent(e.exponent())},gr.apply(e,arguments),e}function i8(){return gd.apply(null,arguments).exponent(.5)}function gb(e){return Math.sign(e)*e*e}function a8(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function Q1(){var e=fd(),t=[0,1],r=!1,n;function i(o){var s=a8(e(o));return isNaN(s)?n:r?Math.round(s):s}return i.invert=function(o){return e.invert(gb(o))},i.domain=function(o){return arguments.length?(e.domain(o),i):e.domain()},i.range=function(o){return arguments.length?(e.range((t=Array.from(o,ks)).map(gb)),i):t.slice()},i.rangeRound=function(o){return i.range(o).round(!0)},i.round=function(o){return arguments.length?(r=!!o,i):r},i.clamp=function(o){return arguments.length?(e.clamp(o),i):e.clamp()},i.unknown=function(o){return arguments.length?(n=o,i):n},i.copy=function(){return Q1(e.domain(),t).round(r).clamp(e.clamp()).unknown(n)},gr.apply(i,arguments),Fn(i)}function ew(){var e=[],t=[],r=[],n;function i(){var s=0,c=Math.max(1,t.length);for(r=new Array(c-1);++s0?r[c-1]:e[0],c=r?[n[r-1],t]:[n[h-1],n[h]]},s.unknown=function(l){return arguments.length&&(o=l),s},s.thresholds=function(){return n.slice()},s.copy=function(){return tw().domain([e,t]).range(i).unknown(o)},gr.apply(Fn(s),arguments)}function rw(){var e=[.5],t=[0,1],r,n=1;function i(o){return o!=null&&o<=o?t[au(e,o,0,n)]:r}return i.domain=function(o){return arguments.length?(e=Array.from(o),n=Math.min(e.length,t.length-1),i):e.slice()},i.range=function(o){return arguments.length?(t=Array.from(o),n=Math.min(e.length,t.length-1),i):t.slice()},i.invertExtent=function(o){var s=t.indexOf(o);return[e[s-1],e[s]]},i.unknown=function(o){return arguments.length?(r=o,i):r},i.copy=function(){return rw().domain(e).range(t).unknown(r)},gr.apply(i,arguments)}const Hf=new Date,qf=new Date;function gt(e,t,r,n){function i(o){return e(o=arguments.length===0?new Date:new Date(+o)),o}return i.floor=o=>(e(o=new Date(+o)),o),i.ceil=o=>(e(o=new Date(o-1)),t(o,1),e(o),o),i.round=o=>{const s=i(o),c=i.ceil(o);return o-s(t(o=new Date(+o),s==null?1:Math.floor(s)),o),i.range=(o,s,c)=>{const l=[];if(o=i.ceil(o),c=c==null?1:Math.floor(c),!(o0))return l;let h;do l.push(h=new Date(+o)),t(o,c),e(o);while(hgt(s=>{if(s>=s)for(;e(s),!o(s);)s.setTime(s-1)},(s,c)=>{if(s>=s)if(c<0)for(;++c<=0;)for(;t(s,-1),!o(s););else for(;--c>=0;)for(;t(s,1),!o(s););}),r&&(i.count=(o,s)=>(Hf.setTime(+o),qf.setTime(+s),e(Hf),e(qf),Math.floor(r(Hf,qf))),i.every=o=>(o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?i.filter(n?s=>n(s)%o===0:s=>i.count(0,s)%o===0):i)),i}const Bs=gt(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);Bs.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?gt(t=>{t.setTime(Math.floor(t/e)*e)},(t,r)=>{t.setTime(+t+r*e)},(t,r)=>(r-t)/e):Bs);Bs.range;const tn=1e3,pr=tn*60,rn=pr*60,sn=rn*24,md=sn*7,mb=sn*30,Kf=sn*365,ii=gt(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*tn)},(e,t)=>(t-e)/tn,e=>e.getUTCSeconds());ii.range;const bd=gt(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*tn)},(e,t)=>{e.setTime(+e+t*pr)},(e,t)=>(t-e)/pr,e=>e.getMinutes());bd.range;const xd=gt(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*pr)},(e,t)=>(t-e)/pr,e=>e.getUTCMinutes());xd.range;const wd=gt(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*tn-e.getMinutes()*pr)},(e,t)=>{e.setTime(+e+t*rn)},(e,t)=>(t-e)/rn,e=>e.getHours());wd.range;const _d=gt(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*rn)},(e,t)=>(t-e)/rn,e=>e.getUTCHours());_d.range;const su=gt(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*pr)/sn,e=>e.getDate()-1);su.range;const Uc=gt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/sn,e=>e.getUTCDate()-1);Uc.range;const nw=gt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/sn,e=>Math.floor(e/sn));nw.range;function _i(e){return gt(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,r)=>{t.setDate(t.getDate()+r*7)},(t,r)=>(r-t-(r.getTimezoneOffset()-t.getTimezoneOffset())*pr)/md)}const Gc=_i(0),Fs=_i(1),o8=_i(2),u8=_i(3),ra=_i(4),s8=_i(5),c8=_i(6);Gc.range;Fs.range;o8.range;u8.range;ra.range;s8.range;c8.range;function Oi(e){return gt(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCDate(t.getUTCDate()+r*7)},(t,r)=>(r-t)/md)}const Hc=Oi(0),Ws=Oi(1),l8=Oi(2),f8=Oi(3),na=Oi(4),h8=Oi(5),p8=Oi(6);Hc.range;Ws.range;l8.range;f8.range;na.range;h8.range;p8.range;const Od=gt(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());Od.range;const Ad=gt(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());Ad.range;const cn=gt(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());cn.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:gt(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,r)=>{t.setFullYear(t.getFullYear()+r*e)});cn.range;const ln=gt(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());ln.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:gt(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCFullYear(t.getUTCFullYear()+r*e)});ln.range;function iw(e,t,r,n,i,o){const s=[[ii,1,tn],[ii,5,5*tn],[ii,15,15*tn],[ii,30,30*tn],[o,1,pr],[o,5,5*pr],[o,15,15*pr],[o,30,30*pr],[i,1,rn],[i,3,3*rn],[i,6,6*rn],[i,12,12*rn],[n,1,sn],[n,2,2*sn],[r,1,md],[t,1,mb],[t,3,3*mb],[e,1,Kf]];function c(h,d,p){const v=d_).right(s,v);if(g===s.length)return e.every(Dh(h/Kf,d/Kf,p));if(g===0)return Bs.every(Math.max(Dh(h,d,p),1));const[m,b]=s[v/s[g-1][2]53)return null;"w"in Q||(Q.w=1),"Z"in Q?(ge=Yf(no(Q.y,0,1)),Ke=ge.getUTCDay(),ge=Ke>4||Ke===0?Ws.ceil(ge):Ws(ge),ge=Uc.offset(ge,(Q.V-1)*7),Q.y=ge.getUTCFullYear(),Q.m=ge.getUTCMonth(),Q.d=ge.getUTCDate()+(Q.w+6)%7):(ge=Xf(no(Q.y,0,1)),Ke=ge.getDay(),ge=Ke>4||Ke===0?Fs.ceil(ge):Fs(ge),ge=su.offset(ge,(Q.V-1)*7),Q.y=ge.getFullYear(),Q.m=ge.getMonth(),Q.d=ge.getDate()+(Q.w+6)%7)}else("W"in Q||"U"in Q)&&("w"in Q||(Q.w="u"in Q?Q.u%7:"W"in Q?1:0),Ke="Z"in Q?Yf(no(Q.y,0,1)).getUTCDay():Xf(no(Q.y,0,1)).getDay(),Q.m=0,Q.d="W"in Q?(Q.w+6)%7+Q.W*7-(Ke+5)%7:Q.w+Q.U*7-(Ke+6)%7);return"Z"in Q?(Q.H+=Q.Z/100|0,Q.M+=Q.Z%100,Yf(Q)):Xf(Q)}}function I(ie,_e,me,Q){for(var qe=0,ge=_e.length,Ke=me.length,it,Ze;qe=Ke)return-1;if(it=_e.charCodeAt(qe++),it===37){if(it=_e.charAt(qe++),Ze=w[it in bb?_e.charAt(qe++):it],!Ze||(Q=Ze(ie,me,Q))<0)return-1}else if(it!=me.charCodeAt(Q++))return-1}return Q}function D(ie,_e,me){var Q=h.exec(_e.slice(me));return Q?(ie.p=d.get(Q[0].toLowerCase()),me+Q[0].length):-1}function z(ie,_e,me){var Q=g.exec(_e.slice(me));return Q?(ie.w=m.get(Q[0].toLowerCase()),me+Q[0].length):-1}function B(ie,_e,me){var Q=p.exec(_e.slice(me));return Q?(ie.w=v.get(Q[0].toLowerCase()),me+Q[0].length):-1}function F(ie,_e,me){var Q=S.exec(_e.slice(me));return Q?(ie.m=T.get(Q[0].toLowerCase()),me+Q[0].length):-1}function K(ie,_e,me){var Q=b.exec(_e.slice(me));return Q?(ie.m=_.get(Q[0].toLowerCase()),me+Q[0].length):-1}function q(ie,_e,me){return I(ie,t,_e,me)}function H(ie,_e,me){return I(ie,r,_e,me)}function V(ie,_e,me){return I(ie,n,_e,me)}function Z(ie){return s[ie.getDay()]}function ee(ie){return o[ie.getDay()]}function ne(ie){return l[ie.getMonth()]}function fe(ie){return c[ie.getMonth()]}function ce(ie){return i[+(ie.getHours()>=12)]}function oe(ie){return 1+~~(ie.getMonth()/3)}function pe(ie){return s[ie.getUTCDay()]}function Fe(ie){return o[ie.getUTCDay()]}function We(ie){return l[ie.getUTCMonth()]}function mt(ie){return c[ie.getUTCMonth()]}function Ur(ie){return i[+(ie.getUTCHours()>=12)]}function st(ie){return 1+~~(ie.getUTCMonth()/3)}return{format:function(ie){var _e=O(ie+="",P);return _e.toString=function(){return ie},_e},parse:function(ie){var _e=j(ie+="",!1);return _e.toString=function(){return ie},_e},utcFormat:function(ie){var _e=O(ie+="",E);return _e.toString=function(){return ie},_e},utcParse:function(ie){var _e=j(ie+="",!0);return _e.toString=function(){return ie},_e}}}var bb={"-":"",_:" ",0:"0"},wt=/^\s*\d+/,b8=/^%/,x8=/[\\^$*+?|[\]().{}]/g;function Ie(e,t,r){var n=e<0?"-":"",i=(n?-e:e)+"",o=i.length;return n+(o[t.toLowerCase(),r]))}function _8(e,t,r){var n=wt.exec(t.slice(r,r+1));return n?(e.w=+n[0],r+n[0].length):-1}function O8(e,t,r){var n=wt.exec(t.slice(r,r+1));return n?(e.u=+n[0],r+n[0].length):-1}function A8(e,t,r){var n=wt.exec(t.slice(r,r+2));return n?(e.U=+n[0],r+n[0].length):-1}function S8(e,t,r){var n=wt.exec(t.slice(r,r+2));return n?(e.V=+n[0],r+n[0].length):-1}function P8(e,t,r){var n=wt.exec(t.slice(r,r+2));return n?(e.W=+n[0],r+n[0].length):-1}function xb(e,t,r){var n=wt.exec(t.slice(r,r+4));return n?(e.y=+n[0],r+n[0].length):-1}function wb(e,t,r){var n=wt.exec(t.slice(r,r+2));return n?(e.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function $8(e,t,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(r,r+6));return n?(e.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function T8(e,t,r){var n=wt.exec(t.slice(r,r+1));return n?(e.q=n[0]*3-3,r+n[0].length):-1}function E8(e,t,r){var n=wt.exec(t.slice(r,r+2));return n?(e.m=n[0]-1,r+n[0].length):-1}function _b(e,t,r){var n=wt.exec(t.slice(r,r+2));return n?(e.d=+n[0],r+n[0].length):-1}function j8(e,t,r){var n=wt.exec(t.slice(r,r+3));return n?(e.m=0,e.d=+n[0],r+n[0].length):-1}function Ob(e,t,r){var n=wt.exec(t.slice(r,r+2));return n?(e.H=+n[0],r+n[0].length):-1}function M8(e,t,r){var n=wt.exec(t.slice(r,r+2));return n?(e.M=+n[0],r+n[0].length):-1}function C8(e,t,r){var n=wt.exec(t.slice(r,r+2));return n?(e.S=+n[0],r+n[0].length):-1}function I8(e,t,r){var n=wt.exec(t.slice(r,r+3));return n?(e.L=+n[0],r+n[0].length):-1}function N8(e,t,r){var n=wt.exec(t.slice(r,r+6));return n?(e.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function D8(e,t,r){var n=b8.exec(t.slice(r,r+1));return n?r+n[0].length:-1}function k8(e,t,r){var n=wt.exec(t.slice(r));return n?(e.Q=+n[0],r+n[0].length):-1}function L8(e,t,r){var n=wt.exec(t.slice(r));return n?(e.s=+n[0],r+n[0].length):-1}function Ab(e,t){return Ie(e.getDate(),t,2)}function R8(e,t){return Ie(e.getHours(),t,2)}function B8(e,t){return Ie(e.getHours()%12||12,t,2)}function F8(e,t){return Ie(1+su.count(cn(e),e),t,3)}function aw(e,t){return Ie(e.getMilliseconds(),t,3)}function W8(e,t){return aw(e,t)+"000"}function z8(e,t){return Ie(e.getMonth()+1,t,2)}function U8(e,t){return Ie(e.getMinutes(),t,2)}function G8(e,t){return Ie(e.getSeconds(),t,2)}function H8(e){var t=e.getDay();return t===0?7:t}function q8(e,t){return Ie(Gc.count(cn(e)-1,e),t,2)}function ow(e){var t=e.getDay();return t>=4||t===0?ra(e):ra.ceil(e)}function K8(e,t){return e=ow(e),Ie(ra.count(cn(e),e)+(cn(e).getDay()===4),t,2)}function X8(e){return e.getDay()}function Y8(e,t){return Ie(Fs.count(cn(e)-1,e),t,2)}function V8(e,t){return Ie(e.getFullYear()%100,t,2)}function Z8(e,t){return e=ow(e),Ie(e.getFullYear()%100,t,2)}function J8(e,t){return Ie(e.getFullYear()%1e4,t,4)}function Q8(e,t){var r=e.getDay();return e=r>=4||r===0?ra(e):ra.ceil(e),Ie(e.getFullYear()%1e4,t,4)}function e5(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+Ie(t/60|0,"0",2)+Ie(t%60,"0",2)}function Sb(e,t){return Ie(e.getUTCDate(),t,2)}function t5(e,t){return Ie(e.getUTCHours(),t,2)}function r5(e,t){return Ie(e.getUTCHours()%12||12,t,2)}function n5(e,t){return Ie(1+Uc.count(ln(e),e),t,3)}function uw(e,t){return Ie(e.getUTCMilliseconds(),t,3)}function i5(e,t){return uw(e,t)+"000"}function a5(e,t){return Ie(e.getUTCMonth()+1,t,2)}function o5(e,t){return Ie(e.getUTCMinutes(),t,2)}function u5(e,t){return Ie(e.getUTCSeconds(),t,2)}function s5(e){var t=e.getUTCDay();return t===0?7:t}function c5(e,t){return Ie(Hc.count(ln(e)-1,e),t,2)}function sw(e){var t=e.getUTCDay();return t>=4||t===0?na(e):na.ceil(e)}function l5(e,t){return e=sw(e),Ie(na.count(ln(e),e)+(ln(e).getUTCDay()===4),t,2)}function f5(e){return e.getUTCDay()}function h5(e,t){return Ie(Ws.count(ln(e)-1,e),t,2)}function p5(e,t){return Ie(e.getUTCFullYear()%100,t,2)}function d5(e,t){return e=sw(e),Ie(e.getUTCFullYear()%100,t,2)}function v5(e,t){return Ie(e.getUTCFullYear()%1e4,t,4)}function y5(e,t){var r=e.getUTCDay();return e=r>=4||r===0?na(e):na.ceil(e),Ie(e.getUTCFullYear()%1e4,t,4)}function g5(){return"+0000"}function Pb(){return"%"}function $b(e){return+e}function Tb(e){return Math.floor(+e/1e3)}var Fi,cw,lw;m5({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function m5(e){return Fi=m8(e),cw=Fi.format,Fi.parse,lw=Fi.utcFormat,Fi.utcParse,Fi}function b5(e){return new Date(e)}function x5(e){return e instanceof Date?+e:+new Date(+e)}function Sd(e,t,r,n,i,o,s,c,l,h){var d=fd(),p=d.invert,v=d.domain,g=h(".%L"),m=h(":%S"),b=h("%I:%M"),_=h("%I %p"),S=h("%a %d"),T=h("%b %d"),P=h("%B"),E=h("%Y");function w(O){return(l(O)t(i/(e.length-1)))},r.quantiles=function(n){return Array.from({length:n+1},(i,o)=>c6(e,o/n))},r.copy=function(){return dw(t).domain(e)},yn.apply(r,arguments)}function Kc(){var e=0,t=.5,r=1,n=1,i,o,s,c,l,h=Dt,d,p=!1,v;function g(b){return isNaN(b=+b)?v:(b=.5+((b=+d(b))-o)*(n*bt}var T5=$5,E5=mw,j5=T5,M5=Ma;function C5(e){return e&&e.length?E5(e,M5,j5):void 0}var I5=C5;const In=et(I5);function N5(e,t){return ee.e^o.s<0?1:-1;for(n=o.d.length,i=e.d.length,t=0,r=ne.d[t]^o.s<0?1:-1;return n===i?0:n>i^o.s<0?1:-1};se.decimalPlaces=se.dp=function(){var e=this,t=e.d.length-1,r=(t-e.e)*Ve;if(t=e.d[t],t)for(;t%10==0;t/=10)r--;return r<0?0:r};se.dividedBy=se.div=function(e){return un(this,new this.constructor(e))};se.dividedToIntegerBy=se.idiv=function(e){var t=this,r=t.constructor;return Ue(un(t,new r(e),0,1),r.precision)};se.equals=se.eq=function(e){return!this.cmp(e)};se.exponent=function(){return lt(this)};se.greaterThan=se.gt=function(e){return this.cmp(e)>0};se.greaterThanOrEqualTo=se.gte=function(e){return this.cmp(e)>=0};se.isInteger=se.isint=function(){return this.e>this.d.length-2};se.isNegative=se.isneg=function(){return this.s<0};se.isPositive=se.ispos=function(){return this.s>0};se.isZero=function(){return this.s===0};se.lessThan=se.lt=function(e){return this.cmp(e)<0};se.lessThanOrEqualTo=se.lte=function(e){return this.cmp(e)<1};se.logarithm=se.log=function(e){var t,r=this,n=r.constructor,i=n.precision,o=i+5;if(e===void 0)e=new n(10);else if(e=new n(e),e.s<1||e.eq(Qt))throw Error(vr+"NaN");if(r.s<1)throw Error(vr+(r.s?"NaN":"-Infinity"));return r.eq(Qt)?new n(0):(Qe=!1,t=un(Io(r,o),Io(e,o),o),Qe=!0,Ue(t,i))};se.minus=se.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?_w(t,e):xw(t,(e.s=-e.s,e))};se.modulo=se.mod=function(e){var t,r=this,n=r.constructor,i=n.precision;if(e=new n(e),!e.s)throw Error(vr+"NaN");return r.s?(Qe=!1,t=un(r,e,0,1).times(e),Qe=!0,r.minus(t)):Ue(new n(r),i)};se.naturalExponential=se.exp=function(){return ww(this)};se.naturalLogarithm=se.ln=function(){return Io(this)};se.negated=se.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e};se.plus=se.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?xw(t,e):_w(t,(e.s=-e.s,e))};se.precision=se.sd=function(e){var t,r,n,i=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(ci+e);if(t=lt(i)+1,n=i.d.length-1,r=n*Ve+1,n=i.d[n],n){for(;n%10==0;n/=10)r--;for(n=i.d[0];n>=10;n/=10)r++}return e&&t>r?t:r};se.squareRoot=se.sqrt=function(){var e,t,r,n,i,o,s,c=this,l=c.constructor;if(c.s<1){if(!c.s)return new l(0);throw Error(vr+"NaN")}for(e=lt(c),Qe=!1,i=Math.sqrt(+c),i==0||i==1/0?(t=kr(c.d),(t.length+e)%2==0&&(t+="0"),i=Math.sqrt(t),e=Na((e+1)/2)-(e<0||e%2),i==1/0?t="5e"+e:(t=i.toExponential(),t=t.slice(0,t.indexOf("e")+1)+e),n=new l(t)):n=new l(i.toString()),r=l.precision,i=s=r+3;;)if(o=n,n=o.plus(un(c,o,s+2)).times(.5),kr(o.d).slice(0,s)===(t=kr(n.d)).slice(0,s)){if(t=t.slice(s-3,s+1),i==s&&t=="4999"){if(Ue(o,r+1,0),o.times(o).eq(c)){n=o;break}}else if(t!="9999")break;s+=4}return Qe=!0,Ue(n,r)};se.times=se.mul=function(e){var t,r,n,i,o,s,c,l,h,d=this,p=d.constructor,v=d.d,g=(e=new p(e)).d;if(!d.s||!e.s)return new p(0);for(e.s*=d.s,r=d.e+e.e,l=v.length,h=g.length,l=0;){for(t=0,i=l+n;i>n;)c=o[i]+g[n]*v[i-n-1]+t,o[i--]=c%xt|0,t=c/xt|0;o[i]=(o[i]+t)%xt|0}for(;!o[--s];)o.pop();return t?++r:o.shift(),e.d=o,e.e=r,Qe?Ue(e,p.precision):e};se.toDecimalPlaces=se.todp=function(e,t){var r=this,n=r.constructor;return r=new n(r),e===void 0?r:(Wr(e,0,Ia),t===void 0?t=n.rounding:Wr(t,0,8),Ue(r,e+lt(r)+1,t))};se.toExponential=function(e,t){var r,n=this,i=n.constructor;return e===void 0?r=yi(n,!0):(Wr(e,0,Ia),t===void 0?t=i.rounding:Wr(t,0,8),n=Ue(new i(n),e+1,t),r=yi(n,!0,e+1)),r};se.toFixed=function(e,t){var r,n,i=this,o=i.constructor;return e===void 0?yi(i):(Wr(e,0,Ia),t===void 0?t=o.rounding:Wr(t,0,8),n=Ue(new o(i),e+lt(i)+1,t),r=yi(n.abs(),!1,e+lt(n)+1),i.isneg()&&!i.isZero()?"-"+r:r)};se.toInteger=se.toint=function(){var e=this,t=e.constructor;return Ue(new t(e),lt(e)+1,t.rounding)};se.toNumber=function(){return+this};se.toPower=se.pow=function(e){var t,r,n,i,o,s,c=this,l=c.constructor,h=12,d=+(e=new l(e));if(!e.s)return new l(Qt);if(c=new l(c),!c.s){if(e.s<1)throw Error(vr+"Infinity");return c}if(c.eq(Qt))return c;if(n=l.precision,e.eq(Qt))return Ue(c,n);if(t=e.e,r=e.d.length-1,s=t>=r,o=c.s,s){if((r=d<0?-d:d)<=bw){for(i=new l(Qt),t=Math.ceil(n/Ve+4),Qe=!1;r%2&&(i=i.times(c),Mb(i.d,t)),r=Na(r/2),r!==0;)c=c.times(c),Mb(c.d,t);return Qe=!0,e.s<0?new l(Qt).div(i):Ue(i,n)}}else if(o<0)throw Error(vr+"NaN");return o=o<0&&e.d[Math.max(t,r)]&1?-1:1,c.s=1,Qe=!1,i=e.times(Io(c,n+h)),Qe=!0,i=ww(i),i.s=o,i};se.toPrecision=function(e,t){var r,n,i=this,o=i.constructor;return e===void 0?(r=lt(i),n=yi(i,r<=o.toExpNeg||r>=o.toExpPos)):(Wr(e,1,Ia),t===void 0?t=o.rounding:Wr(t,0,8),i=Ue(new o(i),e,t),r=lt(i),n=yi(i,e<=r||r<=o.toExpNeg,e)),n};se.toSignificantDigits=se.tosd=function(e,t){var r=this,n=r.constructor;return e===void 0?(e=n.precision,t=n.rounding):(Wr(e,1,Ia),t===void 0?t=n.rounding:Wr(t,0,8)),Ue(new n(r),e,t)};se.toString=se.valueOf=se.val=se.toJSON=se[Symbol.for("nodejs.util.inspect.custom")]=function(){var e=this,t=lt(e),r=e.constructor;return yi(e,t<=r.toExpNeg||t>=r.toExpPos)};function xw(e,t){var r,n,i,o,s,c,l,h,d=e.constructor,p=d.precision;if(!e.s||!t.s)return t.s||(t=new d(e)),Qe?Ue(t,p):t;if(l=e.d,h=t.d,s=e.e,i=t.e,l=l.slice(),o=s-i,o){for(o<0?(n=l,o=-o,c=h.length):(n=h,i=s,c=l.length),s=Math.ceil(p/Ve),c=s>c?s+1:c+1,o>c&&(o=c,n.length=1),n.reverse();o--;)n.push(0);n.reverse()}for(c=l.length,o=h.length,c-o<0&&(o=c,n=h,h=l,l=n),r=0;o;)r=(l[--o]=l[o]+h[o]+r)/xt|0,l[o]%=xt;for(r&&(l.unshift(r),++i),c=l.length;l[--c]==0;)l.pop();return t.d=l,t.e=i,Qe?Ue(t,p):t}function Wr(e,t,r){if(e!==~~e||er)throw Error(ci+e)}function kr(e){var t,r,n,i=e.length-1,o="",s=e[0];if(i>0){for(o+=s,t=1;ts?1:-1;else for(c=l=0;ci[c]?1:-1;break}return l}function r(n,i,o){for(var s=0;o--;)n[o]-=s,s=n[o]1;)n.shift()}return function(n,i,o,s){var c,l,h,d,p,v,g,m,b,_,S,T,P,E,w,O,j,I,D=n.constructor,z=n.s==i.s?1:-1,B=n.d,F=i.d;if(!n.s)return new D(n);if(!i.s)throw Error(vr+"Division by zero");for(l=n.e-i.e,j=F.length,w=B.length,g=new D(z),m=g.d=[],h=0;F[h]==(B[h]||0);)++h;if(F[h]>(B[h]||0)&&--l,o==null?T=o=D.precision:s?T=o+(lt(n)-lt(i))+1:T=o,T<0)return new D(0);if(T=T/Ve+2|0,h=0,j==1)for(d=0,F=F[0],T++;(h1&&(F=e(F,d),B=e(B,d),j=F.length,w=B.length),E=j,b=B.slice(0,j),_=b.length;_=xt/2&&++O;do d=0,c=t(F,b,j,_),c<0?(S=b[0],j!=_&&(S=S*xt+(b[1]||0)),d=S/O|0,d>1?(d>=xt&&(d=xt-1),p=e(F,d),v=p.length,_=b.length,c=t(p,b,v,_),c==1&&(d--,r(p,j16)throw Error(Td+lt(e));if(!e.s)return new d(Qt);for(t==null?(Qe=!1,c=p):c=t,s=new d(.03125);e.abs().gte(.1);)e=e.times(s),h+=5;for(n=Math.log(ti(2,h))/Math.LN10*2+5|0,c+=n,r=i=o=new d(Qt),d.precision=c;;){if(i=Ue(i.times(e),c),r=r.times(++l),s=o.plus(un(i,r,c)),kr(s.d).slice(0,c)===kr(o.d).slice(0,c)){for(;h--;)o=Ue(o.times(o),c);return d.precision=p,t==null?(Qe=!0,Ue(o,p)):o}o=s}}function lt(e){for(var t=e.e*Ve,r=e.d[0];r>=10;r/=10)t++;return t}function Vf(e,t,r){if(t>e.LN10.sd())throw Qe=!0,r&&(e.precision=r),Error(vr+"LN10 precision limit exceeded");return Ue(new e(e.LN10),t)}function Mn(e){for(var t="";e--;)t+="0";return t}function Io(e,t){var r,n,i,o,s,c,l,h,d,p=1,v=10,g=e,m=g.d,b=g.constructor,_=b.precision;if(g.s<1)throw Error(vr+(g.s?"NaN":"-Infinity"));if(g.eq(Qt))return new b(0);if(t==null?(Qe=!1,h=_):h=t,g.eq(10))return t==null&&(Qe=!0),Vf(b,h);if(h+=v,b.precision=h,r=kr(m),n=r.charAt(0),o=lt(g),Math.abs(o)<15e14){for(;n<7&&n!=1||n==1&&r.charAt(1)>3;)g=g.times(e),r=kr(g.d),n=r.charAt(0),p++;o=lt(g),n>1?(g=new b("0."+r),o++):g=new b(n+"."+r.slice(1))}else return l=Vf(b,h+2,_).times(o+""),g=Io(new b(n+"."+r.slice(1)),h-v).plus(l),b.precision=_,t==null?(Qe=!0,Ue(g,_)):g;for(c=s=g=un(g.minus(Qt),g.plus(Qt),h),d=Ue(g.times(g),h),i=3;;){if(s=Ue(s.times(d),h),l=c.plus(un(s,new b(i),h)),kr(l.d).slice(0,h)===kr(c.d).slice(0,h))return c=c.times(2),o!==0&&(c=c.plus(Vf(b,h+2,_).times(o+""))),c=un(c,new b(p),h),b.precision=_,t==null?(Qe=!0,Ue(c,_)):c;c=l,i+=2}}function jb(e,t){var r,n,i;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(n=t.search(/e/i))>0?(r<0&&(r=n),r+=+t.slice(n+1),t=t.substring(0,n)):r<0&&(r=t.length),n=0;t.charCodeAt(n)===48;)++n;for(i=t.length;t.charCodeAt(i-1)===48;)--i;if(t=t.slice(n,i),t){if(i-=n,r=r-n-1,e.e=Na(r/Ve),e.d=[],n=(r+1)%Ve,r<0&&(n+=Ve),nzs||e.e<-zs))throw Error(Td+r)}else e.s=0,e.e=0,e.d=[0];return e}function Ue(e,t,r){var n,i,o,s,c,l,h,d,p=e.d;for(s=1,o=p[0];o>=10;o/=10)s++;if(n=t-s,n<0)n+=Ve,i=t,h=p[d=0];else{if(d=Math.ceil((n+1)/Ve),o=p.length,d>=o)return e;for(h=o=p[d],s=1;o>=10;o/=10)s++;n%=Ve,i=n-Ve+s}if(r!==void 0&&(o=ti(10,s-i-1),c=h/o%10|0,l=t<0||p[d+1]!==void 0||h%o,l=r<4?(c||l)&&(r==0||r==(e.s<0?3:2)):c>5||c==5&&(r==4||l||r==6&&(n>0?i>0?h/ti(10,s-i):0:p[d-1])%10&1||r==(e.s<0?8:7))),t<1||!p[0])return l?(o=lt(e),p.length=1,t=t-o-1,p[0]=ti(10,(Ve-t%Ve)%Ve),e.e=Na(-t/Ve)||0):(p.length=1,p[0]=e.e=e.s=0),e;if(n==0?(p.length=d,o=1,d--):(p.length=d+1,o=ti(10,Ve-n),p[d]=i>0?(h/ti(10,s-i)%ti(10,i)|0)*o:0),l)for(;;)if(d==0){(p[0]+=o)==xt&&(p[0]=1,++e.e);break}else{if(p[d]+=o,p[d]!=xt)break;p[d--]=0,o=1}for(n=p.length;p[--n]===0;)p.pop();if(Qe&&(e.e>zs||e.e<-zs))throw Error(Td+lt(e));return e}function _w(e,t){var r,n,i,o,s,c,l,h,d,p,v=e.constructor,g=v.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new v(e),Qe?Ue(t,g):t;if(l=e.d,p=t.d,n=t.e,h=e.e,l=l.slice(),s=h-n,s){for(d=s<0,d?(r=l,s=-s,c=p.length):(r=p,n=h,c=l.length),i=Math.max(Math.ceil(g/Ve),c)+2,s>i&&(s=i,r.length=1),r.reverse(),i=s;i--;)r.push(0);r.reverse()}else{for(i=l.length,c=p.length,d=i0;--i)l[c++]=0;for(i=p.length;i>s;){if(l[--i]0?o=o.charAt(0)+"."+o.slice(1)+Mn(n):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(i<0?"e":"e+")+i):i<0?(o="0."+Mn(-i-1)+o,r&&(n=r-s)>0&&(o+=Mn(n))):i>=s?(o+=Mn(i+1-s),r&&(n=r-i-1)>0&&(o=o+"."+Mn(n))):((n=i+1)0&&(i+1===s&&(o+="."),o+=Mn(n))),e.s<0?"-"+o:o}function Mb(e,t){if(e.length>t)return e.length=t,!0}function Ow(e){var t,r,n;function i(o){var s=this;if(!(s instanceof i))return new i(o);if(s.constructor=i,o instanceof i){s.s=o.s,s.e=o.e,s.d=(o=o.d)?o.slice():o;return}if(typeof o=="number"){if(o*0!==0)throw Error(ci+o);if(o>0)s.s=1;else if(o<0)o=-o,s.s=-1;else{s.s=0,s.e=0,s.d=[0];return}if(o===~~o&&o<1e7){s.e=0,s.d=[o];return}return jb(s,o.toString())}else if(typeof o!="string")throw Error(ci+o);if(o.charCodeAt(0)===45?(o=o.slice(1),s.s=-1):s.s=1,r4.test(o))jb(s,o);else throw Error(ci+o)}if(i.prototype=se,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=Ow,i.config=i.set=n4,e===void 0&&(e={}),e)for(n=["precision","rounding","toExpNeg","toExpPos","LN10"],t=0;t=i[t+1]&&n<=i[t+2])this[r]=n;else throw Error(ci+r+": "+n);if((n=e[r="LN10"])!==void 0)if(n==Math.LN10)this[r]=new this(n);else throw Error(ci+r+": "+n);return this}var Ed=Ow(t4);Qt=new Ed(1);const Be=Ed;function i4(e){return s4(e)||u4(e)||o4(e)||a4()}function a4(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function o4(e,t){if(e){if(typeof e=="string")return Fh(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Fh(e,t)}}function u4(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function s4(e){if(Array.isArray(e))return Fh(e)}function Fh(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=t?r.apply(void 0,i):e(t-s,Cb(function(){for(var c=arguments.length,l=new Array(c),h=0;he.length)&&(t=e.length);for(var r=0,n=new Array(t);r"u"||!(Symbol.iterator in Object(e)))){var r=[],n=!0,i=!1,o=void 0;try{for(var s=e[Symbol.iterator](),c;!(n=(c=s.next()).done)&&(r.push(c.value),!(t&&r.length===t));n=!0);}catch(l){i=!0,o=l}finally{try{!n&&s.return!=null&&s.return()}finally{if(i)throw o}}return r}}function O4(e){if(Array.isArray(e))return e}function Tw(e){var t=No(e,2),r=t[0],n=t[1],i=r,o=n;return r>n&&(i=n,o=r),[i,o]}function Ew(e,t,r){if(e.lte(0))return new Be(0);var n=Vc.getDigitCount(e.toNumber()),i=new Be(10).pow(n),o=e.div(i),s=n!==1?.05:.1,c=new Be(Math.ceil(o.div(s).toNumber())).add(r).mul(s),l=c.mul(i);return t?l:new Be(Math.ceil(l))}function A4(e,t,r){var n=1,i=new Be(e);if(!i.isint()&&r){var o=Math.abs(e);o<1?(n=new Be(10).pow(Vc.getDigitCount(e)-1),i=new Be(Math.floor(i.div(n).toNumber())).mul(n)):o>1&&(i=new Be(Math.floor(e)))}else e===0?i=new Be(Math.floor((t-1)/2)):r||(i=new Be(Math.floor(e)));var s=Math.floor((t-1)/2),c=h4(f4(function(l){return i.add(new Be(l-s).mul(n)).toNumber()}),Wh);return c(0,t)}function jw(e,t,r,n){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0;if(!Number.isFinite((t-e)/(r-1)))return{step:new Be(0),tickMin:new Be(0),tickMax:new Be(0)};var o=Ew(new Be(t).sub(e).div(r-1),n,i),s;e<=0&&t>=0?s=new Be(0):(s=new Be(e).add(t).div(2),s=s.sub(new Be(s).mod(o)));var c=Math.ceil(s.sub(e).div(o).toNumber()),l=Math.ceil(new Be(t).sub(s).div(o).toNumber()),h=c+l+1;return h>r?jw(e,t,r,n,i+1):(h0?l+(r-h):l,c=t>0?c:c+(r-h)),{step:o,tickMin:s.sub(new Be(c).mul(o)),tickMax:s.add(new Be(l).mul(o))})}function S4(e){var t=No(e,2),r=t[0],n=t[1],i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,s=Math.max(i,2),c=Tw([r,n]),l=No(c,2),h=l[0],d=l[1];if(h===-1/0||d===1/0){var p=d===1/0?[h].concat(Uh(Wh(0,i-1).map(function(){return 1/0}))):[].concat(Uh(Wh(0,i-1).map(function(){return-1/0})),[d]);return r>n?zh(p):p}if(h===d)return A4(h,i,o);var v=jw(h,d,s,o),g=v.step,m=v.tickMin,b=v.tickMax,_=Vc.rangeStep(m,b.add(new Be(.1).mul(g)),g);return r>n?zh(_):_}function P4(e,t){var r=No(e,2),n=r[0],i=r[1],o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,s=Tw([n,i]),c=No(s,2),l=c[0],h=c[1];if(l===-1/0||h===1/0)return[n,i];if(l===h)return[l];var d=Math.max(t,2),p=Ew(new Be(h).sub(l).div(d-1),o,0),v=[].concat(Uh(Vc.rangeStep(new Be(l),new Be(h).sub(new Be(.99).mul(p)),p)),[h]);return n>i?zh(v):v}var $4=Pw(S4),T4=Pw(P4),E4="Invariant failed";function gi(e,t){throw new Error(E4)}var j4=["offset","layout","width","dataKey","data","dataPointFormatter","xAxis","yAxis"];function ia(e){"@babel/helpers - typeof";return ia=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ia(e)}function Us(){return Us=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function L4(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function R4(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function B4(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=new Array(t);r1&&arguments[1]!==void 0?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,s=-1,c=(r=n?.length)!==null&&r!==void 0?r:0;if(c<=1)return 0;if(o&&o.axisType==="angleAxis"&&Math.abs(Math.abs(o.range[1]-o.range[0])-360)<=1e-6)for(var l=o.range,h=0;h0?i[h-1].coordinate:i[c-1].coordinate,p=i[h].coordinate,v=h>=c-1?i[0].coordinate:i[h+1].coordinate,g=void 0;if($r(p-d)!==$r(v-p)){var m=[];if($r(v-p)===$r(l[1]-l[0])){g=v;var b=p+l[1]-l[0];m[0]=Math.min(b,(b+d)/2),m[1]=Math.max(b,(b+d)/2)}else{g=d;var _=v+l[1]-l[0];m[0]=Math.min(p,(_+p)/2),m[1]=Math.max(p,(_+p)/2)}var S=[Math.min(p,(g+p)/2),Math.max(p,(g+p)/2)];if(t>S[0]&&t<=S[1]||t>=m[0]&&t<=m[1]){s=i[h].index;break}}else{var T=Math.min(d,v),P=Math.max(d,v);if(t>(T+p)/2&&t<=(P+p)/2){s=i[h].index;break}}}else for(var E=0;E0&&E(n[E].coordinate+n[E-1].coordinate)/2&&t<=(n[E].coordinate+n[E+1].coordinate)/2||E===c-1&&t>(n[E].coordinate+n[E-1].coordinate)/2){s=n[E].index;break}return s},jd=function(t){var r,n=t,i=n.type.displayName,o=(r=t.type)!==null&&r!==void 0&&r.defaultProps?nt(nt({},t.type.defaultProps),t.props):t.props,s=o.stroke,c=o.fill,l;switch(i){case"Line":l=s;break;case"Area":case"Radar":l=s&&s!=="none"?s:c;break;default:l=c;break}return l},rG=function(t){var r=t.barSize,n=t.totalSize,i=t.stackGroups,o=i===void 0?{}:i;if(!o)return{};for(var s={},c=Object.keys(o),l=0,h=c.length;l=0});if(S&&S.length){var T=S[0].type.defaultProps,P=T!==void 0?nt(nt({},T),S[0].props):S[0].props,E=P.barSize,w=P[_];s[w]||(s[w]=[]);var O=we(E)?r:E;s[w].push({item:S[0],stackList:S.slice(1),barSize:we(O)?void 0:di(O,n,0)})}}return s},nG=function(t){var r=t.barGap,n=t.barCategoryGap,i=t.bandSize,o=t.sizeList,s=o===void 0?[]:o,c=t.maxBarSize,l=s.length;if(l<1)return null;var h=di(r,i,0,!0),d,p=[];if(s[0].barSize===+s[0].barSize){var v=!1,g=i/l,m=s.reduce(function(E,w){return E+w.barSize||0},0);m+=(l-1)*h,m>=i&&(m-=(l-1)*h,h=0),m>=i&&g>0&&(v=!0,g*=.9,m=l*g);var b=(i-m)/2>>0,_={offset:b-h,size:0};d=s.reduce(function(E,w){var O={item:w.item,position:{offset:_.offset+_.size+h,size:v?g:w.barSize}},j=[].concat(Db(E),[O]);return _=j[j.length-1].position,w.stackList&&w.stackList.length&&w.stackList.forEach(function(I){j.push({item:I,position:_})}),j},p)}else{var S=di(n,i,0,!0);i-2*S-(l-1)*h<=0&&(h=0);var T=(i-2*S-(l-1)*h)/l;T>1&&(T>>=0);var P=c===+c?Math.min(T,c):T;d=s.reduce(function(E,w,O){var j=[].concat(Db(E),[{item:w.item,position:{offset:S+(T+h)*O+(T-P)/2,size:P}}]);return w.stackList&&w.stackList.length&&w.stackList.forEach(function(I){j.push({item:I,position:j[j.length-1].position})}),j},p)}return d},iG=function(t,r,n,i){var o=n.children,s=n.width,c=n.margin,l=s-(c.left||0)-(c.right||0),h=Nw({children:o,legendWidth:l});if(h){var d=i||{},p=d.width,v=d.height,g=h.align,m=h.verticalAlign,b=h.layout;if((b==="vertical"||b==="horizontal"&&m==="middle")&&g!=="center"&&re(t[g]))return nt(nt({},t),{},Xi({},g,t[g]+(p||0)));if((b==="horizontal"||b==="vertical"&&g==="center")&&m!=="middle"&&re(t[m]))return nt(nt({},t),{},Xi({},m,t[m]+(v||0)))}return t},aG=function(t,r,n){return we(r)?!0:t==="horizontal"?r==="yAxis":t==="vertical"||n==="x"?r==="xAxis":n==="y"?r==="yAxis":!0},Dw=function(t,r,n,i,o){var s=r.props.children,c=Wt(s,Da).filter(function(h){return aG(i,o,h.props.direction)});if(c&&c.length){var l=c.map(function(h){return h.props.dataKey});return t.reduce(function(h,d){var p=yt(d,n);if(we(p))return h;var v=Array.isArray(p)?[Xc(p),In(p)]:[p,p],g=l.reduce(function(m,b){var _=yt(d,b,0),S=v[0]-Math.abs(Array.isArray(_)?_[0]:_),T=v[1]+Math.abs(Array.isArray(_)?_[1]:_);return[Math.min(S,m[0]),Math.max(T,m[1])]},[1/0,-1/0]);return[Math.min(g[0],h[0]),Math.max(g[1],h[1])]},[1/0,-1/0])}return null},oG=function(t,r,n,i,o){var s=r.map(function(c){return Dw(t,c,n,o,i)}).filter(function(c){return!we(c)});return s&&s.length?s.reduce(function(c,l){return[Math.min(c[0],l[0]),Math.max(c[1],l[1])]},[1/0,-1/0]):null},kw=function(t,r,n,i,o){var s=r.map(function(l){var h=l.props.dataKey;return n==="number"&&h&&Dw(t,l,h,i)||po(t,h,n,o)});if(n==="number")return s.reduce(function(l,h){return[Math.min(l[0],h[0]),Math.max(l[1],h[1])]},[1/0,-1/0]);var c={};return s.reduce(function(l,h){for(var d=0,p=h.length;d=2?$r(c[0]-c[1])*2*h:h,r&&(t.ticks||t.niceTicks)){var d=(t.ticks||t.niceTicks).map(function(p){var v=o?o.indexOf(p):p;return{coordinate:i(v)+h,value:p,offset:h}});return d.filter(function(p){return!Ta(p.coordinate)})}return t.isCategorical&&t.categoricalDomain?t.categoricalDomain.map(function(p,v){return{coordinate:i(p)+h,value:p,index:v,offset:h}}):i.ticks&&!n?i.ticks(t.tickCount).map(function(p){return{coordinate:i(p)+h,value:p,offset:h}}):i.domain().map(function(p,v){return{coordinate:i(p)+h,value:o?o[p]:p,index:v,offset:h}})},Zf=new WeakMap,us=function(t,r){if(typeof r!="function")return t;Zf.has(t)||Zf.set(t,new WeakMap);var n=Zf.get(t);if(n.has(r))return n.get(r);var i=function(){t.apply(void 0,arguments),r.apply(void 0,arguments)};return n.set(r,i),i},uG=function(t,r,n){var i=t.scale,o=t.type,s=t.layout,c=t.axisType;if(i==="auto")return s==="radial"&&c==="radiusAxis"?{scale:To(),realScaleType:"band"}:s==="radial"&&c==="angleAxis"?{scale:Rs(),realScaleType:"linear"}:o==="category"&&r&&(r.indexOf("LineChart")>=0||r.indexOf("AreaChart")>=0||r.indexOf("ComposedChart")>=0&&!n)?{scale:ho(),realScaleType:"point"}:o==="category"?{scale:To(),realScaleType:"band"}:{scale:Rs(),realScaleType:"linear"};if(nu(i)){var l="scale".concat(Nc(i));return{scale:(Eb[l]||ho)(),realScaleType:Eb[l]?l:"point"}}return Ae(i)?{scale:i}:{scale:ho(),realScaleType:"point"}},Lb=1e-4,sG=function(t){var r=t.domain();if(!(!r||r.length<=2)){var n=r.length,i=t.range(),o=Math.min(i[0],i[1])-Lb,s=Math.max(i[0],i[1])+Lb,c=t(r[0]),l=t(r[n-1]);(cs||ls)&&t.domain([r[0],r[n-1]])}},cG=function(t,r){if(!t)return null;for(var n=0,i=t.length;ni)&&(o[1]=i),o[0]>i&&(o[0]=i),o[1]=0?(t[c][n][0]=o,t[c][n][1]=o+l,o=t[c][n][1]):(t[c][n][0]=s,t[c][n][1]=s+l,s=t[c][n][1])}},hG=function(t){var r=t.length;if(!(r<=0))for(var n=0,i=t[0].length;n=0?(t[s][n][0]=o,t[s][n][1]=o+c,o=t[s][n][1]):(t[s][n][0]=0,t[s][n][1]=0)}},pG={sign:fG,expand:TD,none:Vi,silhouette:ED,wiggle:jD,positive:hG},dG=function(t,r,n){var i=r.map(function(c){return c.props.dataKey}),o=pG[n],s=$D().keys(i).value(function(c,l){return+yt(c,l,0)}).order(yh).offset(o);return s(t)},vG=function(t,r,n,i,o,s){if(!t)return null;var c=s?r.reverse():r,l={},h=c.reduce(function(p,v){var g,m=(g=v.type)!==null&&g!==void 0&&g.defaultProps?nt(nt({},v.type.defaultProps),v.props):v.props,b=m.stackId,_=m.hide;if(_)return p;var S=m[n],T=p[S]||{hasStack:!1,stackGroups:{}};if(vt(b)){var P=T.stackGroups[b]||{numericAxisId:n,cateAxisId:i,items:[]};P.items.push(v),T.hasStack=!0,T.stackGroups[b]=P}else T.stackGroups[wi("_stackId_")]={numericAxisId:n,cateAxisId:i,items:[v]};return nt(nt({},p),{},Xi({},S,T))},l),d={};return Object.keys(h).reduce(function(p,v){var g=h[v];if(g.hasStack){var m={};g.stackGroups=Object.keys(g.stackGroups).reduce(function(b,_){var S=g.stackGroups[_];return nt(nt({},b),{},Xi({},_,{numericAxisId:n,cateAxisId:i,items:S.items,stackedData:dG(t,S.items,o)}))},m)}return nt(nt({},p),{},Xi({},v,g))},d)},yG=function(t,r){var n=r.realScaleType,i=r.type,o=r.tickCount,s=r.originalDomain,c=r.allowDecimals,l=n||r.scale;if(l!=="auto"&&l!=="linear")return null;if(o&&i==="number"&&s&&(s[0]==="auto"||s[1]==="auto")){var h=t.domain();if(!h.length)return null;var d=$4(h,o,c);return t.domain([Xc(d),In(d)]),{niceTicks:d}}if(o&&i==="number"){var p=t.domain(),v=T4(p,o,c);return{niceTicks:v}}return null};function aa(e){var t=e.axis,r=e.ticks,n=e.bandSize,i=e.entry,o=e.index,s=e.dataKey;if(t.type==="category"){if(!t.allowDuplicatedCategory&&t.dataKey&&!we(i[t.dataKey])){var c=ys(r,"value",i[t.dataKey]);if(c)return c.coordinate+n/2}return r[o]?r[o].coordinate+n/2:null}var l=yt(i,we(s)?t.dataKey:s);return we(l)?null:t.scale(l)}var Rb=function(t){var r=t.axis,n=t.ticks,i=t.offset,o=t.bandSize,s=t.entry,c=t.index;if(r.type==="category")return n[c]?n[c].coordinate+i:null;var l=yt(s,r.dataKey,r.domain[c]);return we(l)?null:r.scale(l)-o/2+i},gG=function(t){var r=t.numericAxis,n=r.scale.domain();if(r.type==="number"){var i=Math.min(n[0],n[1]),o=Math.max(n[0],n[1]);return i<=0&&o>=0?0:o<0?o:i}return n[0]},mG=function(t,r){var n,i=(n=t.type)!==null&&n!==void 0&&n.defaultProps?nt(nt({},t.type.defaultProps),t.props):t.props,o=i.stackId;if(vt(o)){var s=r[o];if(s){var c=s.items.indexOf(t);return c>=0?s.stackedData[c]:null}}return null},bG=function(t){return t.reduce(function(r,n){return[Xc(n.concat([r[0]]).filter(re)),In(n.concat([r[1]]).filter(re))]},[1/0,-1/0])},Bw=function(t,r,n){return Object.keys(t).reduce(function(i,o){var s=t[o],c=s.stackedData,l=c.reduce(function(h,d){var p=bG(d.slice(r,n+1));return[Math.min(h[0],p[0]),Math.max(h[1],p[1])]},[1/0,-1/0]);return[Math.min(l[0],i[0]),Math.max(l[1],i[1])]},[1/0,-1/0]).map(function(i){return i===1/0||i===-1/0?0:i})},Bb=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,Fb=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,Kh=function(t,r,n){if(Ae(t))return t(r,n);if(!Array.isArray(t))return r;var i=[];if(re(t[0]))i[0]=n?t[0]:Math.min(t[0],r[0]);else if(Bb.test(t[0])){var o=+Bb.exec(t[0])[1];i[0]=r[0]-o}else Ae(t[0])?i[0]=t[0](r[0]):i[0]=r[0];if(re(t[1]))i[1]=n?t[1]:Math.max(t[1],r[1]);else if(Fb.test(t[1])){var s=+Fb.exec(t[1])[1];i[1]=r[1]+s}else Ae(t[1])?i[1]=t[1](r[1]):i[1]=r[1];return i},Hs=function(t,r,n){if(t&&t.scale&&t.scale.bandwidth){var i=t.scale.bandwidth();if(!n||i>0)return i}if(t&&r&&r.length>=2){for(var o=nd(r,function(p){return p.coordinate}),s=1/0,c=1,l=o.length;cs&&(h=2*Math.PI-h),{radius:c,angle:OG(h),angleInRadian:h}},PG=function(t){var r=t.startAngle,n=t.endAngle,i=Math.floor(r/360),o=Math.floor(n/360),s=Math.min(i,o);return{startAngle:r-s*360,endAngle:n-s*360}},$G=function(t,r){var n=r.startAngle,i=r.endAngle,o=Math.floor(n/360),s=Math.floor(i/360),c=Math.min(o,s);return t+c*360},Gb=function(t,r){var n=t.x,i=t.y,o=SG({x:n,y:i},r),s=o.radius,c=o.angle,l=r.innerRadius,h=r.outerRadius;if(sh)return!1;if(s===0)return!0;var d=PG(r),p=d.startAngle,v=d.endAngle,g=c,m;if(p<=v){for(;g>v;)g-=360;for(;g=p&&g<=v}else{for(;g>p;)g-=360;for(;g=v&&g<=p}return m?Ub(Ub({},r),{},{radius:s,angle:$G(g,r)}):null};function Ro(e){"@babel/helpers - typeof";return Ro=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ro(e)}var TG=["offset"];function EG(e){return IG(e)||CG(e)||MG(e)||jG()}function jG(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function MG(e,t){if(e){if(typeof e=="string")return Xh(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Xh(e,t)}}function CG(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function IG(e){if(Array.isArray(e))return Xh(e)}function Xh(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function DG(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function Hb(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 dt(e){for(var t=1;t=0?1:-1,P,E;i==="insideStart"?(P=g+T*s,E=b):i==="insideEnd"?(P=m-T*s,E=!b):i==="end"&&(P=m+T*s,E=b),E=S<=0?E:!E;var w=St(h,d,_,P),O=St(h,d,_,P+(E?1:-1)*359),j="M".concat(w.x,",").concat(w.y,` - A`).concat(_,",").concat(_,",0,1,").concat(E?0:1,`, - `).concat(O.x,",").concat(O.y),I=we(t.id)?wi("recharts-radial-line-"):t.id;return C.createElement("text",Bo({},n,{dominantBaseline:"central",className:Ce("recharts-radial-bar-label",c)}),C.createElement("defs",null,C.createElement("path",{id:I,d:j})),C.createElement("textPath",{xlinkHref:"#".concat(I)},r))},zG=function(t){var r=t.viewBox,n=t.offset,i=t.position,o=r,s=o.cx,c=o.cy,l=o.innerRadius,h=o.outerRadius,d=o.startAngle,p=o.endAngle,v=(d+p)/2;if(i==="outside"){var g=St(s,c,h+n,v),m=g.x,b=g.y;return{x:m,y:b,textAnchor:m>=s?"start":"end",verticalAnchor:"middle"}}if(i==="center")return{x:s,y:c,textAnchor:"middle",verticalAnchor:"middle"};if(i==="centerTop")return{x:s,y:c,textAnchor:"middle",verticalAnchor:"start"};if(i==="centerBottom")return{x:s,y:c,textAnchor:"middle",verticalAnchor:"end"};var _=(l+h)/2,S=St(s,c,_,v),T=S.x,P=S.y;return{x:T,y:P,textAnchor:"middle",verticalAnchor:"middle"}},UG=function(t){var r=t.viewBox,n=t.parentViewBox,i=t.offset,o=t.position,s=r,c=s.x,l=s.y,h=s.width,d=s.height,p=d>=0?1:-1,v=p*i,g=p>0?"end":"start",m=p>0?"start":"end",b=h>=0?1:-1,_=b*i,S=b>0?"end":"start",T=b>0?"start":"end";if(o==="top"){var P={x:c+h/2,y:l-p*i,textAnchor:"middle",verticalAnchor:g};return dt(dt({},P),n?{height:Math.max(l-n.y,0),width:h}:{})}if(o==="bottom"){var E={x:c+h/2,y:l+d+v,textAnchor:"middle",verticalAnchor:m};return dt(dt({},E),n?{height:Math.max(n.y+n.height-(l+d),0),width:h}:{})}if(o==="left"){var w={x:c-_,y:l+d/2,textAnchor:S,verticalAnchor:"middle"};return dt(dt({},w),n?{width:Math.max(w.x-n.x,0),height:d}:{})}if(o==="right"){var O={x:c+h+_,y:l+d/2,textAnchor:T,verticalAnchor:"middle"};return dt(dt({},O),n?{width:Math.max(n.x+n.width-O.x,0),height:d}:{})}var j=n?{width:h,height:d}:{};return o==="insideLeft"?dt({x:c+_,y:l+d/2,textAnchor:T,verticalAnchor:"middle"},j):o==="insideRight"?dt({x:c+h-_,y:l+d/2,textAnchor:S,verticalAnchor:"middle"},j):o==="insideTop"?dt({x:c+h/2,y:l+v,textAnchor:"middle",verticalAnchor:m},j):o==="insideBottom"?dt({x:c+h/2,y:l+d-v,textAnchor:"middle",verticalAnchor:g},j):o==="insideTopLeft"?dt({x:c+_,y:l+v,textAnchor:T,verticalAnchor:m},j):o==="insideTopRight"?dt({x:c+h-_,y:l+v,textAnchor:S,verticalAnchor:m},j):o==="insideBottomLeft"?dt({x:c+_,y:l+d-v,textAnchor:T,verticalAnchor:g},j):o==="insideBottomRight"?dt({x:c+h-_,y:l+d-v,textAnchor:S,verticalAnchor:g},j):Aa(o)&&(re(o.x)||ri(o.x))&&(re(o.y)||ri(o.y))?dt({x:c+di(o.x,h),y:l+di(o.y,d),textAnchor:"end",verticalAnchor:"end"},j):dt({x:c+h/2,y:l+d/2,textAnchor:"middle",verticalAnchor:"middle"},j)},GG=function(t){return"cx"in t&&re(t.cx)};function Et(e){var t=e.offset,r=t===void 0?5:t,n=NG(e,TG),i=dt({offset:r},n),o=i.viewBox,s=i.position,c=i.value,l=i.children,h=i.content,d=i.className,p=d===void 0?"":d,v=i.textBreakAll;if(!o||we(c)&&we(l)&&!te.isValidElement(h)&&!Ae(h))return null;if(te.isValidElement(h))return te.cloneElement(h,i);var g;if(Ae(h)){if(g=te.createElement(h,i),te.isValidElement(g))return g}else g=BG(i);var m=GG(o),b=xe(i,!0);if(m&&(s==="insideStart"||s==="insideEnd"||s==="end"))return WG(i,g,b);var _=m?zG(i):UG(i);return C.createElement(Ms,Bo({className:Ce("recharts-label",p)},b,_,{breakAll:v}),g)}Et.displayName="Label";var Ww=function(t){var r=t.cx,n=t.cy,i=t.angle,o=t.startAngle,s=t.endAngle,c=t.r,l=t.radius,h=t.innerRadius,d=t.outerRadius,p=t.x,v=t.y,g=t.top,m=t.left,b=t.width,_=t.height,S=t.clockWise,T=t.labelViewBox;if(T)return T;if(re(b)&&re(_)){if(re(p)&&re(v))return{x:p,y:v,width:b,height:_};if(re(g)&&re(m))return{x:g,y:m,width:b,height:_}}return re(p)&&re(v)?{x:p,y:v,width:0,height:0}:re(r)&&re(n)?{cx:r,cy:n,startAngle:o||i||0,endAngle:s||i||0,innerRadius:h||0,outerRadius:d||l||c||0,clockWise:S}:t.viewBox?t.viewBox:{}},HG=function(t,r){return t?t===!0?C.createElement(Et,{key:"label-implicit",viewBox:r}):vt(t)?C.createElement(Et,{key:"label-implicit",viewBox:r,value:t}):te.isValidElement(t)?t.type===Et?te.cloneElement(t,{key:"label-implicit",viewBox:r}):C.createElement(Et,{key:"label-implicit",content:t,viewBox:r}):Ae(t)?C.createElement(Et,{key:"label-implicit",content:t,viewBox:r}):Aa(t)?C.createElement(Et,Bo({viewBox:r},t,{key:"label-implicit"})):null:null},qG=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!t||!t.children&&n&&!t.label)return null;var i=t.children,o=Ww(t),s=Wt(i,Et).map(function(l,h){return te.cloneElement(l,{viewBox:r||o,key:"label-".concat(h)})});if(!n)return s;var c=HG(t.label,r||o);return[c].concat(EG(s))};Et.parseViewBox=Ww;Et.renderCallByParent=qG;function KG(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}var XG=KG;const YG=et(XG);function Fo(e){"@babel/helpers - typeof";return Fo=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Fo(e)}var VG=["valueAccessor"],ZG=["data","dataKey","clockWise","id","textBreakAll"];function JG(e){return rH(e)||tH(e)||eH(e)||QG()}function QG(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function eH(e,t){if(e){if(typeof e=="string")return Yh(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Yh(e,t)}}function tH(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function rH(e){if(Array.isArray(e))return Yh(e)}function Yh(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function oH(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}var uH=function(t){return Array.isArray(t.value)?YG(t.value):t.value};function Br(e){var t=e.valueAccessor,r=t===void 0?uH:t,n=Xb(e,VG),i=n.data,o=n.dataKey,s=n.clockWise,c=n.id,l=n.textBreakAll,h=Xb(n,ZG);return!i||!i.length?null:C.createElement(De,{className:"recharts-label-list"},i.map(function(d,p){var v=we(o)?r(d,p):yt(d&&d.payload,o),g=we(c)?{}:{id:"".concat(c,"-").concat(p)};return C.createElement(Et,Ks({},xe(d,!0),h,g,{parentViewBox:d.parentViewBox,value:v,textBreakAll:l,viewBox:Et.parseViewBox(we(s)?d:Kb(Kb({},d),{},{clockWise:s})),key:"label-".concat(p),index:p}))}))}Br.displayName="LabelList";function sH(e,t){return e?e===!0?C.createElement(Br,{key:"labelList-implicit",data:t}):C.isValidElement(e)||Ae(e)?C.createElement(Br,{key:"labelList-implicit",data:t,content:e}):Aa(e)?C.createElement(Br,Ks({data:t},e,{key:"labelList-implicit"})):null:null}function cH(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!e||!e.children&&r&&!e.label)return null;var n=e.children,i=Wt(n,Br).map(function(s,c){return te.cloneElement(s,{data:t,key:"labelList-".concat(c)})});if(!r)return i;var o=sH(e.label,t);return[o].concat(JG(i))}Br.renderCallByParent=cH;function Wo(e){"@babel/helpers - typeof";return Wo=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Wo(e)}function Vh(){return Vh=Object.assign?Object.assign.bind():function(e){for(var t=1;t180),",").concat(+(s>h),`, - `).concat(p.x,",").concat(p.y,` - `);if(i>0){var g=St(r,n,i,s),m=St(r,n,i,h);v+="L ".concat(m.x,",").concat(m.y,` - A `).concat(i,",").concat(i,`,0, - `).concat(+(Math.abs(l)>180),",").concat(+(s<=h),`, - `).concat(g.x,",").concat(g.y," Z")}else v+="L ".concat(r,",").concat(n," Z");return v},dH=function(t){var r=t.cx,n=t.cy,i=t.innerRadius,o=t.outerRadius,s=t.cornerRadius,c=t.forceCornerRadius,l=t.cornerIsExternal,h=t.startAngle,d=t.endAngle,p=$r(d-h),v=ss({cx:r,cy:n,radius:o,angle:h,sign:p,cornerRadius:s,cornerIsExternal:l}),g=v.circleTangency,m=v.lineTangency,b=v.theta,_=ss({cx:r,cy:n,radius:o,angle:d,sign:-p,cornerRadius:s,cornerIsExternal:l}),S=_.circleTangency,T=_.lineTangency,P=_.theta,E=l?Math.abs(h-d):Math.abs(h-d)-b-P;if(E<0)return c?"M ".concat(m.x,",").concat(m.y,` - a`).concat(s,",").concat(s,",0,0,1,").concat(s*2,`,0 - a`).concat(s,",").concat(s,",0,0,1,").concat(-s*2,`,0 - `):zw({cx:r,cy:n,innerRadius:i,outerRadius:o,startAngle:h,endAngle:d});var w="M ".concat(m.x,",").concat(m.y,` - A`).concat(s,",").concat(s,",0,0,").concat(+(p<0),",").concat(g.x,",").concat(g.y,` - A`).concat(o,",").concat(o,",0,").concat(+(E>180),",").concat(+(p<0),",").concat(S.x,",").concat(S.y,` - A`).concat(s,",").concat(s,",0,0,").concat(+(p<0),",").concat(T.x,",").concat(T.y,` - `);if(i>0){var O=ss({cx:r,cy:n,radius:i,angle:h,sign:p,isExternal:!0,cornerRadius:s,cornerIsExternal:l}),j=O.circleTangency,I=O.lineTangency,D=O.theta,z=ss({cx:r,cy:n,radius:i,angle:d,sign:-p,isExternal:!0,cornerRadius:s,cornerIsExternal:l}),B=z.circleTangency,F=z.lineTangency,K=z.theta,q=l?Math.abs(h-d):Math.abs(h-d)-D-K;if(q<0&&s===0)return"".concat(w,"L").concat(r,",").concat(n,"Z");w+="L".concat(F.x,",").concat(F.y,` - A`).concat(s,",").concat(s,",0,0,").concat(+(p<0),",").concat(B.x,",").concat(B.y,` - A`).concat(i,",").concat(i,",0,").concat(+(q>180),",").concat(+(p>0),",").concat(j.x,",").concat(j.y,` - A`).concat(s,",").concat(s,",0,0,").concat(+(p<0),",").concat(I.x,",").concat(I.y,"Z")}else w+="L".concat(r,",").concat(n,"Z");return w},vH={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},Uw=function(t){var r=Vb(Vb({},vH),t),n=r.cx,i=r.cy,o=r.innerRadius,s=r.outerRadius,c=r.cornerRadius,l=r.forceCornerRadius,h=r.cornerIsExternal,d=r.startAngle,p=r.endAngle,v=r.className;if(s0&&Math.abs(d-p)<360?_=dH({cx:n,cy:i,innerRadius:o,outerRadius:s,cornerRadius:Math.min(b,m/2),forceCornerRadius:l,cornerIsExternal:h,startAngle:d,endAngle:p}):_=zw({cx:n,cy:i,innerRadius:o,outerRadius:s,startAngle:d,endAngle:p}),C.createElement("path",Vh({},xe(r,!0),{className:g,d:_,role:"img"}))};function zo(e){"@babel/helpers - typeof";return zo=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},zo(e)}function Zh(){return Zh=Object.assign?Object.assign.bind():function(e){for(var t=1;t0;)if(!r.equals(e[n],t[n],n,n,e,t,r))return!1;return!0}function SH(e,t){return ka(e.getTime(),t.getTime())}function i0(e,t,r){if(e.size!==t.size)return!1;for(var n={},i=e.entries(),o=0,s,c;(s=i.next())&&!s.done;){for(var l=t.entries(),h=!1,d=0;(c=l.next())&&!c.done;){var p=s.value,v=p[0],g=p[1],m=c.value,b=m[0],_=m[1];!h&&!n[d]&&(h=r.equals(v,b,o,d,e,t,r)&&r.equals(g,_,v,b,e,t,r))&&(n[d]=!0),d++}if(!h)return!1;o++}return!0}function PH(e,t,r){var n=n0(e),i=n.length;if(n0(t).length!==i)return!1;for(var o;i-- >0;)if(o=n[i],o===Hw&&(e.$$typeof||t.$$typeof)&&e.$$typeof!==t.$$typeof||!Gw(t,o)||!r.equals(e[o],t[o],o,o,e,t,r))return!1;return!0}function so(e,t,r){var n=t0(e),i=n.length;if(t0(t).length!==i)return!1;for(var o,s,c;i-- >0;)if(o=n[i],o===Hw&&(e.$$typeof||t.$$typeof)&&e.$$typeof!==t.$$typeof||!Gw(t,o)||!r.equals(e[o],t[o],o,o,e,t,r)||(s=r0(e,o),c=r0(t,o),(s||c)&&(!s||!c||s.configurable!==c.configurable||s.enumerable!==c.enumerable||s.writable!==c.writable)))return!1;return!0}function $H(e,t){return ka(e.valueOf(),t.valueOf())}function TH(e,t){return e.source===t.source&&e.flags===t.flags}function a0(e,t,r){if(e.size!==t.size)return!1;for(var n={},i=e.values(),o,s;(o=i.next())&&!o.done;){for(var c=t.values(),l=!1,h=0;(s=c.next())&&!s.done;)!l&&!n[h]&&(l=r.equals(o.value,s.value,o.value,s.value,e,t,r))&&(n[h]=!0),h++;if(!l)return!1}return!0}function EH(e,t){var r=e.length;if(t.length!==r)return!1;for(;r-- >0;)if(e[r]!==t[r])return!1;return!0}var jH="[object Arguments]",MH="[object Boolean]",CH="[object Date]",IH="[object Map]",NH="[object Number]",DH="[object Object]",kH="[object RegExp]",LH="[object Set]",RH="[object String]",BH=Array.isArray,o0=typeof ArrayBuffer=="function"&&ArrayBuffer.isView?ArrayBuffer.isView:null,u0=Object.assign,FH=Object.prototype.toString.call.bind(Object.prototype.toString);function WH(e){var t=e.areArraysEqual,r=e.areDatesEqual,n=e.areMapsEqual,i=e.areObjectsEqual,o=e.arePrimitiveWrappersEqual,s=e.areRegExpsEqual,c=e.areSetsEqual,l=e.areTypedArraysEqual;return function(d,p,v){if(d===p)return!0;if(d==null||p==null||typeof d!="object"||typeof p!="object")return d!==d&&p!==p;var g=d.constructor;if(g!==p.constructor)return!1;if(g===Object)return i(d,p,v);if(BH(d))return t(d,p,v);if(o0!=null&&o0(d))return l(d,p,v);if(g===Date)return r(d,p,v);if(g===RegExp)return s(d,p,v);if(g===Map)return n(d,p,v);if(g===Set)return c(d,p,v);var m=FH(d);return m===CH?r(d,p,v):m===kH?s(d,p,v):m===IH?n(d,p,v):m===LH?c(d,p,v):m===DH?typeof d.then!="function"&&typeof p.then!="function"&&i(d,p,v):m===jH?i(d,p,v):m===MH||m===NH||m===RH?o(d,p,v):!1}}function zH(e){var t=e.circular,r=e.createCustomConfig,n=e.strict,i={areArraysEqual:n?so:AH,areDatesEqual:SH,areMapsEqual:n?e0(i0,so):i0,areObjectsEqual:n?so:PH,arePrimitiveWrappersEqual:$H,areRegExpsEqual:TH,areSetsEqual:n?e0(a0,so):a0,areTypedArraysEqual:n?so:EH};if(r&&(i=u0({},i,r(i))),t){var o=ls(i.areArraysEqual),s=ls(i.areMapsEqual),c=ls(i.areObjectsEqual),l=ls(i.areSetsEqual);i=u0({},i,{areArraysEqual:o,areMapsEqual:s,areObjectsEqual:c,areSetsEqual:l})}return i}function UH(e){return function(t,r,n,i,o,s,c){return e(t,r,c)}}function GH(e){var t=e.circular,r=e.comparator,n=e.createState,i=e.equals,o=e.strict;if(n)return function(l,h){var d=n(),p=d.cache,v=p===void 0?t?new WeakMap:void 0:p,g=d.meta;return r(l,h,{cache:v,equals:i,meta:g,strict:o})};if(t)return function(l,h){return r(l,h,{cache:new WeakMap,equals:i,meta:void 0,strict:o})};var s={cache:void 0,equals:i,meta:void 0,strict:o};return function(l,h){return r(l,h,s)}}var HH=zn();zn({strict:!0});zn({circular:!0});zn({circular:!0,strict:!0});zn({createInternalComparator:function(){return ka}});zn({strict:!0,createInternalComparator:function(){return ka}});zn({circular:!0,createInternalComparator:function(){return ka}});zn({circular:!0,createInternalComparator:function(){return ka},strict:!0});function zn(e){e===void 0&&(e={});var t=e.circular,r=t===void 0?!1:t,n=e.createInternalComparator,i=e.createState,o=e.strict,s=o===void 0?!1:o,c=zH(e),l=WH(c),h=n?n(l):UH(l);return GH({circular:r,comparator:l,createState:i,equals:h,strict:s})}function qH(e){typeof requestAnimationFrame<"u"&&requestAnimationFrame(e)}function s0(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=-1,n=function i(o){r<0&&(r=o),o-r>t?(e(o),r=-1):qH(i)};requestAnimationFrame(n)}function Jh(e){"@babel/helpers - typeof";return Jh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Jh(e)}function KH(e){return ZH(e)||VH(e)||YH(e)||XH()}function XH(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function YH(e,t){if(e){if(typeof e=="string")return c0(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return c0(e,t)}}function c0(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);re.length)&&(t=e.length);for(var r=0,n=new Array(t);r1?1:S<0?0:S},b=function(S){for(var T=S>1?1:S,P=T,E=0;E<8;++E){var w=p(P)-T,O=g(P);if(Math.abs(w-T)0&&arguments[0]!==void 0?arguments[0]:{},r=t.stiff,n=r===void 0?100:r,i=t.damping,o=i===void 0?8:i,s=t.dt,c=s===void 0?17:s,l=function(d,p,v){var g=-(d-p)*n,m=v*o,b=v+(g-m)*c/1e3,_=v*c/1e3+d;return Math.abs(_-p)e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function Tq(e,t){if(e==null)return{};var r={},n=Object.keys(e),i,o;for(o=0;o=0)&&(r[i]=e[i]);return r}function Jf(e){return Cq(e)||Mq(e)||jq(e)||Eq()}function Eq(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function jq(e,t){if(e){if(typeof e=="string")return np(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return np(e,t)}}function Mq(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Cq(e){if(Array.isArray(e))return np(e)}function np(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r"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 Vs(e){return Vs=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Vs(e)}var Er=function(e){Lq(r,e);var t=Rq(r);function r(n,i){var o;Iq(this,r),o=t.call(this,n,i);var s=o.props,c=s.isActive,l=s.attributeName,h=s.from,d=s.to,p=s.steps,v=s.children,g=s.duration;if(o.handleStyleChange=o.handleStyleChange.bind(op(o)),o.changeStyle=o.changeStyle.bind(op(o)),!c||g<=0)return o.state={style:{}},typeof v=="function"&&(o.state={style:d}),ap(o);if(p&&p.length)o.state={style:p[0].style};else if(h){if(typeof v=="function")return o.state={style:h},ap(o);o.state={style:l?lo({},l,h):h}}else o.state={style:{}};return o}return Dq(r,[{key:"componentDidMount",value:function(){var i=this.props,o=i.isActive,s=i.canBegin;this.mounted=!0,!(!o||!s)&&this.runAnimation(this.props)}},{key:"componentDidUpdate",value:function(i){var o=this.props,s=o.isActive,c=o.canBegin,l=o.attributeName,h=o.shouldReAnimate,d=o.to,p=o.from,v=this.state.style;if(c){if(!s){var g={style:l?lo({},l,d):d};this.state&&v&&(l&&v[l]!==d||!l&&v!==d)&&this.setState(g);return}if(!(HH(i.to,d)&&i.canBegin&&i.isActive)){var m=!i.canBegin||!i.isActive;this.manager&&this.manager.stop(),this.stopJSAnimation&&this.stopJSAnimation();var b=m||h?p:i.to;if(this.state&&v){var _={style:l?lo({},l,b):b};(l&&v[l]!==b||!l&&v!==b)&&this.setState(_)}this.runAnimation(Or(Or({},this.props),{},{from:b,begin:0}))}}}},{key:"componentWillUnmount",value:function(){this.mounted=!1;var i=this.props.onAnimationEnd;this.unSubscribe&&this.unSubscribe(),this.manager&&(this.manager.stop(),this.manager=null),this.stopJSAnimation&&this.stopJSAnimation(),i&&i()}},{key:"handleStyleChange",value:function(i){this.changeStyle(i)}},{key:"changeStyle",value:function(i){this.mounted&&this.setState({style:i})}},{key:"runJSAnimation",value:function(i){var o=this,s=i.from,c=i.to,l=i.duration,h=i.easing,d=i.begin,p=i.onAnimationEnd,v=i.onAnimationStart,g=Sq(s,c,dq(h),l,this.changeStyle),m=function(){o.stopJSAnimation=g()};this.manager.start([v,d,m,l,p])}},{key:"runStepAnimation",value:function(i){var o=this,s=i.steps,c=i.begin,l=i.onAnimationStart,h=s[0],d=h.style,p=h.duration,v=p===void 0?0:p,g=function(b,_,S){if(S===0)return b;var T=_.duration,P=_.easing,E=P===void 0?"ease":P,w=_.style,O=_.properties,j=_.onAnimationEnd,I=S>0?s[S-1]:_,D=O||Object.keys(w);if(typeof E=="function"||E==="spring")return[].concat(Jf(b),[o.runJSAnimation.bind(o,{from:I.style,to:w,duration:T,easing:E}),T]);var z=h0(D,T,E),B=Or(Or(Or({},I.style),w),{},{transition:z});return[].concat(Jf(b),[B,T,j]).filter(rq)};return this.manager.start([l].concat(Jf(s.reduce(g,[d,Math.max(v,c)])),[i.onAnimationEnd]))}},{key:"runAnimation",value:function(i){this.manager||(this.manager=JH());var o=i.begin,s=i.duration,c=i.attributeName,l=i.to,h=i.easing,d=i.onAnimationStart,p=i.onAnimationEnd,v=i.steps,g=i.children,m=this.manager;if(this.unSubscribe=m.subscribe(this.handleStyleChange),typeof h=="function"||typeof g=="function"||h==="spring"){this.runJSAnimation(i);return}if(v.length>1){this.runStepAnimation(i);return}var b=c?lo({},c,l):l,_=h0(Object.keys(b),s,h);m.start([d,o,Or(Or({},b),{},{transition:_}),s,p])}},{key:"render",value:function(){var i=this.props,o=i.children;i.begin;var s=i.duration;i.attributeName,i.easing;var c=i.isActive;i.steps,i.from,i.to,i.canBegin,i.onAnimationEnd,i.shouldReAnimate,i.onAnimationReStart;var l=$q(i,Pq),h=te.Children.count(o),d=this.state.style;if(typeof o=="function")return o(d);if(!c||h===0||s<=0)return o;var p=function(g){var m=g.props,b=m.style,_=b===void 0?{}:b,S=m.className,T=te.cloneElement(g,Or(Or({},l),{},{style:Or(Or({},_),d),className:S}));return T};return h===1?p(te.Children.only(o)):C.createElement("div",null,te.Children.map(o,function(v){return p(v)}))}}]),r}(te.PureComponent);Er.displayName="Animate";Er.defaultProps={begin:0,duration:1e3,from:"",to:"",attributeName:"",easing:"ease",isActive:!0,canBegin:!0,steps:[],onAnimationEnd:function(){},onAnimationStart:function(){}};Er.propTypes={from:Pe.oneOfType([Pe.object,Pe.string]),to:Pe.oneOfType([Pe.object,Pe.string]),attributeName:Pe.string,duration:Pe.number,begin:Pe.number,easing:Pe.oneOfType([Pe.string,Pe.func]),steps:Pe.arrayOf(Pe.shape({duration:Pe.number.isRequired,style:Pe.object.isRequired,easing:Pe.oneOfType([Pe.oneOf(["ease","ease-in","ease-out","ease-in-out","linear"]),Pe.func]),properties:Pe.arrayOf("string"),onAnimationEnd:Pe.func})),children:Pe.oneOfType([Pe.node,Pe.func]),isActive:Pe.bool,canBegin:Pe.bool,onAnimationEnd:Pe.func,shouldReAnimate:Pe.bool,onAnimationStart:Pe.func,onAnimationReStart:Pe.func};Pe.object,Pe.object,Pe.object,Pe.element;Pe.object,Pe.object,Pe.object,Pe.oneOfType([Pe.array,Pe.element]),Pe.any;function Ho(e){"@babel/helpers - typeof";return Ho=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ho(e)}function Zs(){return Zs=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0?1:-1,l=n>=0?1:-1,h=i>=0&&n>=0||i<0&&n<0?1:0,d;if(s>0&&o instanceof Array){for(var p=[0,0,0,0],v=0,g=4;vs?s:o[v];d="M".concat(t,",").concat(r+c*p[0]),p[0]>0&&(d+="A ".concat(p[0],",").concat(p[0],",0,0,").concat(h,",").concat(t+l*p[0],",").concat(r)),d+="L ".concat(t+n-l*p[1],",").concat(r),p[1]>0&&(d+="A ".concat(p[1],",").concat(p[1],",0,0,").concat(h,`, - `).concat(t+n,",").concat(r+c*p[1])),d+="L ".concat(t+n,",").concat(r+i-c*p[2]),p[2]>0&&(d+="A ".concat(p[2],",").concat(p[2],",0,0,").concat(h,`, - `).concat(t+n-l*p[2],",").concat(r+i)),d+="L ".concat(t+l*p[3],",").concat(r+i),p[3]>0&&(d+="A ".concat(p[3],",").concat(p[3],",0,0,").concat(h,`, - `).concat(t,",").concat(r+i-c*p[3])),d+="Z"}else if(s>0&&o===+o&&o>0){var m=Math.min(s,o);d="M ".concat(t,",").concat(r+c*m,` - A `).concat(m,",").concat(m,",0,0,").concat(h,",").concat(t+l*m,",").concat(r,` - L `).concat(t+n-l*m,",").concat(r,` - A `).concat(m,",").concat(m,",0,0,").concat(h,",").concat(t+n,",").concat(r+c*m,` - L `).concat(t+n,",").concat(r+i-c*m,` - A `).concat(m,",").concat(m,",0,0,").concat(h,",").concat(t+n-l*m,",").concat(r+i,` - L `).concat(t+l*m,",").concat(r+i,` - A `).concat(m,",").concat(m,",0,0,").concat(h,",").concat(t,",").concat(r+i-c*m," Z")}else d="M ".concat(t,",").concat(r," h ").concat(n," v ").concat(i," h ").concat(-n," Z");return d},Xq=function(t,r){if(!t||!r)return!1;var n=t.x,i=t.y,o=r.x,s=r.y,c=r.width,l=r.height;if(Math.abs(c)>0&&Math.abs(l)>0){var h=Math.min(o,o+c),d=Math.max(o,o+c),p=Math.min(s,s+l),v=Math.max(s,s+l);return n>=h&&n<=d&&i>=p&&i<=v}return!1},Yq={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},Md=function(t){var r=x0(x0({},Yq),t),n=te.useRef(),i=te.useState(-1),o=Fq(i,2),s=o[0],c=o[1];te.useEffect(function(){if(n.current&&n.current.getTotalLength)try{var E=n.current.getTotalLength();E&&c(E)}catch{}},[]);var l=r.x,h=r.y,d=r.width,p=r.height,v=r.radius,g=r.className,m=r.animationEasing,b=r.animationDuration,_=r.animationBegin,S=r.isAnimationActive,T=r.isUpdateAnimationActive;if(l!==+l||h!==+h||d!==+d||p!==+p||d===0||p===0)return null;var P=Ce("recharts-rectangle",g);return T?C.createElement(Er,{canBegin:s>0,from:{width:d,height:p,x:l,y:h},to:{width:d,height:p,x:l,y:h},duration:b,animationEasing:m,isActive:T},function(E){var w=E.width,O=E.height,j=E.x,I=E.y;return C.createElement(Er,{canBegin:s>0,from:"0px ".concat(s===-1?1:s,"px"),to:"".concat(s,"px 0px"),attributeName:"strokeDasharray",begin:_,duration:b,isActive:S,easing:m},C.createElement("path",Zs({},xe(r,!0),{className:P,d:w0(j,I,w,O,v),ref:n})))}):C.createElement("path",Zs({},xe(r,!0),{className:P,d:w0(l,h,d,p,v)}))};function up(){return up=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function rK(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}var nK=function(t,r,n,i,o,s){return"M".concat(t,",").concat(o,"v").concat(i,"M").concat(s,",").concat(r,"h").concat(n)},iK=function(t){var r=t.x,n=r===void 0?0:r,i=t.y,o=i===void 0?0:i,s=t.top,c=s===void 0?0:s,l=t.left,h=l===void 0?0:l,d=t.width,p=d===void 0?0:d,v=t.height,g=v===void 0?0:v,m=t.className,b=tK(t,Vq),_=Zq({x:n,y:o,top:c,left:h,width:p,height:g},b);return!re(n)||!re(o)||!re(p)||!re(g)||!re(c)||!re(h)?null:C.createElement("path",sp({},xe(_,!0),{className:Ce("recharts-cross",m),d:nK(n,o,p,g,c,h)}))},aK=d1,oK=aK(Object.getPrototypeOf,Object),uK=oK,sK=dn,cK=uK,lK=vn,fK="[object Object]",hK=Function.prototype,pK=Object.prototype,Jw=hK.toString,dK=pK.hasOwnProperty,vK=Jw.call(Object);function yK(e){if(!lK(e)||sK(e)!=fK)return!1;var t=cK(e);if(t===null)return!0;var r=dK.call(t,"constructor")&&t.constructor;return typeof r=="function"&&r instanceof r&&Jw.call(r)==vK}var gK=yK;const mK=et(gK);var bK=dn,xK=vn,wK="[object Boolean]";function _K(e){return e===!0||e===!1||xK(e)&&bK(e)==wK}var OK=_K;const AK=et(OK);function Ko(e){"@babel/helpers - typeof";return Ko=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ko(e)}function Js(){return Js=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r0,from:{upperWidth:0,lowerWidth:0,height:v,x:l,y:h},to:{upperWidth:d,lowerWidth:p,height:v,x:l,y:h},duration:b,animationEasing:m,isActive:S},function(P){var E=P.upperWidth,w=P.lowerWidth,O=P.height,j=P.x,I=P.y;return C.createElement(Er,{canBegin:s>0,from:"0px ".concat(s===-1?1:s,"px"),to:"".concat(s,"px 0px"),attributeName:"strokeDasharray",begin:_,duration:b,easing:m},C.createElement("path",Js({},xe(r,!0),{className:T,d:P0(j,I,E,w,O),ref:n})))}):C.createElement("g",null,C.createElement("path",Js({},xe(r,!0),{className:T,d:P0(l,h,d,p,v)})))},DK=["option","shapeType","propTransformer","activeClassName","isActive"];function Xo(e){"@babel/helpers - typeof";return Xo=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Xo(e)}function kK(e,t){if(e==null)return{};var r=LK(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}function LK(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function $0(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 Qs(e){for(var t=1;t0&&n.handleDrag(i.changedTouches[0])}),Zt(n,"handleDragEnd",function(){n.setState({isTravellerMoving:!1,isSlideMoving:!1},function(){var i=n.props,o=i.endIndex,s=i.onDragEnd,c=i.startIndex;s?.({endIndex:o,startIndex:c})}),n.detachDragEndListener()}),Zt(n,"handleLeaveWrapper",function(){(n.state.isTravellerMoving||n.state.isSlideMoving)&&(n.leaveTimer=window.setTimeout(n.handleDragEnd,n.props.leaveTimeOut))}),Zt(n,"handleEnterSlideOrTraveller",function(){n.setState({isTextActive:!0})}),Zt(n,"handleLeaveSlideOrTraveller",function(){n.setState({isTextActive:!1})}),Zt(n,"handleSlideDragStart",function(i){var o=N0(i)?i.changedTouches[0]:i;n.setState({isTravellerMoving:!1,isSlideMoving:!0,slideMoveStartX:o.pageX}),n.attachDragEndListener()}),n.travellerDragStartHandlers={startX:n.handleTravellerDragStart.bind(n,"startX"),endX:n.handleTravellerDragStart.bind(n,"endX")},n.state={},n}return x9(t,e),y9(t,[{key:"componentWillUnmount",value:function(){this.leaveTimer&&(clearTimeout(this.leaveTimer),this.leaveTimer=null),this.detachDragEndListener()}},{key:"getIndex",value:function(n){var i=n.startX,o=n.endX,s=this.state.scaleValues,c=this.props,l=c.gap,h=c.data,d=h.length-1,p=Math.min(i,o),v=Math.max(i,o),g=t.getIndexInRange(s,p),m=t.getIndexInRange(s,v);return{startIndex:g-g%l,endIndex:m===d?d:m-m%l}}},{key:"getTextOfTick",value:function(n){var i=this.props,o=i.data,s=i.tickFormatter,c=i.dataKey,l=yt(o[n],c,n);return Ae(s)?s(l,n):l}},{key:"attachDragEndListener",value:function(){window.addEventListener("mouseup",this.handleDragEnd,!0),window.addEventListener("touchend",this.handleDragEnd,!0),window.addEventListener("mousemove",this.handleDrag,!0)}},{key:"detachDragEndListener",value:function(){window.removeEventListener("mouseup",this.handleDragEnd,!0),window.removeEventListener("touchend",this.handleDragEnd,!0),window.removeEventListener("mousemove",this.handleDrag,!0)}},{key:"handleSlideDrag",value:function(n){var i=this.state,o=i.slideMoveStartX,s=i.startX,c=i.endX,l=this.props,h=l.x,d=l.width,p=l.travellerWidth,v=l.startIndex,g=l.endIndex,m=l.onChange,b=n.pageX-o;b>0?b=Math.min(b,h+d-p-c,h+d-p-s):b<0&&(b=Math.max(b,h-s,h-c));var _=this.getIndex({startX:s+b,endX:c+b});(_.startIndex!==v||_.endIndex!==g)&&m&&m(_),this.setState({startX:s+b,endX:c+b,slideMoveStartX:n.pageX})}},{key:"handleTravellerDragStart",value:function(n,i){var o=N0(i)?i.changedTouches[0]:i;this.setState({isSlideMoving:!1,isTravellerMoving:!0,movingTravellerId:n,brushMoveStartX:o.pageX}),this.attachDragEndListener()}},{key:"handleTravellerMove",value:function(n){var i=this.state,o=i.brushMoveStartX,s=i.movingTravellerId,c=i.endX,l=i.startX,h=this.state[s],d=this.props,p=d.x,v=d.width,g=d.travellerWidth,m=d.onChange,b=d.gap,_=d.data,S={startX:this.state.startX,endX:this.state.endX},T=n.pageX-o;T>0?T=Math.min(T,p+v-g-h):T<0&&(T=Math.max(T,p-h)),S[s]=h+T;var P=this.getIndex(S),E=P.startIndex,w=P.endIndex,O=function(){var I=_.length-1;return s==="startX"&&(c>l?E%b===0:w%b===0)||cl?w%b===0:E%b===0)||c>l&&w===I};this.setState(Zt(Zt({},s,h+T),"brushMoveStartX",n.pageX),function(){m&&O()&&m(P)})}},{key:"handleTravellerMoveKeyboard",value:function(n,i){var o=this,s=this.state,c=s.scaleValues,l=s.startX,h=s.endX,d=this.state[i],p=c.indexOf(d);if(p!==-1){var v=p+n;if(!(v===-1||v>=c.length)){var g=c[v];i==="startX"&&g>=h||i==="endX"&&g<=l||this.setState(Zt({},i,g),function(){o.props.onChange(o.getIndex({startX:o.state.startX,endX:o.state.endX}))})}}}},{key:"renderBackground",value:function(){var n=this.props,i=n.x,o=n.y,s=n.width,c=n.height,l=n.fill,h=n.stroke;return C.createElement("rect",{stroke:h,fill:l,x:i,y:o,width:s,height:c})}},{key:"renderPanorama",value:function(){var n=this.props,i=n.x,o=n.y,s=n.width,c=n.height,l=n.data,h=n.children,d=n.padding,p=te.Children.only(h);return p?C.cloneElement(p,{x:i,y:o,width:s,height:c,margin:d,compact:!0,data:l}):null}},{key:"renderTravellerLayer",value:function(n,i){var o,s,c=this,l=this.props,h=l.y,d=l.travellerWidth,p=l.height,v=l.traveller,g=l.ariaLabel,m=l.data,b=l.startIndex,_=l.endIndex,S=Math.max(n,this.props.x),T=eh(eh({},xe(this.props,!1)),{},{x:S,y:h,width:d,height:p}),P=g||"Min value: ".concat((o=m[b])===null||o===void 0?void 0:o.name,", Max value: ").concat((s=m[_])===null||s===void 0?void 0:s.name);return C.createElement(De,{tabIndex:0,role:"slider","aria-label":P,"aria-valuenow":n,className:"recharts-brush-traveller",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.travellerDragStartHandlers[i],onTouchStart:this.travellerDragStartHandlers[i],onKeyDown:function(w){["ArrowLeft","ArrowRight"].includes(w.key)&&(w.preventDefault(),w.stopPropagation(),c.handleTravellerMoveKeyboard(w.key==="ArrowRight"?1:-1,i))},onFocus:function(){c.setState({isTravellerFocused:!0})},onBlur:function(){c.setState({isTravellerFocused:!1})},style:{cursor:"col-resize"}},t.renderTraveller(v,T))}},{key:"renderSlide",value:function(n,i){var o=this.props,s=o.y,c=o.height,l=o.stroke,h=o.travellerWidth,d=Math.min(n,i)+h,p=Math.max(Math.abs(i-n)-h,0);return C.createElement("rect",{className:"recharts-brush-slide",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.handleSlideDragStart,onTouchStart:this.handleSlideDragStart,style:{cursor:"move"},stroke:"none",fill:l,fillOpacity:.2,x:d,y:s,width:p,height:c})}},{key:"renderText",value:function(){var n=this.props,i=n.startIndex,o=n.endIndex,s=n.y,c=n.height,l=n.travellerWidth,h=n.stroke,d=this.state,p=d.startX,v=d.endX,g=5,m={pointerEvents:"none",fill:h};return C.createElement(De,{className:"recharts-brush-texts"},C.createElement(Ms,tc({textAnchor:"end",verticalAnchor:"middle",x:Math.min(p,v)-g,y:s+c/2},m),this.getTextOfTick(i)),C.createElement(Ms,tc({textAnchor:"start",verticalAnchor:"middle",x:Math.max(p,v)+l+g,y:s+c/2},m),this.getTextOfTick(o)))}},{key:"render",value:function(){var n=this.props,i=n.data,o=n.className,s=n.children,c=n.x,l=n.y,h=n.width,d=n.height,p=n.alwaysShowText,v=this.state,g=v.startX,m=v.endX,b=v.isTextActive,_=v.isSlideMoving,S=v.isTravellerMoving,T=v.isTravellerFocused;if(!i||!i.length||!re(c)||!re(l)||!re(h)||!re(d)||h<=0||d<=0)return null;var P=Ce("recharts-brush",o),E=C.Children.count(s)===1,w=d9("userSelect","none");return C.createElement(De,{className:P,onMouseLeave:this.handleLeaveWrapper,onTouchMove:this.handleTouchMove,style:w},this.renderBackground(),E&&this.renderPanorama(),this.renderSlide(g,m),this.renderTravellerLayer(g,"startX"),this.renderTravellerLayer(m,"endX"),(b||_||S||T||p)&&this.renderText())}}],[{key:"renderDefaultTraveller",value:function(n){var i=n.x,o=n.y,s=n.width,c=n.height,l=n.stroke,h=Math.floor(o+c/2)-1;return C.createElement(C.Fragment,null,C.createElement("rect",{x:i,y:o,width:s,height:c,fill:l,stroke:"none"}),C.createElement("line",{x1:i+1,y1:h,x2:i+s-1,y2:h,fill:"none",stroke:"#fff"}),C.createElement("line",{x1:i+1,y1:h+2,x2:i+s-1,y2:h+2,fill:"none",stroke:"#fff"}))}},{key:"renderTraveller",value:function(n,i){var o;return C.isValidElement(n)?o=C.cloneElement(n,i):Ae(n)?o=n(i):o=t.renderDefaultTraveller(i),o}},{key:"getDerivedStateFromProps",value:function(n,i){var o=n.data,s=n.width,c=n.x,l=n.travellerWidth,h=n.updateId,d=n.startIndex,p=n.endIndex;if(o!==i.prevData||h!==i.prevUpdateId)return eh({prevData:o,prevTravellerWidth:l,prevUpdateId:h,prevX:c,prevWidth:s},o&&o.length?_9({data:o,width:s,x:c,travellerWidth:l,startIndex:d,endIndex:p}):{scale:null,scaleValues:null});if(i.scale&&(s!==i.prevWidth||c!==i.prevX||l!==i.prevTravellerWidth)){i.scale.range([c,c+s-l]);var v=i.scale.domain().map(function(g){return i.scale(g)});return{prevData:o,prevTravellerWidth:l,prevUpdateId:h,prevX:c,prevWidth:s,startX:i.scale(n.startIndex),endX:i.scale(n.endIndex),scaleValues:v}}return null}},{key:"getIndexInRange",value:function(n,i){for(var o=n.length,s=0,c=o-1;c-s>1;){var l=Math.floor((s+c)/2);n[l]>i?c=l:s=l}return i>=n[c]?c:s}}])}(te.PureComponent);Zt(sa,"displayName","Brush");Zt(sa,"defaultProps",{height:40,travellerWidth:5,gap:1,fill:"#fff",stroke:"#666",padding:{top:1,right:1,bottom:1,left:1},leaveTimeOut:1e3,alwaysShowText:!1});var O9=rd;function A9(e,t){var r;return O9(e,function(n,i,o){return r=t(n,i,o),!r}),!!r}var S9=A9,P9=o1,$9=Bn,T9=S9,E9=zt,j9=Wc;function M9(e,t,r){var n=E9(e)?P9:T9;return r&&j9(e,t,r)&&(t=void 0),n(e,$9(t))}var C9=M9;const I9=et(C9);var Fr=function(t,r){var n=t.alwaysShow,i=t.ifOverflow;return n&&(i="extendDomain"),i===r},D0=T1;function N9(e,t,r){t=="__proto__"&&D0?D0(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}var D9=N9,k9=D9,L9=P1,R9=Bn;function B9(e,t){var r={};return t=R9(t),L9(e,function(n,i,o){k9(r,i,t(n,i,o))}),r}var F9=B9;const W9=et(F9);function z9(e,t){for(var r=-1,n=e==null?0:e.length;++r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function a7(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function o7(e,t){var r=e.x,n=e.y,i=i7(e,e7),o="".concat(r),s=parseInt(o,10),c="".concat(n),l=parseInt(c,10),h="".concat(t.height||i.height),d=parseInt(h,10),p="".concat(t.width||i.width),v=parseInt(p,10);return co(co(co(co(co({},t),i),s?{x:s}:{}),l?{y:l}:{}),{},{height:d,width:v,name:t.name,radius:t.radius})}function L0(e){return C.createElement(cp,fp({shapeType:"rectangle",propTransformer:o7,activeClassName:"recharts-active-bar"},e))}var u7=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return function(n,i){if(typeof t=="number")return t;var o=typeof n=="number";return o?t(n,i):(o||gi(),r)}},s7=["value","background"],i_;function ca(e){"@babel/helpers - typeof";return ca=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ca(e)}function c7(e,t){if(e==null)return{};var r=l7(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}function l7(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function nc(){return nc=Object.assign?Object.assign.bind():function(e){for(var t=1;t0&&Math.abs(H)0&&Math.abs(q)0&&(K=Math.min((Fe||0)-(q[We-1]||0),K))}),Number.isFinite(K)){var H=K/F,V=b.layout==="vertical"?n.height:n.width;if(b.padding==="gap"&&(j=H*V/2),b.padding==="no-gap"){var Z=di(t.barCategoryGap,H*V),ee=H*V/2;j=ee-Z-(ee-Z)/V*Z}}}i==="xAxis"?I=[n.left+(P.left||0)+(j||0),n.left+n.width-(P.right||0)-(j||0)]:i==="yAxis"?I=l==="horizontal"?[n.top+n.height-(P.bottom||0),n.top+(P.top||0)]:[n.top+(P.top||0)+(j||0),n.top+n.height-(P.bottom||0)-(j||0)]:I=b.range,w&&(I=[I[1],I[0]]);var ne=uG(b,o,v),fe=ne.scale,ce=ne.realScaleType;fe.domain(S).range(I),sG(fe);var oe=yG(fe,Ar(Ar({},b),{},{realScaleType:ce}));i==="xAxis"?(B=_==="top"&&!E||_==="bottom"&&E,D=n.left,z=p[O]-B*b.height):i==="yAxis"&&(B=_==="left"&&!E||_==="right"&&E,D=p[O]-B*b.width,z=n.top);var pe=Ar(Ar(Ar({},b),oe),{},{realScaleType:ce,x:D,y:z,scale:fe,width:i==="xAxis"?n.width:b.width,height:i==="yAxis"?n.height:b.height});return pe.bandSize=Hs(pe,oe),!b.hide&&i==="xAxis"?p[O]+=(B?-1:1)*pe.height:b.hide||(p[O]+=(B?-1:1)*pe.width),Ar(Ar({},g),{},el({},m,pe))},{})},c_=function(t,r){var n=t.x,i=t.y,o=r.x,s=r.y;return{x:Math.min(n,o),y:Math.min(i,s),width:Math.abs(o-n),height:Math.abs(s-i)}},w7=function(t){var r=t.x1,n=t.y1,i=t.x2,o=t.y2;return c_({x:r,y:n},{x:i,y:o})},l_=function(){function e(t){m7(this,e),this.scale=t}return b7(e,[{key:"domain",get:function(){return this.scale.domain}},{key:"range",get:function(){return this.scale.range}},{key:"rangeMin",get:function(){return this.range()[0]}},{key:"rangeMax",get:function(){return this.range()[1]}},{key:"bandwidth",get:function(){return this.scale.bandwidth}},{key:"apply",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=n.bandAware,o=n.position;if(r!==void 0){if(o)switch(o){case"start":return this.scale(r);case"middle":{var s=this.bandwidth?this.bandwidth()/2:0;return this.scale(r)+s}case"end":{var c=this.bandwidth?this.bandwidth():0;return this.scale(r)+c}default:return this.scale(r)}if(i){var l=this.bandwidth?this.bandwidth()/2:0;return this.scale(r)+l}return this.scale(r)}}},{key:"isInRange",value:function(r){var n=this.range(),i=n[0],o=n[n.length-1];return i<=o?r>=i&&r<=o:r>=o&&r<=i}}],[{key:"create",value:function(r){return new e(r)}}])}();el(l_,"EPS",1e-4);var Cd=function(t){var r=Object.keys(t).reduce(function(n,i){return Ar(Ar({},n),{},el({},i,l_.create(t[i])))},{});return Ar(Ar({},r),{},{apply:function(i){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=o.bandAware,c=o.position;return W9(i,function(l,h){return r[h].apply(l,{bandAware:s,position:c})})},isInRange:function(i){return n_(i,function(o,s){return r[s].isInRange(o)})}})};function _7(e){return(e%180+180)%180}var O7=function(t){var r=t.width,n=t.height,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,o=_7(i),s=o*Math.PI/180,c=Math.atan(n/r),l=s>c&&s-1?i[o?t[s]:s]:void 0}}var T7=$7,E7=Qw;function j7(e){var t=E7(e),r=t%1;return t===t?r?t-r:t:0}var M7=j7,C7=x1,I7=Bn,N7=M7,D7=Math.max;function k7(e,t,r){var n=e==null?0:e.length;if(!n)return-1;var i=r==null?0:N7(r);return i<0&&(i=D7(n+i,0)),C7(e,I7(t),i)}var L7=k7,R7=T7,B7=L7,F7=R7(B7),W7=F7;const z7=et(W7);var U7=q2(function(e){return{x:e.left,y:e.top,width:e.width,height:e.height}},function(e){return["l",e.left,"t",e.top,"w",e.width,"h",e.height].join("")}),Id=te.createContext(void 0),Nd=te.createContext(void 0),f_=te.createContext(void 0),h_=te.createContext({}),p_=te.createContext(void 0),d_=te.createContext(0),v_=te.createContext(0),z0=function(t){var r=t.state,n=r.xAxisMap,i=r.yAxisMap,o=r.offset,s=t.clipPathId,c=t.children,l=t.width,h=t.height,d=U7(o);return C.createElement(Id.Provider,{value:n},C.createElement(Nd.Provider,{value:i},C.createElement(h_.Provider,{value:o},C.createElement(f_.Provider,{value:d},C.createElement(p_.Provider,{value:s},C.createElement(d_.Provider,{value:h},C.createElement(v_.Provider,{value:l},c)))))))},G7=function(){return te.useContext(p_)},y_=function(t){var r=te.useContext(Id);r==null&&gi();var n=r[t];return n==null&&gi(),n},H7=function(){var t=te.useContext(Id);return Cn(t)},q7=function(){var t=te.useContext(Nd),r=z7(t,function(n){return n_(n.domain,Number.isFinite)});return r||Cn(t)},g_=function(t){var r=te.useContext(Nd);r==null&&gi();var n=r[t];return n==null&&gi(),n},K7=function(){var t=te.useContext(f_);return t},X7=function(){return te.useContext(h_)},Dd=function(){return te.useContext(v_)},kd=function(){return te.useContext(d_)};function la(e){"@babel/helpers - typeof";return la=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},la(e)}function Y7(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function V7(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=new Array(t);re*i)return!1;var o=r();return e*(t-e*o/2-n)>=0&&e*(t+e*o/2-i)<=0}function MX(e,t){return A_(e,t+1)}function CX(e,t,r,n,i){for(var o=(n||[]).slice(),s=t.start,c=t.end,l=0,h=1,d=s,p=function(){var m=n?.[l];if(m===void 0)return{v:A_(n,h)};var b=l,_,S=function(){return _===void 0&&(_=r(m,b)),_},T=m.coordinate,P=l===0||sc(e,T,S,d,c);P||(l=0,d=s,h+=1),P&&(d=T+e*(S()/2+i),l+=h)},v;h<=o.length;)if(v=p(),v)return v.v;return[]}function Qo(e){"@babel/helpers - typeof";return Qo=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Qo(e)}function V0(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 Tt(e){for(var t=1;t0?g.coordinate-_*e:g.coordinate})}else o[v]=g=Tt(Tt({},g),{},{tickCoord:g.coordinate});var S=sc(e,g.tickCoord,b,c,l);S&&(l=g.tickCoord-e*(b()/2+i),o[v]=Tt(Tt({},g),{},{isShow:!0}))},d=s-1;d>=0;d--)h(d);return o}function LX(e,t,r,n,i,o){var s=(n||[]).slice(),c=s.length,l=t.start,h=t.end;if(o){var d=n[c-1],p=r(d,c-1),v=e*(d.coordinate+e*p/2-h);s[c-1]=d=Tt(Tt({},d),{},{tickCoord:v>0?d.coordinate-v*e:d.coordinate});var g=sc(e,d.tickCoord,function(){return p},l,h);g&&(h=d.tickCoord-e*(p/2+i),s[c-1]=Tt(Tt({},d),{},{isShow:!0}))}for(var m=o?c-1:c,b=function(T){var P=s[T],E,w=function(){return E===void 0&&(E=r(P,T)),E};if(T===0){var O=e*(P.coordinate-e*w()/2-l);s[T]=P=Tt(Tt({},P),{},{tickCoord:O<0?P.coordinate-O*e:P.coordinate})}else s[T]=P=Tt(Tt({},P),{},{tickCoord:P.coordinate});var j=sc(e,P.tickCoord,w,l,h);j&&(l=P.tickCoord+e*(w()/2+i),s[T]=Tt(Tt({},P),{},{isShow:!0}))},_=0;_=2?$r(i[1].coordinate-i[0].coordinate):1,S=jX(o,_,g);return l==="equidistantPreserveStart"?CX(_,S,b,i,s):(l==="preserveStart"||l==="preserveStartEnd"?v=LX(_,S,b,i,s,l==="preserveStartEnd"):v=kX(_,S,b,i,s),v.filter(function(T){return T.isShow}))}var RX=["viewBox"],BX=["viewBox"],FX=["ticks"];function pa(e){"@babel/helpers - typeof";return pa=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},pa(e)}function Gi(){return Gi=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function WX(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function zX(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function J0(e,t){for(var r=0;r0?l(this.props):l(g)),s<=0||c<=0||!m||!m.length?null:C.createElement(De,{className:Ce("recharts-cartesian-axis",h),ref:function(_){n.layerReference=_}},o&&this.renderAxisLine(),this.renderTicks(m,this.state.fontSize,this.state.letterSpacing),Et.renderCallByParent(this.props))}}],[{key:"renderTickItem",value:function(n,i,o){var s;return C.isValidElement(n)?s=C.cloneElement(n,i):Ae(n)?s=n(i):s=C.createElement(Ms,Gi({},i,{className:"recharts-cartesian-axis-tick-value"}),o),s}}])}(te.Component);Fd(La,"displayName","CartesianAxis");Fd(La,"defaultProps",{x:0,y:0,width:0,height:0,viewBox:{x:0,y:0,width:0,height:0},orientation:"bottom",ticks:[],stroke:"#666",tickLine:!0,axisLine:!0,tick:!0,mirror:!1,minTickGap:5,tickSize:6,tickMargin:2,interval:"preserveEnd"});var YX=["x1","y1","x2","y2","key"],VX=["offset"];function mi(e){"@babel/helpers - typeof";return mi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},mi(e)}function Q0(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 jt(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function eY(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}var tY=function(t){var r=t.fill;if(!r||r==="none")return null;var n=t.fillOpacity,i=t.x,o=t.y,s=t.width,c=t.height,l=t.ry;return C.createElement("rect",{x:i,y:o,ry:l,width:s,height:c,stroke:"none",fill:r,fillOpacity:n,className:"recharts-cartesian-grid-bg"})};function $_(e,t){var r;if(C.isValidElement(e))r=C.cloneElement(e,t);else if(Ae(e))r=e(t);else{var n=t.x1,i=t.y1,o=t.x2,s=t.y2,c=t.key,l=ex(t,YX),h=xe(l,!1);h.offset;var d=ex(h,VX);r=C.createElement("line",ai({},d,{x1:n,y1:i,x2:o,y2:s,fill:"none",key:c}))}return r}function rY(e){var t=e.x,r=e.width,n=e.horizontal,i=n===void 0?!0:n,o=e.horizontalPoints;if(!i||!o||!o.length)return null;var s=o.map(function(c,l){var h=jt(jt({},e),{},{x1:t,y1:c,x2:t+r,y2:c,key:"line-".concat(l),index:l});return $_(i,h)});return C.createElement("g",{className:"recharts-cartesian-grid-horizontal"},s)}function nY(e){var t=e.y,r=e.height,n=e.vertical,i=n===void 0?!0:n,o=e.verticalPoints;if(!i||!o||!o.length)return null;var s=o.map(function(c,l){var h=jt(jt({},e),{},{x1:c,y1:t,x2:c,y2:t+r,key:"line-".concat(l),index:l});return $_(i,h)});return C.createElement("g",{className:"recharts-cartesian-grid-vertical"},s)}function iY(e){var t=e.horizontalFill,r=e.fillOpacity,n=e.x,i=e.y,o=e.width,s=e.height,c=e.horizontalPoints,l=e.horizontal,h=l===void 0?!0:l;if(!h||!t||!t.length)return null;var d=c.map(function(v){return Math.round(v+i-i)}).sort(function(v,g){return v-g});i!==d[0]&&d.unshift(0);var p=d.map(function(v,g){var m=!d[g+1],b=m?i+s-v:d[g+1]-v;if(b<=0)return null;var _=g%t.length;return C.createElement("rect",{key:"react-".concat(g),y:v,x:n,height:b,width:o,stroke:"none",fill:t[_],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return C.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},p)}function aY(e){var t=e.vertical,r=t===void 0?!0:t,n=e.verticalFill,i=e.fillOpacity,o=e.x,s=e.y,c=e.width,l=e.height,h=e.verticalPoints;if(!r||!n||!n.length)return null;var d=h.map(function(v){return Math.round(v+o-o)}).sort(function(v,g){return v-g});o!==d[0]&&d.unshift(0);var p=d.map(function(v,g){var m=!d[g+1],b=m?o+c-v:d[g+1]-v;if(b<=0)return null;var _=g%n.length;return C.createElement("rect",{key:"react-".concat(g),x:v,y:s,width:b,height:l,stroke:"none",fill:n[_],fillOpacity:i,className:"recharts-cartesian-grid-bg"})});return C.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},p)}var oY=function(t,r){var n=t.xAxis,i=t.width,o=t.height,s=t.offset;return Rw(Bd(jt(jt(jt({},La.defaultProps),n),{},{ticks:nn(n,!0),viewBox:{x:0,y:0,width:i,height:o}})),s.left,s.left+s.width,r)},uY=function(t,r){var n=t.yAxis,i=t.width,o=t.height,s=t.offset;return Rw(Bd(jt(jt(jt({},La.defaultProps),n),{},{ticks:nn(n,!0),viewBox:{x:0,y:0,width:i,height:o}})),s.top,s.top+s.height,r)},Wi={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[]};function lc(e){var t,r,n,i,o,s,c=Dd(),l=kd(),h=X7(),d=jt(jt({},e),{},{stroke:(t=e.stroke)!==null&&t!==void 0?t:Wi.stroke,fill:(r=e.fill)!==null&&r!==void 0?r:Wi.fill,horizontal:(n=e.horizontal)!==null&&n!==void 0?n:Wi.horizontal,horizontalFill:(i=e.horizontalFill)!==null&&i!==void 0?i:Wi.horizontalFill,vertical:(o=e.vertical)!==null&&o!==void 0?o:Wi.vertical,verticalFill:(s=e.verticalFill)!==null&&s!==void 0?s:Wi.verticalFill,x:re(e.x)?e.x:h.left,y:re(e.y)?e.y:h.top,width:re(e.width)?e.width:h.width,height:re(e.height)?e.height:h.height}),p=d.x,v=d.y,g=d.width,m=d.height,b=d.syncWithTicks,_=d.horizontalValues,S=d.verticalValues,T=H7(),P=q7();if(!re(g)||g<=0||!re(m)||m<=0||!re(p)||p!==+p||!re(v)||v!==+v)return null;var E=d.verticalCoordinatesGenerator||oY,w=d.horizontalCoordinatesGenerator||uY,O=d.horizontalPoints,j=d.verticalPoints;if((!O||!O.length)&&Ae(w)){var I=_&&_.length,D=w({yAxis:P?jt(jt({},P),{},{ticks:I?_:P.ticks}):void 0,width:c,height:l,offset:h},I?!0:b);on(Array.isArray(D),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(mi(D),"]")),Array.isArray(D)&&(O=D)}if((!j||!j.length)&&Ae(E)){var z=S&&S.length,B=E({xAxis:T?jt(jt({},T),{},{ticks:z?S:T.ticks}):void 0,width:c,height:l,offset:h},z?!0:b);on(Array.isArray(B),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(mi(B),"]")),Array.isArray(B)&&(j=B)}return C.createElement("g",{className:"recharts-cartesian-grid"},C.createElement(tY,{fill:d.fill,fillOpacity:d.fillOpacity,x:d.x,y:d.y,width:d.width,height:d.height,ry:d.ry}),C.createElement(rY,ai({},d,{offset:h,horizontalPoints:O,xAxis:T,yAxis:P})),C.createElement(nY,ai({},d,{offset:h,verticalPoints:j,xAxis:T,yAxis:P})),C.createElement(iY,ai({},d,{horizontalPoints:O})),C.createElement(aY,ai({},d,{verticalPoints:j})))}lc.displayName="CartesianGrid";var sY=["type","layout","connectNulls","ref"],cY=["key"];function da(e){"@babel/helpers - typeof";return da=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},da(e)}function tx(e,t){if(e==null)return{};var r=lY(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}function lY(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function yo(){return yo=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);rp){g=[].concat(zi(l.slice(0,m)),[p-b]);break}var _=g.length%2===0?[0,v]:[v];return[].concat(zi(t.repeat(l,d)),zi(g),_).map(function(S){return"".concat(S,"px")}).join(", ")}),Sr(r,"id",wi("recharts-line-")),Sr(r,"pathRef",function(s){r.mainCurve=s}),Sr(r,"handleAnimationEnd",function(){r.setState({isAnimationFinished:!0}),r.props.onAnimationEnd&&r.props.onAnimationEnd()}),Sr(r,"handleAnimationStart",function(){r.setState({isAnimationFinished:!1}),r.props.onAnimationStart&&r.props.onAnimationStart()}),r}return xY(t,e),yY(t,[{key:"componentDidMount",value:function(){if(this.props.isAnimationActive){var n=this.getTotalLength();this.setState({totalLength:n})}}},{key:"componentDidUpdate",value:function(){if(this.props.isAnimationActive){var n=this.getTotalLength();n!==this.state.totalLength&&this.setState({totalLength:n})}}},{key:"getTotalLength",value:function(){var n=this.mainCurve;try{return n&&n.getTotalLength&&n.getTotalLength()||0}catch{return 0}}},{key:"renderErrorBar",value:function(n,i){if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var o=this.props,s=o.points,c=o.xAxis,l=o.yAxis,h=o.layout,d=o.children,p=Wt(d,Da);if(!p)return null;var v=function(b,_){return{x:b.x,y:b.y,value:b.value,errorVal:yt(b.payload,_)}},g={clipPath:n?"url(#clipPath-".concat(i,")"):null};return C.createElement(De,g,p.map(function(m){return C.cloneElement(m,{key:"bar-".concat(m.props.dataKey),data:s,xAxis:c,yAxis:l,layout:h,dataPointFormatter:v})}))}},{key:"renderDots",value:function(n,i,o){var s=this.props.isAnimationActive;if(s&&!this.state.isAnimationFinished)return null;var c=this.props,l=c.dot,h=c.points,d=c.dataKey,p=xe(this.props,!1),v=xe(l,!0),g=h.map(function(b,_){var S=Vt(Vt(Vt({key:"dot-".concat(_),r:3},p),v),{},{value:b.value,dataKey:d,cx:b.x,cy:b.y,index:_,payload:b.payload});return t.renderDotItem(l,S)}),m={clipPath:n?"url(#clipPath-".concat(i?"":"dots-").concat(o,")"):null};return C.createElement(De,yo({className:"recharts-line-dots",key:"dots"},m),g)}},{key:"renderCurveStatically",value:function(n,i,o,s){var c=this.props,l=c.type,h=c.layout,d=c.connectNulls;c.ref;var p=tx(c,sY),v=Vt(Vt(Vt({},xe(p,!0)),{},{fill:"none",className:"recharts-line-curve",clipPath:i?"url(#clipPath-".concat(o,")"):null,points:n},s),{},{type:l,layout:h,connectNulls:d});return C.createElement(li,yo({},v,{pathRef:this.pathRef}))}},{key:"renderCurveWithAnimation",value:function(n,i){var o=this,s=this.props,c=s.points,l=s.strokeDasharray,h=s.isAnimationActive,d=s.animationBegin,p=s.animationDuration,v=s.animationEasing,g=s.animationId,m=s.animateNewValues,b=s.width,_=s.height,S=this.state,T=S.prevPoints,P=S.totalLength;return C.createElement(Er,{begin:d,duration:p,isActive:h,easing:v,from:{t:0},to:{t:1},key:"line-".concat(g),onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(E){var w=E.t;if(T){var O=T.length/c.length,j=c.map(function(F,K){var q=Math.floor(K*O);if(T[q]){var H=T[q],V=ut(H.x,F.x),Z=ut(H.y,F.y);return Vt(Vt({},F),{},{x:V(w),y:Z(w)})}if(m){var ee=ut(b*2,F.x),ne=ut(_/2,F.y);return Vt(Vt({},F),{},{x:ee(w),y:ne(w)})}return Vt(Vt({},F),{},{x:F.x,y:F.y})});return o.renderCurveStatically(j,n,i)}var I=ut(0,P),D=I(w),z;if(l){var B="".concat(l).split(/[,\s]+/gim).map(function(F){return parseFloat(F)});z=o.getStrokeDasharray(D,P,B)}else z=o.generateSimpleStrokeDasharray(P,D);return o.renderCurveStatically(c,n,i,{strokeDasharray:z})})}},{key:"renderCurve",value:function(n,i){var o=this.props,s=o.points,c=o.isAnimationActive,l=this.state,h=l.prevPoints,d=l.totalLength;return c&&s&&s.length&&(!h&&d>0||!vi(h,s))?this.renderCurveWithAnimation(n,i):this.renderCurveStatically(s,n,i)}},{key:"render",value:function(){var n,i=this.props,o=i.hide,s=i.dot,c=i.points,l=i.className,h=i.xAxis,d=i.yAxis,p=i.top,v=i.left,g=i.width,m=i.height,b=i.isAnimationActive,_=i.id;if(o||!c||!c.length)return null;var S=this.state.isAnimationFinished,T=c.length===1,P=Ce("recharts-line",l),E=h&&h.allowDataOverflow,w=d&&d.allowDataOverflow,O=E||w,j=we(_)?this.id:_,I=(n=xe(s,!1))!==null&&n!==void 0?n:{r:3,strokeWidth:2},D=I.r,z=D===void 0?3:D,B=I.strokeWidth,F=B===void 0?2:B,K=Mx(s)?s:{},q=K.clipDot,H=q===void 0?!0:q,V=z*2+F;return C.createElement(De,{className:P},E||w?C.createElement("defs",null,C.createElement("clipPath",{id:"clipPath-".concat(j)},C.createElement("rect",{x:E?v:v-g/2,y:w?p:p-m/2,width:E?g:g*2,height:w?m:m*2})),!H&&C.createElement("clipPath",{id:"clipPath-dots-".concat(j)},C.createElement("rect",{x:v-V/2,y:p-V/2,width:g+V,height:m+V}))):null,!T&&this.renderCurve(O,j),this.renderErrorBar(O,j),(T||s)&&this.renderDots(O,H,j),(!b||S)&&Br.renderCallByParent(this.props,c))}}],[{key:"getDerivedStateFromProps",value:function(n,i){return n.animationId!==i.prevAnimationId?{prevAnimationId:n.animationId,curPoints:n.points,prevPoints:i.curPoints}:n.points!==i.curPoints?{curPoints:n.points}:null}},{key:"repeat",value:function(n,i){for(var o=n.length%2!==0?[].concat(zi(n),[0]):n,s=[],c=0;c=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function AY(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function oi(){return oi=Object.assign?Object.assign.bind():function(e){for(var t=1;t0||!vi(d,s)||!vi(p,c))?this.renderAreaWithAnimation(n,i):this.renderAreaStatically(s,c,n,i)}},{key:"render",value:function(){var n,i=this.props,o=i.hide,s=i.dot,c=i.points,l=i.className,h=i.top,d=i.left,p=i.xAxis,v=i.yAxis,g=i.width,m=i.height,b=i.isAnimationActive,_=i.id;if(o||!c||!c.length)return null;var S=this.state.isAnimationFinished,T=c.length===1,P=Ce("recharts-area",l),E=p&&p.allowDataOverflow,w=v&&v.allowDataOverflow,O=E||w,j=we(_)?this.id:_,I=(n=xe(s,!1))!==null&&n!==void 0?n:{r:3,strokeWidth:2},D=I.r,z=D===void 0?3:D,B=I.strokeWidth,F=B===void 0?2:B,K=Mx(s)?s:{},q=K.clipDot,H=q===void 0?!0:q,V=z*2+F;return C.createElement(De,{className:P},E||w?C.createElement("defs",null,C.createElement("clipPath",{id:"clipPath-".concat(j)},C.createElement("rect",{x:E?d:d-g/2,y:w?h:h-m/2,width:E?g:g*2,height:w?m:m*2})),!H&&C.createElement("clipPath",{id:"clipPath-dots-".concat(j)},C.createElement("rect",{x:d-V/2,y:h-V/2,width:g+V,height:m+V}))):null,T?null:this.renderArea(O,j),(s||T)&&this.renderDots(O,H,j),(!b||S)&&Br.renderCallByParent(this.props,c))}}],[{key:"getDerivedStateFromProps",value:function(n,i){return n.animationId!==i.prevAnimationId?{prevAnimationId:n.animationId,curPoints:n.points,curBaseLine:n.baseLine,prevPoints:i.curPoints,prevBaseLine:i.curBaseLine}:n.points!==i.curPoints||n.baseLine!==i.curBaseLine?{curPoints:n.points,curBaseLine:n.baseLine}:null}}])}(te.PureComponent);j_=hn;Lr(hn,"displayName","Area");Lr(hn,"defaultProps",{stroke:"#3182bd",fill:"#3182bd",fillOpacity:.6,xAxisId:0,yAxisId:0,legendType:"line",connectNulls:!1,points:[],dot:!1,activeDot:!0,hide:!1,isAnimationActive:!Tr.isSsr,animationBegin:0,animationDuration:1500,animationEasing:"ease"});Lr(hn,"getBaseValue",function(e,t,r,n){var i=e.layout,o=e.baseValue,s=t.props.baseValue,c=s??o;if(re(c)&&typeof c=="number")return c;var l=i==="horizontal"?n:r,h=l.scale.domain();if(l.type==="number"){var d=Math.max(h[0],h[1]),p=Math.min(h[0],h[1]);return c==="dataMin"?p:c==="dataMax"||d<0?d:Math.max(Math.min(h[0],h[1]),0)}return c==="dataMin"?h[0]:c==="dataMax"?h[1]:h[0]});Lr(hn,"getComposedData",function(e){var t=e.props,r=e.item,n=e.xAxis,i=e.yAxis,o=e.xAxisTicks,s=e.yAxisTicks,c=e.bandSize,l=e.dataKey,h=e.stackedData,d=e.dataStartIndex,p=e.displayedData,v=e.offset,g=t.layout,m=h&&h.length,b=j_.getBaseValue(t,r,n,i),_=g==="horizontal",S=!1,T=p.map(function(E,w){var O;m?O=h[d+w]:(O=yt(E,l),Array.isArray(O)?S=!0:O=[b,O]);var j=O[1]==null||m&&yt(E,l)==null;return _?{x:aa({axis:n,ticks:o,bandSize:c,entry:E,index:w}),y:j?null:i.scale(O[1]),value:O,payload:E}:{x:j?null:n.scale(O[1]),y:aa({axis:i,ticks:s,bandSize:c,entry:E,index:w}),value:O,payload:E}}),P;return m||S?P=T.map(function(E){var w=Array.isArray(E.value)?E.value[0]:null;return _?{x:E.x,y:w!=null&&E.y!=null?i.scale(w):null}:{x:w!=null?n.scale(w):null,y:E.y}}):P=_?i.scale(b):n.scale(b),jn({points:T,baseLine:P,layout:g,isRange:S},v)});Lr(hn,"renderDotItem",function(e,t){var r;if(C.isValidElement(e))r=C.cloneElement(e,t);else if(Ae(e))r=e(t);else{var n=Ce("recharts-area-dot",typeof e!="boolean"?e.className:""),i=t.key,o=M_(t,OY);r=C.createElement(Zc,oi({},o,{key:i,className:n}))}return r});function ga(e){"@babel/helpers - typeof";return ga=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ga(e)}function CY(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function IY(e,t){for(var r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function zY(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function UY(e){var t=e.option,r=e.isActive,n=WY(e,FY);return typeof t=="string"?C.createElement(cp,go({option:C.createElement(Rc,go({type:t},n)),isActive:r,shapeType:"symbols"},n)):C.createElement(cp,go({option:t,isActive:r,shapeType:"symbols"},n))}function ma(e){"@babel/helpers - typeof";return ma=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ma(e)}function mo(){return mo=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function kV(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function LV(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function RV(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=new Array(t);r0?s:t&&t.length&&re(i)&&re(o)?t.slice(i,o+1):[]};function Z_(e){return e==="number"?[0,"auto"]:void 0}var Ip=function(t,r,n,i){var o=t.graphicalItems,s=t.tooltipAxis,c=ul(r,t);return n<0||!o||!o.length||n>=c.length?null:o.reduce(function(l,h){var d,p=(d=h.props.data)!==null&&d!==void 0?d:r;p&&t.dataStartIndex+t.dataEndIndex!==0&&t.dataEndIndex-t.dataStartIndex>=n&&(p=p.slice(t.dataStartIndex,t.dataEndIndex+1));var v;if(s.dataKey&&!s.allowDuplicatedCategory){var g=p===void 0?c:p;v=ys(g,s.dataKey,i)}else v=p&&p[n]||c[n];return v?[].concat(_a(l),[Fw(h,v)]):l},[])},px=function(t,r,n,i){var o=i||{x:t.chartX,y:t.chartY},s=VV(o,n),c=t.orderedTooltipTicks,l=t.tooltipAxis,h=t.tooltipTicks,d=tG(s,c,h,l);if(d>=0&&h){var p=h[d]&&h[d].value,v=Ip(t,r,d,p),g=ZV(n,c,d,o);return{activeTooltipIndex:d,activeLabel:p,activePayload:v,activeCoordinate:g}}return null},JV=function(t,r){var n=r.axes,i=r.graphicalItems,o=r.axisType,s=r.axisIdKey,c=r.stackGroups,l=r.dataStartIndex,h=r.dataEndIndex,d=t.layout,p=t.children,v=t.stackOffset,g=Lw(d,o);return n.reduce(function(m,b){var _,S=b.type.defaultProps!==void 0?U(U({},b.type.defaultProps),b.props):b.props,T=S.type,P=S.dataKey,E=S.allowDataOverflow,w=S.allowDuplicatedCategory,O=S.scale,j=S.ticks,I=S.includeHidden,D=S[s];if(m[D])return m;var z=ul(t.data,{graphicalItems:i.filter(function(oe){var pe,Fe=s in oe.props?oe.props[s]:(pe=oe.type.defaultProps)===null||pe===void 0?void 0:pe[s];return Fe===D}),dataStartIndex:l,dataEndIndex:h}),B=z.length,F,K,q;AV(S.domain,E,T)&&(F=Kh(S.domain,null,E),g&&(T==="number"||O!=="auto")&&(q=po(z,P,"category")));var H=Z_(T);if(!F||F.length===0){var V,Z=(V=S.domain)!==null&&V!==void 0?V:H;if(P){if(F=po(z,P,T),T==="category"&&g){var ee=UI(F);w&&ee?(K=F,F=ec(0,B)):w||(F=Wb(Z,F,b).reduce(function(oe,pe){return oe.indexOf(pe)>=0?oe:[].concat(_a(oe),[pe])},[]))}else if(T==="category")w?F=F.filter(function(oe){return oe!==""&&!we(oe)}):F=Wb(Z,F,b).reduce(function(oe,pe){return oe.indexOf(pe)>=0||pe===""||we(pe)?oe:[].concat(_a(oe),[pe])},[]);else if(T==="number"){var ne=oG(z,i.filter(function(oe){var pe,Fe,We=s in oe.props?oe.props[s]:(pe=oe.type.defaultProps)===null||pe===void 0?void 0:pe[s],mt="hide"in oe.props?oe.props.hide:(Fe=oe.type.defaultProps)===null||Fe===void 0?void 0:Fe.hide;return We===D&&(I||!mt)}),P,o,d);ne&&(F=ne)}g&&(T==="number"||O!=="auto")&&(q=po(z,P,"category"))}else g?F=ec(0,B):c&&c[D]&&c[D].hasStack&&T==="number"?F=v==="expand"?[0,1]:Bw(c[D].stackGroups,l,h):F=kw(z,i.filter(function(oe){var pe=s in oe.props?oe.props[s]:oe.type.defaultProps[s],Fe="hide"in oe.props?oe.props.hide:oe.type.defaultProps.hide;return pe===D&&(I||!Fe)}),T,d,!0);if(T==="number")F=jp(p,F,D,o,j),Z&&(F=Kh(Z,F,E));else if(T==="category"&&Z){var fe=Z,ce=F.every(function(oe){return fe.indexOf(oe)>=0});ce&&(F=fe)}}return U(U({},m),{},ye({},D,U(U({},S),{},{axisType:o,domain:F,categoricalDomain:q,duplicateDomain:K,originalDomain:(_=S.domain)!==null&&_!==void 0?_:H,isCategorical:g,layout:d})))},{})},QV=function(t,r){var n=r.graphicalItems,i=r.Axis,o=r.axisType,s=r.axisIdKey,c=r.stackGroups,l=r.dataStartIndex,h=r.dataEndIndex,d=t.layout,p=t.children,v=ul(t.data,{graphicalItems:n,dataStartIndex:l,dataEndIndex:h}),g=v.length,m=Lw(d,o),b=-1;return n.reduce(function(_,S){var T=S.type.defaultProps!==void 0?U(U({},S.type.defaultProps),S.props):S.props,P=T[s],E=Z_("number");if(!_[P]){b++;var w;return m?w=ec(0,g):c&&c[P]&&c[P].hasStack?(w=Bw(c[P].stackGroups,l,h),w=jp(p,w,P,o)):(w=Kh(E,kw(v,n.filter(function(O){var j,I,D=s in O.props?O.props[s]:(j=O.type.defaultProps)===null||j===void 0?void 0:j[s],z="hide"in O.props?O.props.hide:(I=O.type.defaultProps)===null||I===void 0?void 0:I.hide;return D===P&&!z}),"number",d),i.defaultProps.allowDataOverflow),w=jp(p,w,P,o)),U(U({},_),{},ye({},P,U(U({axisType:o},i.defaultProps),{},{hide:!0,orientation:dr(XV,"".concat(o,".").concat(b%2),null),domain:w,originalDomain:E,isCategorical:m,layout:d})))}return _},{})},eZ=function(t,r){var n=r.axisType,i=n===void 0?"xAxis":n,o=r.AxisComp,s=r.graphicalItems,c=r.stackGroups,l=r.dataStartIndex,h=r.dataEndIndex,d=t.children,p="".concat(i,"Id"),v=Wt(d,o),g={};return v.length?g=JV(t,{axes:v,graphicalItems:s,axisType:i,axisIdKey:p,stackGroups:c,dataStartIndex:l,dataEndIndex:h}):s&&s.length&&(g=QV(t,{Axis:o,graphicalItems:s,axisType:i,axisIdKey:p,stackGroups:c,dataStartIndex:l,dataEndIndex:h})),g},tZ=function(t){var r=Cn(t),n=nn(r,!1,!0);return{tooltipTicks:n,orderedTooltipTicks:nd(n,function(i){return i.coordinate}),tooltipAxis:r,tooltipAxisBandSize:Hs(r,n)}},dx=function(t){var r=t.children,n=t.defaultShowTooltip,i=Jt(r,sa),o=0,s=0;return t.data&&t.data.length!==0&&(s=t.data.length-1),i&&i.props&&(i.props.startIndex>=0&&(o=i.props.startIndex),i.props.endIndex>=0&&(s=i.props.endIndex)),{chartX:0,chartY:0,dataStartIndex:o,dataEndIndex:s,activeTooltipIndex:-1,isTooltipActive:!!n}},rZ=function(t){return!t||!t.length?!1:t.some(function(r){var n=an(r&&r.type);return n&&n.indexOf("Bar")>=0})},vx=function(t){return t==="horizontal"?{numericAxisName:"yAxis",cateAxisName:"xAxis"}:t==="vertical"?{numericAxisName:"xAxis",cateAxisName:"yAxis"}:t==="centric"?{numericAxisName:"radiusAxis",cateAxisName:"angleAxis"}:{numericAxisName:"angleAxis",cateAxisName:"radiusAxis"}},nZ=function(t,r){var n=t.props,i=t.graphicalItems,o=t.xAxisMap,s=o===void 0?{}:o,c=t.yAxisMap,l=c===void 0?{}:c,h=n.width,d=n.height,p=n.children,v=n.margin||{},g=Jt(p,sa),m=Jt(p,ui),b=Object.keys(l).reduce(function(w,O){var j=l[O],I=j.orientation;return!j.mirror&&!j.hide?U(U({},w),{},ye({},I,w[I]+j.width)):w},{left:v.left||0,right:v.right||0}),_=Object.keys(s).reduce(function(w,O){var j=s[O],I=j.orientation;return!j.mirror&&!j.hide?U(U({},w),{},ye({},I,dr(w,"".concat(I))+j.height)):w},{top:v.top||0,bottom:v.bottom||0}),S=U(U({},_),b),T=S.bottom;g&&(S.bottom+=g.props.height||sa.defaultProps.height),m&&r&&(S=iG(S,i,n,r));var P=h-S.left-S.right,E=d-S.top-S.bottom;return U(U({brushBottom:T},S),{},{width:Math.max(P,0),height:Math.max(E,0)})},iZ=function(t,r){if(r==="xAxis")return t[r].width;if(r==="yAxis")return t[r].height},J_=function(t){var r=t.chartName,n=t.GraphicalChild,i=t.defaultTooltipEventType,o=i===void 0?"axis":i,s=t.validateTooltipEventTypes,c=s===void 0?["axis"]:s,l=t.axisComponents,h=t.legendContent,d=t.formatAxisMap,p=t.defaultProps,v=function(S,T){var P=T.graphicalItems,E=T.stackGroups,w=T.offset,O=T.updateId,j=T.dataStartIndex,I=T.dataEndIndex,D=S.barSize,z=S.layout,B=S.barGap,F=S.barCategoryGap,K=S.maxBarSize,q=vx(z),H=q.numericAxisName,V=q.cateAxisName,Z=rZ(P),ee=[];return P.forEach(function(ne,fe){var ce=ul(S.data,{graphicalItems:[ne],dataStartIndex:j,dataEndIndex:I}),oe=ne.type.defaultProps!==void 0?U(U({},ne.type.defaultProps),ne.props):ne.props,pe=oe.dataKey,Fe=oe.maxBarSize,We=oe["".concat(H,"Id")],mt=oe["".concat(V,"Id")],Ur={},st=l.reduce(function(ft,Ut){var mn=T["".concat(Ut.axisType,"Map")],cu=oe["".concat(Ut.axisType,"Id")];mn&&mn[cu]||Ut.axisType==="zAxis"||gi();var bn=mn[cu];return U(U({},ft),{},ye(ye({},Ut.axisType,bn),"".concat(Ut.axisType,"Ticks"),nn(bn)))},Ur),ie=st[V],_e=st["".concat(V,"Ticks")],me=E&&E[We]&&E[We].hasStack&&mG(ne,E[We].stackGroups),Q=an(ne.type).indexOf("Bar")>=0,qe=Hs(ie,_e),ge=[],Ke=Z&&rG({barSize:D,stackGroups:E,totalSize:iZ(st,V)});if(Q){var it,Ze,mr=we(Fe)?K:Fe,gn=(it=(Ze=Hs(ie,_e,!0))!==null&&Ze!==void 0?Ze:mr)!==null&&it!==void 0?it:0;ge=nG({barGap:B,barCategoryGap:F,bandSize:gn!==qe?gn:qe,sizeList:Ke[mt],maxBarSize:mr}),gn!==qe&&(ge=ge.map(function(ft){return U(U({},ft),{},{position:U(U({},ft.position),{},{offset:ft.position.offset-gn/2})})}))}var Mr=ne&&ne.type&&ne.type.getComposedData;Mr&&ee.push({props:U(U({},Mr(U(U({},st),{},{displayedData:ce,props:S,dataKey:pe,item:ne,bandSize:qe,barPosition:ge,offset:w,stackedData:me,layout:z,dataStartIndex:j,dataEndIndex:I}))),{},ye(ye(ye({key:ne.key||"item-".concat(fe)},H,st[H]),V,st[V]),"animationId",O)),childIndex:tN(ne,S.children),item:ne})}),ee},g=function(S,T){var P=S.props,E=S.dataStartIndex,w=S.dataEndIndex,O=S.updateId;if(!Dg({props:P}))return null;var j=P.children,I=P.layout,D=P.stackOffset,z=P.data,B=P.reverseStackOrder,F=vx(I),K=F.numericAxisName,q=F.cateAxisName,H=Wt(j,n),V=vG(z,H,"".concat(K,"Id"),"".concat(q,"Id"),D,B),Z=l.reduce(function(oe,pe){var Fe="".concat(pe.axisType,"Map");return U(U({},oe),{},ye({},Fe,eZ(P,U(U({},pe),{},{graphicalItems:H,stackGroups:pe.axisType===K&&V,dataStartIndex:E,dataEndIndex:w}))))},{}),ee=nZ(U(U({},Z),{},{props:P,graphicalItems:H}),T?.legendBBox);Object.keys(Z).forEach(function(oe){Z[oe]=d(P,Z[oe],ee,oe.replace("Map",""),r)});var ne=Z["".concat(q,"Map")],fe=tZ(ne),ce=v(P,U(U({},Z),{},{dataStartIndex:E,dataEndIndex:w,updateId:O,graphicalItems:H,stackGroups:V,offset:ee}));return U(U({formattedGraphicalItems:ce,graphicalItems:H,offset:ee,stackGroups:V},fe),Z)},m=function(_){function S(T){var P,E,w;return LV(this,S),w=FV(this,S,[T]),ye(w,"eventEmitterSymbol",Symbol("rechartsEventEmitter")),ye(w,"accessibilityManager",new OV),ye(w,"handleLegendBBoxUpdate",function(O){if(O){var j=w.state,I=j.dataStartIndex,D=j.dataEndIndex,z=j.updateId;w.setState(U({legendBBox:O},g({props:w.props,dataStartIndex:I,dataEndIndex:D,updateId:z},U(U({},w.state),{},{legendBBox:O}))))}}),ye(w,"handleReceiveSyncEvent",function(O,j,I){if(w.props.syncId===O){if(I===w.eventEmitterSymbol&&typeof w.props.syncMethod!="function")return;w.applySyncEvent(j)}}),ye(w,"handleBrushChange",function(O){var j=O.startIndex,I=O.endIndex;if(j!==w.state.dataStartIndex||I!==w.state.dataEndIndex){var D=w.state.updateId;w.setState(function(){return U({dataStartIndex:j,dataEndIndex:I},g({props:w.props,dataStartIndex:j,dataEndIndex:I,updateId:D},w.state))}),w.triggerSyncEvent({dataStartIndex:j,dataEndIndex:I})}}),ye(w,"handleMouseEnter",function(O){var j=w.getMouseInfo(O);if(j){var I=U(U({},j),{},{isTooltipActive:!0});w.setState(I),w.triggerSyncEvent(I);var D=w.props.onMouseEnter;Ae(D)&&D(I,O)}}),ye(w,"triggeredAfterMouseMove",function(O){var j=w.getMouseInfo(O),I=j?U(U({},j),{},{isTooltipActive:!0}):{isTooltipActive:!1};w.setState(I),w.triggerSyncEvent(I);var D=w.props.onMouseMove;Ae(D)&&D(I,O)}),ye(w,"handleItemMouseEnter",function(O){w.setState(function(){return{isTooltipActive:!0,activeItem:O,activePayload:O.tooltipPayload,activeCoordinate:O.tooltipPosition||{x:O.cx,y:O.cy}}})}),ye(w,"handleItemMouseLeave",function(){w.setState(function(){return{isTooltipActive:!1}})}),ye(w,"handleMouseMove",function(O){O.persist(),w.throttleTriggeredAfterMouseMove(O)}),ye(w,"handleMouseLeave",function(O){w.throttleTriggeredAfterMouseMove.cancel();var j={isTooltipActive:!1};w.setState(j),w.triggerSyncEvent(j);var I=w.props.onMouseLeave;Ae(I)&&I(j,O)}),ye(w,"handleOuterEvent",function(O){var j=eN(O),I=dr(w.props,"".concat(j));if(j&&Ae(I)){var D,z;/.*touch.*/i.test(j)?z=w.getMouseInfo(O.changedTouches[0]):z=w.getMouseInfo(O),I((D=z)!==null&&D!==void 0?D:{},O)}}),ye(w,"handleClick",function(O){var j=w.getMouseInfo(O);if(j){var I=U(U({},j),{},{isTooltipActive:!0});w.setState(I),w.triggerSyncEvent(I);var D=w.props.onClick;Ae(D)&&D(I,O)}}),ye(w,"handleMouseDown",function(O){var j=w.props.onMouseDown;if(Ae(j)){var I=w.getMouseInfo(O);j(I,O)}}),ye(w,"handleMouseUp",function(O){var j=w.props.onMouseUp;if(Ae(j)){var I=w.getMouseInfo(O);j(I,O)}}),ye(w,"handleTouchMove",function(O){O.changedTouches!=null&&O.changedTouches.length>0&&w.throttleTriggeredAfterMouseMove(O.changedTouches[0])}),ye(w,"handleTouchStart",function(O){O.changedTouches!=null&&O.changedTouches.length>0&&w.handleMouseDown(O.changedTouches[0])}),ye(w,"handleTouchEnd",function(O){O.changedTouches!=null&&O.changedTouches.length>0&&w.handleMouseUp(O.changedTouches[0])}),ye(w,"handleDoubleClick",function(O){var j=w.props.onDoubleClick;if(Ae(j)){var I=w.getMouseInfo(O);j(I,O)}}),ye(w,"handleContextMenu",function(O){var j=w.props.onContextMenu;if(Ae(j)){var I=w.getMouseInfo(O);j(I,O)}}),ye(w,"triggerSyncEvent",function(O){w.props.syncId!==void 0&&rh.emit(nh,w.props.syncId,O,w.eventEmitterSymbol)}),ye(w,"applySyncEvent",function(O){var j=w.props,I=j.layout,D=j.syncMethod,z=w.state.updateId,B=O.dataStartIndex,F=O.dataEndIndex;if(O.dataStartIndex!==void 0||O.dataEndIndex!==void 0)w.setState(U({dataStartIndex:B,dataEndIndex:F},g({props:w.props,dataStartIndex:B,dataEndIndex:F,updateId:z},w.state)));else if(O.activeTooltipIndex!==void 0){var K=O.chartX,q=O.chartY,H=O.activeTooltipIndex,V=w.state,Z=V.offset,ee=V.tooltipTicks;if(!Z)return;if(typeof D=="function")H=D(ee,O);else if(D==="value"){H=-1;for(var ne=0;ne=0){var me,Q;if(K.dataKey&&!K.allowDuplicatedCategory){var qe=typeof K.dataKey=="function"?_e:"payload.".concat(K.dataKey.toString());me=ys(ne,qe,H),Q=fe&&ce&&ys(ce,qe,H)}else me=ne?.[q],Q=fe&&ce&&ce[q];if(mt||We){var ge=O.props.activeIndex!==void 0?O.props.activeIndex:q;return[te.cloneElement(O,U(U(U({},D.props),st),{},{activeIndex:ge})),null,null]}if(!we(me))return[ie].concat(_a(w.renderActivePoints({item:D,activePoint:me,basePoint:Q,childIndex:q,isRange:fe})))}else{var Ke,it=(Ke=w.getItemByXY(w.state.activeCoordinate))!==null&&Ke!==void 0?Ke:{graphicalItem:ie},Ze=it.graphicalItem,mr=Ze.item,gn=mr===void 0?O:mr,Mr=Ze.childIndex,ft=U(U(U({},D.props),st),{},{activeIndex:Mr});return[te.cloneElement(gn,ft),null,null]}return fe?[ie,null,null]:[ie,null]}),ye(w,"renderCustomized",function(O,j,I){return te.cloneElement(O,U(U({key:"recharts-customized-".concat(I)},w.props),w.state))}),ye(w,"renderMap",{CartesianGrid:{handler:hs,once:!0},ReferenceArea:{handler:w.renderReferenceElement},ReferenceLine:{handler:hs},ReferenceDot:{handler:w.renderReferenceElement},XAxis:{handler:hs},YAxis:{handler:hs},Brush:{handler:w.renderBrush,once:!0},Bar:{handler:w.renderGraphicChild},Line:{handler:w.renderGraphicChild},Area:{handler:w.renderGraphicChild},Radar:{handler:w.renderGraphicChild},RadialBar:{handler:w.renderGraphicChild},Scatter:{handler:w.renderGraphicChild},Pie:{handler:w.renderGraphicChild},Funnel:{handler:w.renderGraphicChild},Tooltip:{handler:w.renderCursor,once:!0},PolarGrid:{handler:w.renderPolarGrid,once:!0},PolarAngleAxis:{handler:w.renderPolarAxis},PolarRadiusAxis:{handler:w.renderPolarAxis},Customized:{handler:w.renderCustomized}}),w.clipPathId="".concat((P=T.id)!==null&&P!==void 0?P:wi("recharts"),"-clip"),w.throttleTriggeredAfterMouseMove=N1(w.triggeredAfterMouseMove,(E=T.throttleDelay)!==null&&E!==void 0?E:1e3/60),w.state={},w}return UV(S,_),BV(S,[{key:"componentDidMount",value:function(){var P,E;this.addListener(),this.accessibilityManager.setDetails({container:this.container,offset:{left:(P=this.props.margin.left)!==null&&P!==void 0?P:0,top:(E=this.props.margin.top)!==null&&E!==void 0?E:0},coordinateList:this.state.tooltipTicks,mouseHandlerCallback:this.triggeredAfterMouseMove,layout:this.props.layout}),this.displayDefaultTooltip()}},{key:"displayDefaultTooltip",value:function(){var P=this.props,E=P.children,w=P.data,O=P.height,j=P.layout,I=Jt(E,hr);if(I){var D=I.props.defaultIndex;if(!(typeof D!="number"||D<0||D>this.state.tooltipTicks.length-1)){var z=this.state.tooltipTicks[D]&&this.state.tooltipTicks[D].value,B=Ip(this.state,w,D,z),F=this.state.tooltipTicks[D].coordinate,K=(this.state.offset.top+O)/2,q=j==="horizontal",H=q?{x:F,y:K}:{y:F,x:K},V=this.state.formattedGraphicalItems.find(function(ee){var ne=ee.item;return ne.type.name==="Scatter"});V&&(H=U(U({},H),V.props.points[D].tooltipPosition),B=V.props.points[D].tooltipPayload);var Z={activeTooltipIndex:D,isTooltipActive:!0,activeLabel:z,activePayload:B,activeCoordinate:H};this.setState(Z),this.renderCursor(I),this.accessibilityManager.setIndex(D)}}}},{key:"getSnapshotBeforeUpdate",value:function(P,E){if(!this.props.accessibilityLayer)return null;if(this.state.tooltipTicks!==E.tooltipTicks&&this.accessibilityManager.setDetails({coordinateList:this.state.tooltipTicks}),this.props.layout!==P.layout&&this.accessibilityManager.setDetails({layout:this.props.layout}),this.props.margin!==P.margin){var w,O;this.accessibilityManager.setDetails({offset:{left:(w=this.props.margin.left)!==null&&w!==void 0?w:0,top:(O=this.props.margin.top)!==null&&O!==void 0?O:0}})}return null}},{key:"componentDidUpdate",value:function(P){uh([Jt(P.children,hr)],[Jt(this.props.children,hr)])||this.displayDefaultTooltip()}},{key:"componentWillUnmount",value:function(){this.removeListener(),this.throttleTriggeredAfterMouseMove.cancel()}},{key:"getTooltipEventType",value:function(){var P=Jt(this.props.children,hr);if(P&&typeof P.props.shared=="boolean"){var E=P.props.shared?"axis":"item";return c.indexOf(E)>=0?E:o}return o}},{key:"getMouseInfo",value:function(P){if(!this.container)return null;var E=this.container,w=E.getBoundingClientRect(),O=$U(w),j={chartX:Math.round(P.pageX-O.left),chartY:Math.round(P.pageY-O.top)},I=w.width/E.offsetWidth||1,D=this.inRange(j.chartX,j.chartY,I);if(!D)return null;var z=this.state,B=z.xAxisMap,F=z.yAxisMap,K=this.getTooltipEventType();if(K!=="axis"&&B&&F){var q=Cn(B).scale,H=Cn(F).scale,V=q&&q.invert?q.invert(j.chartX):null,Z=H&&H.invert?H.invert(j.chartY):null;return U(U({},j),{},{xValue:V,yValue:Z})}var ee=px(this.state,this.props.data,this.props.layout,D);return ee?U(U({},j),ee):null}},{key:"inRange",value:function(P,E){var w=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,O=this.props.layout,j=P/w,I=E/w;if(O==="horizontal"||O==="vertical"){var D=this.state.offset,z=j>=D.left&&j<=D.left+D.width&&I>=D.top&&I<=D.top+D.height;return z?{x:j,y:I}:null}var B=this.state,F=B.angleAxisMap,K=B.radiusAxisMap;if(F&&K){var q=Cn(F);return Gb({x:j,y:I},q)}return null}},{key:"parseEventsOfWrapper",value:function(){var P=this.props.children,E=this.getTooltipEventType(),w=Jt(P,hr),O={};w&&E==="axis"&&(w.props.trigger==="click"?O={onClick:this.handleClick}:O={onMouseEnter:this.handleMouseEnter,onDoubleClick:this.handleDoubleClick,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd,onContextMenu:this.handleContextMenu});var j=gs(this.props,this.handleOuterEvent);return U(U({},j),O)}},{key:"addListener",value:function(){rh.on(nh,this.handleReceiveSyncEvent)}},{key:"removeListener",value:function(){rh.removeListener(nh,this.handleReceiveSyncEvent)}},{key:"filterFormatItem",value:function(P,E,w){for(var O=this.state.formattedGraphicalItems,j=0,I=O.length;j{t.has(r.date)||t.set(r.date,{date:r.date,income:0,income_count:0,commission:0,commission_count:0});const n=t.get(r.date);switch(r.type){case"收款金额":n.income=r.value;break;case"收款笔数":n.income_count=r.value;break;case"佣金金额(已发放)":n.commission=r.value;break;case"佣金笔数(已发放)":n.commission_count=r.value;break}}),Array.from(t.values()).sort((r,n)=>r.date.localeCompare(n.date))}function uZ(){const[e,t]=te.useState([]);return te.useEffect(()=>{async function r(){const{data:n}=await Fj();t(oZ(n))}r()},[]),L.jsxs(fi,{children:[L.jsx(hi,{children:L.jsx(Yi,{children:"收入趋势"})}),L.jsx(pi,{children:L.jsx("div",{className:"h-[400px] w-full pt-4",children:L.jsx(jh,{width:"100%",height:"100%",children:L.jsxs(aZ,{data:e,margin:{top:20,right:30,left:0,bottom:0},children:[L.jsxs("defs",{children:[L.jsxs("linearGradient",{id:"incomeGradient",x1:"0",y1:"0",x2:"0",y2:"1",children:[L.jsx("stop",{offset:"5%",stopColor:En.income.gradient.start,stopOpacity:.3}),L.jsx("stop",{offset:"95%",stopColor:En.income.gradient.end,stopOpacity:.05})]}),L.jsxs("linearGradient",{id:"commissionGradient",x1:"0",y1:"0",x2:"0",y2:"1",children:[L.jsx("stop",{offset:"5%",stopColor:En.commission.gradient.start,stopOpacity:.3}),L.jsx("stop",{offset:"95%",stopColor:En.commission.gradient.end,stopOpacity:.05})]})]}),L.jsx(bi,{dataKey:"date",axisLine:!1,tickLine:!1,tick:{fill:"hsl(var(--muted-foreground))",fontSize:12},dy:10}),L.jsx(Ln,{yAxisId:"left",axisLine:!1,tickLine:!1,tick:{fill:"hsl(var(--muted-foreground))",fontSize:12},tickFormatter:r=>`¥${(r/100).toFixed(2)}`}),L.jsx(Ln,{yAxisId:"right",orientation:"right",axisLine:!1,tickLine:!1,tick:{fill:"hsl(var(--muted-foreground))",fontSize:12},tickFormatter:r=>`${r}笔`}),L.jsx(lc,{strokeDasharray:"3 3",vertical:!1,stroke:"hsl(var(--border))",opacity:.3}),L.jsx(hr,{contentStyle:{backgroundColor:"hsl(var(--background))",border:"1px solid hsl(var(--border))",borderRadius:"6px",fontSize:"12px",padding:"8px 12px",boxShadow:"0 2px 4px rgba(0,0,0,0.1)"},formatter:(r,n)=>n.includes("金额")?[`¥${(r/100).toFixed(2)}`,n]:[`${r}笔`,n],labelStyle:{color:"hsl(var(--foreground))"},cursor:{stroke:"hsl(var(--muted))"}}),L.jsx(ui,{verticalAlign:"top",height:36,iconType:"circle",iconSize:8,wrapperStyle:{paddingBottom:"12px"}}),L.jsx(hn,{yAxisId:"left",type:"monotone",dataKey:"income",name:"收款金额",stroke:En.income.main,strokeWidth:2,fillOpacity:1,fill:"url(#incomeGradient)"}),L.jsx(hn,{yAxisId:"left",type:"monotone",dataKey:"commission",name:"佣金金额",stroke:En.commission.main,strokeWidth:2,fillOpacity:1,fill:"url(#commissionGradient)"}),L.jsx(va,{yAxisId:"right",type:"monotone",dataKey:"income_count",name:"收款笔数",stroke:En.income_count,strokeWidth:3,dot:!1}),L.jsx(va,{yAxisId:"right",type:"monotone",dataKey:"commission_count",name:"佣金笔数",stroke:En.commission_count,strokeWidth:3,dot:!1})]})})})})]})}function sZ(){const e=Ij(),{data:t}=bo({queryKey:["pendingTickets"],queryFn:()=>Wj({filter:[{id:"status",value:0}]}),staleTime:1e3*30,refetchInterval:1e3*30}),{data:r}=bo({queryKey:["pendingCommissions"],queryFn:()=>zj({filter:[{id:"commission_status",value:gg.PENDING},{id:"status",value:mg.COMPLETED}]}),staleTime:1e3*30,refetchInterval:1e3*30}),n=t?.data||[],i=r?.data||[],o=()=>{e("/finance/order",{state:{filters:[{id:"commission_status",value:gg.PENDING},{id:"status",value:mg.COMPLETED}]}})};return L.jsxs("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-4",children:[L.jsxs(fi,{className:`cursor-pointer transition-colors hover:bg-muted/50 ${n.length>0?"border-orange-500/50":""}`,onClick:()=>e("/user/ticket"),children:[L.jsxs(hi,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[L.jsx(Yi,{className:"text-sm font-medium",children:"待处理工单"}),L.jsx(uM,{className:`h-4 w-4 ${n.length>0?"text-orange-500":"text-muted-foreground"}`})]}),L.jsxs(pi,{children:[L.jsx("div",{className:"text-2xl font-bold",children:n.length}),L.jsx("p",{className:"text-xs text-muted-foreground",children:n.length>0?"有待处理的工单需要关注":"暂无待处理工单"})]})]}),L.jsxs(fi,{className:`cursor-pointer transition-colors hover:bg-muted/50 ${i.length>0?"border-blue-500/50":""}`,onClick:o,children:[L.jsxs(hi,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[L.jsx(Yi,{className:"text-sm font-medium",children:"待处理佣金"}),L.jsx(oM,{className:`h-4 w-4 ${i.length>0?"text-blue-500":"text-muted-foreground"}`})]}),L.jsxs(pi,{children:[L.jsx("div",{className:"text-2xl font-bold",children:i.length}),L.jsx("p",{className:"text-xs text-muted-foreground",children:i.length>0?"有待处理的佣金需要确认":"暂无待处理佣金"})]})]})]})}function cZ(){return L.jsxs(fi,{children:[L.jsxs(hi,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[L.jsx(Ju,{className:"h-4 w-[100px]"}),L.jsx(Ju,{className:"h-4 w-4"})]}),L.jsxs(pi,{children:[L.jsx(Ju,{className:"h-8 w-[120px]"}),L.jsx("div",{className:"flex items-center pt-1",children:L.jsx(Ju,{className:"h-4 w-[100px]"})})]})]})}function lZ(){return L.jsx("div",{className:"grid gap-4 md:grid-cols-2 lg:grid-cols-4",children:Array.from({length:4}).map((e,t)=>L.jsx(cZ,{},t))})}function ps({title:e,value:t,icon:r,trend:n,className:i}){return L.jsxs(fi,{className:Dr("transition-colors hover:border-primary/50",i),children:[L.jsxs(hi,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[L.jsx(Yi,{className:"text-sm font-medium",children:e}),r]}),L.jsxs(pi,{children:[L.jsx("div",{className:"text-2xl font-bold",children:t}),L.jsxs("div",{className:"flex items-center pt-1",children:[L.jsx(cM,{className:Dr("h-4 w-4",n.isPositive?"text-emerald-500":"text-red-500")}),L.jsxs("span",{className:Dr("ml-1 text-xs",n.isPositive?"text-emerald-500":"text-red-500"),children:[n.isPositive?"+":"-",Math.abs(n.value),"%"]}),L.jsx("span",{className:"ml-1 text-xs text-muted-foreground",children:n.label})]})]})]})}function fZ({className:e}){const{data:t,isLoading:r}=bo({queryKey:["dashboardStats"],queryFn:async()=>(await Uj()).data,refetchInterval:3e5});return r||!t?L.jsx(lZ,{}):L.jsxs("div",{className:Dr("grid gap-4 md:grid-cols-2 lg:grid-cols-4",e),children:[L.jsx(ps,{title:"本月收入",value:`¥${t.currentMonthIncome/100}`,icon:L.jsx(nM,{className:"h-4 w-4 text-emerald-500"}),trend:{value:t.monthIncomeGrowth,label:"vs 上月",isPositive:t.monthIncomeGrowth>0}}),L.jsx(ps,{title:"上月收入",value:`¥${t.lastMonthIncome/100}`,icon:L.jsx(aM,{className:"h-4 w-4 text-muted-foreground"}),trend:{value:t.lastMonthIncomeGrowth,label:"vs 上上月",isPositive:t.lastMonthIncomeGrowth>0}}),L.jsx(ps,{title:"上月佣金支出",value:`¥${t.lastMonthCommissionPayout/100}`,icon:L.jsx(iM,{className:"h-4 w-4 text-destructive"}),trend:{value:t.commissionGrowth,label:"vs 上上月",isPositive:t.commissionGrowth>0}}),L.jsx(ps,{title:"本月新增用户",value:t.currentMonthNewUsers,icon:L.jsx(mx,{className:"h-4 w-4 text-blue-500"}),trend:{value:t.userGrowth,label:"vs 上月",isPositive:t.userGrowth>0}})]})}function hZ(e){return Zj(Date.now(),e)}var mc={exports:{}};/** - * @license - * Lodash - * Copyright OpenJS Foundation and other contributors - * Released under MIT license - * Based on Underscore.js 1.8.3 - * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */mc.exports;(function(e,t){(function(){var r,n="4.17.21",i=200,o="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",s="Expected a function",c="Invalid `variable` option passed into `_.template`",l="__lodash_hash_undefined__",h=500,d="__lodash_placeholder__",p=1,v=2,g=4,m=1,b=2,_=1,S=2,T=4,P=8,E=16,w=32,O=64,j=128,I=256,D=512,z=30,B="...",F=800,K=16,q=1,H=2,V=3,Z=1/0,ee=9007199254740991,ne=17976931348623157e292,fe=NaN,ce=4294967295,oe=ce-1,pe=ce>>>1,Fe=[["ary",j],["bind",_],["bindKey",S],["curry",P],["curryRight",E],["flip",D],["partial",w],["partialRight",O],["rearg",I]],We="[object Arguments]",mt="[object Array]",Ur="[object AsyncFunction]",st="[object Boolean]",ie="[object Date]",_e="[object DOMException]",me="[object Error]",Q="[object Function]",qe="[object GeneratorFunction]",ge="[object Map]",Ke="[object Number]",it="[object Null]",Ze="[object Object]",mr="[object Promise]",gn="[object Proxy]",Mr="[object RegExp]",ft="[object Set]",Ut="[object String]",mn="[object Symbol]",cu="[object Undefined]",bn="[object WeakMap]",Q_="[object WeakSet]",Ra="[object ArrayBuffer]",Ai="[object DataView]",sl="[object Float32Array]",cl="[object Float64Array]",ll="[object Int8Array]",fl="[object Int16Array]",hl="[object Int32Array]",pl="[object Uint8Array]",dl="[object Uint8ClampedArray]",vl="[object Uint16Array]",yl="[object Uint32Array]",eO=/\b__p \+= '';/g,tO=/\b(__p \+=) '' \+/g,rO=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Wd=/&(?:amp|lt|gt|quot|#39);/g,zd=/[&<>"']/g,nO=RegExp(Wd.source),iO=RegExp(zd.source),aO=/<%-([\s\S]+?)%>/g,oO=/<%([\s\S]+?)%>/g,Ud=/<%=([\s\S]+?)%>/g,uO=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,sO=/^\w*$/,cO=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,gl=/[\\^$.*+?()[\]{}|]/g,lO=RegExp(gl.source),ml=/^\s+/,fO=/\s/,hO=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,pO=/\{\n\/\* \[wrapped with (.+)\] \*/,dO=/,? & /,vO=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,yO=/[()=,{}\[\]\/\s]/,gO=/\\(\\)?/g,mO=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Gd=/\w*$/,bO=/^[-+]0x[0-9a-f]+$/i,xO=/^0b[01]+$/i,wO=/^\[object .+?Constructor\]$/,_O=/^0o[0-7]+$/i,OO=/^(?:0|[1-9]\d*)$/,AO=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,lu=/($^)/,SO=/['\n\r\u2028\u2029\\]/g,fu="\\ud800-\\udfff",PO="\\u0300-\\u036f",$O="\\ufe20-\\ufe2f",TO="\\u20d0-\\u20ff",Hd=PO+$O+TO,qd="\\u2700-\\u27bf",Kd="a-z\\xdf-\\xf6\\xf8-\\xff",EO="\\xac\\xb1\\xd7\\xf7",jO="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",MO="\\u2000-\\u206f",CO=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Xd="A-Z\\xc0-\\xd6\\xd8-\\xde",Yd="\\ufe0e\\ufe0f",Vd=EO+jO+MO+CO,bl="['’]",IO="["+fu+"]",Zd="["+Vd+"]",hu="["+Hd+"]",Jd="\\d+",NO="["+qd+"]",Qd="["+Kd+"]",ev="[^"+fu+Vd+Jd+qd+Kd+Xd+"]",xl="\\ud83c[\\udffb-\\udfff]",DO="(?:"+hu+"|"+xl+")",tv="[^"+fu+"]",wl="(?:\\ud83c[\\udde6-\\uddff]){2}",_l="[\\ud800-\\udbff][\\udc00-\\udfff]",Si="["+Xd+"]",rv="\\u200d",nv="(?:"+Qd+"|"+ev+")",kO="(?:"+Si+"|"+ev+")",iv="(?:"+bl+"(?:d|ll|m|re|s|t|ve))?",av="(?:"+bl+"(?:D|LL|M|RE|S|T|VE))?",ov=DO+"?",uv="["+Yd+"]?",LO="(?:"+rv+"(?:"+[tv,wl,_l].join("|")+")"+uv+ov+")*",RO="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",BO="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",sv=uv+ov+LO,FO="(?:"+[NO,wl,_l].join("|")+")"+sv,WO="(?:"+[tv+hu+"?",hu,wl,_l,IO].join("|")+")",zO=RegExp(bl,"g"),UO=RegExp(hu,"g"),Ol=RegExp(xl+"(?="+xl+")|"+WO+sv,"g"),GO=RegExp([Si+"?"+Qd+"+"+iv+"(?="+[Zd,Si,"$"].join("|")+")",kO+"+"+av+"(?="+[Zd,Si+nv,"$"].join("|")+")",Si+"?"+nv+"+"+iv,Si+"+"+av,BO,RO,Jd,FO].join("|"),"g"),HO=RegExp("["+rv+fu+Hd+Yd+"]"),qO=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,KO=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],XO=-1,Xe={};Xe[sl]=Xe[cl]=Xe[ll]=Xe[fl]=Xe[hl]=Xe[pl]=Xe[dl]=Xe[vl]=Xe[yl]=!0,Xe[We]=Xe[mt]=Xe[Ra]=Xe[st]=Xe[Ai]=Xe[ie]=Xe[me]=Xe[Q]=Xe[ge]=Xe[Ke]=Xe[Ze]=Xe[Mr]=Xe[ft]=Xe[Ut]=Xe[bn]=!1;var Ge={};Ge[We]=Ge[mt]=Ge[Ra]=Ge[Ai]=Ge[st]=Ge[ie]=Ge[sl]=Ge[cl]=Ge[ll]=Ge[fl]=Ge[hl]=Ge[ge]=Ge[Ke]=Ge[Ze]=Ge[Mr]=Ge[ft]=Ge[Ut]=Ge[mn]=Ge[pl]=Ge[dl]=Ge[vl]=Ge[yl]=!0,Ge[me]=Ge[Q]=Ge[bn]=!1;var YO={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},VO={"&":"&","<":"<",">":">",'"':""","'":"'"},ZO={"&":"&","<":"<",">":">",""":'"',"'":"'"},JO={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},QO=parseFloat,eA=parseInt,cv=typeof en=="object"&&en&&en.Object===Object&&en,tA=typeof self=="object"&&self&&self.Object===Object&&self,_t=cv||tA||Function("return this")(),Al=t&&!t.nodeType&&t,Un=Al&&!0&&e&&!e.nodeType&&e,lv=Un&&Un.exports===Al,Sl=lv&&cv.process,er=function(){try{var k=Un&&Un.require&&Un.require("util").types;return k||Sl&&Sl.binding&&Sl.binding("util")}catch{}}(),fv=er&&er.isArrayBuffer,hv=er&&er.isDate,pv=er&&er.isMap,dv=er&&er.isRegExp,vv=er&&er.isSet,yv=er&&er.isTypedArray;function Gt(k,G,W){switch(W.length){case 0:return k.call(G);case 1:return k.call(G,W[0]);case 2:return k.call(G,W[0],W[1]);case 3:return k.call(G,W[0],W[1],W[2])}return k.apply(G,W)}function rA(k,G,W,ue){for(var be=-1,Ne=k==null?0:k.length;++be-1}function Pl(k,G,W){for(var ue=-1,be=k==null?0:k.length;++ue-1;);return W}function Av(k,G){for(var W=k.length;W--&&Pi(G,k[W],0)>-1;);return W}function fA(k,G){for(var W=k.length,ue=0;W--;)k[W]===G&&++ue;return ue}var hA=jl(YO),pA=jl(VO);function dA(k){return"\\"+JO[k]}function vA(k,G){return k==null?r:k[G]}function $i(k){return HO.test(k)}function yA(k){return qO.test(k)}function gA(k){for(var G,W=[];!(G=k.next()).done;)W.push(G.value);return W}function Nl(k){var G=-1,W=Array(k.size);return k.forEach(function(ue,be){W[++G]=[be,ue]}),W}function Sv(k,G){return function(W){return k(G(W))}}function _n(k,G){for(var W=-1,ue=k.length,be=0,Ne=[];++W-1}function iS(a,u){var f=this.__data__,y=ju(f,a);return y<0?(++this.size,f.push([a,u])):f[y][1]=u,this}Gr.prototype.clear=eS,Gr.prototype.delete=tS,Gr.prototype.get=rS,Gr.prototype.has=nS,Gr.prototype.set=iS;function Hr(a){var u=-1,f=a==null?0:a.length;for(this.clear();++u=u?a:u)),a}function ir(a,u,f,y,x,$){var M,N=u&p,R=u&v,X=u&g;if(f&&(M=x?f(a,y,x,$):f(a)),M!==r)return M;if(!tt(a))return a;var Y=Oe(a);if(Y){if(M=sP(a),!N)return kt(a,M)}else{var J=$t(a),ae=J==Q||J==qe;if(Tn(a))return uy(a,N);if(J==Ze||J==We||ae&&!x){if(M=R||ae?{}:Py(a),!N)return R?ZS(a,xS(M,a)):VS(a,Lv(M,a))}else{if(!Ge[J])return x?a:{};M=cP(a,J,N)}}$||($=new xr);var le=$.get(a);if(le)return le;$.set(a,M),tg(a)?a.forEach(function(ve){M.add(ir(ve,u,f,ve,a,$))}):Qy(a)&&a.forEach(function(ve,Ee){M.set(Ee,ir(ve,u,f,Ee,a,$))});var de=X?R?uf:of:R?Rt:bt,$e=Y?r:de(a);return tr($e||a,function(ve,Ee){$e&&(Ee=ve,ve=a[Ee]),Ha(M,Ee,ir(ve,u,f,Ee,a,$))}),M}function wS(a){var u=bt(a);return function(f){return Rv(f,a,u)}}function Rv(a,u,f){var y=f.length;if(a==null)return!y;for(a=ze(a);y--;){var x=f[y],$=u[x],M=a[x];if(M===r&&!(x in a)||!$(M))return!1}return!0}function Bv(a,u,f){if(typeof a!="function")throw new rr(s);return Ja(function(){a.apply(r,f)},u)}function qa(a,u,f,y){var x=-1,$=pu,M=!0,N=a.length,R=[],X=u.length;if(!N)return R;f&&(u=Je(u,Ht(f))),y?($=Pl,M=!1):u.length>=i&&($=Ba,M=!1,u=new qn(u));e:for(;++xx?0:x+f),y=y===r||y>x?x:Se(y),y<0&&(y+=x),y=f>y?0:ng(y);f0&&f(N)?u>1?Ot(N,u-1,f,y,x):wn(x,N):y||(x[x.length]=N)}return x}var Wl=py(),zv=py(!0);function Cr(a,u){return a&&Wl(a,u,bt)}function zl(a,u){return a&&zv(a,u,bt)}function Cu(a,u){return xn(u,function(f){return Vr(a[f])})}function Xn(a,u){u=Pn(u,a);for(var f=0,y=u.length;a!=null&&fu}function AS(a,u){return a!=null&&Le.call(a,u)}function SS(a,u){return a!=null&&u in ze(a)}function PS(a,u,f){return a>=Pt(u,f)&&a=120&&Y.length>=120)?new qn(M&&Y):r}Y=a[0];var J=-1,ae=N[0];e:for(;++J-1;)N!==a&&Ou.call(N,R,1),Ou.call(a,R,1);return a}function Qv(a,u){for(var f=a?u.length:0,y=f-1;f--;){var x=u[f];if(f==y||x!==$){var $=x;Yr(x)?Ou.call(a,x,1):Jl(a,x)}}return a}function Yl(a,u){return a+Pu(Iv()*(u-a+1))}function BS(a,u,f,y){for(var x=-1,$=pt(Su((u-a)/(f||1)),0),M=W($);$--;)M[y?$:++x]=a,a+=f;return M}function Vl(a,u){var f="";if(!a||u<1||u>ee)return f;do u%2&&(f+=a),u=Pu(u/2),u&&(a+=a);while(u);return f}function Te(a,u){return df(Ey(a,u,Bt),a+"")}function FS(a){return kv(Ri(a))}function WS(a,u){var f=Ri(a);return Uu(f,Kn(u,0,f.length))}function Ya(a,u,f,y){if(!tt(a))return a;u=Pn(u,a);for(var x=-1,$=u.length,M=$-1,N=a;N!=null&&++x<$;){var R=Nr(u[x]),X=f;if(R==="__proto__"||R==="constructor"||R==="prototype")return a;if(x!=M){var Y=N[R];X=y?y(Y,R,N):r,X===r&&(X=tt(Y)?Y:Yr(u[x+1])?[]:{})}Ha(N,R,X),N=N[R]}return a}var ey=$u?function(a,u){return $u.set(a,u),a}:Bt,zS=Au?function(a,u){return Au(a,"toString",{configurable:!0,enumerable:!1,value:Af(u),writable:!0})}:Bt;function US(a){return Uu(Ri(a))}function ar(a,u,f){var y=-1,x=a.length;u<0&&(u=-u>x?0:x+u),f=f>x?x:f,f<0&&(f+=x),x=u>f?0:f-u>>>0,u>>>=0;for(var $=W(x);++y>>1,M=a[$];M!==null&&!Kt(M)&&(f?M<=u:M=i){var X=u?null:tP(a);if(X)return vu(X);M=!1,x=Ba,R=new qn}else R=u?[]:N;e:for(;++y<$;){var Y=a[y],J=u?u(Y):Y;if(Y=f||Y!==0?Y:0,M&&J===J){for(var ae=R.length;ae--;)if(R[ae]===J)continue e;u&&R.push(J),N.push(Y)}else x(R,J,f)||(R!==N&&R.push(J),N.push(Y))}return N}function Jl(a,u){return u=Pn(u,a),a=jy(a,u),a==null||delete a[Nr(or(u))]}function ny(a,u,f,y){return Ya(a,u,f(Xn(a,u)),y)}function Du(a,u,f,y){for(var x=a.length,$=y?x:-1;(y?$--:++$=y?a:ar(a,u,f)}var oy=CA||function(a){return _t.clearTimeout(a)};function uy(a,u){if(u)return a.slice();var f=a.length,y=Tv?Tv(f):new a.constructor(f);return a.copy(y),y}function rf(a){var u=new a.constructor(a.byteLength);return new wu(u).set(new wu(a)),u}function qS(a,u){var f=u?rf(a.buffer):a.buffer;return new a.constructor(f,a.byteOffset,a.byteLength)}function KS(a){var u=new a.constructor(a.source,Gd.exec(a));return u.lastIndex=a.lastIndex,u}function XS(a){return Ga?ze(Ga.call(a)):{}}function sy(a,u){var f=u?rf(a.buffer):a.buffer;return new a.constructor(f,a.byteOffset,a.length)}function cy(a,u){if(a!==u){var f=a!==r,y=a===null,x=a===a,$=Kt(a),M=u!==r,N=u===null,R=u===u,X=Kt(u);if(!N&&!X&&!$&&a>u||$&&M&&R&&!N&&!X||y&&M&&R||!f&&R||!x)return 1;if(!y&&!$&&!X&&a=N)return R;var X=f[y];return R*(X=="desc"?-1:1)}}return a.index-u.index}function ly(a,u,f,y){for(var x=-1,$=a.length,M=f.length,N=-1,R=u.length,X=pt($-M,0),Y=W(R+X),J=!y;++N1?f[x-1]:r,M=x>2?f[2]:r;for($=a.length>3&&typeof $=="function"?(x--,$):r,M&&Ct(f[0],f[1],M)&&($=x<3?r:$,x=1),u=ze(u);++y-1?x[$?u[M]:M]:r}}function yy(a){return Xr(function(u){var f=u.length,y=f,x=nr.prototype.thru;for(a&&u.reverse();y--;){var $=u[y];if(typeof $!="function")throw new rr(s);if(x&&!M&&Wu($)=="wrapper")var M=new nr([],!0)}for(y=M?y:f;++y1&&Me.reverse(),Y&&RN))return!1;var X=$.get(a),Y=$.get(u);if(X&&Y)return X==u&&Y==a;var J=-1,ae=!0,le=f&b?new qn:r;for($.set(a,u),$.set(u,a);++J1?"& ":"")+u[y],u=u.join(f>2?", ":" "),a.replace(hO,`{ -/* [wrapped with `+u+`] */ -`)}function fP(a){return Oe(a)||Zn(a)||!!(Mv&&a&&a[Mv])}function Yr(a,u){var f=typeof a;return u=u??ee,!!u&&(f=="number"||f!="symbol"&&OO.test(a))&&a>-1&&a%1==0&&a0){if(++u>=F)return arguments[0]}else u=0;return a.apply(r,arguments)}}function Uu(a,u){var f=-1,y=a.length,x=y-1;for(u=u===r?y:u;++f1?a[u-1]:r;return f=typeof f=="function"?(a.pop(),f):r,Wy(a,f)});function zy(a){var u=A(a);return u.__chain__=!0,u}function _$(a,u){return u(a),a}function Gu(a,u){return u(a)}var O$=Xr(function(a){var u=a.length,f=u?a[0]:0,y=this.__wrapped__,x=function($){return Fl($,a)};return u>1||this.__actions__.length||!(y instanceof je)||!Yr(f)?this.thru(x):(y=y.slice(f,+f+(u?1:0)),y.__actions__.push({func:Gu,args:[x],thisArg:r}),new nr(y,this.__chain__).thru(function($){return u&&!$.length&&$.push(r),$}))});function A$(){return zy(this)}function S$(){return new nr(this.value(),this.__chain__)}function P$(){this.__values__===r&&(this.__values__=rg(this.value()));var a=this.__index__>=this.__values__.length,u=a?r:this.__values__[this.__index__++];return{done:a,value:u}}function $$(){return this}function T$(a){for(var u,f=this;f instanceof Eu;){var y=Dy(f);y.__index__=0,y.__values__=r,u?x.__wrapped__=y:u=y;var x=y;f=f.__wrapped__}return x.__wrapped__=a,u}function E$(){var a=this.__wrapped__;if(a instanceof je){var u=a;return this.__actions__.length&&(u=new je(this)),u=u.reverse(),u.__actions__.push({func:Gu,args:[vf],thisArg:r}),new nr(u,this.__chain__)}return this.thru(vf)}function j$(){return iy(this.__wrapped__,this.__actions__)}var M$=ku(function(a,u,f){Le.call(a,f)?++a[f]:qr(a,f,1)});function C$(a,u,f){var y=Oe(a)?gv:_S;return f&&Ct(a,u,f)&&(u=r),y(a,he(u,3))}function I$(a,u){var f=Oe(a)?xn:Wv;return f(a,he(u,3))}var N$=vy(ky),D$=vy(Ly);function k$(a,u){return Ot(Hu(a,u),1)}function L$(a,u){return Ot(Hu(a,u),Z)}function R$(a,u,f){return f=f===r?1:Se(f),Ot(Hu(a,u),f)}function Uy(a,u){var f=Oe(a)?tr:An;return f(a,he(u,3))}function Gy(a,u){var f=Oe(a)?nA:Fv;return f(a,he(u,3))}var B$=ku(function(a,u,f){Le.call(a,f)?a[f].push(u):qr(a,f,[u])});function F$(a,u,f,y){a=Lt(a)?a:Ri(a),f=f&&!y?Se(f):0;var x=a.length;return f<0&&(f=pt(x+f,0)),Vu(a)?f<=x&&a.indexOf(u,f)>-1:!!x&&Pi(a,u,f)>-1}var W$=Te(function(a,u,f){var y=-1,x=typeof u=="function",$=Lt(a)?W(a.length):[];return An(a,function(M){$[++y]=x?Gt(u,M,f):Ka(M,u,f)}),$}),z$=ku(function(a,u,f){qr(a,f,u)});function Hu(a,u){var f=Oe(a)?Je:Kv;return f(a,he(u,3))}function U$(a,u,f,y){return a==null?[]:(Oe(u)||(u=u==null?[]:[u]),f=y?r:f,Oe(f)||(f=f==null?[]:[f]),Zv(a,u,f))}var G$=ku(function(a,u,f){a[f?0:1].push(u)},function(){return[[],[]]});function H$(a,u,f){var y=Oe(a)?$l:wv,x=arguments.length<3;return y(a,he(u,4),f,x,An)}function q$(a,u,f){var y=Oe(a)?iA:wv,x=arguments.length<3;return y(a,he(u,4),f,x,Fv)}function K$(a,u){var f=Oe(a)?xn:Wv;return f(a,Xu(he(u,3)))}function X$(a){var u=Oe(a)?kv:FS;return u(a)}function Y$(a,u,f){(f?Ct(a,u,f):u===r)?u=1:u=Se(u);var y=Oe(a)?gS:WS;return y(a,u)}function V$(a){var u=Oe(a)?mS:US;return u(a)}function Z$(a){if(a==null)return 0;if(Lt(a))return Vu(a)?Ti(a):a.length;var u=$t(a);return u==ge||u==ft?a.size:ql(a).length}function J$(a,u,f){var y=Oe(a)?Tl:GS;return f&&Ct(a,u,f)&&(u=r),y(a,he(u,3))}var Q$=Te(function(a,u){if(a==null)return[];var f=u.length;return f>1&&Ct(a,u[0],u[1])?u=[]:f>2&&Ct(u[0],u[1],u[2])&&(u=[u[0]]),Zv(a,Ot(u,1),[])}),qu=IA||function(){return _t.Date.now()};function eT(a,u){if(typeof u!="function")throw new rr(s);return a=Se(a),function(){if(--a<1)return u.apply(this,arguments)}}function Hy(a,u,f){return u=f?r:u,u=a&&u==null?a.length:u,Kr(a,j,r,r,r,r,u)}function qy(a,u){var f;if(typeof u!="function")throw new rr(s);return a=Se(a),function(){return--a>0&&(f=u.apply(this,arguments)),a<=1&&(u=r),f}}var gf=Te(function(a,u,f){var y=_;if(f.length){var x=_n(f,ki(gf));y|=w}return Kr(a,y,u,f,x)}),Ky=Te(function(a,u,f){var y=_|S;if(f.length){var x=_n(f,ki(Ky));y|=w}return Kr(u,y,a,f,x)});function Xy(a,u,f){u=f?r:u;var y=Kr(a,P,r,r,r,r,r,u);return y.placeholder=Xy.placeholder,y}function Yy(a,u,f){u=f?r:u;var y=Kr(a,E,r,r,r,r,r,u);return y.placeholder=Yy.placeholder,y}function Vy(a,u,f){var y,x,$,M,N,R,X=0,Y=!1,J=!1,ae=!0;if(typeof a!="function")throw new rr(s);u=ur(u)||0,tt(f)&&(Y=!!f.leading,J="maxWait"in f,$=J?pt(ur(f.maxWait)||0,u):$,ae="trailing"in f?!!f.trailing:ae);function le(ot){var _r=y,Jr=x;return y=x=r,X=ot,M=a.apply(Jr,_r),M}function de(ot){return X=ot,N=Ja(Ee,u),Y?le(ot):M}function $e(ot){var _r=ot-R,Jr=ot-X,vg=u-_r;return J?Pt(vg,$-Jr):vg}function ve(ot){var _r=ot-R,Jr=ot-X;return R===r||_r>=u||_r<0||J&&Jr>=$}function Ee(){var ot=qu();if(ve(ot))return Me(ot);N=Ja(Ee,$e(ot))}function Me(ot){return N=r,ae&&y?le(ot):(y=x=r,M)}function Xt(){N!==r&&oy(N),X=0,y=R=x=N=r}function It(){return N===r?M:Me(qu())}function Yt(){var ot=qu(),_r=ve(ot);if(y=arguments,x=this,R=ot,_r){if(N===r)return de(R);if(J)return oy(N),N=Ja(Ee,u),le(R)}return N===r&&(N=Ja(Ee,u)),M}return Yt.cancel=Xt,Yt.flush=It,Yt}var tT=Te(function(a,u){return Bv(a,1,u)}),rT=Te(function(a,u,f){return Bv(a,ur(u)||0,f)});function nT(a){return Kr(a,D)}function Ku(a,u){if(typeof a!="function"||u!=null&&typeof u!="function")throw new rr(s);var f=function(){var y=arguments,x=u?u.apply(this,y):y[0],$=f.cache;if($.has(x))return $.get(x);var M=a.apply(this,y);return f.cache=$.set(x,M)||$,M};return f.cache=new(Ku.Cache||Hr),f}Ku.Cache=Hr;function Xu(a){if(typeof a!="function")throw new rr(s);return function(){var u=arguments;switch(u.length){case 0:return!a.call(this);case 1:return!a.call(this,u[0]);case 2:return!a.call(this,u[0],u[1]);case 3:return!a.call(this,u[0],u[1],u[2])}return!a.apply(this,u)}}function iT(a){return qy(2,a)}var aT=HS(function(a,u){u=u.length==1&&Oe(u[0])?Je(u[0],Ht(he())):Je(Ot(u,1),Ht(he()));var f=u.length;return Te(function(y){for(var x=-1,$=Pt(y.length,f);++x<$;)y[x]=u[x].call(this,y[x]);return Gt(a,this,y)})}),mf=Te(function(a,u){var f=_n(u,ki(mf));return Kr(a,w,r,u,f)}),Zy=Te(function(a,u){var f=_n(u,ki(Zy));return Kr(a,O,r,u,f)}),oT=Xr(function(a,u){return Kr(a,I,r,r,r,u)});function uT(a,u){if(typeof a!="function")throw new rr(s);return u=u===r?u:Se(u),Te(a,u)}function sT(a,u){if(typeof a!="function")throw new rr(s);return u=u==null?0:pt(Se(u),0),Te(function(f){var y=f[u],x=$n(f,0,u);return y&&wn(x,y),Gt(a,this,x)})}function cT(a,u,f){var y=!0,x=!0;if(typeof a!="function")throw new rr(s);return tt(f)&&(y="leading"in f?!!f.leading:y,x="trailing"in f?!!f.trailing:x),Vy(a,u,{leading:y,maxWait:u,trailing:x})}function lT(a){return Hy(a,1)}function fT(a,u){return mf(tf(u),a)}function hT(){if(!arguments.length)return[];var a=arguments[0];return Oe(a)?a:[a]}function pT(a){return ir(a,g)}function dT(a,u){return u=typeof u=="function"?u:r,ir(a,g,u)}function vT(a){return ir(a,p|g)}function yT(a,u){return u=typeof u=="function"?u:r,ir(a,p|g,u)}function gT(a,u){return u==null||Rv(a,u,bt(u))}function wr(a,u){return a===u||a!==a&&u!==u}var mT=Fu(Ul),bT=Fu(function(a,u){return a>=u}),Zn=Gv(function(){return arguments}())?Gv:function(a){return rt(a)&&Le.call(a,"callee")&&!jv.call(a,"callee")},Oe=W.isArray,xT=fv?Ht(fv):TS;function Lt(a){return a!=null&&Yu(a.length)&&!Vr(a)}function at(a){return rt(a)&&Lt(a)}function wT(a){return a===!0||a===!1||rt(a)&&Mt(a)==st}var Tn=DA||Ef,_T=hv?Ht(hv):ES;function OT(a){return rt(a)&&a.nodeType===1&&!Qa(a)}function AT(a){if(a==null)return!0;if(Lt(a)&&(Oe(a)||typeof a=="string"||typeof a.splice=="function"||Tn(a)||Li(a)||Zn(a)))return!a.length;var u=$t(a);if(u==ge||u==ft)return!a.size;if(Za(a))return!ql(a).length;for(var f in a)if(Le.call(a,f))return!1;return!0}function ST(a,u){return Xa(a,u)}function PT(a,u,f){f=typeof f=="function"?f:r;var y=f?f(a,u):r;return y===r?Xa(a,u,r,f):!!y}function bf(a){if(!rt(a))return!1;var u=Mt(a);return u==me||u==_e||typeof a.message=="string"&&typeof a.name=="string"&&!Qa(a)}function $T(a){return typeof a=="number"&&Cv(a)}function Vr(a){if(!tt(a))return!1;var u=Mt(a);return u==Q||u==qe||u==Ur||u==gn}function Jy(a){return typeof a=="number"&&a==Se(a)}function Yu(a){return typeof a=="number"&&a>-1&&a%1==0&&a<=ee}function tt(a){var u=typeof a;return a!=null&&(u=="object"||u=="function")}function rt(a){return a!=null&&typeof a=="object"}var Qy=pv?Ht(pv):MS;function TT(a,u){return a===u||Hl(a,u,cf(u))}function ET(a,u,f){return f=typeof f=="function"?f:r,Hl(a,u,cf(u),f)}function jT(a){return eg(a)&&a!=+a}function MT(a){if(dP(a))throw new be(o);return Hv(a)}function CT(a){return a===null}function IT(a){return a==null}function eg(a){return typeof a=="number"||rt(a)&&Mt(a)==Ke}function Qa(a){if(!rt(a)||Mt(a)!=Ze)return!1;var u=_u(a);if(u===null)return!0;var f=Le.call(u,"constructor")&&u.constructor;return typeof f=="function"&&f instanceof f&&mu.call(f)==EA}var xf=dv?Ht(dv):CS;function NT(a){return Jy(a)&&a>=-ee&&a<=ee}var tg=vv?Ht(vv):IS;function Vu(a){return typeof a=="string"||!Oe(a)&&rt(a)&&Mt(a)==Ut}function Kt(a){return typeof a=="symbol"||rt(a)&&Mt(a)==mn}var Li=yv?Ht(yv):NS;function DT(a){return a===r}function kT(a){return rt(a)&&$t(a)==bn}function LT(a){return rt(a)&&Mt(a)==Q_}var RT=Fu(Kl),BT=Fu(function(a,u){return a<=u});function rg(a){if(!a)return[];if(Lt(a))return Vu(a)?br(a):kt(a);if(Fa&&a[Fa])return gA(a[Fa]());var u=$t(a),f=u==ge?Nl:u==ft?vu:Ri;return f(a)}function Zr(a){if(!a)return a===0?a:0;if(a=ur(a),a===Z||a===-Z){var u=a<0?-1:1;return u*ne}return a===a?a:0}function Se(a){var u=Zr(a),f=u%1;return u===u?f?u-f:u:0}function ng(a){return a?Kn(Se(a),0,ce):0}function ur(a){if(typeof a=="number")return a;if(Kt(a))return fe;if(tt(a)){var u=typeof a.valueOf=="function"?a.valueOf():a;a=tt(u)?u+"":u}if(typeof a!="string")return a===0?a:+a;a=_v(a);var f=xO.test(a);return f||_O.test(a)?eA(a.slice(2),f?2:8):bO.test(a)?fe:+a}function ig(a){return Ir(a,Rt(a))}function FT(a){return a?Kn(Se(a),-ee,ee):a===0?a:0}function ke(a){return a==null?"":qt(a)}var WT=Ni(function(a,u){if(Za(u)||Lt(u)){Ir(u,bt(u),a);return}for(var f in u)Le.call(u,f)&&Ha(a,f,u[f])}),ag=Ni(function(a,u){Ir(u,Rt(u),a)}),Zu=Ni(function(a,u,f,y){Ir(u,Rt(u),a,y)}),zT=Ni(function(a,u,f,y){Ir(u,bt(u),a,y)}),UT=Xr(Fl);function GT(a,u){var f=Ii(a);return u==null?f:Lv(f,u)}var HT=Te(function(a,u){a=ze(a);var f=-1,y=u.length,x=y>2?u[2]:r;for(x&&Ct(u[0],u[1],x)&&(y=1);++f1),$}),Ir(a,uf(a),f),y&&(f=ir(f,p|v|g,rP));for(var x=u.length;x--;)Jl(f,u[x]);return f});function cE(a,u){return ug(a,Xu(he(u)))}var lE=Xr(function(a,u){return a==null?{}:LS(a,u)});function ug(a,u){if(a==null)return{};var f=Je(uf(a),function(y){return[y]});return u=he(u),Jv(a,f,function(y,x){return u(y,x[0])})}function fE(a,u,f){u=Pn(u,a);var y=-1,x=u.length;for(x||(x=1,a=r);++yu){var y=a;a=u,u=y}if(f||a%1||u%1){var x=Iv();return Pt(a+x*(u-a+QO("1e-"+((x+"").length-1))),u)}return Yl(a,u)}var _E=Di(function(a,u,f){return u=u.toLowerCase(),a+(f?lg(u):u)});function lg(a){return Of(ke(a).toLowerCase())}function fg(a){return a=ke(a),a&&a.replace(AO,hA).replace(UO,"")}function OE(a,u,f){a=ke(a),u=qt(u);var y=a.length;f=f===r?y:Kn(Se(f),0,y);var x=f;return f-=u.length,f>=0&&a.slice(f,x)==u}function AE(a){return a=ke(a),a&&iO.test(a)?a.replace(zd,pA):a}function SE(a){return a=ke(a),a&&lO.test(a)?a.replace(gl,"\\$&"):a}var PE=Di(function(a,u,f){return a+(f?"-":"")+u.toLowerCase()}),$E=Di(function(a,u,f){return a+(f?" ":"")+u.toLowerCase()}),TE=dy("toLowerCase");function EE(a,u,f){a=ke(a),u=Se(u);var y=u?Ti(a):0;if(!u||y>=u)return a;var x=(u-y)/2;return Bu(Pu(x),f)+a+Bu(Su(x),f)}function jE(a,u,f){a=ke(a),u=Se(u);var y=u?Ti(a):0;return u&&y>>0,f?(a=ke(a),a&&(typeof u=="string"||u!=null&&!xf(u))&&(u=qt(u),!u&&$i(a))?$n(br(a),0,f):a.split(u,f)):[]}var LE=Di(function(a,u,f){return a+(f?" ":"")+Of(u)});function RE(a,u,f){return a=ke(a),f=f==null?0:Kn(Se(f),0,a.length),u=qt(u),a.slice(f,f+u.length)==u}function BE(a,u,f){var y=A.templateSettings;f&&Ct(a,u,f)&&(u=r),a=ke(a),u=Zu({},u,y,wy);var x=Zu({},u.imports,y.imports,wy),$=bt(x),M=Il(x,$),N,R,X=0,Y=u.interpolate||lu,J="__p += '",ae=Dl((u.escape||lu).source+"|"+Y.source+"|"+(Y===Ud?mO:lu).source+"|"+(u.evaluate||lu).source+"|$","g"),le="//# sourceURL="+(Le.call(u,"sourceURL")?(u.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++XO+"]")+` -`;a.replace(ae,function(ve,Ee,Me,Xt,It,Yt){return Me||(Me=Xt),J+=a.slice(X,Yt).replace(SO,dA),Ee&&(N=!0,J+=`' + -__e(`+Ee+`) + -'`),It&&(R=!0,J+=`'; -`+It+`; -__p += '`),Me&&(J+=`' + -((__t = (`+Me+`)) == null ? '' : __t) + -'`),X=Yt+ve.length,ve}),J+=`'; -`;var de=Le.call(u,"variable")&&u.variable;if(!de)J=`with (obj) { -`+J+` -} -`;else if(yO.test(de))throw new be(c);J=(R?J.replace(eO,""):J).replace(tO,"$1").replace(rO,"$1;"),J="function("+(de||"obj")+`) { -`+(de?"":`obj || (obj = {}); -`)+"var __t, __p = ''"+(N?", __e = _.escape":"")+(R?`, __j = Array.prototype.join; -function print() { __p += __j.call(arguments, '') } -`:`; -`)+J+`return __p -}`;var $e=pg(function(){return Ne($,le+"return "+J).apply(r,M)});if($e.source=J,bf($e))throw $e;return $e}function FE(a){return ke(a).toLowerCase()}function WE(a){return ke(a).toUpperCase()}function zE(a,u,f){if(a=ke(a),a&&(f||u===r))return _v(a);if(!a||!(u=qt(u)))return a;var y=br(a),x=br(u),$=Ov(y,x),M=Av(y,x)+1;return $n(y,$,M).join("")}function UE(a,u,f){if(a=ke(a),a&&(f||u===r))return a.slice(0,Pv(a)+1);if(!a||!(u=qt(u)))return a;var y=br(a),x=Av(y,br(u))+1;return $n(y,0,x).join("")}function GE(a,u,f){if(a=ke(a),a&&(f||u===r))return a.replace(ml,"");if(!a||!(u=qt(u)))return a;var y=br(a),x=Ov(y,br(u));return $n(y,x).join("")}function HE(a,u){var f=z,y=B;if(tt(u)){var x="separator"in u?u.separator:x;f="length"in u?Se(u.length):f,y="omission"in u?qt(u.omission):y}a=ke(a);var $=a.length;if($i(a)){var M=br(a);$=M.length}if(f>=$)return a;var N=f-Ti(y);if(N<1)return y;var R=M?$n(M,0,N).join(""):a.slice(0,N);if(x===r)return R+y;if(M&&(N+=R.length-N),xf(x)){if(a.slice(N).search(x)){var X,Y=R;for(x.global||(x=Dl(x.source,ke(Gd.exec(x))+"g")),x.lastIndex=0;X=x.exec(Y);)var J=X.index;R=R.slice(0,J===r?N:J)}}else if(a.indexOf(qt(x),N)!=N){var ae=R.lastIndexOf(x);ae>-1&&(R=R.slice(0,ae))}return R+y}function qE(a){return a=ke(a),a&&nO.test(a)?a.replace(Wd,wA):a}var KE=Di(function(a,u,f){return a+(f?" ":"")+u.toUpperCase()}),Of=dy("toUpperCase");function hg(a,u,f){return a=ke(a),u=f?r:u,u===r?yA(a)?AA(a):uA(a):a.match(u)||[]}var pg=Te(function(a,u){try{return Gt(a,r,u)}catch(f){return bf(f)?f:new be(f)}}),XE=Xr(function(a,u){return tr(u,function(f){f=Nr(f),qr(a,f,gf(a[f],a))}),a});function YE(a){var u=a==null?0:a.length,f=he();return a=u?Je(a,function(y){if(typeof y[1]!="function")throw new rr(s);return[f(y[0]),y[1]]}):[],Te(function(y){for(var x=-1;++xee)return[];var f=ce,y=Pt(a,ce);u=he(u),a-=ce;for(var x=Cl(y,u);++f0||u<0)?new je(f):(a<0?f=f.takeRight(-a):a&&(f=f.drop(a)),u!==r&&(u=Se(u),f=u<0?f.dropRight(-u):f.take(u-a)),f)},je.prototype.takeRightWhile=function(a){return this.reverse().takeWhile(a).reverse()},je.prototype.toArray=function(){return this.take(ce)},Cr(je.prototype,function(a,u){var f=/^(?:filter|find|map|reject)|While$/.test(u),y=/^(?:head|last)$/.test(u),x=A[y?"take"+(u=="last"?"Right":""):u],$=y||/^find/.test(u);x&&(A.prototype[u]=function(){var M=this.__wrapped__,N=y?[1]:arguments,R=M instanceof je,X=N[0],Y=R||Oe(M),J=function(Ee){var Me=x.apply(A,wn([Ee],N));return y&&ae?Me[0]:Me};Y&&f&&typeof X=="function"&&X.length!=1&&(R=Y=!1);var ae=this.__chain__,le=!!this.__actions__.length,de=$&&!ae,$e=R&&!le;if(!$&&Y){M=$e?M:new je(this);var ve=a.apply(M,N);return ve.__actions__.push({func:Gu,args:[J],thisArg:r}),new nr(ve,ae)}return de&&$e?a.apply(this,N):(ve=this.thru(J),de?y?ve.value()[0]:ve.value():ve)})}),tr(["pop","push","shift","sort","splice","unshift"],function(a){var u=yu[a],f=/^(?:push|sort|unshift)$/.test(a)?"tap":"thru",y=/^(?:pop|shift)$/.test(a);A.prototype[a]=function(){var x=arguments;if(y&&!this.__chain__){var $=this.value();return u.apply(Oe($)?$:[],x)}return this[f](function(M){return u.apply(Oe(M)?M:[],x)})}}),Cr(je.prototype,function(a,u){var f=A[u];if(f){var y=f.name+"";Le.call(Ci,y)||(Ci[y]=[]),Ci[y].push({name:u,func:f})}}),Ci[Lu(r,S).name]=[{name:"wrapper",func:r}],je.prototype.clone=qA,je.prototype.reverse=KA,je.prototype.value=XA,A.prototype.at=O$,A.prototype.chain=A$,A.prototype.commit=S$,A.prototype.next=P$,A.prototype.plant=T$,A.prototype.reverse=E$,A.prototype.toJSON=A.prototype.valueOf=A.prototype.value=j$,A.prototype.first=A.prototype.head,Fa&&(A.prototype[Fa]=$$),A},Ei=SA();Un?((Un.exports=Ei)._=Ei,Al._=Ei):_t._=Ei}).call(en)})(mc,mc.exports);var ds=mc.exports;const Np={today:{label:"今天",getValue:()=>({start:hZ(),end:new Date})},last7days:{label:"最近7天",getValue:()=>({start:vs(new Date,7),end:new Date})},last30days:{label:"最近30天",getValue:()=>({start:vs(new Date,30),end:new Date})},custom:{label:"自定义范围",getValue:()=>null}};function gx({selectedRange:e,customDateRange:t,onRangeChange:r,onCustomRangeChange:n}){return L.jsxs("div",{className:"flex items-center space-x-2",children:[L.jsxs(Hj,{value:e,onValueChange:r,children:[L.jsx(qj,{className:"w-[140px]",children:L.jsx(Kj,{placeholder:"选择时间范围"})}),L.jsx(Xj,{position:"popper",className:"z-50",children:Object.entries(Np).map(([i,{label:o}])=>L.jsx(Yj,{value:i,children:o},i))})]}),e==="custom"&&L.jsxs(eM,{children:[L.jsx(tM,{asChild:!0,children:L.jsxs(Vj,{variant:"outline",className:Dr("justify-start text-left font-normal",!t&&"text-muted-foreground"),children:[L.jsx(Jj,{className:"mr-2 h-4 w-4"}),t?.from?t.to?L.jsxs(L.Fragment,{children:[jf(t.from,"yyyy-MM-dd")," -"," ",jf(t.to,"yyyy-MM-dd")]}):jf(t.from,"yyyy-MM-dd"):L.jsx("span",{children:"选择日期范围"})]})}),L.jsx(rM,{className:"w-auto p-0",align:"end",children:L.jsx(Qj,{initialFocus:!0,mode:"range",defaultMonth:t?.from,selected:{from:t?.from,to:t?.to},onSelect:i=>{i?.from&&i?.to&&n({from:i.from,to:i.to})},numberOfMonths:2})})]})]})}function pZ({className:e}){const[t,r]=te.useState("today"),[n,i]=te.useState({from:vs(new Date,7),to:new Date}),[o,s]=te.useState("today"),[c,l]=te.useState({from:vs(new Date,7),to:new Date}),h=te.useMemo(()=>t==="custom"?{start:n.from,end:n.to}:Np[t].getValue(),[t,n]),d=te.useMemo(()=>o==="custom"?{start:c.from,end:c.to}:Np[o].getValue(),[o,c]),{data:p}=bo({queryKey:["nodeTrafficRank",h.start,h.end],queryFn:()=>yg({type:"node",start_time:ds.round(h.start.getTime()/1e3),end_time:ds.round(h.end.getTime()/1e3)}),refetchInterval:2e3}),{data:v}=bo({queryKey:["userTrafficRank",d.start,d.end],queryFn:()=>yg({type:"user",start_time:ds.round(d.start.getTime()/1e3),end_time:ds.round(d.end.getTime()/1e3)}),refetchInterval:2e3});return L.jsx("div",{className:Dr("min-h-[400px]",e),children:L.jsxs("div",{className:"grid grid-cols-1 gap-6 md:grid-cols-2",children:[L.jsxs(fi,{className:"min-h-[400px] flex-1",children:[L.jsx(hi,{className:"flex-none",children:L.jsxs("div",{className:"flex items-center justify-between",children:[L.jsxs("div",{className:"flex items-center space-x-2",children:[L.jsx(Yi,{children:L.jsxs("div",{className:"flex items-center",children:[L.jsx(sM,{className:"mr-2 h-4 w-4"}),"节点流量排行"]})}),L.jsx(wg,{className:"h-4 w-4 text-muted-foreground"})]}),L.jsx("div",{className:"flex items-center gap-2",children:L.jsx(gx,{selectedRange:t,customDateRange:n,onRangeChange:r,onCustomRangeChange:i})})]})}),L.jsx(pi,{className:"flex-1",children:p?.data?L.jsxs(L.Fragment,{children:[L.jsx("div",{className:"grid min-h-[200px] grid-cols-1 gap-4 md:grid-cols-2",children:p.data.slice(0,4).map(g=>L.jsxs("div",{className:"flex flex-col justify-between rounded-lg bg-muted/50 p-4",children:[L.jsxs("div",{className:"space-y-1",children:[L.jsxs("div",{className:"flex items-center justify-between",children:[L.jsx("span",{className:"text-sm font-medium truncate max-w-[70%]",children:g.name}),L.jsxs("span",{className:Dr("text-xs font-medium",g.change>=0?"text-green-600":"text-red-600"),children:[g.change>=0?L.jsx(bg,{className:"mr-1 inline h-3 w-3"}):L.jsx(xg,{className:"mr-1 inline h-3 w-3"}),Math.abs(g.change),"%"]})]}),L.jsxs("div",{className:"text-2xl font-bold",children:[g.value,"GB"]})]}),L.jsxs("div",{className:"mt-2 text-xs text-muted-foreground",children:["上期:",g.previousValue,"GB"]})]},g.name))}),L.jsx("div",{className:"mt-6 h-[300px] w-full",children:L.jsx(jh,{width:"100%",height:"100%",children:L.jsxs(yx,{data:p.data,margin:{top:10,right:10,left:0,bottom:0},barSize:24,children:[L.jsx(bi,{dataKey:"name",axisLine:!1,tickLine:!1,tick:{fill:"hsl(var(--muted-foreground))",fontSize:12},interval:0,angle:-45,textAnchor:"end",height:60,dy:20}),L.jsx(Ln,{axisLine:!1,tickLine:!1,tick:{fill:"hsl(var(--muted-foreground))",fontSize:12},tickFormatter:g=>`${g}GB`}),L.jsx(lc,{strokeDasharray:"3 3",vertical:!1,stroke:"hsl(var(--border))",opacity:.3}),L.jsx(hr,{cursor:{fill:"hsl(var(--muted))",opacity:.1},contentStyle:{backgroundColor:"hsl(var(--background))",border:"1px solid hsl(var(--border))",borderRadius:"6px",fontSize:"12px",padding:"8px 12px",boxShadow:"0 2px 4px rgba(0,0,0,0.1)"},formatter:(g,m,b)=>{const _=b.payload;return[`${g}GB`,L.jsxs(L.Fragment,{children:[L.jsx("div",{children:"流量"}),L.jsxs("div",{className:"text-xs text-muted-foreground",children:["较上期:",L.jsxs("span",{className:Dr(_.change>=0?"text-green-600":"text-red-600"),children:[_.change>=0?"+":"",_.change,"%"]})]})]})]},labelStyle:{color:"hsl(var(--foreground))"}}),L.jsx(fn,{dataKey:"value",fill:"hsl(var(--primary))",radius:[4,4,0,0]})]})})})]}):L.jsx("div",{className:"flex h-full items-center justify-center",children:L.jsx("div",{className:"animate-pulse",children:"Loading..."})})})]}),L.jsxs(fi,{className:"min-h-[400px] flex-1",children:[L.jsx(hi,{className:"flex-none",children:L.jsxs("div",{className:"flex items-center justify-between",children:[L.jsxs("div",{className:"flex items-center space-x-2",children:[L.jsx(Yi,{children:L.jsxs("div",{className:"flex items-center",children:[L.jsx(mx,{className:"mr-2 h-4 w-4"}),"用户流量排行"]})}),L.jsx(wg,{className:"h-4 w-4 text-muted-foreground"})]}),L.jsx("div",{className:"flex items-center gap-2",children:L.jsx(gx,{selectedRange:o,customDateRange:c,onRangeChange:s,onCustomRangeChange:l})})]})}),L.jsx(pi,{className:"flex-1",children:v?.data?L.jsxs(L.Fragment,{children:[L.jsx("div",{className:"grid min-h-[200px] grid-cols-1 gap-4 md:grid-cols-2",children:v.data.slice(0,4).map(g=>L.jsxs("div",{className:"flex flex-col justify-between rounded-lg bg-muted/50 p-4",children:[L.jsxs("div",{className:"space-y-1",children:[L.jsxs("div",{className:"flex items-center justify-between",children:[L.jsx("span",{className:"text-sm font-medium truncate max-w-[70%]",children:g.name}),L.jsxs("span",{className:Dr("text-xs font-medium",g.change>=0?"text-green-600":"text-red-600"),children:[g.change>=0?L.jsx(bg,{className:"mr-1 inline h-3 w-3"}):L.jsx(xg,{className:"mr-1 inline h-3 w-3"}),Math.abs(g.change),"%"]})]}),L.jsxs("div",{className:"text-2xl font-bold",children:[g.value,"GB"]})]}),L.jsxs("div",{className:"mt-2 text-xs text-muted-foreground",children:["上期:",g.previousValue,"GB"]})]},g.name))}),L.jsx("div",{className:"mt-6 h-[300px] w-full",children:L.jsx(jh,{width:"100%",height:"100%",children:L.jsxs(yx,{data:v.data,margin:{top:10,right:10,left:0,bottom:0},barSize:24,children:[L.jsx(bi,{dataKey:"name",axisLine:!1,tickLine:!1,tick:{fill:"hsl(var(--muted-foreground))",fontSize:12},interval:0,angle:-45,textAnchor:"end",height:60,dy:20}),L.jsx(Ln,{axisLine:!1,tickLine:!1,tick:{fill:"hsl(var(--muted-foreground))",fontSize:12},tickFormatter:g=>`${g}GB`}),L.jsx(lc,{strokeDasharray:"3 3",vertical:!1,stroke:"hsl(var(--border))",opacity:.3}),L.jsx(hr,{cursor:{fill:"hsl(var(--muted))",opacity:.1},contentStyle:{backgroundColor:"hsl(var(--background))",border:"1px solid hsl(var(--border))",borderRadius:"6px",fontSize:"12px",padding:"8px 12px",boxShadow:"0 2px 4px rgba(0,0,0,0.1)"},formatter:(g,m,b)=>{const _=b.payload;return[`${g}GB`,L.jsxs(L.Fragment,{children:[L.jsx("div",{children:"流量"}),L.jsxs("div",{className:"text-xs text-muted-foreground",children:["较上期:",L.jsxs("span",{className:Dr(_.change>=0?"text-green-600":"text-red-600"),children:[_.change>=0?"+":"",_.change,"%"]})]})]})]},labelStyle:{color:"hsl(var(--foreground))"}}),L.jsx(fn,{dataKey:"value",fill:"hsl(var(--primary))",radius:[4,4,0,0]})]})})})]}):L.jsx("div",{className:"flex h-full items-center justify-center",children:L.jsx("div",{className:"animate-pulse",children:"Loading..."})})})]})]})})}function LZ(){return L.jsxs(Lj,{children:[L.jsxs(Rj,{children:[L.jsx("div",{className:"flex items-center",children:L.jsx("h1",{className:"text-2xl font-bold tracking-tight md:text-3xl",children:"仪表盘"})}),L.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[L.jsx(Nj,{}),L.jsx(Dj,{}),L.jsx(kj,{})]})]}),L.jsx(Bj,{children:L.jsxs("div",{className:"space-y-6",children:[L.jsx("div",{className:"border-b pb-6",children:L.jsx(sZ,{})}),L.jsxs("div",{className:"grid gap-6",children:[L.jsx(fZ,{}),L.jsx(uZ,{}),L.jsx(pZ,{})]})]})})]})}export{LZ as default}; diff --git a/public/assets/admin/assets/index-UwdRPRfz.js b/public/assets/admin/assets/index-UwdRPRfz.js deleted file mode 100644 index ed162d9e2..000000000 --- a/public/assets/admin/assets/index-UwdRPRfz.js +++ /dev/null @@ -1 +0,0 @@ -import{r as i,j as e,B as f,a as R,t as T}from"./index-_xd8OyP8.js";import{S as k,T as B,U as E}from"./user-nav-BBmBVa03.js";import{L as K,f as O,g as H}from"./sidelinks-DLs_k-Mk.js";import{D as y,B as U,u as q,a as Q,g as $,b as A,c as G,d as J}from"./column-header-BLyyjrhJ.js";import{j as W,k as X,l as Y,u as Z,m as ee,n as se,o as ae}from"./index-BycJudEO.js";import{S as te}from"./switch-w5WyeRwk.js";import{T as ne,a as re,b as le,c as oe}from"./tooltip-B58e4dA7.js";import{D as ie,e as ce,a as de,b as me,c as xe,f as he,g as ue}from"./button-DhrtVlOa.js";import{u as ge,F as pe,a as h,b as u,c as g,d as p,f as V,e as j}from"./form-DIzSOdtk.js";import{I as b}from"./input-d0vtE30O.js";import{S as je,a as fe,b as ye,c as be,d as ve}from"./select-Cqkdx-UJ.js";import{z as c,t as Se}from"./zod-x_8lkCGK.js";import{D as Ce}from"./DynamicForm-r9rhu44l.js";import{D as Ne,P as we,a as De}from"./react-icons.esm-rZq2pt7A.js";import{C as Fe}from"./confirm-dialog-CHz9pK2w.js";import{u as Te}from"./question-circle-qmgAd7XP.js";import{T as Pe}from"./trash-2-lI1I6nfk.js";import{u as _e}from"./useQuery-mr7Ep0hT.js";import"./index-CcyXqhZ9.js";import"./index-BwSRHYe4.js";import"./index-CX6PQ3zO.js";import"./index-BlMNiBlp.js";import"./IconTicket-COhvkaJH.js";import"./arrow-up-9fLptvj0.js";import"./clipboard-YH5zrf5X.js";import"./index-CRh0M8qI.js";import"./index-kwEAqj-e.js";import"./textarea-Bmd-AJpD.js";const Le=c.object({id:c.number().nullable(),name:c.string().min(2,"名称至少需要2个字符").max(30,"名称不能超过30个字符"),icon:c.string().optional().nullable(),notify_domain:c.string().refine(l=>!l||/^https?:\/\/\S+/.test(l),"请输入有效的URL").optional().nullable(),handling_fee_fixed:c.coerce.number().min(0).optional().nullable(),handling_fee_percent:c.coerce.number().min(0).max(100).optional().nullable(),payment:c.string().min(1,"请选择支付接口"),config:c.record(c.string(),c.string())}),z={id:null,name:"",icon:"",notify_domain:"",handling_fee_fixed:0,handling_fee_percent:0,payment:"",config:{}};function I({refetch:l,dialogTrigger:d,type:a="add",defaultFormValues:o=z}){const[n,m]=i.useState(!1),[x,v]=i.useState(!1),[P,D]=i.useState([]),[S,_]=i.useState([]),r=ge({resolver:Se(Le),defaultValues:o,mode:"onChange"}),C=r.watch("payment");i.useEffect(()=>{n&&(async()=>{const{data:t}=await W();D(t)})()},[n]),i.useEffect(()=>{if(!C||!n)return;(async()=>{try{const t={payment:C,...a==="edit"&&{id:Number(r.getValues("id"))}},{data:N}=await X(t);_(N);const w=N.reduce((F,M)=>(M.field_name&&(F[M.field_name]=M.value??""),F),{});r.setValue("config",w)}catch{T.error("获取支付方式表单失败")}})()},[C,n,r,a]);const L=async s=>{v(!0),(await Y(s)).data&&(T.success("保存成功"),r.reset(z),l(),m(!1)),v(!1)};return e.jsxs(ie,{open:n,onOpenChange:m,children:[e.jsx(ce,{asChild:!0,children:d||e.jsx(f,{variant:"outline",children:"添加支付方式"})}),e.jsxs(de,{className:"sm:max-w-[425px]",children:[e.jsx(me,{children:e.jsx(xe,{children:a==="add"?"添加支付方式":"编辑支付方式"})}),e.jsx(pe,{...r,children:e.jsxs("form",{onSubmit:r.handleSubmit(L),className:"space-y-4",children:[e.jsx(h,{control:r.control,name:"name",render:({field:s})=>e.jsxs(u,{children:[e.jsx(g,{children:"显示名称"}),e.jsx(p,{children:e.jsx(b,{placeholder:"请输入支付名称",...s})}),e.jsx(V,{children:"用于前端显示"}),e.jsx(j,{})]})}),e.jsx(h,{control:r.control,name:"icon",render:({field:s})=>e.jsxs(u,{children:[e.jsx(g,{children:"图标URL"}),e.jsx(p,{children:e.jsx(b,{placeholder:"https://example.com/icon.svg",...s})}),e.jsx(V,{children:"用于前端显示的图标地址"}),e.jsx(j,{})]})}),e.jsx(h,{control:r.control,name:"notify_domain",render:({field:s})=>e.jsxs(u,{children:[e.jsx(g,{children:"通知域名"}),e.jsx(p,{children:e.jsx(b,{placeholder:"https://example.com",...s})}),e.jsx(V,{children:"网关通知将发送到该域名"}),e.jsx(j,{})]})}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsx(h,{control:r.control,name:"handling_fee_percent",render:({field:s})=>e.jsxs(u,{children:[e.jsx(g,{children:"百分比手续费(%)"}),e.jsx(p,{children:e.jsx(b,{type:"number",placeholder:"0-100",...s})}),e.jsx(j,{})]})}),e.jsx(h,{control:r.control,name:"handling_fee_fixed",render:({field:s})=>e.jsxs(u,{children:[e.jsx(g,{children:"固定手续费"}),e.jsx(p,{children:e.jsx(b,{type:"number",placeholder:"0",...s})}),e.jsx(j,{})]})})]}),e.jsx(h,{control:r.control,name:"payment",render:({field:s})=>e.jsxs(u,{children:[e.jsx(g,{children:"支付接口"}),e.jsxs(je,{value:s.value,onValueChange:s.onChange,children:[e.jsx(p,{children:e.jsx(fe,{children:e.jsx(ye,{placeholder:"请选择支付接口"})})}),e.jsx(be,{children:P.map(t=>e.jsx(ve,{value:t,children:t},t))})]}),e.jsx(j,{})]})}),S.map(s=>e.jsx(h,{control:r.control,name:`config.${s.field_name}`,render:({field:t})=>e.jsxs(u,{children:[e.jsx(g,{children:s.label}),e.jsx(p,{children:Ce(s,t)}),e.jsx(j,{})]})},s.field_name)),e.jsxs(he,{className:"gap-2",children:[e.jsx(ue,{asChild:!0,children:e.jsx(f,{type:"button",variant:"outline",children:"取消"})}),e.jsx(f,{type:"submit",disabled:x,className:R(x&&"cursor-not-allowed opacity-50"),children:x?"保存中...":"提交"})]})]})})]})]})}const Me=({refetch:l,isSortMode:d=!1})=>[{id:"drag-handle",header:()=>null,cell:()=>e.jsx("div",{className:d?"cursor-move":"opacity-0",children:e.jsx(Ne,{className:"size-4"})}),size:40,enableSorting:!1},{accessorKey:"id",header:({column:a})=>e.jsx(y,{column:a,title:"ID"}),cell:({row:a})=>e.jsx(U,{variant:"outline",children:a.getValue("id")}),enableSorting:!0,size:60},{accessorKey:"enable",header:({column:a})=>e.jsx(y,{column:a,title:"启用"}),cell:({row:a})=>e.jsx(te,{defaultChecked:a.getValue("enable"),onCheckedChange:async()=>{const{data:o}=await Z({id:a.original.id});o||l()}}),enableSorting:!1,size:100},{accessorKey:"name",header:({column:a})=>e.jsx(y,{column:a,title:"显示名称"}),cell:({row:a})=>e.jsx("div",{className:"flex items-center",children:e.jsx("span",{className:"max-w-[200px] truncate font-medium",children:a.getValue("name")})}),enableSorting:!1,size:200},{accessorKey:"payment",header:({column:a})=>e.jsx(y,{column:a,title:"支付接口"}),cell:({row:a})=>e.jsx("div",{className:"flex items-center",children:e.jsx("span",{className:"max-w-[200px] truncate font-medium",children:a.getValue("payment")})}),enableSorting:!1,size:200},{accessorKey:"notify_url",header:({column:a})=>e.jsxs("div",{className:"flex items-center",children:[e.jsx(y,{column:a,title:"通知地址"}),e.jsx(ne,{delayDuration:100,children:e.jsxs(re,{children:[e.jsx(le,{className:"ml-1",children:e.jsx(Te,{className:"h-4 w-4"})}),e.jsx(oe,{children:"支付网关将会把数据通知到本地址,请通过防火墙放行本地址。"})]})})]}),cell:({row:a})=>e.jsx("div",{className:"flex items-center",children:e.jsx("span",{className:"max-w-[300px] truncate font-medium",children:a.getValue("notify_url")})}),enableSorting:!1,size:3e3},{id:"actions",header:({column:a})=>e.jsx(y,{className:"justify-end",column:a,title:"操作"}),cell:({row:a})=>e.jsxs("div",{className:"flex items-center justify-end space-x-2",children:[e.jsx(I,{refetch:l,dialogTrigger:e.jsxs(f,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-muted",children:[e.jsx(we,{className:"h-4 w-4 text-muted-foreground hover:text-foreground"}),e.jsx("span",{className:"sr-only",children:"编辑"})]}),type:"edit",defaultFormValues:a.original}),e.jsx(Fe,{title:"删除确认",description:"确定要删除该支付方式吗?此操作无法撤销。",onConfirm:async()=>{const{data:o}=await ee({id:a.original.id});o&&l()},children:e.jsxs(f,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-destructive/10",children:[e.jsx(Pe,{className:"h-4 w-4 text-muted-foreground hover:text-destructive"}),e.jsx("span",{className:"sr-only",children:"删除"})]})})]}),size:100}];function Ve({table:l,refetch:d,saveOrder:a,isSortMode:o}){const n=l.getState().columnFilters.length>0;return e.jsxs("div",{className:"flex items-center justify-between",children:[o?e.jsx("p",{className:"text-sm text-muted-foreground",children:"拖拽支付方式进行排序,完成后点击保存"}):e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx(b,{placeholder:"搜索支付方式...",value:l.getColumn("name")?.getFilterValue()??"",onChange:m=>l.getColumn("name")?.setFilterValue(m.target.value),className:"h-9 w-[250px]"}),n&&e.jsxs(f,{variant:"ghost",onClick:()=>l.resetColumnFilters(),children:["重置",e.jsx(De,{className:"ml-2 h-4 w-4"})]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[!o&&e.jsx(I,{refetch:d}),e.jsx(f,{variant:o?"default":"outline",onClick:a,children:o?"保存排序":"编辑排序"})]})]})}function ze(){const[l,d]=i.useState([]),[a,o]=i.useState([]),[n,m]=i.useState(!1),[x,v]=i.useState([]),[P,D]=i.useState({"drag-handle":!1}),{refetch:S}=_e({queryKey:["paymentList"],queryFn:async()=>{const{data:s}=await se();return v(s?.map(t=>({...t,enable:!!t.enable}))||[]),s}});i.useEffect(()=>{D({"drag-handle":n})},[n]);const _=(s,t)=>{n&&(s.dataTransfer.setData("text/plain",t.toString()),s.currentTarget.classList.add("opacity-50"))},r=(s,t)=>{if(!n)return;s.preventDefault(),s.currentTarget.classList.remove("bg-muted");const N=parseInt(s.dataTransfer.getData("text/plain"));if(N===t)return;const w=[...x],[F]=w.splice(N,1);w.splice(t,0,F),v(w)},C=async()=>{if(n)try{await ae({ids:x.map(s=>s.id)}),await S(),m(!1),T.success("排序保存成功")}catch{T.error("排序保存失败")}else m(!0)},L=q({data:x,columns:Me({refetch:S,isSortMode:n}),state:{sorting:a,columnFilters:l,columnVisibility:P},onSortingChange:o,onColumnFiltersChange:d,onColumnVisibilityChange:D,getCoreRowModel:$(),getFilteredRowModel:A(),getPaginationRowModel:G(),getSortedRowModel:J(),initialState:{pagination:{pageSize:10},columnPinning:{right:["actions"]}},pageCount:n?1:void 0});return e.jsx(Q,{table:L,toolbar:s=>e.jsx(Ve,{table:s,refetch:S,saveOrder:C,isSortMode:n}),draggable:n,onDragStart:_,onDragEnd:s=>s.currentTarget.classList.remove("opacity-50"),onDragOver:s=>{s.preventDefault(),s.currentTarget.classList.add("bg-muted")},onDragLeave:s=>s.currentTarget.classList.remove("bg-muted"),onDrop:r,showPagination:!n})}function cs(){return e.jsxs(K,{children:[e.jsxs(O,{className:"flex items-center justify-between",children:[e.jsx(k,{}),e.jsxs("div",{className:"flex items-center space-x-4",children:[e.jsx(B,{}),e.jsx(E,{})]})]}),e.jsxs(H,{children:[e.jsx("header",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("div",{className:"mb-2",children:e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:"支付配置"})}),e.jsx("p",{className:"text-muted-foreground",children:"在这里可以配置支付方式,包括支付宝、微信等。"})]})}),e.jsx("section",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx(ze,{})})]})]})}export{cs as default}; diff --git a/public/assets/admin/assets/index-_xd8OyP8.js b/public/assets/admin/assets/index-_xd8OyP8.js deleted file mode 100644 index 0daa9aa78..000000000 --- a/public/assets/admin/assets/index-_xd8OyP8.js +++ /dev/null @@ -1,83 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-DammVlxs.css"])))=>i.map(i=>d[i]); -function zh(e,t){for(var n=0;nr[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var WC=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Yu(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var jh={exports:{}},ys={},Fh={exports:{}},ne={};/** - * @license React - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Oi=Symbol.for("react.element"),Tg=Symbol.for("react.portal"),Og=Symbol.for("react.fragment"),Ng=Symbol.for("react.strict_mode"),Lg=Symbol.for("react.profiler"),Dg=Symbol.for("react.provider"),Mg=Symbol.for("react.context"),Ag=Symbol.for("react.forward_ref"),zg=Symbol.for("react.suspense"),jg=Symbol.for("react.memo"),Fg=Symbol.for("react.lazy"),fd=Symbol.iterator;function Ig(e){return e===null||typeof e!="object"?null:(e=fd&&e[fd]||e["@@iterator"],typeof e=="function"?e:null)}var Ih={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Uh=Object.assign,Bh={};function fo(e,t,n){this.props=e,this.context=t,this.refs=Bh,this.updater=n||Ih}fo.prototype.isReactComponent={};fo.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};fo.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function $h(){}$h.prototype=fo.prototype;function Ju(e,t,n){this.props=e,this.context=t,this.refs=Bh,this.updater=n||Ih}var Xu=Ju.prototype=new $h;Xu.constructor=Ju;Uh(Xu,fo.prototype);Xu.isPureReactComponent=!0;var hd=Array.isArray,Hh=Object.prototype.hasOwnProperty,Zu={current:null},Vh={key:!0,ref:!0,__self:!0,__source:!0};function Wh(e,t,n){var r,o={},i=null,a=null;if(t!=null)for(r in t.ref!==void 0&&(a=t.ref),t.key!==void 0&&(i=""+t.key),t)Hh.call(t,r)&&!Vh.hasOwnProperty(r)&&(o[r]=t[r]);var s=arguments.length-2;if(s===1)o.children=n;else if(1>>1,K=D[G];if(0>>1;Go(ge,B))beo(fe,ge)?(D[G]=fe,D[be]=B,G=be):(D[G]=ge,D[X]=B,G=X);else if(beo(fe,B))D[G]=fe,D[be]=B,G=be;else break e}}return L}function o(D,L){var B=D.sortIndex-L.sortIndex;return B!==0?B:D.id-L.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var a=Date,s=a.now();e.unstable_now=function(){return a.now()-s}}var l=[],u=[],c=1,d=null,p=3,f=!1,y=!1,v=!1,E=typeof setTimeout=="function"?setTimeout:null,m=typeof clearTimeout=="function"?clearTimeout:null,h=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function g(D){for(var L=n(u);L!==null;){if(L.callback===null)r(u);else if(L.startTime<=D)r(u),L.sortIndex=L.expirationTime,t(l,L);else break;L=n(u)}}function x(D){if(v=!1,g(D),!y)if(n(l)!==null)y=!0,De(R);else{var L=n(u);L!==null&&ie(x,L.startTime-D)}}function R(D,L){y=!1,v&&(v=!1,m(T),T=-1),f=!0;var B=p;try{for(g(L),d=n(l);d!==null&&(!(d.expirationTime>L)||D&&!te());){var G=d.callback;if(typeof G=="function"){d.callback=null,p=d.priorityLevel;var K=G(d.expirationTime<=L);L=e.unstable_now(),typeof K=="function"?d.callback=K:d===n(l)&&r(l),g(L)}else r(l);d=n(l)}if(d!==null)var J=!0;else{var X=n(u);X!==null&&ie(x,X.startTime-L),J=!1}return J}finally{d=null,p=B,f=!1}}var w=!1,P=null,T=-1,A=5,z=-1;function te(){return!(e.unstable_now()-zD||125G?(D.sortIndex=B,t(u,D),n(l)===null&&D===n(u)&&(v?(m(T),T=-1):v=!0,ie(x,B-G))):(D.sortIndex=K,t(l,D),y||f||(y=!0,De(R))),D},e.unstable_shouldYield=te,e.unstable_wrapCallback=function(D){var L=p;return function(){var B=p;p=L;try{return D.apply(this,arguments)}finally{p=B}}}})(Yh);Gh.exports=Yh;var Jg=Gh.exports;/** - * @license React - * react-dom.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Xg=k,Ct=Jg;function N(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Fl=Object.prototype.hasOwnProperty,Zg=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,md={},yd={};function ev(e){return Fl.call(yd,e)?!0:Fl.call(md,e)?!1:Zg.test(e)?yd[e]=!0:(md[e]=!0,!1)}function tv(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function nv(e,t,n,r){if(t===null||typeof t>"u"||tv(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function at(e,t,n,r,o,i,a){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=a}var Ge={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){Ge[e]=new at(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];Ge[t]=new at(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){Ge[e]=new at(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Ge[e]=new at(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){Ge[e]=new at(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){Ge[e]=new at(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){Ge[e]=new at(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){Ge[e]=new at(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){Ge[e]=new at(e,5,!1,e.toLowerCase(),null,!1,!1)});var tc=/[\-:]([a-z])/g;function nc(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(tc,nc);Ge[t]=new at(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(tc,nc);Ge[t]=new at(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(tc,nc);Ge[t]=new at(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){Ge[e]=new at(e,1,!1,e.toLowerCase(),null,!1,!1)});Ge.xlinkHref=new at("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){Ge[e]=new at(e,1,!1,e.toLowerCase(),null,!0,!0)});function rc(e,t,n,r){var o=Ge.hasOwnProperty(t)?Ge[t]:null;(o!==null?o.type!==0:r||!(2s||o[a]!==i[s]){var l=` -`+o[a].replace(" at new "," at ");return e.displayName&&l.includes("")&&(l=l.replace("",e.displayName)),l}while(1<=a&&0<=s);break}}}finally{Zs=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Ho(e):""}function rv(e){switch(e.tag){case 5:return Ho(e.type);case 16:return Ho("Lazy");case 13:return Ho("Suspense");case 19:return Ho("SuspenseList");case 0:case 2:case 15:return e=el(e.type,!1),e;case 11:return e=el(e.type.render,!1),e;case 1:return e=el(e.type,!0),e;default:return""}}function $l(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Fr:return"Fragment";case jr:return"Portal";case Il:return"Profiler";case oc:return"StrictMode";case Ul:return"Suspense";case Bl:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Zh:return(e.displayName||"Context")+".Consumer";case Xh:return(e._context.displayName||"Context")+".Provider";case ic:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case ac:return t=e.displayName||null,t!==null?t:$l(e.type)||"Memo";case Tn:t=e._payload,e=e._init;try{return $l(e(t))}catch{}}return null}function ov(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return $l(t);case 8:return t===oc?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Vn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function tp(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function iv(e){var t=tp(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var o=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(a){r=""+a,i.call(this,a)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(a){r=""+a},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Ji(e){e._valueTracker||(e._valueTracker=iv(e))}function np(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=tp(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Da(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Hl(e,t){var n=t.checked;return Te({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function vd(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Vn(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function rp(e,t){t=t.checked,t!=null&&rc(e,"checked",t,!1)}function Vl(e,t){rp(e,t);var n=Vn(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Wl(e,t.type,n):t.hasOwnProperty("defaultValue")&&Wl(e,t.type,Vn(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function wd(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function Wl(e,t,n){(t!=="number"||Da(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Vo=Array.isArray;function Gr(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o"+t.valueOf().toString()+"",t=Xi.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function ai(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Go={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},av=["Webkit","ms","Moz","O"];Object.keys(Go).forEach(function(e){av.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Go[t]=Go[e]})});function sp(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Go.hasOwnProperty(e)&&Go[e]?(""+t).trim():t+"px"}function lp(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,o=sp(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,o):e[n]=o}}var sv=Te({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ql(e,t){if(t){if(sv[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(N(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(N(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(N(61))}if(t.style!=null&&typeof t.style!="object")throw Error(N(62))}}function Gl(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Yl=null;function sc(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Jl=null,Yr=null,Jr=null;function xd(e){if(e=Di(e)){if(typeof Jl!="function")throw Error(N(280));var t=e.stateNode;t&&(t=Es(t),Jl(e.stateNode,e.type,t))}}function up(e){Yr?Jr?Jr.push(e):Jr=[e]:Yr=e}function cp(){if(Yr){var e=Yr,t=Jr;if(Jr=Yr=null,xd(e),t)for(e=0;e>>=0,e===0?32:31-(vv(e)/wv|0)|0}var Zi=64,ea=4194304;function Wo(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function ja(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,o=e.suspendedLanes,i=e.pingedLanes,a=n&268435455;if(a!==0){var s=a&~o;s!==0?r=Wo(s):(i&=a,i!==0&&(r=Wo(i)))}else a=n&~o,a!==0?r=Wo(a):i!==0&&(r=Wo(i));if(r===0)return 0;if(t!==0&&t!==r&&!(t&o)&&(o=r&-r,i=t&-t,o>=i||o===16&&(i&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function Ni(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Qt(t),e[t]=n}function _v(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Jo),Nd=" ",Ld=!1;function Op(e,t){switch(e){case"keyup":return Jv.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Np(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Ir=!1;function Zv(e,t){switch(e){case"compositionend":return Np(t);case"keypress":return t.which!==32?null:(Ld=!0,Nd);case"textInput":return e=t.data,e===Nd&&Ld?null:e;default:return null}}function e0(e,t){if(Ir)return e==="compositionend"||!mc&&Op(e,t)?(e=Pp(),wa=fc=Dn=null,Ir=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=zd(n)}}function Ap(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Ap(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function zp(){for(var e=window,t=Da();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Da(e.document)}return t}function yc(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function u0(e){var t=zp(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Ap(n.ownerDocument.documentElement,n)){if(r!==null&&yc(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var o=n.textContent.length,i=Math.min(r.start,o);r=r.end===void 0?i:Math.min(r.end,o),!e.extend&&i>r&&(o=r,r=i,i=o),o=jd(n,i);var a=jd(n,r);o&&a&&(e.rangeCount!==1||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==a.node||e.focusOffset!==a.offset)&&(t=t.createRange(),t.setStart(o.node,o.offset),e.removeAllRanges(),i>r?(e.addRange(t),e.extend(a.node,a.offset)):(t.setEnd(a.node,a.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Ur=null,ru=null,Zo=null,ou=!1;function Fd(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;ou||Ur==null||Ur!==Da(r)||(r=Ur,"selectionStart"in r&&yc(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Zo&&fi(Zo,r)||(Zo=r,r=Ua(ru,"onSelect"),0Hr||(e.current=cu[Hr],cu[Hr]=null,Hr--)}function we(e,t){Hr++,cu[Hr]=e.current,e.current=t}var Wn={},et=qn(Wn),ct=qn(!1),mr=Wn;function ro(e,t){var n=e.type.contextTypes;if(!n)return Wn;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o={},i;for(i in n)o[i]=t[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function dt(e){return e=e.childContextTypes,e!=null}function $a(){_e(ct),_e(et)}function Wd(e,t,n){if(et.current!==Wn)throw Error(N(168));we(et,t),we(ct,n)}function Wp(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var o in r)if(!(o in t))throw Error(N(108,ov(e)||"Unknown",o));return Te({},n,r)}function Ha(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Wn,mr=et.current,we(et,e),we(ct,ct.current),!0}function Kd(e,t,n){var r=e.stateNode;if(!r)throw Error(N(169));n?(e=Wp(e,t,mr),r.__reactInternalMemoizedMergedChildContext=e,_e(ct),_e(et),we(et,e)):_e(ct),we(ct,n)}var un=null,xs=!1,pl=!1;function Kp(e){un===null?un=[e]:un.push(e)}function E0(e){xs=!0,Kp(e)}function Gn(){if(!pl&&un!==null){pl=!0;var e=0,t=he;try{var n=un;for(he=1;e>=a,o-=a,cn=1<<32-Qt(t)+o|n<T?(A=P,P=null):A=P.sibling;var z=p(m,P,g[T],x);if(z===null){P===null&&(P=A);break}e&&P&&z.alternate===null&&t(m,P),h=i(z,h,T),w===null?R=z:w.sibling=z,w=z,P=A}if(T===g.length)return n(m,P),ke&&nr(m,T),R;if(P===null){for(;TT?(A=P,P=null):A=P.sibling;var te=p(m,P,z.value,x);if(te===null){P===null&&(P=A);break}e&&P&&te.alternate===null&&t(m,P),h=i(te,h,T),w===null?R=te:w.sibling=te,w=te,P=A}if(z.done)return n(m,P),ke&&nr(m,T),R;if(P===null){for(;!z.done;T++,z=g.next())z=d(m,z.value,x),z!==null&&(h=i(z,h,T),w===null?R=z:w.sibling=z,w=z);return ke&&nr(m,T),R}for(P=r(m,P);!z.done;T++,z=g.next())z=f(P,m,T,z.value,x),z!==null&&(e&&z.alternate!==null&&P.delete(z.key===null?T:z.key),h=i(z,h,T),w===null?R=z:w.sibling=z,w=z);return e&&P.forEach(function(H){return t(m,H)}),ke&&nr(m,T),R}function E(m,h,g,x){if(typeof g=="object"&&g!==null&&g.type===Fr&&g.key===null&&(g=g.props.children),typeof g=="object"&&g!==null){switch(g.$$typeof){case Yi:e:{for(var R=g.key,w=h;w!==null;){if(w.key===R){if(R=g.type,R===Fr){if(w.tag===7){n(m,w.sibling),h=o(w,g.props.children),h.return=m,m=h;break e}}else if(w.elementType===R||typeof R=="object"&&R!==null&&R.$$typeof===Tn&&Gd(R)===w.type){n(m,w.sibling),h=o(w,g.props),h.ref=Mo(m,w,g),h.return=m,m=h;break e}n(m,w);break}else t(m,w);w=w.sibling}g.type===Fr?(h=hr(g.props.children,m.mode,x,g.key),h.return=m,m=h):(x=Ra(g.type,g.key,g.props,null,m.mode,x),x.ref=Mo(m,h,g),x.return=m,m=x)}return a(m);case jr:e:{for(w=g.key;h!==null;){if(h.key===w)if(h.tag===4&&h.stateNode.containerInfo===g.containerInfo&&h.stateNode.implementation===g.implementation){n(m,h.sibling),h=o(h,g.children||[]),h.return=m,m=h;break e}else{n(m,h);break}else t(m,h);h=h.sibling}h=xl(g,m.mode,x),h.return=m,m=h}return a(m);case Tn:return w=g._init,E(m,h,w(g._payload),x)}if(Vo(g))return y(m,h,g,x);if(To(g))return v(m,h,g,x);sa(m,g)}return typeof g=="string"&&g!==""||typeof g=="number"?(g=""+g,h!==null&&h.tag===6?(n(m,h.sibling),h=o(h,g),h.return=m,m=h):(n(m,h),h=El(g,m.mode,x),h.return=m,m=h),a(m)):n(m,h)}return E}var io=Yp(!0),Jp=Yp(!1),Ka=qn(null),Qa=null,Kr=null,Sc=null;function Ec(){Sc=Kr=Qa=null}function xc(e){var t=Ka.current;_e(Ka),e._currentValue=t}function hu(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Zr(e,t){Qa=e,Sc=Kr=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(ut=!0),e.firstContext=null)}function Mt(e){var t=e._currentValue;if(Sc!==e)if(e={context:e,memoizedValue:t,next:null},Kr===null){if(Qa===null)throw Error(N(308));Kr=e,Qa.dependencies={lanes:0,firstContext:e}}else Kr=Kr.next=e;return t}var lr=null;function _c(e){lr===null?lr=[e]:lr.push(e)}function Xp(e,t,n,r){var o=t.interleaved;return o===null?(n.next=n,_c(t)):(n.next=o.next,o.next=n),t.interleaved=n,gn(e,r)}function gn(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var On=!1;function Cc(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Zp(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function fn(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Un(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,se&2){var o=r.pending;return o===null?t.next=t:(t.next=o.next,o.next=t),r.pending=t,gn(e,n)}return o=r.interleaved,o===null?(t.next=t,_c(r)):(t.next=o.next,o.next=t),r.interleaved=t,gn(e,n)}function Ea(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,uc(e,n)}}function Yd(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var o=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var a={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};i===null?o=i=a:i=i.next=a,n=n.next}while(n!==null);i===null?o=i=t:i=i.next=t}else o=i=t;n={baseState:r.baseState,firstBaseUpdate:o,lastBaseUpdate:i,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function qa(e,t,n,r){var o=e.updateQueue;On=!1;var i=o.firstBaseUpdate,a=o.lastBaseUpdate,s=o.shared.pending;if(s!==null){o.shared.pending=null;var l=s,u=l.next;l.next=null,a===null?i=u:a.next=u,a=l;var c=e.alternate;c!==null&&(c=c.updateQueue,s=c.lastBaseUpdate,s!==a&&(s===null?c.firstBaseUpdate=u:s.next=u,c.lastBaseUpdate=l))}if(i!==null){var d=o.baseState;a=0,c=u=l=null,s=i;do{var p=s.lane,f=s.eventTime;if((r&p)===p){c!==null&&(c=c.next={eventTime:f,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var y=e,v=s;switch(p=t,f=n,v.tag){case 1:if(y=v.payload,typeof y=="function"){d=y.call(f,d,p);break e}d=y;break e;case 3:y.flags=y.flags&-65537|128;case 0:if(y=v.payload,p=typeof y=="function"?y.call(f,d,p):y,p==null)break e;d=Te({},d,p);break e;case 2:On=!0}}s.callback!==null&&s.lane!==0&&(e.flags|=64,p=o.effects,p===null?o.effects=[s]:p.push(s))}else f={eventTime:f,lane:p,tag:s.tag,payload:s.payload,callback:s.callback,next:null},c===null?(u=c=f,l=d):c=c.next=f,a|=p;if(s=s.next,s===null){if(s=o.shared.pending,s===null)break;p=s,s=p.next,p.next=null,o.lastBaseUpdate=p,o.shared.pending=null}}while(!0);if(c===null&&(l=d),o.baseState=l,o.firstBaseUpdate=u,o.lastBaseUpdate=c,t=o.shared.interleaved,t!==null){o=t;do a|=o.lane,o=o.next;while(o!==t)}else i===null&&(o.shared.lanes=0);vr|=a,e.lanes=a,e.memoizedState=d}}function Jd(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=yl.transition;yl.transition={};try{e(!1),t()}finally{he=n,yl.transition=r}}function ym(){return At().memoizedState}function k0(e,t,n){var r=$n(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},gm(e))vm(t,n);else if(n=Xp(e,t,n,r),n!==null){var o=ot();qt(n,e,r,o),wm(n,t,r)}}function b0(e,t,n){var r=$n(e),o={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(gm(e))vm(t,o);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var a=t.lastRenderedState,s=i(a,n);if(o.hasEagerState=!0,o.eagerState=s,Gt(s,a)){var l=t.interleaved;l===null?(o.next=o,_c(t)):(o.next=l.next,l.next=o),t.interleaved=o;return}}catch{}finally{}n=Xp(e,t,o,r),n!==null&&(o=ot(),qt(n,e,r,o),wm(n,t,r))}}function gm(e){var t=e.alternate;return e===Pe||t!==null&&t===Pe}function vm(e,t){ei=Ya=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function wm(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,uc(e,n)}}var Ja={readContext:Mt,useCallback:Ye,useContext:Ye,useEffect:Ye,useImperativeHandle:Ye,useInsertionEffect:Ye,useLayoutEffect:Ye,useMemo:Ye,useReducer:Ye,useRef:Ye,useState:Ye,useDebugValue:Ye,useDeferredValue:Ye,useTransition:Ye,useMutableSource:Ye,useSyncExternalStore:Ye,useId:Ye,unstable_isNewReconciler:!1},R0={readContext:Mt,useCallback:function(e,t){return en().memoizedState=[e,t===void 0?null:t],e},useContext:Mt,useEffect:Zd,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,_a(4194308,4,dm.bind(null,t,e),n)},useLayoutEffect:function(e,t){return _a(4194308,4,e,t)},useInsertionEffect:function(e,t){return _a(4,2,e,t)},useMemo:function(e,t){var n=en();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=en();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=k0.bind(null,Pe,e),[r.memoizedState,e]},useRef:function(e){var t=en();return e={current:e},t.memoizedState=e},useState:Xd,useDebugValue:Lc,useDeferredValue:function(e){return en().memoizedState=e},useTransition:function(){var e=Xd(!1),t=e[0];return e=C0.bind(null,e[1]),en().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=Pe,o=en();if(ke){if(n===void 0)throw Error(N(407));n=n()}else{if(n=t(),Ve===null)throw Error(N(349));gr&30||rm(r,t,n)}o.memoizedState=n;var i={value:n,getSnapshot:t};return o.queue=i,Zd(im.bind(null,r,i,e),[e]),r.flags|=2048,Si(9,om.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=en(),t=Ve.identifierPrefix;if(ke){var n=dn,r=cn;n=(r&~(1<<32-Qt(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=vi++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=a.createElement(n,{is:r.is}):(e=a.createElement(n),n==="select"&&(a=e,r.multiple?a.multiple=!0:r.size&&(a.size=r.size))):e=a.createElementNS(e,n),e[tn]=t,e[mi]=r,Tm(e,t,!1,!1),t.stateNode=e;e:{switch(a=Gl(n,r),n){case"dialog":xe("cancel",e),xe("close",e),o=r;break;case"iframe":case"object":case"embed":xe("load",e),o=r;break;case"video":case"audio":for(o=0;olo&&(t.flags|=128,r=!0,Ao(i,!1),t.lanes=4194304)}else{if(!r)if(e=Ga(a),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Ao(i,!0),i.tail===null&&i.tailMode==="hidden"&&!a.alternate&&!ke)return Je(t),null}else 2*Ae()-i.renderingStartTime>lo&&n!==1073741824&&(t.flags|=128,r=!0,Ao(i,!1),t.lanes=4194304);i.isBackwards?(a.sibling=t.child,t.child=a):(n=i.last,n!==null?n.sibling=a:t.child=a,i.last=a)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Ae(),t.sibling=null,n=Re.current,we(Re,r?n&1|2:n&1),t):(Je(t),null);case 22:case 23:return Fc(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?wt&1073741824&&(Je(t),t.subtreeFlags&6&&(t.flags|=8192)):Je(t),null;case 24:return null;case 25:return null}throw Error(N(156,t.tag))}function A0(e,t){switch(vc(t),t.tag){case 1:return dt(t.type)&&$a(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ao(),_e(ct),_e(et),Rc(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return bc(t),null;case 13:if(_e(Re),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(N(340));oo()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return _e(Re),null;case 4:return ao(),null;case 10:return xc(t.type._context),null;case 22:case 23:return Fc(),null;case 24:return null;default:return null}}var ua=!1,Xe=!1,z0=typeof WeakSet=="function"?WeakSet:Set,j=null;function Qr(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Le(e,t,r)}else n.current=null}function xu(e,t,n){try{n()}catch(r){Le(e,t,r)}}var df=!1;function j0(e,t){if(iu=Fa,e=zp(),yc(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var o=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var a=0,s=-1,l=-1,u=0,c=0,d=e,p=null;t:for(;;){for(var f;d!==n||o!==0&&d.nodeType!==3||(s=a+o),d!==i||r!==0&&d.nodeType!==3||(l=a+r),d.nodeType===3&&(a+=d.nodeValue.length),(f=d.firstChild)!==null;)p=d,d=f;for(;;){if(d===e)break t;if(p===n&&++u===o&&(s=a),p===i&&++c===r&&(l=a),(f=d.nextSibling)!==null)break;d=p,p=d.parentNode}d=f}n=s===-1||l===-1?null:{start:s,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(au={focusedElem:e,selectionRange:n},Fa=!1,j=t;j!==null;)if(t=j,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,j=e;else for(;j!==null;){t=j;try{var y=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(y!==null){var v=y.memoizedProps,E=y.memoizedState,m=t.stateNode,h=m.getSnapshotBeforeUpdate(t.elementType===t.type?v:Bt(t.type,v),E);m.__reactInternalSnapshotBeforeUpdate=h}break;case 3:var g=t.stateNode.containerInfo;g.nodeType===1?g.textContent="":g.nodeType===9&&g.documentElement&&g.removeChild(g.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(N(163))}}catch(x){Le(t,t.return,x)}if(e=t.sibling,e!==null){e.return=t.return,j=e;break}j=t.return}return y=df,df=!1,y}function ti(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var o=r=r.next;do{if((o.tag&e)===e){var i=o.destroy;o.destroy=void 0,i!==void 0&&xu(t,n,i)}o=o.next}while(o!==r)}}function ks(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function _u(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function Lm(e){var t=e.alternate;t!==null&&(e.alternate=null,Lm(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[tn],delete t[mi],delete t[uu],delete t[w0],delete t[S0])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Dm(e){return e.tag===5||e.tag===3||e.tag===4}function ff(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Dm(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Cu(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Ba));else if(r!==4&&(e=e.child,e!==null))for(Cu(e,t,n),e=e.sibling;e!==null;)Cu(e,t,n),e=e.sibling}function ku(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(ku(e,t,n),e=e.sibling;e!==null;)ku(e,t,n),e=e.sibling}var Qe=null,Ht=!1;function kn(e,t,n){for(n=n.child;n!==null;)Mm(e,t,n),n=n.sibling}function Mm(e,t,n){if(nn&&typeof nn.onCommitFiberUnmount=="function")try{nn.onCommitFiberUnmount(gs,n)}catch{}switch(n.tag){case 5:Xe||Qr(n,t);case 6:var r=Qe,o=Ht;Qe=null,kn(e,t,n),Qe=r,Ht=o,Qe!==null&&(Ht?(e=Qe,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Qe.removeChild(n.stateNode));break;case 18:Qe!==null&&(Ht?(e=Qe,n=n.stateNode,e.nodeType===8?hl(e.parentNode,n):e.nodeType===1&&hl(e,n),ci(e)):hl(Qe,n.stateNode));break;case 4:r=Qe,o=Ht,Qe=n.stateNode.containerInfo,Ht=!0,kn(e,t,n),Qe=r,Ht=o;break;case 0:case 11:case 14:case 15:if(!Xe&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){o=r=r.next;do{var i=o,a=i.destroy;i=i.tag,a!==void 0&&(i&2||i&4)&&xu(n,t,a),o=o.next}while(o!==r)}kn(e,t,n);break;case 1:if(!Xe&&(Qr(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(s){Le(n,t,s)}kn(e,t,n);break;case 21:kn(e,t,n);break;case 22:n.mode&1?(Xe=(r=Xe)||n.memoizedState!==null,kn(e,t,n),Xe=r):kn(e,t,n);break;default:kn(e,t,n)}}function hf(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new z0),t.forEach(function(r){var o=K0.bind(null,e,r);n.has(r)||(n.add(r),r.then(o,o))})}}function Ut(e,t){var n=t.deletions;if(n!==null)for(var r=0;ro&&(o=a),r&=~i}if(r=o,r=Ae()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*I0(r/1960))-r,10e?16:e,Mn===null)var r=!1;else{if(e=Mn,Mn=null,es=0,se&6)throw Error(N(331));var o=se;for(se|=4,j=e.current;j!==null;){var i=j,a=i.child;if(j.flags&16){var s=i.deletions;if(s!==null){for(var l=0;lAe()-zc?fr(e,0):Ac|=n),ft(e,t)}function $m(e,t){t===0&&(e.mode&1?(t=ea,ea<<=1,!(ea&130023424)&&(ea=4194304)):t=1);var n=ot();e=gn(e,t),e!==null&&(Ni(e,t,n),ft(e,n))}function W0(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),$m(e,n)}function K0(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,o=e.memoizedState;o!==null&&(n=o.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(N(314))}r!==null&&r.delete(t),$m(e,n)}var Hm;Hm=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||ct.current)ut=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return ut=!1,D0(e,t,n);ut=!!(e.flags&131072)}else ut=!1,ke&&t.flags&1048576&&Qp(t,Wa,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Ca(e,t),e=t.pendingProps;var o=ro(t,et.current);Zr(t,n),o=Tc(null,t,r,e,o,n);var i=Oc();return t.flags|=1,typeof o=="object"&&o!==null&&typeof o.render=="function"&&o.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,dt(r)?(i=!0,Ha(t)):i=!1,t.memoizedState=o.state!==null&&o.state!==void 0?o.state:null,Cc(t),o.updater=Cs,t.stateNode=o,o._reactInternals=t,mu(t,r,e,n),t=vu(null,t,r,!0,i,n)):(t.tag=0,ke&&i&&gc(t),nt(null,t,o,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Ca(e,t),e=t.pendingProps,o=r._init,r=o(r._payload),t.type=r,o=t.tag=q0(r),e=Bt(r,e),o){case 0:t=gu(null,t,r,e,n);break e;case 1:t=lf(null,t,r,e,n);break e;case 11:t=af(null,t,r,e,n);break e;case 14:t=sf(null,t,r,Bt(r.type,e),n);break e}throw Error(N(306,r,""))}return t;case 0:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Bt(r,o),gu(e,t,r,o,n);case 1:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Bt(r,o),lf(e,t,r,o,n);case 3:e:{if(bm(t),e===null)throw Error(N(387));r=t.pendingProps,i=t.memoizedState,o=i.element,Zp(e,t),qa(t,r,null,n);var a=t.memoizedState;if(r=a.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:a.cache,pendingSuspenseBoundaries:a.pendingSuspenseBoundaries,transitions:a.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){o=so(Error(N(423)),t),t=uf(e,t,r,n,o);break e}else if(r!==o){o=so(Error(N(424)),t),t=uf(e,t,r,n,o);break e}else for(Et=In(t.stateNode.containerInfo.firstChild),xt=t,ke=!0,Wt=null,n=Jp(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(oo(),r===o){t=vn(e,t,n);break e}nt(e,t,r,n)}t=t.child}return t;case 5:return em(t),e===null&&fu(t),r=t.type,o=t.pendingProps,i=e!==null?e.memoizedProps:null,a=o.children,su(r,o)?a=null:i!==null&&su(r,i)&&(t.flags|=32),km(e,t),nt(e,t,a,n),t.child;case 6:return e===null&&fu(t),null;case 13:return Rm(e,t,n);case 4:return kc(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=io(t,null,r,n):nt(e,t,r,n),t.child;case 11:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Bt(r,o),af(e,t,r,o,n);case 7:return nt(e,t,t.pendingProps,n),t.child;case 8:return nt(e,t,t.pendingProps.children,n),t.child;case 12:return nt(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,o=t.pendingProps,i=t.memoizedProps,a=o.value,we(Ka,r._currentValue),r._currentValue=a,i!==null)if(Gt(i.value,a)){if(i.children===o.children&&!ct.current){t=vn(e,t,n);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var s=i.dependencies;if(s!==null){a=i.child;for(var l=s.firstContext;l!==null;){if(l.context===r){if(i.tag===1){l=fn(-1,n&-n),l.tag=2;var u=i.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?l.next=l:(l.next=c.next,c.next=l),u.pending=l}}i.lanes|=n,l=i.alternate,l!==null&&(l.lanes|=n),hu(i.return,n,t),s.lanes|=n;break}l=l.next}}else if(i.tag===10)a=i.type===t.type?null:i.child;else if(i.tag===18){if(a=i.return,a===null)throw Error(N(341));a.lanes|=n,s=a.alternate,s!==null&&(s.lanes|=n),hu(a,n,t),a=i.sibling}else a=i.child;if(a!==null)a.return=i;else for(a=i;a!==null;){if(a===t){a=null;break}if(i=a.sibling,i!==null){i.return=a.return,a=i;break}a=a.return}i=a}nt(e,t,o.children,n),t=t.child}return t;case 9:return o=t.type,r=t.pendingProps.children,Zr(t,n),o=Mt(o),r=r(o),t.flags|=1,nt(e,t,r,n),t.child;case 14:return r=t.type,o=Bt(r,t.pendingProps),o=Bt(r.type,o),sf(e,t,r,o,n);case 15:return _m(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Bt(r,o),Ca(e,t),t.tag=1,dt(r)?(e=!0,Ha(t)):e=!1,Zr(t,n),Sm(t,r,o),mu(t,r,o,n),vu(null,t,r,!0,e,n);case 19:return Pm(e,t,n);case 22:return Cm(e,t,n)}throw Error(N(156,t.tag))};function Vm(e,t){return gp(e,t)}function Q0(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Lt(e,t,n,r){return new Q0(e,t,n,r)}function Uc(e){return e=e.prototype,!(!e||!e.isReactComponent)}function q0(e){if(typeof e=="function")return Uc(e)?1:0;if(e!=null){if(e=e.$$typeof,e===ic)return 11;if(e===ac)return 14}return 2}function Hn(e,t){var n=e.alternate;return n===null?(n=Lt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Ra(e,t,n,r,o,i){var a=2;if(r=e,typeof e=="function")Uc(e)&&(a=1);else if(typeof e=="string")a=5;else e:switch(e){case Fr:return hr(n.children,o,i,t);case oc:a=8,o|=8;break;case Il:return e=Lt(12,n,t,o|2),e.elementType=Il,e.lanes=i,e;case Ul:return e=Lt(13,n,t,o),e.elementType=Ul,e.lanes=i,e;case Bl:return e=Lt(19,n,t,o),e.elementType=Bl,e.lanes=i,e;case ep:return Rs(n,o,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Xh:a=10;break e;case Zh:a=9;break e;case ic:a=11;break e;case ac:a=14;break e;case Tn:a=16,r=null;break e}throw Error(N(130,e==null?e:typeof e,""))}return t=Lt(a,n,t,o),t.elementType=e,t.type=r,t.lanes=i,t}function hr(e,t,n,r){return e=Lt(7,e,r,t),e.lanes=n,e}function Rs(e,t,n,r){return e=Lt(22,e,r,t),e.elementType=ep,e.lanes=n,e.stateNode={isHidden:!1},e}function El(e,t,n){return e=Lt(6,e,null,t),e.lanes=n,e}function xl(e,t,n){return t=Lt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function G0(e,t,n,r,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=nl(0),this.expirationTimes=nl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=nl(0),this.identifierPrefix=r,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function Bc(e,t,n,r,o,i,a,s,l){return e=new G0(e,t,n,s,l),t===1?(t=1,i===!0&&(t|=8)):t=0,i=Lt(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Cc(i),e}function Y0(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(qm)}catch(e){console.error(e)}}qm(),qh.exports=Rt;var Wc=qh.exports;const Gm=Yu(Wc),ew=zh({__proto__:null,default:Gm},[Wc]);var Ef=Wc;jl.createRoot=Ef.createRoot,jl.hydrateRoot=Ef.hydrateRoot;/** - * @remix-run/router v1.21.0 - * - * Copyright (c) Remix Software Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */function Ce(){return Ce=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u")throw new Error(t)}function Sr(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function nw(){return Math.random().toString(36).substr(2,8)}function _f(e,t){return{usr:e.state,key:e.key,idx:t}}function xi(e,t,n,r){return n===void 0&&(n=null),Ce({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?En(t):t,{state:n,key:t&&t.key||r||nw()})}function Er(e){let{pathname:t="/",search:n="",hash:r=""}=e;return n&&n!=="?"&&(t+=n.charAt(0)==="?"?n:"?"+n),r&&r!=="#"&&(t+=r.charAt(0)==="#"?r:"#"+r),t}function En(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function rw(e,t,n,r){r===void 0&&(r={});let{window:o=document.defaultView,v5Compat:i=!1}=r,a=o.history,s=Fe.Pop,l=null,u=c();u==null&&(u=0,a.replaceState(Ce({},a.state,{idx:u}),""));function c(){return(a.state||{idx:null}).idx}function d(){s=Fe.Pop;let E=c(),m=E==null?null:E-u;u=E,l&&l({action:s,location:v.location,delta:m})}function p(E,m){s=Fe.Push;let h=xi(v.location,E,m);n(h,E),u=c()+1;let g=_f(h,u),x=v.createHref(h);try{a.pushState(g,"",x)}catch(R){if(R instanceof DOMException&&R.name==="DataCloneError")throw R;o.location.assign(x)}i&&l&&l({action:s,location:v.location,delta:1})}function f(E,m){s=Fe.Replace;let h=xi(v.location,E,m);n(h,E),u=c();let g=_f(h,u),x=v.createHref(h);a.replaceState(g,"",x),i&&l&&l({action:s,location:v.location,delta:0})}function y(E){let m=o.location.origin!=="null"?o.location.origin:o.location.href,h=typeof E=="string"?E:Er(E);return h=h.replace(/ $/,"%20"),oe(m,"No window.location.(origin|href) available to create URL for href: "+h),new URL(h,m)}let v={get action(){return s},get location(){return e(o,a)},listen(E){if(l)throw new Error("A history only accepts one active listener");return o.addEventListener(xf,d),l=E,()=>{o.removeEventListener(xf,d),l=null}},createHref(E){return t(o,E)},createURL:y,encodeLocation(E){let m=y(E);return{pathname:m.pathname,search:m.search,hash:m.hash}},push:p,replace:f,go(E){return a.go(E)}};return v}var me;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(me||(me={}));const ow=new Set(["lazy","caseSensitive","path","id","index","children"]);function iw(e){return e.index===!0}function rs(e,t,n,r){return n===void 0&&(n=[]),r===void 0&&(r={}),e.map((o,i)=>{let a=[...n,String(i)],s=typeof o.id=="string"?o.id:a.join("-");if(oe(o.index!==!0||!o.children,"Cannot specify children on an index route"),oe(!r[s],'Found a route id collision on id "'+s+`". Route id's must be globally unique within Data Router usages`),iw(o)){let l=Ce({},o,t(o),{id:s});return r[s]=l,l}else{let l=Ce({},o,t(o),{id:s,children:void 0});return r[s]=l,o.children&&(l.children=rs(o.children,t,a,r)),l}})}function ir(e,t,n){return n===void 0&&(n="/"),Pa(e,t,n,!1)}function Pa(e,t,n,r){let o=typeof t=="string"?En(t):t,i=mo(o.pathname||"/",n);if(i==null)return null;let a=Ym(e);sw(a);let s=null;for(let l=0;s==null&&l{let l={relativePath:s===void 0?i.path||"":s,caseSensitive:i.caseSensitive===!0,childrenIndex:a,route:i};l.relativePath.startsWith("/")&&(oe(l.relativePath.startsWith(r),'Absolute route path "'+l.relativePath+'" nested under path '+('"'+r+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),l.relativePath=l.relativePath.slice(r.length));let u=hn([r,l.relativePath]),c=n.concat(l);i.children&&i.children.length>0&&(oe(i.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+u+'".')),Ym(i.children,t,c,u)),!(i.path==null&&!i.index)&&t.push({path:u,score:pw(u,i.index),routesMeta:c})};return e.forEach((i,a)=>{var s;if(i.path===""||!((s=i.path)!=null&&s.includes("?")))o(i,a);else for(let l of Jm(i.path))o(i,a,l)}),t}function Jm(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,o=n.endsWith("?"),i=n.replace(/\?$/,"");if(r.length===0)return o?[i,""]:[i];let a=Jm(r.join("/")),s=[];return s.push(...a.map(l=>l===""?i:[i,l].join("/"))),o&&s.push(...a),s.map(l=>e.startsWith("/")&&l===""?"/":l)}function sw(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:mw(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}const lw=/^:[\w-]+$/,uw=3,cw=2,dw=1,fw=10,hw=-2,Cf=e=>e==="*";function pw(e,t){let n=e.split("/"),r=n.length;return n.some(Cf)&&(r+=hw),t&&(r+=cw),n.filter(o=>!Cf(o)).reduce((o,i)=>o+(lw.test(i)?uw:i===""?dw:fw),r)}function mw(e,t){return e.length===t.length&&e.slice(0,-1).every((r,o)=>r===t[o])?e[e.length-1]-t[t.length-1]:0}function yw(e,t,n){n===void 0&&(n=!1);let{routesMeta:r}=e,o={},i="/",a=[];for(let s=0;s{let{paramName:p,isOptional:f}=c;if(p==="*"){let v=s[d]||"";a=i.slice(0,i.length-v.length).replace(/(.)\/+$/,"$1")}const y=s[d];return f&&!y?u[p]=void 0:u[p]=(y||"").replace(/%2F/g,"/"),u},{}),pathname:i,pathnameBase:a,pattern:e}}function gw(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!0),Sr(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let r=[],o="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(a,s,l)=>(r.push({paramName:s,isOptional:l!=null}),l?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),o+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?o+="\\/*$":e!==""&&e!=="/"&&(o+="(?:(?=\\/|$))"),[new RegExp(o,t?void 0:"i"),r]}function vw(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return Sr(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function mo(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&r!=="/"?null:e.slice(n)||"/"}function ww(e,t){t===void 0&&(t="/");let{pathname:n,search:r="",hash:o=""}=typeof e=="string"?En(e):e;return{pathname:n?n.startsWith("/")?n:Sw(n,t):t,search:xw(r),hash:_w(o)}}function Sw(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(o=>{o===".."?n.length>1&&n.pop():o!=="."&&n.push(o)}),n.length>1?n.join("/"):"/"}function _l(e,t,n,r){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(r)+"]. Please separate it out to the ")+("`to."+n+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}function Xm(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function Kc(e,t){let n=Xm(e);return t?n.map((r,o)=>o===n.length-1?r.pathname:r.pathnameBase):n.map(r=>r.pathnameBase)}function Qc(e,t,n,r){r===void 0&&(r=!1);let o;typeof e=="string"?o=En(e):(o=Ce({},e),oe(!o.pathname||!o.pathname.includes("?"),_l("?","pathname","search",o)),oe(!o.pathname||!o.pathname.includes("#"),_l("#","pathname","hash",o)),oe(!o.search||!o.search.includes("#"),_l("#","search","hash",o)));let i=e===""||o.pathname==="",a=i?"/":o.pathname,s;if(a==null)s=n;else{let d=t.length-1;if(!r&&a.startsWith("..")){let p=a.split("/");for(;p[0]==="..";)p.shift(),d-=1;o.pathname=p.join("/")}s=d>=0?t[d]:"/"}let l=ww(o,s),u=a&&a!=="/"&&a.endsWith("/"),c=(i||a===".")&&n.endsWith("/");return!l.pathname.endsWith("/")&&(u||c)&&(l.pathname+="/"),l}const hn=e=>e.join("/").replace(/\/\/+/g,"/"),Ew=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),xw=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,_w=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;class os{constructor(t,n,r,o){o===void 0&&(o=!1),this.status=t,this.statusText=n||"",this.internal=o,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}}function Ls(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const Zm=["post","put","patch","delete"],Cw=new Set(Zm),kw=["get",...Zm],bw=new Set(kw),Rw=new Set([301,302,303,307,308]),Pw=new Set([307,308]),Cl={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Tw={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},jo={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},qc=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Ow=e=>({hasErrorBoundary:!!e.hasErrorBoundary}),ey="remix-router-transitions";function Nw(e){const t=e.window?e.window:typeof window<"u"?window:void 0,n=typeof t<"u"&&typeof t.document<"u"&&typeof t.document.createElement<"u",r=!n;oe(e.routes.length>0,"You must provide a non-empty routes array to createRouter");let o;if(e.mapRouteProperties)o=e.mapRouteProperties;else if(e.detectErrorBoundary){let S=e.detectErrorBoundary;o=_=>({hasErrorBoundary:S(_)})}else o=Ow;let i={},a=rs(e.routes,o,void 0,i),s,l=e.basename||"/",u=e.dataStrategy||Aw,c=e.patchRoutesOnNavigation,d=Ce({v7_fetcherPersist:!1,v7_normalizeFormMethod:!1,v7_partialHydration:!1,v7_prependBasename:!1,v7_relativeSplatPath:!1,v7_skipActionErrorRevalidation:!1},e.future),p=null,f=new Set,y=null,v=null,E=null,m=e.hydrationData!=null,h=ir(a,e.history.location,l),g=null;if(h==null&&!c){let S=st(404,{pathname:e.history.location.pathname}),{matches:_,route:C}=zf(a);h=_,g={[C.id]:S}}h&&!e.hydrationData&&on(h,a,e.history.location.pathname).active&&(h=null);let x;if(h)if(h.some(S=>S.route.lazy))x=!1;else if(!h.some(S=>S.route.loader))x=!0;else if(d.v7_partialHydration){let S=e.hydrationData?e.hydrationData.loaderData:null,_=e.hydrationData?e.hydrationData.errors:null;if(_){let C=h.findIndex(O=>_[O.route.id]!==void 0);x=h.slice(0,C+1).every(O=>!Nu(O.route,S,_))}else x=h.every(C=>!Nu(C.route,S,_))}else x=e.hydrationData!=null;else if(x=!1,h=[],d.v7_partialHydration){let S=on(null,a,e.history.location.pathname);S.active&&S.matches&&(h=S.matches)}let R,w={historyAction:e.history.action,location:e.history.location,matches:h,initialized:x,navigation:Cl,restoreScrollPosition:e.hydrationData!=null?!1:null,preventScrollReset:!1,revalidation:"idle",loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||g,fetchers:new Map,blockers:new Map},P=Fe.Pop,T=!1,A,z=!1,te=new Map,H=null,pe=!1,le=!1,tt=[],De=new Set,ie=new Map,D=0,L=-1,B=new Map,G=new Set,K=new Map,J=new Map,X=new Set,ge=new Map,be=new Map,fe;function So(){if(p=e.history.listen(S=>{let{action:_,location:C,delta:O}=S;if(fe){fe(),fe=void 0;return}Sr(be.size===0||O!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let F=It({currentLocation:w.location,nextLocation:C,historyAction:_});if(F&&O!=null){let V=new Promise(Y=>{fe=Y});e.history.go(O*-1),Cn(F,{state:"blocked",location:C,proceed(){Cn(F,{state:"proceeding",proceed:void 0,reset:void 0,location:C}),V.then(()=>e.history.go(O))},reset(){let Y=new Map(w.blockers);Y.set(F,jo),Me({blockers:Y})}});return}return zt(_,C)}),n){Gw(t,te);let S=()=>Yw(t,te);t.addEventListener("pagehide",S),H=()=>t.removeEventListener("pagehide",S)}return w.initialized||zt(Fe.Pop,w.location,{initialHydration:!0}),R}function Jn(){p&&p(),H&&H(),f.clear(),A&&A.abort(),w.fetchers.forEach((S,_)=>Ft(_)),w.blockers.forEach((S,_)=>Ki(_))}function Xn(S){return f.add(S),()=>f.delete(S)}function Me(S,_){_===void 0&&(_={}),w=Ce({},w,S);let C=[],O=[];d.v7_fetcherPersist&&w.fetchers.forEach((F,V)=>{F.state==="idle"&&(X.has(V)?O.push(V):C.push(V))}),[...f].forEach(F=>F(w,{deletedFetchers:O,viewTransitionOpts:_.viewTransitionOpts,flushSync:_.flushSync===!0})),d.v7_fetcherPersist&&(C.forEach(F=>w.fetchers.delete(F)),O.forEach(F=>Ft(F)))}function xn(S,_,C){var O,F;let{flushSync:V}=C===void 0?{}:C,Y=w.actionData!=null&&w.navigation.formMethod!=null&&Vt(w.navigation.formMethod)&&w.navigation.state==="loading"&&((O=S.state)==null?void 0:O._isRedirect)!==!0,U;_.actionData?Object.keys(_.actionData).length>0?U=_.actionData:U=null:Y?U=w.actionData:U=null;let $=_.loaderData?Mf(w.loaderData,_.loaderData,_.matches||[],_.errors):w.loaderData,I=w.blockers;I.size>0&&(I=new Map(I),I.forEach((ae,We)=>I.set(We,jo)));let W=T===!0||w.navigation.formMethod!=null&&Vt(w.navigation.formMethod)&&((F=S.state)==null?void 0:F._isRedirect)!==!0;s&&(a=s,s=void 0),pe||P===Fe.Pop||(P===Fe.Push?e.history.push(S,S.state):P===Fe.Replace&&e.history.replace(S,S.state));let re;if(P===Fe.Pop){let ae=te.get(w.location.pathname);ae&&ae.has(S.pathname)?re={currentLocation:w.location,nextLocation:S}:te.has(S.pathname)&&(re={currentLocation:S,nextLocation:w.location})}else if(z){let ae=te.get(w.location.pathname);ae?ae.add(S.pathname):(ae=new Set([S.pathname]),te.set(w.location.pathname,ae)),re={currentLocation:w.location,nextLocation:S}}Me(Ce({},_,{actionData:U,loaderData:$,historyAction:P,location:S,initialized:!0,navigation:Cl,revalidation:"idle",restoreScrollPosition:gt(S,_.matches||w.matches),preventScrollReset:W,blockers:I}),{viewTransitionOpts:re,flushSync:V===!0}),P=Fe.Pop,T=!1,z=!1,pe=!1,le=!1,tt=[]}async function Eo(S,_){if(typeof S=="number"){e.history.go(S);return}let C=Ou(w.location,w.matches,l,d.v7_prependBasename,S,d.v7_relativeSplatPath,_?.fromRouteId,_?.relative),{path:O,submission:F,error:V}=bf(d.v7_normalizeFormMethod,!1,C,_),Y=w.location,U=xi(w.location,O,_&&_.state);U=Ce({},U,e.history.encodeLocation(U));let $=_&&_.replace!=null?_.replace:void 0,I=Fe.Push;$===!0?I=Fe.Replace:$===!1||F!=null&&Vt(F.formMethod)&&F.formAction===w.location.pathname+w.location.search&&(I=Fe.Replace);let W=_&&"preventScrollReset"in _?_.preventScrollReset===!0:void 0,re=(_&&_.flushSync)===!0,ae=It({currentLocation:Y,nextLocation:U,historyAction:I});if(ae){Cn(ae,{state:"blocked",location:U,proceed(){Cn(ae,{state:"proceeding",proceed:void 0,reset:void 0,location:U}),Eo(S,_)},reset(){let We=new Map(w.blockers);We.set(ae,jo),Me({blockers:We})}});return}return await zt(I,U,{submission:F,pendingError:V,preventScrollReset:W,replace:_&&_.replace,enableViewTransition:_&&_.viewTransition,flushSync:re})}function Ks(){if(xo(),Me({revalidation:"loading"}),w.navigation.state!=="submitting"){if(w.navigation.state==="idle"){zt(w.historyAction,w.location,{startUninterruptedRevalidation:!0});return}zt(P||w.historyAction,w.navigation.location,{overrideNavigation:w.navigation,enableViewTransition:z===!0})}}async function zt(S,_,C){A&&A.abort(),A=null,P=S,pe=(C&&C.startUninterruptedRevalidation)===!0,yt(w.location,w.matches),T=(C&&C.preventScrollReset)===!0,z=(C&&C.enableViewTransition)===!0;let O=s||a,F=C&&C.overrideNavigation,V=ir(O,_,l),Y=(C&&C.flushSync)===!0,U=on(V,O,_.pathname);if(U.active&&U.matches&&(V=U.matches),!V){let{error:ve,notFoundMatches:ce,route:Oe}=ko(_.pathname);xn(_,{matches:ce,loaderData:{},errors:{[Oe.id]:ve}},{flushSync:Y});return}if(w.initialized&&!le&&Bw(w.location,_)&&!(C&&C.submission&&Vt(C.submission.formMethod))){xn(_,{matches:V},{flushSync:Y});return}A=new AbortController;let $=Mr(e.history,_,A.signal,C&&C.submission),I;if(C&&C.pendingError)I=[ar(V).route.id,{type:me.error,error:C.pendingError}];else if(C&&C.submission&&Vt(C.submission.formMethod)){let ve=await Qs($,_,C.submission,V,U.active,{replace:C.replace,flushSync:Y});if(ve.shortCircuited)return;if(ve.pendingActionResult){let[ce,Oe]=ve.pendingActionResult;if(St(Oe)&&Ls(Oe.error)&&Oe.error.status===404){A=null,xn(_,{matches:ve.matches,loaderData:{},errors:{[ce]:Oe.error}});return}}V=ve.matches||V,I=ve.pendingActionResult,F=kl(_,C.submission),Y=!1,U.active=!1,$=Mr(e.history,$.url,$.signal)}let{shortCircuited:W,matches:re,loaderData:ae,errors:We}=await Ui($,_,V,U.active,F,C&&C.submission,C&&C.fetcherSubmission,C&&C.replace,C&&C.initialHydration===!0,Y,I);W||(A=null,xn(_,Ce({matches:re||V},Af(I),{loaderData:ae,errors:We})))}async function Qs(S,_,C,O,F,V){V===void 0&&(V={}),xo();let Y=Qw(_,C);if(Me({navigation:Y},{flushSync:V.flushSync===!0}),F){let I=await Tr(O,_.pathname,S.signal);if(I.type==="aborted")return{shortCircuited:!0};if(I.type==="error"){let W=ar(I.partialMatches).route.id;return{matches:I.partialMatches,pendingActionResult:[W,{type:me.error,error:I.error}]}}else if(I.matches)O=I.matches;else{let{notFoundMatches:W,error:re,route:ae}=ko(_.pathname);return{matches:W,pendingActionResult:[ae.id,{type:me.error,error:re}]}}}let U,$=Qo(O,_);if(!$.route.action&&!$.route.lazy)U={type:me.error,error:st(405,{method:S.method,pathname:_.pathname,routeId:$.route.id})};else if(U=(await Tt("action",w,S,[$],O,null))[$.route.id],S.signal.aborted)return{shortCircuited:!0};if(cr(U)){let I;return V&&V.replace!=null?I=V.replace:I=Nf(U.response.headers.get("Location"),new URL(S.url),l)===w.location.pathname+w.location.search,await ze(S,U,!0,{submission:C,replace:I}),{shortCircuited:!0}}if(An(U))throw st(400,{type:"defer-action"});if(St(U)){let I=ar(O,$.route.id);return(V&&V.replace)!==!0&&(P=Fe.Push),{matches:O,pendingActionResult:[I.route.id,U]}}return{matches:O,pendingActionResult:[$.route.id,U]}}async function Ui(S,_,C,O,F,V,Y,U,$,I,W){let re=F||kl(_,V),ae=V||Y||Ff(re),We=!pe&&(!d.v7_partialHydration||!$);if(O){if(We){let Ne=Zn(W);Me(Ce({navigation:re},Ne!==void 0?{actionData:Ne}:{}),{flushSync:I})}let ue=await Tr(C,_.pathname,S.signal);if(ue.type==="aborted")return{shortCircuited:!0};if(ue.type==="error"){let Ne=ar(ue.partialMatches).route.id;return{matches:ue.partialMatches,loaderData:{},errors:{[Ne]:ue.error}}}else if(ue.matches)C=ue.matches;else{let{error:Ne,notFoundMatches:Nr,route:Po}=ko(_.pathname);return{matches:Nr,loaderData:{},errors:{[Po.id]:Ne}}}}let ve=s||a,[ce,Oe]=Pf(e.history,w,C,ae,_,d.v7_partialHydration&&$===!0,d.v7_skipActionErrorRevalidation,le,tt,De,X,K,G,ve,l,W);if(q(ue=>!(C&&C.some(Ne=>Ne.route.id===ue))||ce&&ce.some(Ne=>Ne.route.id===ue)),L=++D,ce.length===0&&Oe.length===0){let ue=Vi();return xn(_,Ce({matches:C,loaderData:{},errors:W&&St(W[1])?{[W[0]]:W[1].error}:null},Af(W),ue?{fetchers:new Map(w.fetchers)}:{}),{flushSync:I}),{shortCircuited:!0}}if(We){let ue={};if(!O){ue.navigation=re;let Ne=Zn(W);Ne!==void 0&&(ue.actionData=Ne)}Oe.length>0&&(ue.fetchers=Bi(Oe)),Me(ue,{flushSync:I})}Oe.forEach(ue=>{mt(ue.key),ue.controller&&ie.set(ue.key,ue.controller)});let Or=()=>Oe.forEach(ue=>mt(ue.key));A&&A.signal.addEventListener("abort",Or);let{loaderResults:bo,fetcherResults:an}=await $i(w,C,ce,Oe,S);if(S.signal.aborted)return{shortCircuited:!0};A&&A.signal.removeEventListener("abort",Or),Oe.forEach(ue=>ie.delete(ue.key));let Jt=fa(bo);if(Jt)return await ze(S,Jt.result,!0,{replace:U}),{shortCircuited:!0};if(Jt=fa(an),Jt)return G.add(Jt.key),await ze(S,Jt.result,!0,{replace:U}),{shortCircuited:!0};let{loaderData:Ys,errors:Ro}=Df(w,C,bo,W,Oe,an,ge);ge.forEach((ue,Ne)=>{ue.subscribe(Nr=>{(Nr||ue.done)&&ge.delete(Ne)})}),d.v7_partialHydration&&$&&w.errors&&(Ro=Ce({},w.errors,Ro));let er=Vi(),Qi=Co(L),qi=er||Qi||Oe.length>0;return Ce({matches:C,loaderData:Ys,errors:Ro},qi?{fetchers:new Map(w.fetchers)}:{})}function Zn(S){if(S&&!St(S[1]))return{[S[0]]:S[1].data};if(w.actionData)return Object.keys(w.actionData).length===0?null:w.actionData}function Bi(S){return S.forEach(_=>{let C=w.fetchers.get(_.key),O=Fo(void 0,C?C.data:void 0);w.fetchers.set(_.key,O)}),new Map(w.fetchers)}function _n(S,_,C,O){if(r)throw new Error("router.fetch() was called during the server render, but it shouldn't be. You are likely calling a useFetcher() method in the body of your component. Try moving it to a useEffect or a callback.");mt(S);let F=(O&&O.flushSync)===!0,V=s||a,Y=Ou(w.location,w.matches,l,d.v7_prependBasename,C,d.v7_relativeSplatPath,_,O?.relative),U=ir(V,Y,l),$=on(U,V,Y);if($.active&&$.matches&&(U=$.matches),!U){jt(S,_,st(404,{pathname:Y}),{flushSync:F});return}let{path:I,submission:W,error:re}=bf(d.v7_normalizeFormMethod,!0,Y,O);if(re){jt(S,_,re,{flushSync:F});return}let ae=Qo(U,I),We=(O&&O.preventScrollReset)===!0;if(W&&Vt(W.formMethod)){qs(S,_,I,ae,U,$.active,F,We,W);return}K.set(S,{routeId:_,path:I}),Gs(S,_,I,ae,U,$.active,F,We,W)}async function qs(S,_,C,O,F,V,Y,U,$){xo(),K.delete(S);function I(je){if(!je.route.action&&!je.route.lazy){let Lr=st(405,{method:$.formMethod,pathname:C,routeId:_});return jt(S,_,Lr,{flushSync:Y}),!0}return!1}if(!V&&I(O))return;let W=w.fetchers.get(S);pt(S,qw($,W),{flushSync:Y});let re=new AbortController,ae=Mr(e.history,C,re.signal,$);if(V){let je=await Tr(F,C,ae.signal);if(je.type==="aborted")return;if(je.type==="error"){jt(S,_,je.error,{flushSync:Y});return}else if(je.matches){if(F=je.matches,O=Qo(F,C),I(O))return}else{jt(S,_,st(404,{pathname:C}),{flushSync:Y});return}}ie.set(S,re);let We=D,ce=(await Tt("action",w,ae,[O],F,S))[O.route.id];if(ae.signal.aborted){ie.get(S)===re&&ie.delete(S);return}if(d.v7_fetcherPersist&&X.has(S)){if(cr(ce)||St(ce)){pt(S,Pn(void 0));return}}else{if(cr(ce))if(ie.delete(S),L>We){pt(S,Pn(void 0));return}else return G.add(S),pt(S,Fo($)),ze(ae,ce,!1,{fetcherSubmission:$,preventScrollReset:U});if(St(ce)){jt(S,_,ce.error);return}}if(An(ce))throw st(400,{type:"defer-action"});let Oe=w.navigation.location||w.location,Or=Mr(e.history,Oe,re.signal),bo=s||a,an=w.navigation.state!=="idle"?ir(bo,w.navigation.location,l):w.matches;oe(an,"Didn't find any matches after fetcher action");let Jt=++D;B.set(S,Jt);let Ys=Fo($,ce.data);w.fetchers.set(S,Ys);let[Ro,er]=Pf(e.history,w,an,$,Oe,!1,d.v7_skipActionErrorRevalidation,le,tt,De,X,K,G,bo,l,[O.route.id,ce]);er.filter(je=>je.key!==S).forEach(je=>{let Lr=je.key,dd=w.fetchers.get(Lr),Pg=Fo(void 0,dd?dd.data:void 0);w.fetchers.set(Lr,Pg),mt(Lr),je.controller&&ie.set(Lr,je.controller)}),Me({fetchers:new Map(w.fetchers)});let Qi=()=>er.forEach(je=>mt(je.key));re.signal.addEventListener("abort",Qi);let{loaderResults:qi,fetcherResults:ue}=await $i(w,an,Ro,er,Or);if(re.signal.aborted)return;re.signal.removeEventListener("abort",Qi),B.delete(S),ie.delete(S),er.forEach(je=>ie.delete(je.key));let Ne=fa(qi);if(Ne)return ze(Or,Ne.result,!1,{preventScrollReset:U});if(Ne=fa(ue),Ne)return G.add(Ne.key),ze(Or,Ne.result,!1,{preventScrollReset:U});let{loaderData:Nr,errors:Po}=Df(w,an,qi,void 0,er,ue,ge);if(w.fetchers.has(S)){let je=Pn(ce.data);w.fetchers.set(S,je)}Co(Jt),w.navigation.state==="loading"&&Jt>L?(oe(P,"Expected pending action"),A&&A.abort(),xn(w.navigation.location,{matches:an,loaderData:Nr,errors:Po,fetchers:new Map(w.fetchers)})):(Me({errors:Po,loaderData:Mf(w.loaderData,Nr,an,Po),fetchers:new Map(w.fetchers)}),le=!1)}async function Gs(S,_,C,O,F,V,Y,U,$){let I=w.fetchers.get(S);pt(S,Fo($,I?I.data:void 0),{flushSync:Y});let W=new AbortController,re=Mr(e.history,C,W.signal);if(V){let ce=await Tr(F,C,re.signal);if(ce.type==="aborted")return;if(ce.type==="error"){jt(S,_,ce.error,{flushSync:Y});return}else if(ce.matches)F=ce.matches,O=Qo(F,C);else{jt(S,_,st(404,{pathname:C}),{flushSync:Y});return}}ie.set(S,W);let ae=D,ve=(await Tt("loader",w,re,[O],F,S))[O.route.id];if(An(ve)&&(ve=await Gc(ve,re.signal,!0)||ve),ie.get(S)===W&&ie.delete(S),!re.signal.aborted){if(X.has(S)){pt(S,Pn(void 0));return}if(cr(ve))if(L>ae){pt(S,Pn(void 0));return}else{G.add(S),await ze(re,ve,!1,{preventScrollReset:U});return}if(St(ve)){jt(S,_,ve.error);return}oe(!An(ve),"Unhandled fetcher deferred data"),pt(S,Pn(ve.data))}}async function ze(S,_,C,O){let{submission:F,fetcherSubmission:V,preventScrollReset:Y,replace:U}=O===void 0?{}:O;_.response.headers.has("X-Remix-Revalidate")&&(le=!0);let $=_.response.headers.get("Location");oe($,"Expected a Location header on the redirect Response"),$=Nf($,new URL(S.url),l);let I=xi(w.location,$,{_isRedirect:!0});if(n){let ce=!1;if(_.response.headers.has("X-Remix-Reload-Document"))ce=!0;else if(qc.test($)){const Oe=e.history.createURL($);ce=Oe.origin!==t.location.origin||mo(Oe.pathname,l)==null}if(ce){U?t.location.replace($):t.location.assign($);return}}A=null;let W=U===!0||_.response.headers.has("X-Remix-Replace")?Fe.Replace:Fe.Push,{formMethod:re,formAction:ae,formEncType:We}=w.navigation;!F&&!V&&re&&ae&&We&&(F=Ff(w.navigation));let ve=F||V;if(Pw.has(_.response.status)&&ve&&Vt(ve.formMethod))await zt(W,I,{submission:Ce({},ve,{formAction:$}),preventScrollReset:Y||T,enableViewTransition:C?z:void 0});else{let ce=kl(I,F);await zt(W,I,{overrideNavigation:ce,fetcherSubmission:V,preventScrollReset:Y||T,enableViewTransition:C?z:void 0})}}async function Tt(S,_,C,O,F,V){let Y,U={};try{Y=await zw(u,S,_,C,O,F,V,i,o)}catch($){return O.forEach(I=>{U[I.route.id]={type:me.error,error:$}}),U}for(let[$,I]of Object.entries(Y))if($w(I)){let W=I.result;U[$]={type:me.redirect,response:Iw(W,C,$,F,l,d.v7_relativeSplatPath)}}else U[$]=await Fw(I);return U}async function $i(S,_,C,O,F){let V=S.matches,Y=Tt("loader",S,F,C,_,null),U=Promise.all(O.map(async W=>{if(W.matches&&W.match&&W.controller){let ae=(await Tt("loader",S,Mr(e.history,W.path,W.controller.signal),[W.match],W.matches,W.key))[W.match.route.id];return{[W.key]:ae}}else return Promise.resolve({[W.key]:{type:me.error,error:st(404,{pathname:W.path})}})})),$=await Y,I=(await U).reduce((W,re)=>Object.assign(W,re),{});return await Promise.all([Ww(_,$,F.signal,V,S.loaderData),Kw(_,I,O)]),{loaderResults:$,fetcherResults:I}}function xo(){le=!0,tt.push(...q()),K.forEach((S,_)=>{ie.has(_)&&De.add(_),mt(_)})}function pt(S,_,C){C===void 0&&(C={}),w.fetchers.set(S,_),Me({fetchers:new Map(w.fetchers)},{flushSync:(C&&C.flushSync)===!0})}function jt(S,_,C,O){O===void 0&&(O={});let F=ar(w.matches,_);Ft(S),Me({errors:{[F.route.id]:C},fetchers:new Map(w.fetchers)},{flushSync:(O&&O.flushSync)===!0})}function Pr(S){return d.v7_fetcherPersist&&(J.set(S,(J.get(S)||0)+1),X.has(S)&&X.delete(S)),w.fetchers.get(S)||Tw}function Ft(S){let _=w.fetchers.get(S);ie.has(S)&&!(_&&_.state==="loading"&&B.has(S))&&mt(S),K.delete(S),B.delete(S),G.delete(S),X.delete(S),De.delete(S),w.fetchers.delete(S)}function Hi(S){if(d.v7_fetcherPersist){let _=(J.get(S)||0)-1;_<=0?(J.delete(S),X.add(S)):J.set(S,_)}else Ft(S);Me({fetchers:new Map(w.fetchers)})}function mt(S){let _=ie.get(S);_&&(_.abort(),ie.delete(S))}function _o(S){for(let _ of S){let C=Pr(_),O=Pn(C.data);w.fetchers.set(_,O)}}function Vi(){let S=[],_=!1;for(let C of G){let O=w.fetchers.get(C);oe(O,"Expected fetcher: "+C),O.state==="loading"&&(G.delete(C),S.push(C),_=!0)}return _o(S),_}function Co(S){let _=[];for(let[C,O]of B)if(O0}function Wi(S,_){let C=w.blockers.get(S)||jo;return be.get(S)!==_&&be.set(S,_),C}function Ki(S){w.blockers.delete(S),be.delete(S)}function Cn(S,_){let C=w.blockers.get(S)||jo;oe(C.state==="unblocked"&&_.state==="blocked"||C.state==="blocked"&&_.state==="blocked"||C.state==="blocked"&&_.state==="proceeding"||C.state==="blocked"&&_.state==="unblocked"||C.state==="proceeding"&&_.state==="unblocked","Invalid blocker state transition: "+C.state+" -> "+_.state);let O=new Map(w.blockers);O.set(S,_),Me({blockers:O})}function It(S){let{currentLocation:_,nextLocation:C,historyAction:O}=S;if(be.size===0)return;be.size>1&&Sr(!1,"A router only supports one blocker at a time");let F=Array.from(be.entries()),[V,Y]=F[F.length-1],U=w.blockers.get(V);if(!(U&&U.state==="proceeding")&&Y({currentLocation:_,nextLocation:C,historyAction:O}))return V}function ko(S){let _=st(404,{pathname:S}),C=s||a,{matches:O,route:F}=zf(C);return q(),{notFoundMatches:O,route:F,error:_}}function q(S){let _=[];return ge.forEach((C,O)=>{(!S||S(O))&&(C.cancel(),_.push(O),ge.delete(O))}),_}function de(S,_,C){if(y=S,E=_,v=C||null,!m&&w.navigation===Cl){m=!0;let O=gt(w.location,w.matches);O!=null&&Me({restoreScrollPosition:O})}return()=>{y=null,E=null,v=null}}function ye(S,_){return v&&v(S,_.map(O=>aw(O,w.loaderData)))||S.key}function yt(S,_){if(y&&E){let C=ye(S,_);y[C]=E()}}function gt(S,_){if(y){let C=ye(S,_),O=y[C];if(typeof O=="number")return O}return null}function on(S,_,C){if(c)if(S){if(Object.keys(S[0].params).length>0)return{active:!0,matches:Pa(_,C,l,!0)}}else return{active:!0,matches:Pa(_,C,l,!0)||[]};return{active:!1,matches:null}}async function Tr(S,_,C){if(!c)return{type:"success",matches:S};let O=S;for(;;){let F=s==null,V=s||a,Y=i;try{await c({path:_,matches:O,patch:(I,W)=>{C.aborted||Of(I,W,V,Y,o)}})}catch(I){return{type:"error",error:I,partialMatches:O}}finally{F&&!C.aborted&&(a=[...a])}if(C.aborted)return{type:"aborted"};let U=ir(V,_,l);if(U)return{type:"success",matches:U};let $=Pa(V,_,l,!0);if(!$||O.length===$.length&&O.every((I,W)=>I.route.id===$[W].route.id))return{type:"success",matches:null};O=$}}function bg(S){i={},s=rs(S,o,void 0,i)}function Rg(S,_){let C=s==null;Of(S,_,s||a,i,o),C&&(a=[...a],Me({}))}return R={get basename(){return l},get future(){return d},get state(){return w},get routes(){return a},get window(){return t},initialize:So,subscribe:Xn,enableScrollRestoration:de,navigate:Eo,fetch:_n,revalidate:Ks,createHref:S=>e.history.createHref(S),encodeLocation:S=>e.history.encodeLocation(S),getFetcher:Pr,deleteFetcher:Hi,dispose:Jn,getBlocker:Wi,deleteBlocker:Ki,patchRoutes:Rg,_internalFetchControllers:ie,_internalActiveDeferreds:ge,_internalSetRoutes:bg},R}function Lw(e){return e!=null&&("formData"in e&&e.formData!=null||"body"in e&&e.body!==void 0)}function Ou(e,t,n,r,o,i,a,s){let l,u;if(a){l=[];for(let d of t)if(l.push(d),d.route.id===a){u=d;break}}else l=t,u=t[t.length-1];let c=Qc(o||".",Kc(l,i),mo(e.pathname,n)||e.pathname,s==="path");if(o==null&&(c.search=e.search,c.hash=e.hash),(o==null||o===""||o===".")&&u){let d=Yc(c.search);if(u.route.index&&!d)c.search=c.search?c.search.replace(/^\?/,"?index&"):"?index";else if(!u.route.index&&d){let p=new URLSearchParams(c.search),f=p.getAll("index");p.delete("index"),f.filter(v=>v).forEach(v=>p.append("index",v));let y=p.toString();c.search=y?"?"+y:""}}return r&&n!=="/"&&(c.pathname=c.pathname==="/"?n:hn([n,c.pathname])),Er(c)}function bf(e,t,n,r){if(!r||!Lw(r))return{path:n};if(r.formMethod&&!Vw(r.formMethod))return{path:n,error:st(405,{method:r.formMethod})};let o=()=>({path:n,error:st(400,{type:"invalid-body"})}),i=r.formMethod||"get",a=e?i.toUpperCase():i.toLowerCase(),s=ry(n);if(r.body!==void 0){if(r.formEncType==="text/plain"){if(!Vt(a))return o();let p=typeof r.body=="string"?r.body:r.body instanceof FormData||r.body instanceof URLSearchParams?Array.from(r.body.entries()).reduce((f,y)=>{let[v,E]=y;return""+f+v+"="+E+` -`},""):String(r.body);return{path:n,submission:{formMethod:a,formAction:s,formEncType:r.formEncType,formData:void 0,json:void 0,text:p}}}else if(r.formEncType==="application/json"){if(!Vt(a))return o();try{let p=typeof r.body=="string"?JSON.parse(r.body):r.body;return{path:n,submission:{formMethod:a,formAction:s,formEncType:r.formEncType,formData:void 0,json:p,text:void 0}}}catch{return o()}}}oe(typeof FormData=="function","FormData is not available in this environment");let l,u;if(r.formData)l=Lu(r.formData),u=r.formData;else if(r.body instanceof FormData)l=Lu(r.body),u=r.body;else if(r.body instanceof URLSearchParams)l=r.body,u=Lf(l);else if(r.body==null)l=new URLSearchParams,u=new FormData;else try{l=new URLSearchParams(r.body),u=Lf(l)}catch{return o()}let c={formMethod:a,formAction:s,formEncType:r&&r.formEncType||"application/x-www-form-urlencoded",formData:u,json:void 0,text:void 0};if(Vt(c.formMethod))return{path:n,submission:c};let d=En(n);return t&&d.search&&Yc(d.search)&&l.append("index",""),d.search="?"+l,{path:Er(d),submission:c}}function Rf(e,t,n){n===void 0&&(n=!1);let r=e.findIndex(o=>o.route.id===t);return r>=0?e.slice(0,n?r+1:r):e}function Pf(e,t,n,r,o,i,a,s,l,u,c,d,p,f,y,v){let E=v?St(v[1])?v[1].error:v[1].data:void 0,m=e.createURL(t.location),h=e.createURL(o),g=n;i&&t.errors?g=Rf(n,Object.keys(t.errors)[0],!0):v&&St(v[1])&&(g=Rf(n,v[0]));let x=v?v[1].statusCode:void 0,R=a&&x&&x>=400,w=g.filter((T,A)=>{let{route:z}=T;if(z.lazy)return!0;if(z.loader==null)return!1;if(i)return Nu(z,t.loaderData,t.errors);if(Dw(t.loaderData,t.matches[A],T)||l.some(pe=>pe===T.route.id))return!0;let te=t.matches[A],H=T;return Tf(T,Ce({currentUrl:m,currentParams:te.params,nextUrl:h,nextParams:H.params},r,{actionResult:E,actionStatus:x,defaultShouldRevalidate:R?!1:s||m.pathname+m.search===h.pathname+h.search||m.search!==h.search||ty(te,H)}))}),P=[];return d.forEach((T,A)=>{if(i||!n.some(le=>le.route.id===T.routeId)||c.has(A))return;let z=ir(f,T.path,y);if(!z){P.push({key:A,routeId:T.routeId,path:T.path,matches:null,match:null,controller:null});return}let te=t.fetchers.get(A),H=Qo(z,T.path),pe=!1;p.has(A)?pe=!1:u.has(A)?(u.delete(A),pe=!0):te&&te.state!=="idle"&&te.data===void 0?pe=s:pe=Tf(H,Ce({currentUrl:m,currentParams:t.matches[t.matches.length-1].params,nextUrl:h,nextParams:n[n.length-1].params},r,{actionResult:E,actionStatus:x,defaultShouldRevalidate:R?!1:s})),pe&&P.push({key:A,routeId:T.routeId,path:T.path,matches:z,match:H,controller:new AbortController})}),[w,P]}function Nu(e,t,n){if(e.lazy)return!0;if(!e.loader)return!1;let r=t!=null&&t[e.id]!==void 0,o=n!=null&&n[e.id]!==void 0;return!r&&o?!1:typeof e.loader=="function"&&e.loader.hydrate===!0?!0:!r&&!o}function Dw(e,t,n){let r=!t||n.route.id!==t.route.id,o=e[n.route.id]===void 0;return r||o}function ty(e,t){let n=e.route.path;return e.pathname!==t.pathname||n!=null&&n.endsWith("*")&&e.params["*"]!==t.params["*"]}function Tf(e,t){if(e.route.shouldRevalidate){let n=e.route.shouldRevalidate(t);if(typeof n=="boolean")return n}return t.defaultShouldRevalidate}function Of(e,t,n,r,o){var i;let a;if(e){let u=r[e];oe(u,"No route found to patch children into: routeId = "+e),u.children||(u.children=[]),a=u.children}else a=n;let s=t.filter(u=>!a.some(c=>ny(u,c))),l=rs(s,o,[e||"_","patch",String(((i=a)==null?void 0:i.length)||"0")],r);a.push(...l)}function ny(e,t){return"id"in e&&"id"in t&&e.id===t.id?!0:e.index===t.index&&e.path===t.path&&e.caseSensitive===t.caseSensitive?(!e.children||e.children.length===0)&&(!t.children||t.children.length===0)?!0:e.children.every((n,r)=>{var o;return(o=t.children)==null?void 0:o.some(i=>ny(n,i))}):!1}async function Mw(e,t,n){if(!e.lazy)return;let r=await e.lazy();if(!e.lazy)return;let o=n[e.id];oe(o,"No route found in manifest");let i={};for(let a in r){let l=o[a]!==void 0&&a!=="hasErrorBoundary";Sr(!l,'Route "'+o.id+'" has a static property "'+a+'" defined but its lazy function is also returning a value for this property. '+('The lazy route property "'+a+'" will be ignored.')),!l&&!ow.has(a)&&(i[a]=r[a])}Object.assign(o,i),Object.assign(o,Ce({},t(o),{lazy:void 0}))}async function Aw(e){let{matches:t}=e,n=t.filter(o=>o.shouldLoad);return(await Promise.all(n.map(o=>o.resolve()))).reduce((o,i,a)=>Object.assign(o,{[n[a].route.id]:i}),{})}async function zw(e,t,n,r,o,i,a,s,l,u){let c=i.map(f=>f.route.lazy?Mw(f.route,l,s):void 0),d=i.map((f,y)=>{let v=c[y],E=o.some(h=>h.route.id===f.route.id);return Ce({},f,{shouldLoad:E,resolve:async h=>(h&&r.method==="GET"&&(f.route.lazy||f.route.loader)&&(E=!0),E?jw(t,r,f,v,h,u):Promise.resolve({type:me.data,result:void 0}))})}),p=await e({matches:d,request:r,params:i[0].params,fetcherKey:a,context:u});try{await Promise.all(c)}catch{}return p}async function jw(e,t,n,r,o,i){let a,s,l=u=>{let c,d=new Promise((y,v)=>c=v);s=()=>c(),t.signal.addEventListener("abort",s);let p=y=>typeof u!="function"?Promise.reject(new Error("You cannot call the handler for a route which defines a boolean "+('"'+e+'" [routeId: '+n.route.id+"]"))):u({request:t,params:n.params,context:i},...y!==void 0?[y]:[]),f=(async()=>{try{return{type:"data",result:await(o?o(v=>p(v)):p())}}catch(y){return{type:"error",result:y}}})();return Promise.race([f,d])};try{let u=n.route[e];if(r)if(u){let c,[d]=await Promise.all([l(u).catch(p=>{c=p}),r]);if(c!==void 0)throw c;a=d}else if(await r,u=n.route[e],u)a=await l(u);else if(e==="action"){let c=new URL(t.url),d=c.pathname+c.search;throw st(405,{method:t.method,pathname:d,routeId:n.route.id})}else return{type:me.data,result:void 0};else if(u)a=await l(u);else{let c=new URL(t.url),d=c.pathname+c.search;throw st(404,{pathname:d})}oe(a.result!==void 0,"You defined "+(e==="action"?"an action":"a loader")+" for route "+('"'+n.route.id+"\" but didn't return anything from your `"+e+"` ")+"function. Please return a value or `null`.")}catch(u){return{type:me.error,result:u}}finally{s&&t.signal.removeEventListener("abort",s)}return a}async function Fw(e){let{result:t,type:n}=e;if(oy(t)){let u;try{let c=t.headers.get("Content-Type");c&&/\bapplication\/json\b/.test(c)?t.body==null?u=null:u=await t.json():u=await t.text()}catch(c){return{type:me.error,error:c}}return n===me.error?{type:me.error,error:new os(t.status,t.statusText,u),statusCode:t.status,headers:t.headers}:{type:me.data,data:u,statusCode:t.status,headers:t.headers}}if(n===me.error){if(jf(t)){var r;if(t.data instanceof Error){var o;return{type:me.error,error:t.data,statusCode:(o=t.init)==null?void 0:o.status}}t=new os(((r=t.init)==null?void 0:r.status)||500,void 0,t.data)}return{type:me.error,error:t,statusCode:Ls(t)?t.status:void 0}}if(Hw(t)){var i,a;return{type:me.deferred,deferredData:t,statusCode:(i=t.init)==null?void 0:i.status,headers:((a=t.init)==null?void 0:a.headers)&&new Headers(t.init.headers)}}if(jf(t)){var s,l;return{type:me.data,data:t.data,statusCode:(s=t.init)==null?void 0:s.status,headers:(l=t.init)!=null&&l.headers?new Headers(t.init.headers):void 0}}return{type:me.data,data:t}}function Iw(e,t,n,r,o,i){let a=e.headers.get("Location");if(oe(a,"Redirects returned/thrown from loaders/actions must have a Location header"),!qc.test(a)){let s=r.slice(0,r.findIndex(l=>l.route.id===n)+1);a=Ou(new URL(t.url),s,o,!0,a,i),e.headers.set("Location",a)}return e}function Nf(e,t,n){if(qc.test(e)){let r=e,o=r.startsWith("//")?new URL(t.protocol+r):new URL(r),i=mo(o.pathname,n)!=null;if(o.origin===t.origin&&i)return o.pathname+o.search+o.hash}return e}function Mr(e,t,n,r){let o=e.createURL(ry(t)).toString(),i={signal:n};if(r&&Vt(r.formMethod)){let{formMethod:a,formEncType:s}=r;i.method=a.toUpperCase(),s==="application/json"?(i.headers=new Headers({"Content-Type":s}),i.body=JSON.stringify(r.json)):s==="text/plain"?i.body=r.text:s==="application/x-www-form-urlencoded"&&r.formData?i.body=Lu(r.formData):i.body=r.formData}return new Request(o,i)}function Lu(e){let t=new URLSearchParams;for(let[n,r]of e.entries())t.append(n,typeof r=="string"?r:r.name);return t}function Lf(e){let t=new FormData;for(let[n,r]of e.entries())t.append(n,r);return t}function Uw(e,t,n,r,o){let i={},a=null,s,l=!1,u={},c=n&&St(n[1])?n[1].error:void 0;return e.forEach(d=>{if(!(d.route.id in t))return;let p=d.route.id,f=t[p];if(oe(!cr(f),"Cannot handle redirect results in processLoaderData"),St(f)){let y=f.error;c!==void 0&&(y=c,c=void 0),a=a||{};{let v=ar(e,p);a[v.route.id]==null&&(a[v.route.id]=y)}i[p]=void 0,l||(l=!0,s=Ls(f.error)?f.error.status:500),f.headers&&(u[p]=f.headers)}else An(f)?(r.set(p,f.deferredData),i[p]=f.deferredData.data,f.statusCode!=null&&f.statusCode!==200&&!l&&(s=f.statusCode),f.headers&&(u[p]=f.headers)):(i[p]=f.data,f.statusCode&&f.statusCode!==200&&!l&&(s=f.statusCode),f.headers&&(u[p]=f.headers))}),c!==void 0&&n&&(a={[n[0]]:c},i[n[0]]=void 0),{loaderData:i,errors:a,statusCode:s||200,loaderHeaders:u}}function Df(e,t,n,r,o,i,a){let{loaderData:s,errors:l}=Uw(t,n,r,a);return o.forEach(u=>{let{key:c,match:d,controller:p}=u,f=i[c];if(oe(f,"Did not find corresponding fetcher result"),!(p&&p.signal.aborted))if(St(f)){let y=ar(e.matches,d?.route.id);l&&l[y.route.id]||(l=Ce({},l,{[y.route.id]:f.error})),e.fetchers.delete(c)}else if(cr(f))oe(!1,"Unhandled fetcher revalidation redirect");else if(An(f))oe(!1,"Unhandled fetcher deferred data");else{let y=Pn(f.data);e.fetchers.set(c,y)}}),{loaderData:s,errors:l}}function Mf(e,t,n,r){let o=Ce({},t);for(let i of n){let a=i.route.id;if(t.hasOwnProperty(a)?t[a]!==void 0&&(o[a]=t[a]):e[a]!==void 0&&i.route.loader&&(o[a]=e[a]),r&&r.hasOwnProperty(a))break}return o}function Af(e){return e?St(e[1])?{actionData:{}}:{actionData:{[e[0]]:e[1].data}}:{}}function ar(e,t){return(t?e.slice(0,e.findIndex(r=>r.route.id===t)+1):[...e]).reverse().find(r=>r.route.hasErrorBoundary===!0)||e[0]}function zf(e){let t=e.length===1?e[0]:e.find(n=>n.index||!n.path||n.path==="/")||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:t}],route:t}}function st(e,t){let{pathname:n,routeId:r,method:o,type:i,message:a}=t===void 0?{}:t,s="Unknown Server Error",l="Unknown @remix-run/router error";return e===400?(s="Bad Request",o&&n&&r?l="You made a "+o+' request to "'+n+'" but '+('did not provide a `loader` for route "'+r+'", ')+"so there is no way to handle the request.":i==="defer-action"?l="defer() is not supported in actions":i==="invalid-body"&&(l="Unable to encode submission body")):e===403?(s="Forbidden",l='Route "'+r+'" does not match URL "'+n+'"'):e===404?(s="Not Found",l='No route matches URL "'+n+'"'):e===405&&(s="Method Not Allowed",o&&n&&r?l="You made a "+o.toUpperCase()+' request to "'+n+'" but '+('did not provide an `action` for route "'+r+'", ')+"so there is no way to handle the request.":o&&(l='Invalid request method "'+o.toUpperCase()+'"')),new os(e||500,s,new Error(l),!0)}function fa(e){let t=Object.entries(e);for(let n=t.length-1;n>=0;n--){let[r,o]=t[n];if(cr(o))return{key:r,result:o}}}function ry(e){let t=typeof e=="string"?En(e):e;return Er(Ce({},t,{hash:""}))}function Bw(e,t){return e.pathname!==t.pathname||e.search!==t.search?!1:e.hash===""?t.hash!=="":e.hash===t.hash?!0:t.hash!==""}function $w(e){return oy(e.result)&&Rw.has(e.result.status)}function An(e){return e.type===me.deferred}function St(e){return e.type===me.error}function cr(e){return(e&&e.type)===me.redirect}function jf(e){return typeof e=="object"&&e!=null&&"type"in e&&"data"in e&&"init"in e&&e.type==="DataWithResponseInit"}function Hw(e){let t=e;return t&&typeof t=="object"&&typeof t.data=="object"&&typeof t.subscribe=="function"&&typeof t.cancel=="function"&&typeof t.resolveData=="function"}function oy(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.headers=="object"&&typeof e.body<"u"}function Vw(e){return bw.has(e.toLowerCase())}function Vt(e){return Cw.has(e.toLowerCase())}async function Ww(e,t,n,r,o){let i=Object.entries(t);for(let a=0;ap?.route.id===s);if(!u)continue;let c=r.find(p=>p.route.id===u.route.id),d=c!=null&&!ty(c,u)&&(o&&o[u.route.id])!==void 0;An(l)&&d&&await Gc(l,n,!1).then(p=>{p&&(t[s]=p)})}}async function Kw(e,t,n){for(let r=0;ru?.route.id===i)&&An(s)&&(oe(a,"Expected an AbortController for revalidating fetcher deferred result"),await Gc(s,a.signal,!0).then(u=>{u&&(t[o]=u)}))}}async function Gc(e,t,n){if(n===void 0&&(n=!1),!await e.deferredData.resolveData(t)){if(n)try{return{type:me.data,data:e.deferredData.unwrappedData}}catch(o){return{type:me.error,error:o}}return{type:me.data,data:e.deferredData.data}}}function Yc(e){return new URLSearchParams(e).getAll("index").some(t=>t==="")}function Qo(e,t){let n=typeof t=="string"?En(t).search:t.search;if(e[e.length-1].route.index&&Yc(n||""))return e[e.length-1];let r=Xm(e);return r[r.length-1]}function Ff(e){let{formMethod:t,formAction:n,formEncType:r,text:o,formData:i,json:a}=e;if(!(!t||!n||!r)){if(o!=null)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:void 0,text:o};if(i!=null)return{formMethod:t,formAction:n,formEncType:r,formData:i,json:void 0,text:void 0};if(a!==void 0)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:a,text:void 0}}}function kl(e,t){return t?{state:"loading",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}:{state:"loading",location:e,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function Qw(e,t){return{state:"submitting",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}}function Fo(e,t){return e?{state:"loading",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:t}}function qw(e,t){return{state:"submitting",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t?t.data:void 0}}function Pn(e){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}function Gw(e,t){try{let n=e.sessionStorage.getItem(ey);if(n){let r=JSON.parse(n);for(let[o,i]of Object.entries(r||{}))i&&Array.isArray(i)&&t.set(o,new Set(i||[]))}}catch{}}function Yw(e,t){if(t.size>0){let n={};for(let[r,o]of t)n[r]=[...o];try{e.sessionStorage.setItem(ey,JSON.stringify(n))}catch(r){Sr(!1,"Failed to save applied view transitions in sessionStorage ("+r+").")}}}/** - * React Router v6.28.1 - * - * Copyright (c) Remix Software Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */function is(){return is=Object.assign?Object.assign.bind():function(e){for(var t=1;t{s.current=!0}),k.useCallback(function(u,c){if(c===void 0&&(c={}),!s.current)return;if(typeof u=="number"){r.go(u);return}let d=Qc(u,JSON.parse(a),i,c.relative==="path");e==null&&t!=="/"&&(d.pathname=d.pathname==="/"?t:hn([t,d.pathname])),(c.replace?r.replace:r.push)(d,c.state,c)},[t,r,a,i,e])}const Zw=k.createContext(null);function e1(e){let t=k.useContext(Yn).outlet;return t&&k.createElement(Zw.Provider,{value:e},t)}function ly(e,t){let{relative:n}=t===void 0?{}:t,{future:r}=k.useContext(Rr),{matches:o}=k.useContext(Yn),{pathname:i}=yo(),a=JSON.stringify(Kc(o,r.v7_relativeSplatPath));return k.useMemo(()=>Qc(e,JSON.parse(a),i,n==="path"),[e,a,i,n])}function t1(e,t,n,r){Ai()||oe(!1);let{navigator:o}=k.useContext(Rr),{matches:i}=k.useContext(Yn),a=i[i.length-1],s=a?a.params:{};a&&a.pathname;let l=a?a.pathnameBase:"/";a&&a.route;let u=yo(),c;c=u;let d=c.pathname||"/",p=d;if(l!=="/"){let v=l.replace(/^\//,"").split("/");p="/"+d.replace(/^\//,"").split("/").slice(v.length).join("/")}let f=ir(e,{pathname:p});return a1(f&&f.map(v=>Object.assign({},v,{params:Object.assign({},s,v.params),pathname:hn([l,o.encodeLocation?o.encodeLocation(v.pathname).pathname:v.pathname]),pathnameBase:v.pathnameBase==="/"?l:hn([l,o.encodeLocation?o.encodeLocation(v.pathnameBase).pathname:v.pathnameBase])})),i,n,r)}function n1(){let e=c1(),t=Ls(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,o={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return k.createElement(k.Fragment,null,k.createElement("h2",null,"Unexpected Application Error!"),k.createElement("h3",{style:{fontStyle:"italic"}},t),n?k.createElement("pre",{style:o},n):null,null)}const r1=k.createElement(n1,null);class o1 extends k.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,n){return n.location!==t.location||n.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:n.error,location:n.location,revalidation:t.revalidation||n.revalidation}}componentDidCatch(t,n){console.error("React Router caught the following error during render",t,n)}render(){return this.state.error!==void 0?k.createElement(Yn.Provider,{value:this.props.routeContext},k.createElement(ay.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function i1(e){let{routeContext:t,match:n,children:r}=e,o=k.useContext(Ds);return o&&o.static&&o.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(o.staticContext._deepestRenderedBoundaryId=n.route.id),k.createElement(Yn.Provider,{value:t},r)}function a1(e,t,n,r){var o;if(t===void 0&&(t=[]),n===void 0&&(n=null),r===void 0&&(r=null),e==null){var i;if(!n)return null;if(n.errors)e=n.matches;else if((i=r)!=null&&i.v7_partialHydration&&t.length===0&&!n.initialized&&n.matches.length>0)e=n.matches;else return null}let a=e,s=(o=n)==null?void 0:o.errors;if(s!=null){let c=a.findIndex(d=>d.route.id&&s?.[d.route.id]!==void 0);c>=0||oe(!1),a=a.slice(0,Math.min(a.length,c+1))}let l=!1,u=-1;if(n&&r&&r.v7_partialHydration)for(let c=0;c=0?a=a.slice(0,u+1):a=[a[0]];break}}}return a.reduceRight((c,d,p)=>{let f,y=!1,v=null,E=null;n&&(f=s&&d.route.id?s[d.route.id]:void 0,v=d.route.errorElement||r1,l&&(u<0&&p===0?(f1("route-fallback"),y=!0,E=null):u===p&&(y=!0,E=d.route.hydrateFallbackElement||null)));let m=t.concat(a.slice(0,p+1)),h=()=>{let g;return f?g=v:y?g=E:d.route.Component?g=k.createElement(d.route.Component,null):d.route.element?g=d.route.element:g=c,k.createElement(i1,{match:d,routeContext:{outlet:c,matches:m,isDataRoute:n!=null},children:g})};return n&&(d.route.ErrorBoundary||d.route.errorElement||p===0)?k.createElement(o1,{location:n.location,revalidation:n.revalidation,component:v,error:f,children:h(),routeContext:{outlet:null,matches:m,isDataRoute:!0}}):h()},null)}var uy=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(uy||{}),as=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(as||{});function s1(e){let t=k.useContext(Ds);return t||oe(!1),t}function l1(e){let t=k.useContext(iy);return t||oe(!1),t}function u1(e){let t=k.useContext(Yn);return t||oe(!1),t}function cy(e){let t=u1(),n=t.matches[t.matches.length-1];return n.route.id||oe(!1),n.route.id}function c1(){var e;let t=k.useContext(ay),n=l1(as.UseRouteError),r=cy(as.UseRouteError);return t!==void 0?t:(e=n.errors)==null?void 0:e[r]}function d1(){let{router:e}=s1(uy.UseNavigateStable),t=cy(as.UseNavigateStable),n=k.useRef(!1);return sy(()=>{n.current=!0}),k.useCallback(function(o,i){i===void 0&&(i={}),n.current&&(typeof o=="number"?e.navigate(o):e.navigate(o,is({fromRouteId:t},i)))},[e,t])}const If={};function f1(e,t,n){If[e]||(If[e]=!0)}const Uf={};function h1(e,t){Uf[t]||(Uf[t]=!0,console.warn(t))}const Ar=(e,t,n)=>h1(e,"⚠️ React Router Future Flag Warning: "+t+". "+("You can use the `"+e+"` future flag to opt-in early. ")+("For more information, see "+n+"."));function p1(e,t){e?.v7_startTransition===void 0&&Ar("v7_startTransition","React Router will begin wrapping state updates in `React.startTransition` in v7","https://reactrouter.com/v6/upgrading/future#v7_starttransition"),e?.v7_relativeSplatPath===void 0&&(!t||!t.v7_relativeSplatPath)&&Ar("v7_relativeSplatPath","Relative route resolution within Splat routes is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_relativesplatpath"),t&&(t.v7_fetcherPersist===void 0&&Ar("v7_fetcherPersist","The persistence behavior of fetchers is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_fetcherpersist"),t.v7_normalizeFormMethod===void 0&&Ar("v7_normalizeFormMethod","Casing of `formMethod` fields is being normalized to uppercase in v7","https://reactrouter.com/v6/upgrading/future#v7_normalizeformmethod"),t.v7_partialHydration===void 0&&Ar("v7_partialHydration","`RouterProvider` hydration behavior is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_partialhydration"),t.v7_skipActionErrorRevalidation===void 0&&Ar("v7_skipActionErrorRevalidation","The revalidation behavior after 4xx/5xx `action` responses is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_skipactionerrorrevalidation"))}function m1(e){return e1(e.context)}function y1(e){let{basename:t="/",children:n=null,location:r,navigationType:o=Fe.Pop,navigator:i,static:a=!1,future:s}=e;Ai()&&oe(!1);let l=t.replace(/^\/*/,"/"),u=k.useMemo(()=>({basename:l,navigator:i,static:a,future:is({v7_relativeSplatPath:!1},s)}),[l,s,i,a]);typeof r=="string"&&(r=En(r));let{pathname:c="/",search:d="",hash:p="",state:f=null,key:y="default"}=r,v=k.useMemo(()=>{let E=mo(c,l);return E==null?null:{location:{pathname:E,search:d,hash:p,state:f,key:y},navigationType:o}},[l,c,d,p,f,y,o]);return v==null?null:k.createElement(Rr.Provider,{value:u},k.createElement(Jc.Provider,{children:n,value:v}))}new Promise(()=>{});function g1(e){let t={hasErrorBoundary:e.ErrorBoundary!=null||e.errorElement!=null};return e.Component&&Object.assign(t,{element:k.createElement(e.Component),Component:void 0}),e.HydrateFallback&&Object.assign(t,{hydrateFallbackElement:k.createElement(e.HydrateFallback),HydrateFallback:void 0}),e.ErrorBoundary&&Object.assign(t,{errorElement:k.createElement(e.ErrorBoundary),ErrorBoundary:void 0}),t}/** - * React Router DOM v6.28.1 - * - * Copyright (c) Remix Software Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */function _i(){return _i=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&(n[o]=e[o]);return n}function w1(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function S1(e,t){return e.button===0&&(!t||t==="_self")&&!w1(e)}function Du(e){return e===void 0&&(e=""),new URLSearchParams(typeof e=="string"||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,n)=>{let r=e[n];return t.concat(Array.isArray(r)?r.map(o=>[n,o]):[[n,r]])},[]))}function E1(e,t){let n=Du(e);return t&&t.forEach((r,o)=>{n.has(o)||t.getAll(o).forEach(i=>{n.append(o,i)})}),n}const x1=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],_1="6";try{window.__reactRouterVersion=_1}catch{}function C1(e,t){return Nw({basename:void 0,future:_i({},void 0,{v7_prependBasename:!0}),history:tw({window:void 0}),hydrationData:k1(),routes:e,mapRouteProperties:g1,dataStrategy:void 0,patchRoutesOnNavigation:void 0,window:void 0}).initialize()}function k1(){var e;let t=(e=window)==null?void 0:e.__staticRouterHydrationData;return t&&t.errors&&(t=_i({},t,{errors:b1(t.errors)})),t}function b1(e){if(!e)return null;let t=Object.entries(e),n={};for(let[r,o]of t)if(o&&o.__type==="RouteErrorResponse")n[r]=new os(o.status,o.statusText,o.data,o.internal===!0);else if(o&&o.__type==="Error"){if(o.__subType){let i=window[o.__subType];if(typeof i=="function")try{let a=new i(o.message);a.stack="",n[r]=a}catch{}}if(n[r]==null){let i=new Error(o.message);i.stack="",n[r]=i}}else n[r]=o;return n}const R1=k.createContext({isTransitioning:!1}),P1=k.createContext(new Map),T1="startTransition",Bf=Vg[T1],O1="flushSync",$f=ew[O1];function N1(e){Bf?Bf(e):e()}function Io(e){$f?$f(e):e()}class L1{constructor(){this.status="pending",this.promise=new Promise((t,n)=>{this.resolve=r=>{this.status==="pending"&&(this.status="resolved",t(r))},this.reject=r=>{this.status==="pending"&&(this.status="rejected",n(r))}})}}function D1(e){let{fallbackElement:t,router:n,future:r}=e,[o,i]=k.useState(n.state),[a,s]=k.useState(),[l,u]=k.useState({isTransitioning:!1}),[c,d]=k.useState(),[p,f]=k.useState(),[y,v]=k.useState(),E=k.useRef(new Map),{v7_startTransition:m}=r||{},h=k.useCallback(T=>{m?N1(T):T()},[m]),g=k.useCallback((T,A)=>{let{deletedFetchers:z,flushSync:te,viewTransitionOpts:H}=A;z.forEach(le=>E.current.delete(le)),T.fetchers.forEach((le,tt)=>{le.data!==void 0&&E.current.set(tt,le.data)});let pe=n.window==null||n.window.document==null||typeof n.window.document.startViewTransition!="function";if(!H||pe){te?Io(()=>i(T)):h(()=>i(T));return}if(te){Io(()=>{p&&(c&&c.resolve(),p.skipTransition()),u({isTransitioning:!0,flushSync:!0,currentLocation:H.currentLocation,nextLocation:H.nextLocation})});let le=n.window.document.startViewTransition(()=>{Io(()=>i(T))});le.finished.finally(()=>{Io(()=>{d(void 0),f(void 0),s(void 0),u({isTransitioning:!1})})}),Io(()=>f(le));return}p?(c&&c.resolve(),p.skipTransition(),v({state:T,currentLocation:H.currentLocation,nextLocation:H.nextLocation})):(s(T),u({isTransitioning:!0,flushSync:!1,currentLocation:H.currentLocation,nextLocation:H.nextLocation}))},[n.window,p,c,E,h]);k.useLayoutEffect(()=>n.subscribe(g),[n,g]),k.useEffect(()=>{l.isTransitioning&&!l.flushSync&&d(new L1)},[l]),k.useEffect(()=>{if(c&&a&&n.window){let T=a,A=c.promise,z=n.window.document.startViewTransition(async()=>{h(()=>i(T)),await A});z.finished.finally(()=>{d(void 0),f(void 0),s(void 0),u({isTransitioning:!1})}),f(z)}},[h,a,c,n.window]),k.useEffect(()=>{c&&a&&o.location.key===a.location.key&&c.resolve()},[c,p,o.location,a]),k.useEffect(()=>{!l.isTransitioning&&y&&(s(y.state),u({isTransitioning:!0,flushSync:!1,currentLocation:y.currentLocation,nextLocation:y.nextLocation}),v(void 0))},[l.isTransitioning,y]),k.useEffect(()=>{},[]);let x=k.useMemo(()=>({createHref:n.createHref,encodeLocation:n.encodeLocation,go:T=>n.navigate(T),push:(T,A,z)=>n.navigate(T,{state:A,preventScrollReset:z?.preventScrollReset}),replace:(T,A,z)=>n.navigate(T,{replace:!0,state:A,preventScrollReset:z?.preventScrollReset})}),[n]),R=n.basename||"/",w=k.useMemo(()=>({router:n,navigator:x,static:!1,basename:R}),[n,x,R]),P=k.useMemo(()=>({v7_relativeSplatPath:n.future.v7_relativeSplatPath}),[n.future.v7_relativeSplatPath]);return k.useEffect(()=>p1(r,n.future),[r,n.future]),k.createElement(k.Fragment,null,k.createElement(Ds.Provider,{value:w},k.createElement(iy.Provider,{value:o},k.createElement(P1.Provider,{value:E.current},k.createElement(R1.Provider,{value:l},k.createElement(y1,{basename:R,location:o.location,navigationType:o.historyAction,navigator:x,future:P},o.initialized||n.future.v7_partialHydration?k.createElement(M1,{routes:n.routes,future:n.future,state:o}):t))))),null)}const M1=k.memo(A1);function A1(e){let{routes:t,future:n,state:r}=e;return t1(t,void 0,r,n)}const z1=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",j1=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,KC=k.forwardRef(function(t,n){let{onClick:r,relative:o,reloadDocument:i,replace:a,state:s,target:l,to:u,preventScrollReset:c,viewTransition:d}=t,p=v1(t,x1),{basename:f}=k.useContext(Rr),y,v=!1;if(typeof u=="string"&&j1.test(u)&&(y=u,z1))try{let g=new URL(window.location.href),x=u.startsWith("//")?new URL(g.protocol+u):new URL(u),R=mo(x.pathname,f);x.origin===g.origin&&R!=null?u=R+x.search+x.hash:v=!0}catch{}let E=Jw(u,{relative:o}),m=F1(u,{replace:a,state:s,target:l,preventScrollReset:c,relative:o,viewTransition:d});function h(g){r&&r(g),g.defaultPrevented||m(g)}return k.createElement("a",_i({},p,{href:y||E,onClick:v||i?r:h,ref:n,target:l}))});var Hf;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(Hf||(Hf={}));var Vf;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(Vf||(Vf={}));function F1(e,t){let{target:n,replace:r,state:o,preventScrollReset:i,relative:a,viewTransition:s}=t===void 0?{}:t,l=zi(),u=yo(),c=ly(e,{relative:a});return k.useCallback(d=>{if(S1(d,n)){d.preventDefault();let p=r!==void 0?r:Er(u)===Er(c);l(e,{replace:p,state:o,preventScrollReset:i,relative:a,viewTransition:s})}},[u,l,c,r,o,n,e,i,a,s])}function QC(e){let t=k.useRef(Du(e)),n=k.useRef(!1),r=yo(),o=k.useMemo(()=>E1(r.search,n.current?null:t.current),[r.search]),i=zi(),a=k.useCallback((s,l)=>{const u=Du(typeof s=="function"?s(o):s);n.current=!0,i("?"+u,l)},[i,o]);return[o,a]}const I1={theme:"system",setTheme:()=>null},dy=k.createContext(I1);function U1({children:e,defaultTheme:t="system",storageKey:n="vite-ui-theme",...r}){const[o,i]=k.useState(()=>localStorage.getItem(n)||t);k.useEffect(()=>{const s=window.document.documentElement;if(s.classList.remove("light","dark"),o==="system"){const l=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";s.classList.add(l);return}s.classList.add(o)},[o]);const a={theme:o,setTheme:s=>{localStorage.setItem(n,s),i(s)}};return Q.jsx(dy.Provider,{...r,value:a,children:e})}const qC=()=>{const e=k.useContext(dy);if(e===void 0)throw new Error("useTheme must be used within a ThemeProvider");return e};var fy={exports:{}},hy={};/** - * @license React - * use-sync-external-store-with-selector.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var ji=k;function B1(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var $1=typeof Object.is=="function"?Object.is:B1,H1=ji.useSyncExternalStore,V1=ji.useRef,W1=ji.useEffect,K1=ji.useMemo,Q1=ji.useDebugValue;hy.useSyncExternalStoreWithSelector=function(e,t,n,r,o){var i=V1(null);if(i.current===null){var a={hasValue:!1,value:null};i.current=a}else a=i.current;i=K1(function(){function l(f){if(!u){if(u=!0,c=f,f=r(f),o!==void 0&&a.hasValue){var y=a.value;if(o(y,f))return d=y}return d=f}if(y=d,$1(c,f))return y;var v=r(f);return o!==void 0&&o(y,v)?(c=f,y):(c=f,d=v)}var u=!1,c,d,p=n===void 0?null:n;return[function(){return l(t())},p===null?void 0:function(){return l(p())}]},[t,n,r,o]);var s=H1(e,i[0],i[1]);return W1(function(){a.hasValue=!0,a.value=s},[s]),Q1(s),s};fy.exports=hy;var q1=fy.exports;function G1(e){e()}function Y1(){let e=null,t=null;return{clear(){e=null,t=null},notify(){G1(()=>{let n=e;for(;n;)n.callback(),n=n.next})},get(){const n=[];let r=e;for(;r;)n.push(r),r=r.next;return n},subscribe(n){let r=!0;const o=t={callback:n,next:null,prev:t};return o.prev?o.prev.next=o:e=o,function(){!r||e===null||(r=!1,o.next?o.next.prev=o.prev:t=o.prev,o.prev?o.prev.next=o.next:e=o.next)}}}}var Wf={notify(){},get:()=>[]};function J1(e,t){let n,r=Wf,o=0,i=!1;function a(v){c();const E=r.subscribe(v);let m=!1;return()=>{m||(m=!0,E(),d())}}function s(){r.notify()}function l(){y.onStateChange&&y.onStateChange()}function u(){return i}function c(){o++,n||(n=e.subscribe(l),r=Y1())}function d(){o--,n&&o===0&&(n(),n=void 0,r.clear(),r=Wf)}function p(){i||(i=!0,c())}function f(){i&&(i=!1,d())}const y={addNestedSub:a,notifyNestedSubs:s,handleChangeWrapper:l,isSubscribed:u,trySubscribe:p,tryUnsubscribe:f,getListeners:()=>r};return y}var X1=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",Z1=X1(),eS=()=>typeof navigator<"u"&&navigator.product==="ReactNative",tS=eS(),nS=()=>Z1||tS?k.useLayoutEffect:k.useEffect,rS=nS(),oS=Symbol.for("react-redux-context"),iS=typeof globalThis<"u"?globalThis:{};function aS(){if(!k.createContext)return{};const e=iS[oS]??=new Map;let t=e.get(k.createContext);return t||(t=k.createContext(null),e.set(k.createContext,t)),t}var Kn=aS();function sS(e){const{children:t,context:n,serverState:r,store:o}=e,i=k.useMemo(()=>{const l=J1(o);return{store:o,subscription:l,getServerState:r?()=>r:void 0}},[o,r]),a=k.useMemo(()=>o.getState(),[o]);rS(()=>{const{subscription:l}=i;return l.onStateChange=l.notifyNestedSubs,l.trySubscribe(),a!==o.getState()&&l.notifyNestedSubs(),()=>{l.tryUnsubscribe(),l.onStateChange=void 0}},[i,a]);const s=n||Kn;return k.createElement(s.Provider,{value:i},t)}var lS=sS;function Xc(e=Kn){return function(){return k.useContext(e)}}var py=Xc();function my(e=Kn){const t=e===Kn?py:Xc(e),n=()=>{const{store:r}=t();return r};return Object.assign(n,{withTypes:()=>n}),n}var uS=my();function cS(e=Kn){const t=e===Kn?uS:my(e),n=()=>t().dispatch;return Object.assign(n,{withTypes:()=>n}),n}var GC=cS(),dS=(e,t)=>e===t;function fS(e=Kn){const t=e===Kn?py:Xc(e),n=(r,o={})=>{const{equalityFn:i=dS}=typeof o=="function"?{equalityFn:o}:o,a=t(),{store:s,subscription:l,getServerState:u}=a;k.useRef(!0);const c=k.useCallback({[r.name](p){return r(p)}}[r.name],[r]),d=q1.useSyncExternalStoreWithSelector(l.addNestedSub,s.getState,u||s.getState,c,i);return k.useDebugValue(d),d};return Object.assign(n,{withTypes:()=>n}),n}var YC=fS();const hS=function(){const t=typeof document<"u"&&document.createElement("link").relList;return t&&t.supports&&t.supports("modulepreload")?"modulepreload":"preload"}(),pS=function(e,t){return new URL(e,t).href},Kf={},Se=function(t,n,r){let o=Promise.resolve();if(n&&n.length>0){const a=document.getElementsByTagName("link"),s=document.querySelector("meta[property=csp-nonce]"),l=s?.nonce||s?.getAttribute("nonce");o=Promise.allSettled(n.map(u=>{if(u=pS(u,r),u in Kf)return;Kf[u]=!0;const c=u.endsWith(".css"),d=c?'[rel="stylesheet"]':"";if(!!r)for(let y=a.length-1;y>=0;y--){const v=a[y];if(v.href===u&&(!c||v.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${u}"]${d}`))return;const f=document.createElement("link");if(f.rel=c?"stylesheet":hS,c||(f.as="script"),f.crossOrigin="",f.href=u,l&&f.setAttribute("nonce",l),document.head.appendChild(f),c)return new Promise((y,v)=>{f.addEventListener("load",y),f.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${u}`)))})}))}function i(a){const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=a,window.dispatchEvent(s),!s.defaultPrevented)throw a}return o.then(a=>{for(const s of a||[])s.status==="rejected"&&i(s.reason);return t().catch(i)})};function Qf(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function yy(...e){return t=>{let n=!1;const r=e.map(o=>{const i=Qf(o,t);return!n&&typeof i=="function"&&(n=!0),i});if(n)return()=>{for(let o=0;o{const{children:n,...r}=e,o=k.Children.toArray(n),i=o.find(yS);if(i){const a=i.props.children,s=o.map(l=>l===i?k.Children.count(a)>1?k.Children.only(null):k.isValidElement(a)?a.props.children:null:l);return Q.jsx(Mu,{...r,ref:t,children:k.isValidElement(a)?k.cloneElement(a,void 0,s):null})}return Q.jsx(Mu,{...r,ref:t,children:n})});gy.displayName="Slot";var Mu=k.forwardRef((e,t)=>{const{children:n,...r}=e;if(k.isValidElement(n)){const o=vS(n);return k.cloneElement(n,{...gS(r,n.props),ref:t?yy(t,o):o})}return k.Children.count(n)>1?k.Children.only(null):null});Mu.displayName="SlotClone";var mS=({children:e})=>Q.jsx(Q.Fragment,{children:e});function yS(e){return k.isValidElement(e)&&e.type===mS}function gS(e,t){const n={...t};for(const r in t){const o=e[r],i=t[r];/^on[A-Z]/.test(r)?o&&i?n[r]=(...s)=>{i(...s),o(...s)}:o&&(n[r]=o):r==="style"?n[r]={...o,...i}:r==="className"&&(n[r]=[o,i].filter(Boolean).join(" "))}return{...e,...n}}function vS(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function vy(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;ttypeof e=="boolean"?`${e}`:e===0?"0":e,Gf=wy,wS=(e,t)=>n=>{var r;if(t?.variants==null)return Gf(e,n?.class,n?.className);const{variants:o,defaultVariants:i}=t,a=Object.keys(o).map(u=>{const c=n?.[u],d=i?.[u];if(c===null)return null;const p=qf(c)||qf(d);return o[u][p]}),s=n&&Object.entries(n).reduce((u,c)=>{let[d,p]=c;return p===void 0||(u[d]=p),u},{}),l=t==null||(r=t.compoundVariants)===null||r===void 0?void 0:r.reduce((u,c)=>{let{class:d,className:p,...f}=c;return Object.entries(f).every(y=>{let[v,E]=y;return Array.isArray(E)?E.includes({...i,...s}[v]):{...i,...s}[v]===E})?[...u,d,p]:u},[]);return Gf(e,a,l,n?.class,n?.className)},Zc="-",SS=e=>{const t=xS(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:a=>{const s=a.split(Zc);return s[0]===""&&s.length!==1&&s.shift(),Sy(s,t)||ES(a)},getConflictingClassGroupIds:(a,s)=>{const l=n[a]||[];return s&&r[a]?[...l,...r[a]]:l}}},Sy=(e,t)=>{if(e.length===0)return t.classGroupId;const n=e[0],r=t.nextPart.get(n),o=r?Sy(e.slice(1),r):void 0;if(o)return o;if(t.validators.length===0)return;const i=e.join(Zc);return t.validators.find(({validator:a})=>a(i))?.classGroupId},Yf=/^\[(.+)\]$/,ES=e=>{if(Yf.test(e)){const t=Yf.exec(e)[1],n=t?.substring(0,t.indexOf(":"));if(n)return"arbitrary.."+n}},xS=e=>{const{theme:t,prefix:n}=e,r={nextPart:new Map,validators:[]};return CS(Object.entries(e.classGroups),n).forEach(([i,a])=>{Au(a,r,i,t)}),r},Au=(e,t,n,r)=>{e.forEach(o=>{if(typeof o=="string"){const i=o===""?t:Jf(t,o);i.classGroupId=n;return}if(typeof o=="function"){if(_S(o)){Au(o(r),t,n,r);return}t.validators.push({validator:o,classGroupId:n});return}Object.entries(o).forEach(([i,a])=>{Au(a,Jf(t,i),n,r)})})},Jf=(e,t)=>{let n=e;return t.split(Zc).forEach(r=>{n.nextPart.has(r)||n.nextPart.set(r,{nextPart:new Map,validators:[]}),n=n.nextPart.get(r)}),n},_S=e=>e.isThemeGetter,CS=(e,t)=>t?e.map(([n,r])=>{const o=r.map(i=>typeof i=="string"?t+i:typeof i=="object"?Object.fromEntries(Object.entries(i).map(([a,s])=>[t+a,s])):i);return[n,o]}):e,kS=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=new Map,r=new Map;const o=(i,a)=>{n.set(i,a),t++,t>e&&(t=0,r=n,n=new Map)};return{get(i){let a=n.get(i);if(a!==void 0)return a;if((a=r.get(i))!==void 0)return o(i,a),a},set(i,a){n.has(i)?n.set(i,a):o(i,a)}}},Ey="!",bS=e=>{const{separator:t,experimentalParseClassName:n}=e,r=t.length===1,o=t[0],i=t.length,a=s=>{const l=[];let u=0,c=0,d;for(let E=0;Ec?d-c:void 0;return{modifiers:l,hasImportantModifier:f,baseClassName:y,maybePostfixModifierPosition:v}};return n?s=>n({className:s,parseClassName:a}):a},RS=e=>{if(e.length<=1)return e;const t=[];let n=[];return e.forEach(r=>{r[0]==="["?(t.push(...n.sort(),r),n=[]):n.push(r)}),t.push(...n.sort()),t},PS=e=>({cache:kS(e.cacheSize),parseClassName:bS(e),...SS(e)}),TS=/\s+/,OS=(e,t)=>{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:o}=t,i=[],a=e.trim().split(TS);let s="";for(let l=a.length-1;l>=0;l-=1){const u=a[l],{modifiers:c,hasImportantModifier:d,baseClassName:p,maybePostfixModifierPosition:f}=n(u);let y=!!f,v=r(y?p.substring(0,f):p);if(!v){if(!y){s=u+(s.length>0?" "+s:s);continue}if(v=r(p),!v){s=u+(s.length>0?" "+s:s);continue}y=!1}const E=RS(c).join(":"),m=d?E+Ey:E,h=m+v;if(i.includes(h))continue;i.push(h);const g=o(v,y);for(let x=0;x0?" "+s:s)}return s};function NS(){let e=0,t,n,r="";for(;e{if(typeof e=="string")return e;let t,n="";for(let r=0;rd(c),e());return n=PS(u),r=n.cache.get,o=n.cache.set,i=s,s(l)}function s(l){const u=r(l);if(u)return u;const c=OS(l,n);return o(l,c),c}return function(){return i(NS.apply(null,arguments))}}const Ee=e=>{const t=n=>n[e]||[];return t.isThemeGetter=!0,t},_y=/^\[(?:([a-z-]+):)?(.+)\]$/i,DS=/^\d+\/\d+$/,MS=new Set(["px","full","screen"]),AS=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,zS=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,jS=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,FS=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,IS=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,sn=e=>to(e)||MS.has(e)||DS.test(e),bn=e=>go(e,"length",QS),to=e=>!!e&&!Number.isNaN(Number(e)),bl=e=>go(e,"number",to),Uo=e=>!!e&&Number.isInteger(Number(e)),US=e=>e.endsWith("%")&&to(e.slice(0,-1)),ee=e=>_y.test(e),Rn=e=>AS.test(e),BS=new Set(["length","size","percentage"]),$S=e=>go(e,BS,Cy),HS=e=>go(e,"position",Cy),VS=new Set(["image","url"]),WS=e=>go(e,VS,GS),KS=e=>go(e,"",qS),Bo=()=>!0,go=(e,t,n)=>{const r=_y.exec(e);return r?r[1]?typeof t=="string"?r[1]===t:t.has(r[1]):n(r[2]):!1},QS=e=>zS.test(e)&&!jS.test(e),Cy=()=>!1,qS=e=>FS.test(e),GS=e=>IS.test(e),YS=()=>{const e=Ee("colors"),t=Ee("spacing"),n=Ee("blur"),r=Ee("brightness"),o=Ee("borderColor"),i=Ee("borderRadius"),a=Ee("borderSpacing"),s=Ee("borderWidth"),l=Ee("contrast"),u=Ee("grayscale"),c=Ee("hueRotate"),d=Ee("invert"),p=Ee("gap"),f=Ee("gradientColorStops"),y=Ee("gradientColorStopPositions"),v=Ee("inset"),E=Ee("margin"),m=Ee("opacity"),h=Ee("padding"),g=Ee("saturate"),x=Ee("scale"),R=Ee("sepia"),w=Ee("skew"),P=Ee("space"),T=Ee("translate"),A=()=>["auto","contain","none"],z=()=>["auto","hidden","clip","visible","scroll"],te=()=>["auto",ee,t],H=()=>[ee,t],pe=()=>["",sn,bn],le=()=>["auto",to,ee],tt=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],De=()=>["solid","dashed","dotted","double","none"],ie=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],D=()=>["start","end","center","between","around","evenly","stretch"],L=()=>["","0",ee],B=()=>["auto","avoid","all","avoid-page","page","left","right","column"],G=()=>[to,ee];return{cacheSize:500,separator:":",theme:{colors:[Bo],spacing:[sn,bn],blur:["none","",Rn,ee],brightness:G(),borderColor:[e],borderRadius:["none","","full",Rn,ee],borderSpacing:H(),borderWidth:pe(),contrast:G(),grayscale:L(),hueRotate:G(),invert:L(),gap:H(),gradientColorStops:[e],gradientColorStopPositions:[US,bn],inset:te(),margin:te(),opacity:G(),padding:H(),saturate:G(),scale:G(),sepia:L(),skew:G(),space:H(),translate:H()},classGroups:{aspect:[{aspect:["auto","square","video",ee]}],container:["container"],columns:[{columns:[Rn]}],"break-after":[{"break-after":B()}],"break-before":[{"break-before":B()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...tt(),ee]}],overflow:[{overflow:z()}],"overflow-x":[{"overflow-x":z()}],"overflow-y":[{"overflow-y":z()}],overscroll:[{overscroll:A()}],"overscroll-x":[{"overscroll-x":A()}],"overscroll-y":[{"overscroll-y":A()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[v]}],"inset-x":[{"inset-x":[v]}],"inset-y":[{"inset-y":[v]}],start:[{start:[v]}],end:[{end:[v]}],top:[{top:[v]}],right:[{right:[v]}],bottom:[{bottom:[v]}],left:[{left:[v]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",Uo,ee]}],basis:[{basis:te()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",ee]}],grow:[{grow:L()}],shrink:[{shrink:L()}],order:[{order:["first","last","none",Uo,ee]}],"grid-cols":[{"grid-cols":[Bo]}],"col-start-end":[{col:["auto",{span:["full",Uo,ee]},ee]}],"col-start":[{"col-start":le()}],"col-end":[{"col-end":le()}],"grid-rows":[{"grid-rows":[Bo]}],"row-start-end":[{row:["auto",{span:[Uo,ee]},ee]}],"row-start":[{"row-start":le()}],"row-end":[{"row-end":le()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",ee]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",ee]}],gap:[{gap:[p]}],"gap-x":[{"gap-x":[p]}],"gap-y":[{"gap-y":[p]}],"justify-content":[{justify:["normal",...D()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...D(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...D(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[h]}],px:[{px:[h]}],py:[{py:[h]}],ps:[{ps:[h]}],pe:[{pe:[h]}],pt:[{pt:[h]}],pr:[{pr:[h]}],pb:[{pb:[h]}],pl:[{pl:[h]}],m:[{m:[E]}],mx:[{mx:[E]}],my:[{my:[E]}],ms:[{ms:[E]}],me:[{me:[E]}],mt:[{mt:[E]}],mr:[{mr:[E]}],mb:[{mb:[E]}],ml:[{ml:[E]}],"space-x":[{"space-x":[P]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[P]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",ee,t]}],"min-w":[{"min-w":[ee,t,"min","max","fit"]}],"max-w":[{"max-w":[ee,t,"none","full","min","max","fit","prose",{screen:[Rn]},Rn]}],h:[{h:[ee,t,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[ee,t,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[ee,t,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[ee,t,"auto","min","max","fit"]}],"font-size":[{text:["base",Rn,bn]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",bl]}],"font-family":[{font:[Bo]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",ee]}],"line-clamp":[{"line-clamp":["none",to,bl]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",sn,ee]}],"list-image":[{"list-image":["none",ee]}],"list-style-type":[{list:["none","disc","decimal",ee]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[m]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[m]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...De(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",sn,bn]}],"underline-offset":[{"underline-offset":["auto",sn,ee]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:H()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",ee]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",ee]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[m]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...tt(),HS]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",$S]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},WS]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[y]}],"gradient-via-pos":[{via:[y]}],"gradient-to-pos":[{to:[y]}],"gradient-from":[{from:[f]}],"gradient-via":[{via:[f]}],"gradient-to":[{to:[f]}],rounded:[{rounded:[i]}],"rounded-s":[{"rounded-s":[i]}],"rounded-e":[{"rounded-e":[i]}],"rounded-t":[{"rounded-t":[i]}],"rounded-r":[{"rounded-r":[i]}],"rounded-b":[{"rounded-b":[i]}],"rounded-l":[{"rounded-l":[i]}],"rounded-ss":[{"rounded-ss":[i]}],"rounded-se":[{"rounded-se":[i]}],"rounded-ee":[{"rounded-ee":[i]}],"rounded-es":[{"rounded-es":[i]}],"rounded-tl":[{"rounded-tl":[i]}],"rounded-tr":[{"rounded-tr":[i]}],"rounded-br":[{"rounded-br":[i]}],"rounded-bl":[{"rounded-bl":[i]}],"border-w":[{border:[s]}],"border-w-x":[{"border-x":[s]}],"border-w-y":[{"border-y":[s]}],"border-w-s":[{"border-s":[s]}],"border-w-e":[{"border-e":[s]}],"border-w-t":[{"border-t":[s]}],"border-w-r":[{"border-r":[s]}],"border-w-b":[{"border-b":[s]}],"border-w-l":[{"border-l":[s]}],"border-opacity":[{"border-opacity":[m]}],"border-style":[{border:[...De(),"hidden"]}],"divide-x":[{"divide-x":[s]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[s]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[m]}],"divide-style":[{divide:De()}],"border-color":[{border:[o]}],"border-color-x":[{"border-x":[o]}],"border-color-y":[{"border-y":[o]}],"border-color-s":[{"border-s":[o]}],"border-color-e":[{"border-e":[o]}],"border-color-t":[{"border-t":[o]}],"border-color-r":[{"border-r":[o]}],"border-color-b":[{"border-b":[o]}],"border-color-l":[{"border-l":[o]}],"divide-color":[{divide:[o]}],"outline-style":[{outline:["",...De()]}],"outline-offset":[{"outline-offset":[sn,ee]}],"outline-w":[{outline:[sn,bn]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:pe()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[m]}],"ring-offset-w":[{"ring-offset":[sn,bn]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",Rn,KS]}],"shadow-color":[{shadow:[Bo]}],opacity:[{opacity:[m]}],"mix-blend":[{"mix-blend":[...ie(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":ie()}],filter:[{filter:["","none"]}],blur:[{blur:[n]}],brightness:[{brightness:[r]}],contrast:[{contrast:[l]}],"drop-shadow":[{"drop-shadow":["","none",Rn,ee]}],grayscale:[{grayscale:[u]}],"hue-rotate":[{"hue-rotate":[c]}],invert:[{invert:[d]}],saturate:[{saturate:[g]}],sepia:[{sepia:[R]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[n]}],"backdrop-brightness":[{"backdrop-brightness":[r]}],"backdrop-contrast":[{"backdrop-contrast":[l]}],"backdrop-grayscale":[{"backdrop-grayscale":[u]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[c]}],"backdrop-invert":[{"backdrop-invert":[d]}],"backdrop-opacity":[{"backdrop-opacity":[m]}],"backdrop-saturate":[{"backdrop-saturate":[g]}],"backdrop-sepia":[{"backdrop-sepia":[R]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[a]}],"border-spacing-x":[{"border-spacing-x":[a]}],"border-spacing-y":[{"border-spacing-y":[a]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",ee]}],duration:[{duration:G()}],ease:[{ease:["linear","in","out","in-out",ee]}],delay:[{delay:G()}],animate:[{animate:["none","spin","ping","pulse","bounce",ee]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[x]}],"scale-x":[{"scale-x":[x]}],"scale-y":[{"scale-y":[x]}],rotate:[{rotate:[Uo,ee]}],"translate-x":[{"translate-x":[T]}],"translate-y":[{"translate-y":[T]}],"skew-x":[{"skew-x":[w]}],"skew-y":[{"skew-y":[w]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",ee]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",ee]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":H()}],"scroll-mx":[{"scroll-mx":H()}],"scroll-my":[{"scroll-my":H()}],"scroll-ms":[{"scroll-ms":H()}],"scroll-me":[{"scroll-me":H()}],"scroll-mt":[{"scroll-mt":H()}],"scroll-mr":[{"scroll-mr":H()}],"scroll-mb":[{"scroll-mb":H()}],"scroll-ml":[{"scroll-ml":H()}],"scroll-p":[{"scroll-p":H()}],"scroll-px":[{"scroll-px":H()}],"scroll-py":[{"scroll-py":H()}],"scroll-ps":[{"scroll-ps":H()}],"scroll-pe":[{"scroll-pe":H()}],"scroll-pt":[{"scroll-pt":H()}],"scroll-pr":[{"scroll-pr":H()}],"scroll-pb":[{"scroll-pb":H()}],"scroll-pl":[{"scroll-pl":H()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",ee]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[sn,bn,bl]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},JS=LS(YS);function ky(...e){return JS(wy(e))}var by={exports:{}},XS="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",ZS=XS,eE=ZS;function Ry(){}function Py(){}Py.resetWarningCache=Ry;var tE=function(){function e(r,o,i,a,s,l){if(l!==eE){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}e.isRequired=e;function t(){return e}var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:Py,resetWarningCache:Ry};return n.PropTypes=n,n};by.exports=tE();var nE=by.exports;const tr=Yu(nE);var rE={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"},oE=Object.defineProperty,iE=Object.defineProperties,aE=Object.getOwnPropertyDescriptors,ss=Object.getOwnPropertySymbols,Ty=Object.prototype.hasOwnProperty,Oy=Object.prototype.propertyIsEnumerable,Xf=(e,t,n)=>t in e?oE(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Zf=(e,t)=>{for(var n in t||(t={}))Ty.call(t,n)&&Xf(e,n,t[n]);if(ss)for(var n of ss(t))Oy.call(t,n)&&Xf(e,n,t[n]);return e},sE=(e,t)=>iE(e,aE(t)),lE=(e,t)=>{var n={};for(var r in e)Ty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&ss)for(var r of ss(e))t.indexOf(r)<0&&Oy.call(e,r)&&(n[r]=e[r]);return n},uE=(e,t,n)=>{const r=k.forwardRef((o,i)=>{var a=o,{color:s="currentColor",size:l=24,stroke:u=2,children:c}=a,d=lE(a,["color","size","stroke","children"]);return k.createElement("svg",Zf(sE(Zf({ref:i},rE),{width:l,height:l,stroke:s,strokeWidth:u,className:`tabler-icon tabler-icon-${e}`}),d),[...n.map(([p,f])=>k.createElement(p,f)),...c||[]])});return r.propTypes={color:tr.string,size:tr.oneOfType([tr.string,tr.number]),stroke:tr.oneOfType([tr.string,tr.number])},r.displayName=`${t}`,r},eh=uE("loader-2","IconLoader2",[["path",{d:"M12 3a9 9 0 1 0 9 9",key:"svg-0"}]]);const cE=wS("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),uo=k.forwardRef(({className:e,variant:t,size:n,asChild:r=!1,children:o,disabled:i,loading:a=!1,leftSection:s,rightSection:l,...u},c)=>{const d=r?gy:"button";return Q.jsxs(d,{className:ky(cE({variant:t,size:n,className:e})),disabled:a||i,ref:c,...u,children:[(s&&a||!s&&!l&&a)&&Q.jsx(eh,{className:"mr-2 h-4 w-4 animate-spin"}),!a&&s&&Q.jsx("div",{className:"mr-2",children:s}),o,!a&&l&&Q.jsx("div",{className:"ml-2",children:l}),l&&a&&Q.jsx(eh,{className:"ml-2 h-4 w-4 animate-spin"})]})});uo.displayName="Button";function zr({className:e,minimal:t=!1}){const n=zi();return Q.jsx("div",{className:ky("h-svh w-full",e),children:Q.jsxs("div",{className:"m-auto flex h-full w-full flex-col items-center justify-center gap-2",children:[!t&&Q.jsx("h1",{className:"text-[7rem] font-bold leading-tight",children:"500"}),Q.jsxs("span",{className:"font-medium",children:["Oops! Something went wrong ",":')"]}),Q.jsxs("p",{className:"text-center text-muted-foreground",children:["We apologize for the inconvenience. ",Q.jsx("br",{})," Please try again later."]}),!t&&Q.jsxs("div",{className:"mt-6 flex gap-4",children:[Q.jsx(uo,{variant:"outline",onClick:()=>n(-1),children:"Go Back"}),Q.jsx(uo,{onClick:()=>n("/"),children:"Back to Home"})]})]})})}function th(){const e=zi();return Q.jsx("div",{className:"h-svh",children:Q.jsxs("div",{className:"m-auto flex h-full w-full flex-col items-center justify-center gap-2",children:[Q.jsx("h1",{className:"text-[7rem] font-bold leading-tight",children:"404"}),Q.jsx("span",{className:"font-medium",children:"Oops! Page Not Found!"}),Q.jsxs("p",{className:"text-center text-muted-foreground",children:["It seems like the page you're looking for ",Q.jsx("br",{}),"does not exist or might have been removed."]}),Q.jsxs("div",{className:"mt-6 flex gap-4",children:[Q.jsx(uo,{variant:"outline",onClick:()=>e(-1),children:"Go Back"}),Q.jsx(uo,{onClick:()=>e("/"),children:"Back to Home"})]})]})})}function dE(){return Q.jsx("div",{className:"h-svh",children:Q.jsxs("div",{className:"m-auto flex h-full w-full flex-col items-center justify-center gap-2",children:[Q.jsx("h1",{className:"text-[7rem] font-bold leading-tight",children:"503"}),Q.jsx("span",{className:"font-medium",children:"Website is under maintenance!"}),Q.jsxs("p",{className:"text-center text-muted-foreground",children:["The site is not available at the moment. ",Q.jsx("br",{}),"We'll be back online shortly."]}),Q.jsx("div",{className:"mt-6 flex gap-4",children:Q.jsx(uo,{variant:"outline",children:"Learn more"})})]})})}function fE(e){return typeof e>"u"}function hE(e){return e===null}function pE(e){return hE(e)||fE(e)}class mE{storage;prefixKey;constructor(t){this.storage=t.storage,this.prefixKey=t.prefixKey}getKey(t){return`${this.prefixKey}${t}`.toUpperCase()}set(t,n,r=null){const o=JSON.stringify({value:n,time:Date.now(),expire:r!==null?new Date().getTime()+r*1e3:null});this.storage.setItem(this.getKey(t),o)}get(t,n=null){const r=this.storage.getItem(this.getKey(t));if(!r)return{value:n,time:0};try{const o=JSON.parse(r),{value:i,time:a,expire:s}=o;return pE(s)||s>new Date().getTime()?{value:i,time:a}:(this.remove(t),{value:n,time:0})}catch{return this.remove(t),{value:n,time:0}}}remove(t){this.storage.removeItem(this.getKey(t))}clear(){this.storage.clear()}}function Ny({prefixKey:e="",storage:t=sessionStorage}){return new mE({prefixKey:e,storage:t})}const Ly="Xboard_",yE=function(e={}){return Ny({prefixKey:e.prefixKey||"",storage:localStorage})},gE=function(e={}){return Ny({prefixKey:e.prefixKey||"",storage:sessionStorage})},ed=yE({prefixKey:Ly});gE({prefixKey:Ly});const Dy="access_token";function Ci(){return ed.get(Dy)}function vE(){ed.remove(Dy)}const nh=["/sign-in","/sign-in-2","/sign-up","/forgot-password","/otp"];function wE({children:e}){const t=zi(),n=yo(),r=Ci();return k.useEffect(()=>{if(!r.value&&!nh.includes(n.pathname)){const o=encodeURIComponent(n.pathname+n.search);t(`/sign-in?redirect=${o}`)}},[r.value,n.pathname,n.search,t]),nh.includes(n.pathname)||r.value?Q.jsx(Q.Fragment,{children:e}):null}const SE=()=>Q.jsx(wE,{children:Q.jsx(m1,{})}),EE=C1([{path:"/sign-in",lazy:async()=>({Component:(await Se(async()=>{const{default:e}=await import("./sign-in-DJHLiVL6.js");return{default:e}},[],import.meta.url)).default})},{element:Q.jsx(SE,{}),children:[{path:"/",lazy:async()=>({Component:(await Se(()=>import("./app-shell-CINPKVoW.js"),[],import.meta.url)).default}),errorElement:Q.jsx(zr,{}),children:[{index:!0,lazy:async()=>({Component:(await Se(async()=>{const{default:e}=await import("./index-TIQgQp7L.js");return{default:e}},[],import.meta.url)).default})},{path:"config",errorElement:Q.jsx(zr,{}),children:[{path:"system",lazy:async()=>({Component:(await Se(async()=>{const{default:e}=await import("./index-CsxGdFlS.js");return{default:e}},[],import.meta.url)).default}),children:[{index:!0,lazy:async()=>({Component:(await Se(async()=>{const{default:e}=await import("./index-IxRe6IB9.js");return{default:e}},[],import.meta.url)).default})},{path:"safe",lazy:async()=>({Component:(await Se(async()=>{const{default:e}=await import("./index-D_8p0AJl.js");return{default:e}},[],import.meta.url)).default})},{path:"subscribe",lazy:async()=>({Component:(await Se(async()=>{const{default:e}=await import("./index-QF_gJkJl.js");return{default:e}},[],import.meta.url)).default})},{path:"invite",lazy:async()=>({Component:(await Se(async()=>{const{default:e}=await import("./index-CQJqQLCA.js");return{default:e}},[],import.meta.url)).default})},{path:"frontend",lazy:async()=>({Component:(await Se(async()=>{const{default:e}=await import("./index-B9eVLmYe.js");return{default:e}},[],import.meta.url)).default})},{path:"server",lazy:async()=>({Component:(await Se(async()=>{const{default:e}=await import("./index-BMiR-nIG.js");return{default:e}},[],import.meta.url)).default})},{path:"email",lazy:async()=>({Component:(await Se(async()=>{const{default:e}=await import("./index-fOI7O5AQ.js");return{default:e}},[],import.meta.url)).default})},{path:"telegram",lazy:async()=>({Component:(await Se(async()=>{const{default:e}=await import("./index-9xzCiS16.js");return{default:e}},[],import.meta.url)).default})},{path:"APP",lazy:async()=>({Component:(await Se(async()=>{const{default:e}=await import("./index-BN0i323x.js");return{default:e}},[],import.meta.url)).default})}]},{path:"payment",lazy:async()=>({Component:(await Se(async()=>{const{default:e}=await import("./index-UwdRPRfz.js");return{default:e}},[],import.meta.url)).default})},{path:"theme",lazy:async()=>({Component:(await Se(async()=>{const{default:e}=await import("./index-dMq6aGlM.js");return{default:e}},[],import.meta.url)).default})},{path:"notice",lazy:async()=>({Component:(await Se(async()=>{const{default:e}=await import("./index-BQDG5Lg3.js");return{default:e}},[],import.meta.url)).default})},{path:"knowledge",lazy:async()=>({Component:(await Se(async()=>{const{default:e}=await import("./index-DEmkjojo.js");return{default:e}},__vite__mapDeps([0]),import.meta.url)).default})}]},{path:"server",errorElement:Q.jsx(zr,{}),children:[{path:"manage",lazy:async()=>({Component:(await Se(async()=>{const{default:e}=await import("./index-D9tddXib.js");return{default:e}},[],import.meta.url)).default})},{path:"group",lazy:async()=>({Component:(await Se(async()=>{const{default:e}=await import("./index-Ch72jsGA.js");return{default:e}},[],import.meta.url)).default})},{path:"route",lazy:async()=>({Component:(await Se(async()=>{const{default:e}=await import("./index-CBDBNBFK.js");return{default:e}},[],import.meta.url)).default})}]},{path:"finance",errorElement:Q.jsx(zr,{}),children:[{path:"plan",lazy:async()=>({Component:(await Se(async()=>{const{default:e}=await import("./index-Cs3Zo7LL.js");return{default:e}},__vite__mapDeps([0]),import.meta.url)).default})},{path:"order",lazy:async()=>({Component:(await Se(async()=>{const{default:e}=await import("./index-CbgZ-8or.js");return{default:e}},[],import.meta.url)).default})},{path:"coupon",lazy:async()=>({Component:(await Se(async()=>{const{default:e}=await import("./index-CW6yiqe3.js");return{default:e}},[],import.meta.url)).default})}]},{path:"user",errorElement:Q.jsx(zr,{}),children:[{path:"manage",lazy:async()=>({Component:(await Se(async()=>{const{default:e}=await import("./index-C2oLNIXb.js");return{default:e}},[],import.meta.url)).default})},{path:"ticket",lazy:async()=>({Component:(await Se(async()=>{const{default:e}=await import("./index-CcbTaQp-.js");return{default:e}},[],import.meta.url)).default})}]}]}]},{path:"/500",Component:zr},{path:"/404",Component:th},{path:"/503",Component:dE},{path:"*",Component:th}]);function Ke(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var xE=typeof Symbol=="function"&&Symbol.observable||"@@observable",rh=xE,Rl=()=>Math.random().toString(36).substring(7).split("").join("."),_E={INIT:`@@redux/INIT${Rl()}`,REPLACE:`@@redux/REPLACE${Rl()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${Rl()}`},ls=_E;function td(e){if(typeof e!="object"||e===null)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function My(e,t,n){if(typeof e!="function")throw new Error(Ke(2));if(typeof t=="function"&&typeof n=="function"||typeof n=="function"&&typeof arguments[3]=="function")throw new Error(Ke(0));if(typeof t=="function"&&typeof n>"u"&&(n=t,t=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(Ke(1));return n(My)(e,t)}let r=e,o=t,i=new Map,a=i,s=0,l=!1;function u(){a===i&&(a=new Map,i.forEach((E,m)=>{a.set(m,E)}))}function c(){if(l)throw new Error(Ke(3));return o}function d(E){if(typeof E!="function")throw new Error(Ke(4));if(l)throw new Error(Ke(5));let m=!0;u();const h=s++;return a.set(h,E),function(){if(m){if(l)throw new Error(Ke(6));m=!1,u(),a.delete(h),i=null}}}function p(E){if(!td(E))throw new Error(Ke(7));if(typeof E.type>"u")throw new Error(Ke(8));if(typeof E.type!="string")throw new Error(Ke(17));if(l)throw new Error(Ke(9));try{l=!0,o=r(o,E)}finally{l=!1}return(i=a).forEach(h=>{h()}),E}function f(E){if(typeof E!="function")throw new Error(Ke(10));r=E,p({type:ls.REPLACE})}function y(){const E=d;return{subscribe(m){if(typeof m!="object"||m===null)throw new Error(Ke(11));function h(){const x=m;x.next&&x.next(c())}return h(),{unsubscribe:E(h)}},[rh](){return this}}}return p({type:ls.INIT}),{dispatch:p,subscribe:d,getState:c,replaceReducer:f,[rh]:y}}function CE(e){Object.keys(e).forEach(t=>{const n=e[t];if(typeof n(void 0,{type:ls.INIT})>"u")throw new Error(Ke(12));if(typeof n(void 0,{type:ls.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(Ke(13))})}function kE(e){const t=Object.keys(e),n={};for(let i=0;i"u")throw s&&s.type,new Error(Ke(14));u[d]=y,l=l||y!==f}return l=l||r.length!==Object.keys(a).length,l?u:a}}function us(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,n)=>(...r)=>t(n(...r)))}function bE(...e){return t=>(n,r)=>{const o=t(n,r);let i=()=>{throw new Error(Ke(15))};const a={getState:o.getState,dispatch:(l,...u)=>i(l,...u)},s=e.map(l=>l(a));return i=us(...s)(o.dispatch),{...o,dispatch:i}}}function RE(e){return td(e)&&"type"in e&&typeof e.type=="string"}var Ay=Symbol.for("immer-nothing"),oh=Symbol.for("immer-draftable"),kt=Symbol.for("immer-state");function Kt(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var co=Object.getPrototypeOf;function xr(e){return!!e&&!!e[kt]}function wn(e){return e?zy(e)||Array.isArray(e)||!!e[oh]||!!e.constructor?.[oh]||As(e)||zs(e):!1}var PE=Object.prototype.constructor.toString();function zy(e){if(!e||typeof e!="object")return!1;const t=co(e);if(t===null)return!0;const n=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;return n===Object?!0:typeof n=="function"&&Function.toString.call(n)===PE}function cs(e,t){Ms(e)===0?Reflect.ownKeys(e).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function Ms(e){const t=e[kt];return t?t.type_:Array.isArray(e)?1:As(e)?2:zs(e)?3:0}function zu(e,t){return Ms(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function jy(e,t,n){const r=Ms(e);r===2?e.set(t,n):r===3?e.add(n):e[t]=n}function TE(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}function As(e){return e instanceof Map}function zs(e){return e instanceof Set}function or(e){return e.copy_||e.base_}function ju(e,t){if(As(e))return new Map(e);if(zs(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);if(!t&&zy(e))return co(e)?{...e}:Object.assign(Object.create(null),e);const n=Object.getOwnPropertyDescriptors(e);delete n[kt];let r=Reflect.ownKeys(n);for(let o=0;o1&&(e.set=e.add=e.clear=e.delete=OE),Object.freeze(e),t&&Object.entries(e).forEach(([n,r])=>nd(r,!0))),e}function OE(){Kt(2)}function js(e){return Object.isFrozen(e)}var NE={};function _r(e){const t=NE[e];return t||Kt(0,e),t}var ki;function Fy(){return ki}function LE(e,t){return{drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function ih(e,t){t&&(_r("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Fu(e){Iu(e),e.drafts_.forEach(DE),e.drafts_=null}function Iu(e){e===ki&&(ki=e.parent_)}function ah(e){return ki=LE(ki,e)}function DE(e){const t=e[kt];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function sh(e,t){t.unfinalizedDrafts_=t.drafts_.length;const n=t.drafts_[0];return e!==void 0&&e!==n?(n[kt].modified_&&(Fu(t),Kt(4)),wn(e)&&(e=ds(t,e),t.parent_||fs(t,e)),t.patches_&&_r("Patches").generateReplacementPatches_(n[kt].base_,e,t.patches_,t.inversePatches_)):e=ds(t,n,[]),Fu(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==Ay?e:void 0}function ds(e,t,n){if(js(t))return t;const r=t[kt];if(!r)return cs(t,(o,i)=>lh(e,r,t,o,i,n)),t;if(r.scope_!==e)return t;if(!r.modified_)return fs(e,r.base_,!0),r.base_;if(!r.finalized_){r.finalized_=!0,r.scope_.unfinalizedDrafts_--;const o=r.copy_;let i=o,a=!1;r.type_===3&&(i=new Set(o),o.clear(),a=!0),cs(i,(s,l)=>lh(e,r,o,s,l,n,a)),fs(e,o,!1),n&&e.patches_&&_r("Patches").generatePatches_(r,n,e.patches_,e.inversePatches_)}return r.copy_}function lh(e,t,n,r,o,i,a){if(xr(o)){const s=i&&t&&t.type_!==3&&!zu(t.assigned_,r)?i.concat(r):void 0,l=ds(e,o,s);if(jy(n,r,l),xr(l))e.canAutoFreeze_=!1;else return}else a&&n.add(o);if(wn(o)&&!js(o)){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1)return;ds(e,o),(!t||!t.scope_.parent_)&&typeof r!="symbol"&&Object.prototype.propertyIsEnumerable.call(n,r)&&fs(e,o)}}function fs(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&nd(t,n)}function ME(e,t){const n=Array.isArray(e),r={type_:n?1:0,scope_:t?t.scope_:Fy(),modified_:!1,finalized_:!1,assigned_:{},parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1};let o=r,i=rd;n&&(o=[r],i=bi);const{revoke:a,proxy:s}=Proxy.revocable(o,i);return r.draft_=s,r.revoke_=a,s}var rd={get(e,t){if(t===kt)return e;const n=or(e);if(!zu(n,t))return AE(e,n,t);const r=n[t];return e.finalized_||!wn(r)?r:r===Pl(e.base_,t)?(Tl(e),e.copy_[t]=Bu(r,e)):r},has(e,t){return t in or(e)},ownKeys(e){return Reflect.ownKeys(or(e))},set(e,t,n){const r=Iy(or(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){const o=Pl(or(e),t),i=o?.[kt];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_[t]=!1,!0;if(TE(n,o)&&(n!==void 0||zu(e.base_,t)))return!0;Tl(e),Uu(e)}return e.copy_[t]===n&&(n!==void 0||t in e.copy_)||Number.isNaN(n)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=n,e.assigned_[t]=!0),!0},deleteProperty(e,t){return Pl(e.base_,t)!==void 0||t in e.base_?(e.assigned_[t]=!1,Tl(e),Uu(e)):delete e.assigned_[t],e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){const n=or(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{writable:!0,configurable:e.type_!==1||t!=="length",enumerable:r.enumerable,value:n[t]}},defineProperty(){Kt(11)},getPrototypeOf(e){return co(e.base_)},setPrototypeOf(){Kt(12)}},bi={};cs(rd,(e,t)=>{bi[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}});bi.deleteProperty=function(e,t){return bi.set.call(this,e,t,void 0)};bi.set=function(e,t,n){return rd.set.call(this,e[0],t,n,e[0])};function Pl(e,t){const n=e[kt];return(n?or(n):e)[t]}function AE(e,t,n){const r=Iy(t,n);return r?"value"in r?r.value:r.get?.call(e.draft_):void 0}function Iy(e,t){if(!(t in e))return;let n=co(e);for(;n;){const r=Object.getOwnPropertyDescriptor(n,t);if(r)return r;n=co(n)}}function Uu(e){e.modified_||(e.modified_=!0,e.parent_&&Uu(e.parent_))}function Tl(e){e.copy_||(e.copy_=ju(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var zE=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.produce=(t,n,r)=>{if(typeof t=="function"&&typeof n!="function"){const i=n;n=t;const a=this;return function(l=i,...u){return a.produce(l,c=>n.call(this,c,...u))}}typeof n!="function"&&Kt(6),r!==void 0&&typeof r!="function"&&Kt(7);let o;if(wn(t)){const i=ah(this),a=Bu(t,void 0);let s=!0;try{o=n(a),s=!1}finally{s?Fu(i):Iu(i)}return ih(i,r),sh(o,i)}else if(!t||typeof t!="object"){if(o=n(t),o===void 0&&(o=t),o===Ay&&(o=void 0),this.autoFreeze_&&nd(o,!0),r){const i=[],a=[];_r("Patches").generateReplacementPatches_(t,o,i,a),r(i,a)}return o}else Kt(1,t)},this.produceWithPatches=(t,n)=>{if(typeof t=="function")return(a,...s)=>this.produceWithPatches(a,l=>t(l,...s));let r,o;return[this.produce(t,n,(a,s)=>{r=a,o=s}),r,o]},typeof e?.autoFreeze=="boolean"&&this.setAutoFreeze(e.autoFreeze),typeof e?.useStrictShallowCopy=="boolean"&&this.setUseStrictShallowCopy(e.useStrictShallowCopy)}createDraft(e){wn(e)||Kt(8),xr(e)&&(e=jE(e));const t=ah(this),n=Bu(e,void 0);return n[kt].isManual_=!0,Iu(t),n}finishDraft(e,t){const n=e&&e[kt];(!n||!n.isManual_)&&Kt(9);const{scope_:r}=n;return ih(r,t),sh(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){const o=t[n];if(o.path.length===0&&o.op==="replace"){e=o.value;break}}n>-1&&(t=t.slice(n+1));const r=_r("Patches").applyPatches_;return xr(e)?r(e,t):this.produce(e,o=>r(o,t))}};function Bu(e,t){const n=As(e)?_r("MapSet").proxyMap_(e,t):zs(e)?_r("MapSet").proxySet_(e,t):ME(e,t);return(t?t.scope_:Fy()).drafts_.push(n),n}function jE(e){return xr(e)||Kt(10,e),Uy(e)}function Uy(e){if(!wn(e)||js(e))return e;const t=e[kt];let n;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=ju(e,t.scope_.immer_.useStrictShallowCopy_)}else n=ju(e,!0);return cs(n,(r,o)=>{jy(n,r,Uy(o))}),t&&(t.finalized_=!1),n}var bt=new zE,By=bt.produce;bt.produceWithPatches.bind(bt);bt.setAutoFreeze.bind(bt);bt.setUseStrictShallowCopy.bind(bt);bt.applyPatches.bind(bt);bt.createDraft.bind(bt);bt.finishDraft.bind(bt);function $y(e){return({dispatch:n,getState:r})=>o=>i=>typeof i=="function"?i(n,r,e):o(i)}var FE=$y(),IE=$y,UE=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]=="object"?us:us.apply(null,arguments)},BE=e=>e&&typeof e.match=="function";function oi(e,t){function n(...r){if(t){let o=t(...r);if(!o)throw new Error(pn(0));return{type:e,payload:o.payload,..."meta"in o&&{meta:o.meta},..."error"in o&&{error:o.error}}}return{type:e,payload:r[0]}}return n.toString=()=>`${e}`,n.type=e,n.match=r=>RE(r)&&r.type===e,n}var Hy=class qo extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,qo.prototype)}static get[Symbol.species](){return qo}concat(...t){return super.concat.apply(this,t)}prepend(...t){return t.length===1&&Array.isArray(t[0])?new qo(...t[0].concat(this)):new qo(...t.concat(this))}};function uh(e){return wn(e)?By(e,()=>{}):e}function ch(e,t,n){return e.has(t)?e.get(t):e.set(t,n(t)).get(t)}function $E(e){return typeof e=="boolean"}var HE=()=>function(t){const{thunk:n=!0,immutableCheck:r=!0,serializableCheck:o=!0,actionCreatorCheck:i=!0}=t??{};let a=new Hy;return n&&($E(n)?a.push(FE):a.push(IE(n.extraArgument))),a},VE="RTK_autoBatch",dh=e=>t=>{setTimeout(t,e)},WE=(e={type:"raf"})=>t=>(...n)=>{const r=t(...n);let o=!0,i=!1,a=!1;const s=new Set,l=e.type==="tick"?queueMicrotask:e.type==="raf"?typeof window<"u"&&window.requestAnimationFrame?window.requestAnimationFrame:dh(10):e.type==="callback"?e.queueNotification:dh(e.timeout),u=()=>{a=!1,i&&(i=!1,s.forEach(c=>c()))};return Object.assign({},r,{subscribe(c){const d=()=>o&&c(),p=r.subscribe(d);return s.add(c),()=>{p(),s.delete(c)}},dispatch(c){try{return o=!c?.meta?.[VE],i=!o,i&&(a||(a=!0,l(u))),r.dispatch(c)}finally{o=!0}}})},KE=e=>function(n){const{autoBatch:r=!0}=n??{};let o=new Hy(e);return r&&o.push(WE(typeof r=="object"?r:void 0)),o};function QE(e){const t=HE(),{reducer:n=void 0,middleware:r,devTools:o=!0,preloadedState:i=void 0,enhancers:a=void 0}=e;let s;if(typeof n=="function")s=n;else if(td(n))s=kE(n);else throw new Error(pn(1));let l;typeof r=="function"?l=r(t):l=t();let u=us;o&&(u=UE({trace:!1,...typeof o=="object"&&o}));const c=bE(...l),d=KE(c);let p=typeof a=="function"?a(d):d();const f=u(...p);return My(s,i,f)}function Vy(e){const t={},n=[];let r;const o={addCase(i,a){const s=typeof i=="string"?i:i.type;if(!s)throw new Error(pn(28));if(s in t)throw new Error(pn(29));return t[s]=a,o},addMatcher(i,a){return n.push({matcher:i,reducer:a}),o},addDefaultCase(i){return r=i,o}};return e(o),[t,n,r]}function qE(e){return typeof e=="function"}function GE(e,t){let[n,r,o]=Vy(t),i;if(qE(e))i=()=>uh(e());else{const s=uh(e);i=()=>s}function a(s=i(),l){let u=[n[l.type],...r.filter(({matcher:c})=>c(l)).map(({reducer:c})=>c)];return u.filter(c=>!!c).length===0&&(u=[o]),u.reduce((c,d)=>{if(d)if(xr(c)){const f=d(c,l);return f===void 0?c:f}else{if(wn(c))return By(c,p=>d(p,l));{const p=d(c,l);if(p===void 0){if(c===null)return c;throw Error("A case reducer on a non-draftable value must not return undefined")}return p}}return c},s)}return a.getInitialState=i,a}var YE=(e,t)=>BE(e)?e.match(t):e(t);function JE(...e){return t=>e.some(n=>YE(n,t))}var XE="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",ZE=(e=21)=>{let t="",n=e;for(;n--;)t+=XE[Math.random()*64|0];return t},ex=["name","message","stack","code"],Ol=class{constructor(e,t){this.payload=e,this.meta=t}_type},fh=class{constructor(e,t){this.payload=e,this.meta=t}_type},tx=e=>{if(typeof e=="object"&&e!==null){const t={};for(const n of ex)typeof e[n]=="string"&&(t[n]=e[n]);return t}return{message:String(e)}},nx=(()=>{function e(t,n,r){const o=oi(t+"/fulfilled",(l,u,c,d)=>({payload:l,meta:{...d||{},arg:c,requestId:u,requestStatus:"fulfilled"}})),i=oi(t+"/pending",(l,u,c)=>({payload:void 0,meta:{...c||{},arg:u,requestId:l,requestStatus:"pending"}})),a=oi(t+"/rejected",(l,u,c,d,p)=>({payload:d,error:(r&&r.serializeError||tx)(l||"Rejected"),meta:{...p||{},arg:c,requestId:u,rejectedWithValue:!!d,requestStatus:"rejected",aborted:l?.name==="AbortError",condition:l?.name==="ConditionError"}}));function s(l){return(u,c,d)=>{const p=r?.idGenerator?r.idGenerator(l):ZE(),f=new AbortController;let y,v;function E(h){v=h,f.abort()}const m=async function(){let h;try{let x=r?.condition?.(l,{getState:c,extra:d});if(ox(x)&&(x=await x),x===!1||f.signal.aborted)throw{name:"ConditionError",message:"Aborted due to condition callback returning false."};const R=new Promise((w,P)=>{y=()=>{P({name:"AbortError",message:v||"Aborted"})},f.signal.addEventListener("abort",y)});u(i(p,l,r?.getPendingMeta?.({requestId:p,arg:l},{getState:c,extra:d}))),h=await Promise.race([R,Promise.resolve(n(l,{dispatch:u,getState:c,extra:d,requestId:p,signal:f.signal,abort:E,rejectWithValue:(w,P)=>new Ol(w,P),fulfillWithValue:(w,P)=>new fh(w,P)})).then(w=>{if(w instanceof Ol)throw w;return w instanceof fh?o(w.payload,p,l,w.meta):o(w,p,l)})])}catch(x){h=x instanceof Ol?a(null,p,l,x.payload,x.meta):a(x,p,l)}finally{y&&f.signal.removeEventListener("abort",y)}return r&&!r.dispatchConditionRejection&&a.match(h)&&h.meta.condition||u(h),h}();return Object.assign(m,{abort:E,requestId:p,arg:l,unwrap(){return m.then(rx)}})}}return Object.assign(s,{pending:i,rejected:a,fulfilled:o,settled:JE(a,o),typePrefix:t})}return e.withTypes=()=>e,e})();function rx(e){if(e.meta&&e.meta.rejectedWithValue)throw e.payload;if(e.error)throw e.error;return e.payload}function ox(e){return e!==null&&typeof e=="object"&&typeof e.then=="function"}var ix=Symbol.for("rtk-slice-createasyncthunk");function ax(e,t){return`${e}/${t}`}function sx({creators:e}={}){const t=e?.asyncThunk?.[ix];return function(r){const{name:o,reducerPath:i=o}=r;if(!o)throw new Error(pn(11));const a=(typeof r.reducers=="function"?r.reducers(cx()):r.reducers)||{},s=Object.keys(a),l={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},u={addCase(h,g){const x=typeof h=="string"?h:h.type;if(!x)throw new Error(pn(12));if(x in l.sliceCaseReducersByType)throw new Error(pn(13));return l.sliceCaseReducersByType[x]=g,u},addMatcher(h,g){return l.sliceMatchers.push({matcher:h,reducer:g}),u},exposeAction(h,g){return l.actionCreators[h]=g,u},exposeCaseReducer(h,g){return l.sliceCaseReducersByName[h]=g,u}};s.forEach(h=>{const g=a[h],x={reducerName:h,type:ax(o,h),createNotation:typeof r.reducers=="function"};fx(g)?px(x,g,u,t):dx(x,g,u)});function c(){const[h={},g=[],x=void 0]=typeof r.extraReducers=="function"?Vy(r.extraReducers):[r.extraReducers],R={...h,...l.sliceCaseReducersByType};return GE(r.initialState,w=>{for(let P in R)w.addCase(P,R[P]);for(let P of l.sliceMatchers)w.addMatcher(P.matcher,P.reducer);for(let P of g)w.addMatcher(P.matcher,P.reducer);x&&w.addDefaultCase(x)})}const d=h=>h,p=new Map;let f;function y(h,g){return f||(f=c()),f(h,g)}function v(){return f||(f=c()),f.getInitialState()}function E(h,g=!1){function x(w){let P=w[h];return typeof P>"u"&&g&&(P=v()),P}function R(w=d){const P=ch(p,g,()=>new WeakMap);return ch(P,w,()=>{const T={};for(const[A,z]of Object.entries(r.selectors??{}))T[A]=lx(z,w,v,g);return T})}return{reducerPath:h,getSelectors:R,get selectors(){return R(x)},selectSlice:x}}const m={name:o,reducer:y,actions:l.actionCreators,caseReducers:l.sliceCaseReducersByName,getInitialState:v,...E(i),injectInto(h,{reducerPath:g,...x}={}){const R=g??i;return h.inject({reducerPath:R,reducer:y},x),{...m,...E(R,!0)}}};return m}}function lx(e,t,n,r){function o(i,...a){let s=t(i);return typeof s>"u"&&r&&(s=n()),e(s,...a)}return o.unwrapped=e,o}var ux=sx();function cx(){function e(t,n){return{_reducerDefinitionType:"asyncThunk",payloadCreator:t,...n}}return e.withTypes=()=>e,{reducer(t){return Object.assign({[t.name](...n){return t(...n)}}[t.name],{_reducerDefinitionType:"reducer"})},preparedReducer(t,n){return{_reducerDefinitionType:"reducerWithPrepare",prepare:t,reducer:n}},asyncThunk:e}}function dx({type:e,reducerName:t,createNotation:n},r,o){let i,a;if("reducer"in r){if(n&&!hx(r))throw new Error(pn(17));i=r.reducer,a=r.prepare}else i=r;o.addCase(e,i).exposeCaseReducer(t,i).exposeAction(t,a?oi(e,a):oi(e))}function fx(e){return e._reducerDefinitionType==="asyncThunk"}function hx(e){return e._reducerDefinitionType==="reducerWithPrepare"}function px({type:e,reducerName:t},n,r,o){if(!o)throw new Error(pn(18));const{payloadCreator:i,fulfilled:a,pending:s,rejected:l,settled:u,options:c}=n,d=o(e,i,c);r.exposeAction(t,d),a&&r.addCase(d.fulfilled,a),s&&r.addCase(d.pending,s),l&&r.addCase(d.rejected,l),u&&r.addMatcher(d.settled,u),r.exposeCaseReducer(t,{fulfilled:a||ha,pending:s||ha,rejected:l||ha,settled:u||ha})}function ha(){}function pn(e){return`Minified Redux Toolkit error #${e}; visit https://redux-toolkit.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}function Wy(e,t){return function(){return e.apply(t,arguments)}}const{toString:mx}=Object.prototype,{getPrototypeOf:od}=Object,Fs=(e=>t=>{const n=mx.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),Yt=e=>(e=e.toLowerCase(),t=>Fs(t)===e),Is=e=>t=>typeof t===e,{isArray:vo}=Array,Ri=Is("undefined");function yx(e){return e!==null&&!Ri(e)&&e.constructor!==null&&!Ri(e.constructor)&&_t(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const Ky=Yt("ArrayBuffer");function gx(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&Ky(e.buffer),t}const vx=Is("string"),_t=Is("function"),Qy=Is("number"),Us=e=>e!==null&&typeof e=="object",wx=e=>e===!0||e===!1,Ta=e=>{if(Fs(e)!=="object")return!1;const t=od(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},Sx=Yt("Date"),Ex=Yt("File"),xx=Yt("Blob"),_x=Yt("FileList"),Cx=e=>Us(e)&&_t(e.pipe),kx=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||_t(e.append)&&((t=Fs(e))==="formdata"||t==="object"&&_t(e.toString)&&e.toString()==="[object FormData]"))},bx=Yt("URLSearchParams"),[Rx,Px,Tx,Ox]=["ReadableStream","Request","Response","Headers"].map(Yt),Nx=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Fi(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,o;if(typeof e!="object"&&(e=[e]),vo(e))for(r=0,o=e.length;r0;)if(o=n[r],t===o.toLowerCase())return o;return null}const dr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Gy=e=>!Ri(e)&&e!==dr;function $u(){const{caseless:e}=Gy(this)&&this||{},t={},n=(r,o)=>{const i=e&&qy(t,o)||o;Ta(t[i])&&Ta(r)?t[i]=$u(t[i],r):Ta(r)?t[i]=$u({},r):vo(r)?t[i]=r.slice():t[i]=r};for(let r=0,o=arguments.length;r(Fi(t,(o,i)=>{n&&_t(o)?e[i]=Wy(o,n):e[i]=o},{allOwnKeys:r}),e),Dx=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),Mx=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},Ax=(e,t,n,r)=>{let o,i,a;const s={};if(t=t||{},e==null)return t;do{for(o=Object.getOwnPropertyNames(e),i=o.length;i-- >0;)a=o[i],(!r||r(a,e,t))&&!s[a]&&(t[a]=e[a],s[a]=!0);e=n!==!1&&od(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},zx=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return r!==-1&&r===n},jx=e=>{if(!e)return null;if(vo(e))return e;let t=e.length;if(!Qy(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},Fx=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&od(Uint8Array)),Ix=(e,t)=>{const r=(e&&e[Symbol.iterator]).call(e);let o;for(;(o=r.next())&&!o.done;){const i=o.value;t.call(e,i[0],i[1])}},Ux=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},Bx=Yt("HTMLFormElement"),$x=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,o){return r.toUpperCase()+o}),hh=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),Hx=Yt("RegExp"),Yy=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};Fi(n,(o,i)=>{let a;(a=t(o,i,e))!==!1&&(r[i]=a||o)}),Object.defineProperties(e,r)},Vx=e=>{Yy(e,(t,n)=>{if(_t(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=e[n];if(_t(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},Wx=(e,t)=>{const n={},r=o=>{o.forEach(i=>{n[i]=!0})};return vo(e)?r(e):r(String(e).split(t)),n},Kx=()=>{},Qx=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t,Nl="abcdefghijklmnopqrstuvwxyz",ph="0123456789",Jy={DIGIT:ph,ALPHA:Nl,ALPHA_DIGIT:Nl+Nl.toUpperCase()+ph},qx=(e=16,t=Jy.ALPHA_DIGIT)=>{let n="";const{length:r}=t;for(;e--;)n+=t[Math.random()*r|0];return n};function Gx(e){return!!(e&&_t(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}const Yx=e=>{const t=new Array(10),n=(r,o)=>{if(Us(r)){if(t.indexOf(r)>=0)return;if(!("toJSON"in r)){t[o]=r;const i=vo(r)?[]:{};return Fi(r,(a,s)=>{const l=n(a,o+1);!Ri(l)&&(i[s]=l)}),t[o]=void 0,i}}return r};return n(e,0)},Jx=Yt("AsyncFunction"),Xx=e=>e&&(Us(e)||_t(e))&&_t(e.then)&&_t(e.catch),Xy=((e,t)=>e?setImmediate:t?((n,r)=>(dr.addEventListener("message",({source:o,data:i})=>{o===dr&&i===n&&r.length&&r.shift()()},!1),o=>{r.push(o),dr.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",_t(dr.postMessage)),Zx=typeof queueMicrotask<"u"?queueMicrotask.bind(dr):typeof process<"u"&&process.nextTick||Xy,b={isArray:vo,isArrayBuffer:Ky,isBuffer:yx,isFormData:kx,isArrayBufferView:gx,isString:vx,isNumber:Qy,isBoolean:wx,isObject:Us,isPlainObject:Ta,isReadableStream:Rx,isRequest:Px,isResponse:Tx,isHeaders:Ox,isUndefined:Ri,isDate:Sx,isFile:Ex,isBlob:xx,isRegExp:Hx,isFunction:_t,isStream:Cx,isURLSearchParams:bx,isTypedArray:Fx,isFileList:_x,forEach:Fi,merge:$u,extend:Lx,trim:Nx,stripBOM:Dx,inherits:Mx,toFlatObject:Ax,kindOf:Fs,kindOfTest:Yt,endsWith:zx,toArray:jx,forEachEntry:Ix,matchAll:Ux,isHTMLForm:Bx,hasOwnProperty:hh,hasOwnProp:hh,reduceDescriptors:Yy,freezeMethods:Vx,toObjectSet:Wx,toCamelCase:$x,noop:Kx,toFiniteNumber:Qx,findKey:qy,global:dr,isContextDefined:Gy,ALPHABET:Jy,generateString:qx,isSpecCompliantForm:Gx,toJSONObject:Yx,isAsyncFn:Jx,isThenable:Xx,setImmediate:Xy,asap:Zx};function Z(e,t,n,r,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o,this.status=o.status?o.status:null)}b.inherits(Z,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:b.toJSONObject(this.config),code:this.code,status:this.status}}});const Zy=Z.prototype,eg={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{eg[e]={value:e}});Object.defineProperties(Z,eg);Object.defineProperty(Zy,"isAxiosError",{value:!0});Z.from=(e,t,n,r,o,i)=>{const a=Object.create(Zy);return b.toFlatObject(e,a,function(l){return l!==Error.prototype},s=>s!=="isAxiosError"),Z.call(a,e.message,t,n,r,o),a.cause=e,a.name=e.name,i&&Object.assign(a,i),a};const e_=null;function Hu(e){return b.isPlainObject(e)||b.isArray(e)}function tg(e){return b.endsWith(e,"[]")?e.slice(0,-2):e}function mh(e,t,n){return e?e.concat(t).map(function(o,i){return o=tg(o),!n&&i?"["+o+"]":o}).join(n?".":""):t}function t_(e){return b.isArray(e)&&!e.some(Hu)}const n_=b.toFlatObject(b,{},null,function(t){return/^is[A-Z]/.test(t)});function Bs(e,t,n){if(!b.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=b.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(v,E){return!b.isUndefined(E[v])});const r=n.metaTokens,o=n.visitor||c,i=n.dots,a=n.indexes,l=(n.Blob||typeof Blob<"u"&&Blob)&&b.isSpecCompliantForm(t);if(!b.isFunction(o))throw new TypeError("visitor must be a function");function u(y){if(y===null)return"";if(b.isDate(y))return y.toISOString();if(!l&&b.isBlob(y))throw new Z("Blob is not supported. Use a Buffer instead.");return b.isArrayBuffer(y)||b.isTypedArray(y)?l&&typeof Blob=="function"?new Blob([y]):Buffer.from(y):y}function c(y,v,E){let m=y;if(y&&!E&&typeof y=="object"){if(b.endsWith(v,"{}"))v=r?v:v.slice(0,-2),y=JSON.stringify(y);else if(b.isArray(y)&&t_(y)||(b.isFileList(y)||b.endsWith(v,"[]"))&&(m=b.toArray(y)))return v=tg(v),m.forEach(function(g,x){!(b.isUndefined(g)||g===null)&&t.append(a===!0?mh([v],x,i):a===null?v:v+"[]",u(g))}),!1}return Hu(y)?!0:(t.append(mh(E,v,i),u(y)),!1)}const d=[],p=Object.assign(n_,{defaultVisitor:c,convertValue:u,isVisitable:Hu});function f(y,v){if(!b.isUndefined(y)){if(d.indexOf(y)!==-1)throw Error("Circular reference detected in "+v.join("."));d.push(y),b.forEach(y,function(m,h){(!(b.isUndefined(m)||m===null)&&o.call(t,m,b.isString(h)?h.trim():h,v,p))===!0&&f(m,v?v.concat(h):[h])}),d.pop()}}if(!b.isObject(e))throw new TypeError("data must be an object");return f(e),t}function yh(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(r){return t[r]})}function id(e,t){this._pairs=[],e&&Bs(e,this,t)}const ng=id.prototype;ng.append=function(t,n){this._pairs.push([t,n])};ng.toString=function(t){const n=t?function(r){return t.call(this,r,yh)}:yh;return this._pairs.map(function(o){return n(o[0])+"="+n(o[1])},"").join("&")};function r_(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function rg(e,t,n){if(!t)return e;const r=n&&n.encode||r_;b.isFunction(n)&&(n={serialize:n});const o=n&&n.serialize;let i;if(o?i=o(t,n):i=b.isURLSearchParams(t)?t.toString():new id(t,n).toString(r),i){const a=e.indexOf("#");a!==-1&&(e=e.slice(0,a)),e+=(e.indexOf("?")===-1?"?":"&")+i}return e}class gh{constructor(){this.handlers=[]}use(t,n,r){return this.handlers.push({fulfilled:t,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){b.forEach(this.handlers,function(r){r!==null&&t(r)})}}const og={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},o_=typeof URLSearchParams<"u"?URLSearchParams:id,i_=typeof FormData<"u"?FormData:null,a_=typeof Blob<"u"?Blob:null,s_={isBrowser:!0,classes:{URLSearchParams:o_,FormData:i_,Blob:a_},protocols:["http","https","file","blob","url","data"]},ad=typeof window<"u"&&typeof document<"u",Vu=typeof navigator=="object"&&navigator||void 0,l_=ad&&(!Vu||["ReactNative","NativeScript","NS"].indexOf(Vu.product)<0),u_=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",c_=ad&&window.location.href||"http://localhost",d_=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:ad,hasStandardBrowserEnv:l_,hasStandardBrowserWebWorkerEnv:u_,navigator:Vu,origin:c_},Symbol.toStringTag,{value:"Module"})),Ze={...d_,...s_};function f_(e,t){return Bs(e,new Ze.classes.URLSearchParams,Object.assign({visitor:function(n,r,o,i){return Ze.isNode&&b.isBuffer(n)?(this.append(r,n.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)}},t))}function h_(e){return b.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function p_(e){const t={},n=Object.keys(e);let r;const o=n.length;let i;for(r=0;r=n.length;return a=!a&&b.isArray(o)?o.length:a,l?(b.hasOwnProp(o,a)?o[a]=[o[a],r]:o[a]=r,!s):((!o[a]||!b.isObject(o[a]))&&(o[a]=[]),t(n,r,o[a],i)&&b.isArray(o[a])&&(o[a]=p_(o[a])),!s)}if(b.isFormData(e)&&b.isFunction(e.entries)){const n={};return b.forEachEntry(e,(r,o)=>{t(h_(r),o,n,0)}),n}return null}function m_(e,t,n){if(b.isString(e))try{return(t||JSON.parse)(e),b.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(0,JSON.stringify)(e)}const Ii={transitional:og,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const r=n.getContentType()||"",o=r.indexOf("application/json")>-1,i=b.isObject(t);if(i&&b.isHTMLForm(t)&&(t=new FormData(t)),b.isFormData(t))return o?JSON.stringify(ig(t)):t;if(b.isArrayBuffer(t)||b.isBuffer(t)||b.isStream(t)||b.isFile(t)||b.isBlob(t)||b.isReadableStream(t))return t;if(b.isArrayBufferView(t))return t.buffer;if(b.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let s;if(i){if(r.indexOf("application/x-www-form-urlencoded")>-1)return f_(t,this.formSerializer).toString();if((s=b.isFileList(t))||r.indexOf("multipart/form-data")>-1){const l=this.env&&this.env.FormData;return Bs(s?{"files[]":t}:t,l&&new l,this.formSerializer)}}return i||o?(n.setContentType("application/json",!1),m_(t)):t}],transformResponse:[function(t){const n=this.transitional||Ii.transitional,r=n&&n.forcedJSONParsing,o=this.responseType==="json";if(b.isResponse(t)||b.isReadableStream(t))return t;if(t&&b.isString(t)&&(r&&!this.responseType||o)){const a=!(n&&n.silentJSONParsing)&&o;try{return JSON.parse(t)}catch(s){if(a)throw s.name==="SyntaxError"?Z.from(s,Z.ERR_BAD_RESPONSE,this,null,this.response):s}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Ze.classes.FormData,Blob:Ze.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};b.forEach(["delete","get","head","post","put","patch"],e=>{Ii.headers[e]={}});const y_=b.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),g_=e=>{const t={};let n,r,o;return e&&e.split(` -`).forEach(function(a){o=a.indexOf(":"),n=a.substring(0,o).trim().toLowerCase(),r=a.substring(o+1).trim(),!(!n||t[n]&&y_[n])&&(n==="set-cookie"?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)}),t},vh=Symbol("internals");function $o(e){return e&&String(e).trim().toLowerCase()}function Oa(e){return e===!1||e==null?e:b.isArray(e)?e.map(Oa):String(e)}function v_(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}const w_=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function Ll(e,t,n,r,o){if(b.isFunction(r))return r.call(this,t,n);if(o&&(t=n),!!b.isString(t)){if(b.isString(r))return t.indexOf(r)!==-1;if(b.isRegExp(r))return r.test(t)}}function S_(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,r)=>n.toUpperCase()+r)}function E_(e,t){const n=b.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+n,{value:function(o,i,a){return this[r].call(this,t,o,i,a)},configurable:!0})})}class ht{constructor(t){t&&this.set(t)}set(t,n,r){const o=this;function i(s,l,u){const c=$o(l);if(!c)throw new Error("header name must be a non-empty string");const d=b.findKey(o,c);(!d||o[d]===void 0||u===!0||u===void 0&&o[d]!==!1)&&(o[d||l]=Oa(s))}const a=(s,l)=>b.forEach(s,(u,c)=>i(u,c,l));if(b.isPlainObject(t)||t instanceof this.constructor)a(t,n);else if(b.isString(t)&&(t=t.trim())&&!w_(t))a(g_(t),n);else if(b.isHeaders(t))for(const[s,l]of t.entries())i(l,s,r);else t!=null&&i(n,t,r);return this}get(t,n){if(t=$o(t),t){const r=b.findKey(this,t);if(r){const o=this[r];if(!n)return o;if(n===!0)return v_(o);if(b.isFunction(n))return n.call(this,o,r);if(b.isRegExp(n))return n.exec(o);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=$o(t),t){const r=b.findKey(this,t);return!!(r&&this[r]!==void 0&&(!n||Ll(this,this[r],r,n)))}return!1}delete(t,n){const r=this;let o=!1;function i(a){if(a=$o(a),a){const s=b.findKey(r,a);s&&(!n||Ll(r,r[s],s,n))&&(delete r[s],o=!0)}}return b.isArray(t)?t.forEach(i):i(t),o}clear(t){const n=Object.keys(this);let r=n.length,o=!1;for(;r--;){const i=n[r];(!t||Ll(this,this[i],i,t,!0))&&(delete this[i],o=!0)}return o}normalize(t){const n=this,r={};return b.forEach(this,(o,i)=>{const a=b.findKey(r,i);if(a){n[a]=Oa(o),delete n[i];return}const s=t?S_(i):String(i).trim();s!==i&&delete n[i],n[s]=Oa(o),r[s]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return b.forEach(this,(r,o)=>{r!=null&&r!==!1&&(n[o]=t&&b.isArray(r)?r.join(", "):r)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(` -`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const r=new this(t);return n.forEach(o=>r.set(o)),r}static accessor(t){const r=(this[vh]=this[vh]={accessors:{}}).accessors,o=this.prototype;function i(a){const s=$o(a);r[s]||(E_(o,a),r[s]=!0)}return b.isArray(t)?t.forEach(i):i(t),this}}ht.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);b.reduceDescriptors(ht.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}});b.freezeMethods(ht);function Dl(e,t){const n=this||Ii,r=t||n,o=ht.from(r.headers);let i=r.data;return b.forEach(e,function(s){i=s.call(n,i,o.normalize(),t?t.status:void 0)}),o.normalize(),i}function ag(e){return!!(e&&e.__CANCEL__)}function wo(e,t,n){Z.call(this,e??"canceled",Z.ERR_CANCELED,t,n),this.name="CanceledError"}b.inherits(wo,Z,{__CANCEL__:!0});function sg(e,t,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new Z("Request failed with status code "+n.status,[Z.ERR_BAD_REQUEST,Z.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function x_(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function __(e,t){e=e||10;const n=new Array(e),r=new Array(e);let o=0,i=0,a;return t=t!==void 0?t:1e3,function(l){const u=Date.now(),c=r[i];a||(a=u),n[o]=l,r[o]=u;let d=i,p=0;for(;d!==o;)p+=n[d++],d=d%e;if(o=(o+1)%e,o===i&&(i=(i+1)%e),u-a{n=c,o=null,i&&(clearTimeout(i),i=null),e.apply(null,u)};return[(...u)=>{const c=Date.now(),d=c-n;d>=r?a(u,c):(o=u,i||(i=setTimeout(()=>{i=null,a(o)},r-d)))},()=>o&&a(o)]}const hs=(e,t,n=3)=>{let r=0;const o=__(50,250);return C_(i=>{const a=i.loaded,s=i.lengthComputable?i.total:void 0,l=a-r,u=o(l),c=a<=s;r=a;const d={loaded:a,total:s,progress:s?a/s:void 0,bytes:l,rate:u||void 0,estimated:u&&s&&c?(s-a)/u:void 0,event:i,lengthComputable:s!=null,[t?"download":"upload"]:!0};e(d)},n)},wh=(e,t)=>{const n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},Sh=e=>(...t)=>b.asap(()=>e(...t)),k_=Ze.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,Ze.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(Ze.origin),Ze.navigator&&/(msie|trident)/i.test(Ze.navigator.userAgent)):()=>!0,b_=Ze.hasStandardBrowserEnv?{write(e,t,n,r,o,i){const a=[e+"="+encodeURIComponent(t)];b.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),b.isString(r)&&a.push("path="+r),b.isString(o)&&a.push("domain="+o),i===!0&&a.push("secure"),document.cookie=a.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function R_(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function P_(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function lg(e,t){return e&&!R_(t)?P_(e,t):t}const Eh=e=>e instanceof ht?{...e}:e;function Cr(e,t){t=t||{};const n={};function r(u,c,d,p){return b.isPlainObject(u)&&b.isPlainObject(c)?b.merge.call({caseless:p},u,c):b.isPlainObject(c)?b.merge({},c):b.isArray(c)?c.slice():c}function o(u,c,d,p){if(b.isUndefined(c)){if(!b.isUndefined(u))return r(void 0,u,d,p)}else return r(u,c,d,p)}function i(u,c){if(!b.isUndefined(c))return r(void 0,c)}function a(u,c){if(b.isUndefined(c)){if(!b.isUndefined(u))return r(void 0,u)}else return r(void 0,c)}function s(u,c,d){if(d in t)return r(u,c);if(d in e)return r(void 0,u)}const l={url:i,method:i,data:i,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s,headers:(u,c,d)=>o(Eh(u),Eh(c),d,!0)};return b.forEach(Object.keys(Object.assign({},e,t)),function(c){const d=l[c]||o,p=d(e[c],t[c],c);b.isUndefined(p)&&d!==s||(n[c]=p)}),n}const ug=e=>{const t=Cr({},e);let{data:n,withXSRFToken:r,xsrfHeaderName:o,xsrfCookieName:i,headers:a,auth:s}=t;t.headers=a=ht.from(a),t.url=rg(lg(t.baseURL,t.url),e.params,e.paramsSerializer),s&&a.set("Authorization","Basic "+btoa((s.username||"")+":"+(s.password?unescape(encodeURIComponent(s.password)):"")));let l;if(b.isFormData(n)){if(Ze.hasStandardBrowserEnv||Ze.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if((l=a.getContentType())!==!1){const[u,...c]=l?l.split(";").map(d=>d.trim()).filter(Boolean):[];a.setContentType([u||"multipart/form-data",...c].join("; "))}}if(Ze.hasStandardBrowserEnv&&(r&&b.isFunction(r)&&(r=r(t)),r||r!==!1&&k_(t.url))){const u=o&&i&&b_.read(i);u&&a.set(o,u)}return t},T_=typeof XMLHttpRequest<"u",O_=T_&&function(e){return new Promise(function(n,r){const o=ug(e);let i=o.data;const a=ht.from(o.headers).normalize();let{responseType:s,onUploadProgress:l,onDownloadProgress:u}=o,c,d,p,f,y;function v(){f&&f(),y&&y(),o.cancelToken&&o.cancelToken.unsubscribe(c),o.signal&&o.signal.removeEventListener("abort",c)}let E=new XMLHttpRequest;E.open(o.method.toUpperCase(),o.url,!0),E.timeout=o.timeout;function m(){if(!E)return;const g=ht.from("getAllResponseHeaders"in E&&E.getAllResponseHeaders()),R={data:!s||s==="text"||s==="json"?E.responseText:E.response,status:E.status,statusText:E.statusText,headers:g,config:e,request:E};sg(function(P){n(P),v()},function(P){r(P),v()},R),E=null}"onloadend"in E?E.onloadend=m:E.onreadystatechange=function(){!E||E.readyState!==4||E.status===0&&!(E.responseURL&&E.responseURL.indexOf("file:")===0)||setTimeout(m)},E.onabort=function(){E&&(r(new Z("Request aborted",Z.ECONNABORTED,e,E)),E=null)},E.onerror=function(){r(new Z("Network Error",Z.ERR_NETWORK,e,E)),E=null},E.ontimeout=function(){let x=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded";const R=o.transitional||og;o.timeoutErrorMessage&&(x=o.timeoutErrorMessage),r(new Z(x,R.clarifyTimeoutError?Z.ETIMEDOUT:Z.ECONNABORTED,e,E)),E=null},i===void 0&&a.setContentType(null),"setRequestHeader"in E&&b.forEach(a.toJSON(),function(x,R){E.setRequestHeader(R,x)}),b.isUndefined(o.withCredentials)||(E.withCredentials=!!o.withCredentials),s&&s!=="json"&&(E.responseType=o.responseType),u&&([p,y]=hs(u,!0),E.addEventListener("progress",p)),l&&E.upload&&([d,f]=hs(l),E.upload.addEventListener("progress",d),E.upload.addEventListener("loadend",f)),(o.cancelToken||o.signal)&&(c=g=>{E&&(r(!g||g.type?new wo(null,e,E):g),E.abort(),E=null)},o.cancelToken&&o.cancelToken.subscribe(c),o.signal&&(o.signal.aborted?c():o.signal.addEventListener("abort",c)));const h=x_(o.url);if(h&&Ze.protocols.indexOf(h)===-1){r(new Z("Unsupported protocol "+h+":",Z.ERR_BAD_REQUEST,e));return}E.send(i||null)})},N_=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let r=new AbortController,o;const i=function(u){if(!o){o=!0,s();const c=u instanceof Error?u:this.reason;r.abort(c instanceof Z?c:new wo(c instanceof Error?c.message:c))}};let a=t&&setTimeout(()=>{a=null,i(new Z(`timeout ${t} of ms exceeded`,Z.ETIMEDOUT))},t);const s=()=>{e&&(a&&clearTimeout(a),a=null,e.forEach(u=>{u.unsubscribe?u.unsubscribe(i):u.removeEventListener("abort",i)}),e=null)};e.forEach(u=>u.addEventListener("abort",i));const{signal:l}=r;return l.unsubscribe=()=>b.asap(s),l}},L_=function*(e,t){let n=e.byteLength;if(n{const o=D_(e,t);let i=0,a,s=l=>{a||(a=!0,r&&r(l))};return new ReadableStream({async pull(l){try{const{done:u,value:c}=await o.next();if(u){s(),l.close();return}let d=c.byteLength;if(n){let p=i+=d;n(p)}l.enqueue(new Uint8Array(c))}catch(u){throw s(u),u}},cancel(l){return s(l),o.return()}},{highWaterMark:2})},$s=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",cg=$s&&typeof ReadableStream=="function",A_=$s&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),dg=(e,...t)=>{try{return!!e(...t)}catch{return!1}},z_=cg&&dg(()=>{let e=!1;const t=new Request(Ze.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),_h=64*1024,Wu=cg&&dg(()=>b.isReadableStream(new Response("").body)),ps={stream:Wu&&(e=>e.body)};$s&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!ps[t]&&(ps[t]=b.isFunction(e[t])?n=>n[t]():(n,r)=>{throw new Z(`Response type '${t}' is not supported`,Z.ERR_NOT_SUPPORT,r)})})})(new Response);const j_=async e=>{if(e==null)return 0;if(b.isBlob(e))return e.size;if(b.isSpecCompliantForm(e))return(await new Request(Ze.origin,{method:"POST",body:e}).arrayBuffer()).byteLength;if(b.isArrayBufferView(e)||b.isArrayBuffer(e))return e.byteLength;if(b.isURLSearchParams(e)&&(e=e+""),b.isString(e))return(await A_(e)).byteLength},F_=async(e,t)=>{const n=b.toFiniteNumber(e.getContentLength());return n??j_(t)},I_=$s&&(async e=>{let{url:t,method:n,data:r,signal:o,cancelToken:i,timeout:a,onDownloadProgress:s,onUploadProgress:l,responseType:u,headers:c,withCredentials:d="same-origin",fetchOptions:p}=ug(e);u=u?(u+"").toLowerCase():"text";let f=N_([o,i&&i.toAbortSignal()],a),y;const v=f&&f.unsubscribe&&(()=>{f.unsubscribe()});let E;try{if(l&&z_&&n!=="get"&&n!=="head"&&(E=await F_(c,r))!==0){let R=new Request(t,{method:"POST",body:r,duplex:"half"}),w;if(b.isFormData(r)&&(w=R.headers.get("content-type"))&&c.setContentType(w),R.body){const[P,T]=wh(E,hs(Sh(l)));r=xh(R.body,_h,P,T)}}b.isString(d)||(d=d?"include":"omit");const m="credentials"in Request.prototype;y=new Request(t,{...p,signal:f,method:n.toUpperCase(),headers:c.normalize().toJSON(),body:r,duplex:"half",credentials:m?d:void 0});let h=await fetch(y);const g=Wu&&(u==="stream"||u==="response");if(Wu&&(s||g&&v)){const R={};["status","statusText","headers"].forEach(A=>{R[A]=h[A]});const w=b.toFiniteNumber(h.headers.get("content-length")),[P,T]=s&&wh(w,hs(Sh(s),!0))||[];h=new Response(xh(h.body,_h,P,()=>{T&&T(),v&&v()}),R)}u=u||"text";let x=await ps[b.findKey(ps,u)||"text"](h,e);return!g&&v&&v(),await new Promise((R,w)=>{sg(R,w,{data:x,headers:ht.from(h.headers),status:h.status,statusText:h.statusText,config:e,request:y})})}catch(m){throw v&&v(),m&&m.name==="TypeError"&&/fetch/i.test(m.message)?Object.assign(new Z("Network Error",Z.ERR_NETWORK,e,y),{cause:m.cause||m}):Z.from(m,m&&m.code,e,y)}}),Ku={http:e_,xhr:O_,fetch:I_};b.forEach(Ku,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const Ch=e=>`- ${e}`,U_=e=>b.isFunction(e)||e===null||e===!1,fg={getAdapter:e=>{e=b.isArray(e)?e:[e];const{length:t}=e;let n,r;const o={};for(let i=0;i`adapter ${s} `+(l===!1?"is not supported by the environment":"is not available in the build"));let a=t?i.length>1?`since : -`+i.map(Ch).join(` -`):" "+Ch(i[0]):"as no adapter specified";throw new Z("There is no suitable adapter to dispatch the request "+a,"ERR_NOT_SUPPORT")}return r},adapters:Ku};function Ml(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new wo(null,e)}function kh(e){return Ml(e),e.headers=ht.from(e.headers),e.data=Dl.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),fg.getAdapter(e.adapter||Ii.adapter)(e).then(function(r){return Ml(e),r.data=Dl.call(e,e.transformResponse,r),r.headers=ht.from(r.headers),r},function(r){return ag(r)||(Ml(e),r&&r.response&&(r.response.data=Dl.call(e,e.transformResponse,r.response),r.response.headers=ht.from(r.response.headers))),Promise.reject(r)})}const hg="1.7.9",Hs={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{Hs[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const bh={};Hs.transitional=function(t,n,r){function o(i,a){return"[Axios v"+hg+"] Transitional option '"+i+"'"+a+(r?". "+r:"")}return(i,a,s)=>{if(t===!1)throw new Z(o(a," has been removed"+(n?" in "+n:"")),Z.ERR_DEPRECATED);return n&&!bh[a]&&(bh[a]=!0,console.warn(o(a," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(i,a,s):!0}};Hs.spelling=function(t){return(n,r)=>(console.warn(`${r} is likely a misspelling of ${t}`),!0)};function B_(e,t,n){if(typeof e!="object")throw new Z("options must be an object",Z.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let o=r.length;for(;o-- >0;){const i=r[o],a=t[i];if(a){const s=e[i],l=s===void 0||a(s,i,e);if(l!==!0)throw new Z("option "+i+" must be "+l,Z.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new Z("Unknown option "+i,Z.ERR_BAD_OPTION)}}const Na={assertOptions:B_,validators:Hs},Zt=Na.validators;class pr{constructor(t){this.defaults=t,this.interceptors={request:new gh,response:new gh}}async request(t,n){try{return await this._request(t,n)}catch(r){if(r instanceof Error){let o={};Error.captureStackTrace?Error.captureStackTrace(o):o=new Error;const i=o.stack?o.stack.replace(/^.+\n/,""):"";try{r.stack?i&&!String(r.stack).endsWith(i.replace(/^.+\n.+\n/,""))&&(r.stack+=` -`+i):r.stack=i}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=Cr(this.defaults,n);const{transitional:r,paramsSerializer:o,headers:i}=n;r!==void 0&&Na.assertOptions(r,{silentJSONParsing:Zt.transitional(Zt.boolean),forcedJSONParsing:Zt.transitional(Zt.boolean),clarifyTimeoutError:Zt.transitional(Zt.boolean)},!1),o!=null&&(b.isFunction(o)?n.paramsSerializer={serialize:o}:Na.assertOptions(o,{encode:Zt.function,serialize:Zt.function},!0)),Na.assertOptions(n,{baseUrl:Zt.spelling("baseURL"),withXsrfToken:Zt.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let a=i&&b.merge(i.common,i[n.method]);i&&b.forEach(["delete","get","head","post","put","patch","common"],y=>{delete i[y]}),n.headers=ht.concat(a,i);const s=[];let l=!0;this.interceptors.request.forEach(function(v){typeof v.runWhen=="function"&&v.runWhen(n)===!1||(l=l&&v.synchronous,s.unshift(v.fulfilled,v.rejected))});const u=[];this.interceptors.response.forEach(function(v){u.push(v.fulfilled,v.rejected)});let c,d=0,p;if(!l){const y=[kh.bind(this),void 0];for(y.unshift.apply(y,s),y.push.apply(y,u),p=y.length,c=Promise.resolve(n);d{if(!r._listeners)return;let i=r._listeners.length;for(;i-- >0;)r._listeners[i](o);r._listeners=null}),this.promise.then=o=>{let i;const a=new Promise(s=>{r.subscribe(s),i=s}).then(o);return a.cancel=function(){r.unsubscribe(i)},a},t(function(i,a,s){r.reason||(r.reason=new wo(i,a,s),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=r=>{t.abort(r)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new sd(function(o){t=o}),cancel:t}}}function $_(e){return function(n){return e.apply(null,n)}}function H_(e){return b.isObject(e)&&e.isAxiosError===!0}const Qu={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Qu).forEach(([e,t])=>{Qu[t]=e});function pg(e){const t=new pr(e),n=Wy(pr.prototype.request,t);return b.extend(n,pr.prototype,t,{allOwnKeys:!0}),b.extend(n,t,null,{allOwnKeys:!0}),n.create=function(o){return pg(Cr(e,o))},n}const Ue=pg(Ii);Ue.Axios=pr;Ue.CanceledError=wo;Ue.CancelToken=sd;Ue.isCancel=ag;Ue.VERSION=hg;Ue.toFormData=Bs;Ue.AxiosError=Z;Ue.Cancel=Ue.CanceledError;Ue.all=function(t){return Promise.all(t)};Ue.spread=$_;Ue.isAxiosError=H_;Ue.mergeConfig=Cr;Ue.AxiosHeaders=ht;Ue.formToJSON=e=>ig(b.isHTMLForm(e)?new FormData(e):e);Ue.getAdapter=fg.getAdapter;Ue.HttpStatusCode=Qu;Ue.default=Ue;const V_="locale";function W_(){return ed.get(V_)}var K_=e=>{switch(e){case"success":return G_;case"info":return J_;case"warning":return Y_;case"error":return X_;default:return null}},Q_=Array(12).fill(0),q_=({visible:e,className:t})=>M.createElement("div",{className:["sonner-loading-wrapper",t].filter(Boolean).join(" "),"data-visible":e},M.createElement("div",{className:"sonner-spinner"},Q_.map((n,r)=>M.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${r}`})))),G_=M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},M.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),Y_=M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},M.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),J_=M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},M.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),X_=M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},M.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),Z_=M.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},M.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),M.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),eC=()=>{let[e,t]=M.useState(document.hidden);return M.useEffect(()=>{let n=()=>{t(document.hidden)};return document.addEventListener("visibilitychange",n),()=>window.removeEventListener("visibilitychange",n)},[]),e},qu=1,tC=class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}),this.publish=e=>{this.subscribers.forEach(t=>t(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{var t;let{message:n,...r}=e,o=typeof e?.id=="number"||((t=e.id)==null?void 0:t.length)>0?e.id:qu++,i=this.toasts.find(s=>s.id===o),a=e.dismissible===void 0?!0:e.dismissible;return i?this.toasts=this.toasts.map(s=>s.id===o?(this.publish({...s,...e,id:o,title:n}),{...s,...e,id:o,dismissible:a,title:n}):s):this.addToast({title:n,...r,dismissible:a,id:o}),o},this.dismiss=e=>(e||this.toasts.forEach(t=>{this.subscribers.forEach(n=>n({id:t.id,dismiss:!0}))}),this.subscribers.forEach(t=>t({id:e,dismiss:!0})),e),this.message=(e,t)=>this.create({...t,message:e}),this.error=(e,t)=>this.create({...t,message:e,type:"error"}),this.success=(e,t)=>this.create({...t,type:"success",message:e}),this.info=(e,t)=>this.create({...t,type:"info",message:e}),this.warning=(e,t)=>this.create({...t,type:"warning",message:e}),this.loading=(e,t)=>this.create({...t,type:"loading",message:e}),this.promise=(e,t)=>{if(!t)return;let n;t.loading!==void 0&&(n=this.create({...t,promise:e,type:"loading",message:t.loading,description:typeof t.description!="function"?t.description:void 0}));let r=e instanceof Promise?e:e(),o=n!==void 0,i,a=r.then(async l=>{if(i=["resolve",l],M.isValidElement(l))o=!1,this.create({id:n,type:"default",message:l});else if(rC(l)&&!l.ok){o=!1;let u=typeof t.error=="function"?await t.error(`HTTP error! status: ${l.status}`):t.error,c=typeof t.description=="function"?await t.description(`HTTP error! status: ${l.status}`):t.description;this.create({id:n,type:"error",message:u,description:c})}else if(t.success!==void 0){o=!1;let u=typeof t.success=="function"?await t.success(l):t.success,c=typeof t.description=="function"?await t.description(l):t.description;this.create({id:n,type:"success",message:u,description:c})}}).catch(async l=>{if(i=["reject",l],t.error!==void 0){o=!1;let u=typeof t.error=="function"?await t.error(l):t.error,c=typeof t.description=="function"?await t.description(l):t.description;this.create({id:n,type:"error",message:u,description:c})}}).finally(()=>{var l;o&&(this.dismiss(n),n=void 0),(l=t.finally)==null||l.call(t)}),s=()=>new Promise((l,u)=>a.then(()=>i[0]==="reject"?u(i[1]):l(i[1])).catch(u));return typeof n!="string"&&typeof n!="number"?{unwrap:s}:Object.assign(n,{unwrap:s})},this.custom=(e,t)=>{let n=t?.id||qu++;return this.create({jsx:e(n),id:n,...t}),n},this.subscribers=[],this.toasts=[]}},vt=new tC,nC=(e,t)=>{let n=t?.id||qu++;return vt.addToast({title:e,...t,id:n}),n},rC=e=>e&&typeof e=="object"&&"ok"in e&&typeof e.ok=="boolean"&&"status"in e&&typeof e.status=="number",oC=nC,iC=()=>vt.toasts,aC=Object.assign(oC,{success:vt.success,info:vt.info,warning:vt.warning,error:vt.error,custom:vt.custom,message:vt.message,promise:vt.promise,dismiss:vt.dismiss,loading:vt.loading},{getHistory:iC});function sC(e,{insertAt:t}={}){if(typeof document>"u")return;let n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",t==="top"&&n.firstChild?n.insertBefore(r,n.firstChild):n.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}sC(`:where(html[dir="ltr"]),:where([data-sonner-toaster][dir="ltr"]){--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0;--toast-close-button-start: 0;--toast-close-button-end: unset;--toast-close-button-transform: translate(-35%, -35%)}:where(html[dir="rtl"]),:where([data-sonner-toaster][dir="rtl"]){--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto;--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(35%, -35%)}:where([data-sonner-toaster]){position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999;transition:transform .4s ease}:where([data-sonner-toaster][data-lifted="true"]){transform:translateY(-10px)}@media (hover: none) and (pointer: coarse){:where([data-sonner-toaster][data-lifted="true"]){transform:none}}:where([data-sonner-toaster][data-x-position="right"]){right:max(var(--offset),env(safe-area-inset-right))}:where([data-sonner-toaster][data-x-position="left"]){left:max(var(--offset),env(safe-area-inset-left))}:where([data-sonner-toaster][data-x-position="center"]){left:50%;transform:translate(-50%)}:where([data-sonner-toaster][data-y-position="top"]){top:max(var(--offset),env(safe-area-inset-top))}:where([data-sonner-toaster][data-y-position="bottom"]){bottom:max(var(--offset),env(safe-area-inset-bottom))}:where([data-sonner-toast]){--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);filter:blur(0);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}:where([data-sonner-toast][data-styled="true"]){padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}:where([data-sonner-toast]:focus-visible){box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast][data-y-position="top"]){top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}:where([data-sonner-toast][data-y-position="bottom"]){bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}:where([data-sonner-toast]) :where([data-description]){font-weight:400;line-height:1.4;color:inherit}:where([data-sonner-toast]) :where([data-title]){font-weight:500;line-height:1.5;color:inherit}:where([data-sonner-toast]) :where([data-icon]){display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}:where([data-sonner-toast][data-promise="true"]) :where([data-icon])>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}:where([data-sonner-toast]) :where([data-icon])>*{flex-shrink:0}:where([data-sonner-toast]) :where([data-icon]) svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}:where([data-sonner-toast]) :where([data-content]){display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}:where([data-sonner-toast]) :where([data-button]):focus-visible{box-shadow:0 0 0 2px #0006}:where([data-sonner-toast]) :where([data-button]):first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}:where([data-sonner-toast]) :where([data-cancel]){color:var(--normal-text);background:rgba(0,0,0,.08)}:where([data-sonner-toast][data-theme="dark"]) :where([data-cancel]){background:rgba(255,255,255,.3)}:where([data-sonner-toast]) :where([data-close-button]){position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast] [data-close-button]{background:var(--gray1)}:where([data-sonner-toast]) :where([data-close-button]):focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast]) :where([data-disabled="true"]){cursor:not-allowed}:where([data-sonner-toast]):hover :where([data-close-button]):hover{background:var(--gray2);border-color:var(--gray5)}:where([data-sonner-toast][data-swiping="true"]):before{content:"";position:absolute;left:0;right:0;height:100%;z-index:-1}:where([data-sonner-toast][data-y-position="top"][data-swiping="true"]):before{bottom:50%;transform:scaleY(3) translateY(50%)}:where([data-sonner-toast][data-y-position="bottom"][data-swiping="true"]):before{top:50%;transform:scaleY(3) translateY(-50%)}:where([data-sonner-toast][data-swiping="false"][data-removed="true"]):before{content:"";position:absolute;inset:0;transform:scaleY(2)}:where([data-sonner-toast]):after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}:where([data-sonner-toast][data-mounted="true"]){--y: translateY(0);opacity:1}:where([data-sonner-toast][data-expanded="false"][data-front="false"]){--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}:where([data-sonner-toast])>*{transition:opacity .4s}:where([data-sonner-toast][data-expanded="false"][data-front="false"][data-styled="true"])>*{opacity:0}:where([data-sonner-toast][data-visible="false"]){opacity:0;pointer-events:none}:where([data-sonner-toast][data-mounted="true"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}:where([data-sonner-toast][data-removed="true"][data-front="true"][data-swipe-out="false"]){--y: translateY(calc(var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="false"]){--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}:where([data-sonner-toast][data-removed="true"][data-front="false"]):before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount, 0px));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation:swipe-out .2s ease-out forwards}@keyframes swipe-out{0%{transform:translateY(calc(var(--lift) * var(--offset) + var(--swipe-amount)));opacity:1}to{transform:translateY(calc(var(--lift) * var(--offset) + var(--swipe-amount) + var(--lift) * -100%));opacity:0}}@media (max-width: 600px){[data-sonner-toaster]{position:fixed;--mobile-offset: 16px;right:var(--mobile-offset);left:var(--mobile-offset);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset)}[data-sonner-toaster][data-y-position=bottom]{bottom:20px}[data-sonner-toaster][data-y-position=top]{top:20px}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset);right:var(--mobile-offset);transform:none}}[data-sonner-toaster][data-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 91%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 91%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 91%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-theme=dark]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 100%, 12%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 12%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);--error-text: hsl(358, 100%, 81%)}[data-rich-colors=true][data-sonner-toast][data-type=success],[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info],[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning],[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error],[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)} -`);function pa(e){return e.label!==void 0}var lC=3,uC="32px",Rh=4e3,cC=356,dC=14,fC=20,hC=200;function pC(...e){return e.filter(Boolean).join(" ")}var mC=e=>{var t,n,r,o,i,a,s,l,u,c,d;let{invert:p,toast:f,unstyled:y,interacting:v,setHeights:E,visibleToasts:m,heights:h,index:g,toasts:x,expanded:R,removeToast:w,defaultRichColors:P,closeButton:T,style:A,cancelButtonStyle:z,actionButtonStyle:te,className:H="",descriptionClassName:pe="",duration:le,position:tt,gap:De,loadingIcon:ie,expandByDefault:D,classNames:L,icons:B,closeButtonAriaLabel:G="Close toast",pauseWhenPageIsHidden:K,cn:J}=e,[X,ge]=M.useState(!1),[be,fe]=M.useState(!1),[So,Jn]=M.useState(!1),[Xn,Me]=M.useState(!1),[xn,Eo]=M.useState(!1),[Ks,zt]=M.useState(0),[Qs,Ui]=M.useState(0),Zn=M.useRef(f.duration||le||Rh),Bi=M.useRef(null),_n=M.useRef(null),qs=g===0,Gs=g+1<=m,ze=f.type,Tt=f.dismissible!==!1,$i=f.className||"",xo=f.descriptionClassName||"",pt=M.useMemo(()=>h.findIndex(q=>q.toastId===f.id)||0,[h,f.id]),jt=M.useMemo(()=>{var q;return(q=f.closeButton)!=null?q:T},[f.closeButton,T]);M.useMemo(()=>f.duration||le||Rh,[f.duration,le]);let Pr=M.useRef(0),Ft=M.useRef(0),Hi=M.useRef(0),mt=M.useRef(null),[_o,Vi]=tt.split("-"),Co=M.useMemo(()=>h.reduce((q,de,ye)=>ye>=pt?q:q+de.height,0),[h,pt]),Wi=eC(),Ki=f.invert||p,Cn=ze==="loading";Ft.current=M.useMemo(()=>pt*De+Co,[pt,Co]),M.useEffect(()=>{ge(!0)},[]),M.useEffect(()=>{let q=_n.current;if(q){let de=q.getBoundingClientRect().height;return Ui(de),E(ye=>[{toastId:f.id,height:de,position:f.position},...ye]),()=>E(ye=>ye.filter(yt=>yt.toastId!==f.id))}},[E,f.id]),M.useLayoutEffect(()=>{if(!X)return;let q=_n.current,de=q.style.height;q.style.height="auto";let ye=q.getBoundingClientRect().height;q.style.height=de,Ui(ye),E(yt=>yt.find(gt=>gt.toastId===f.id)?yt.map(gt=>gt.toastId===f.id?{...gt,height:ye}:gt):[{toastId:f.id,height:ye,position:f.position},...yt])},[X,f.title,f.description,E,f.id]);let It=M.useCallback(()=>{fe(!0),zt(Ft.current),E(q=>q.filter(de=>de.toastId!==f.id)),setTimeout(()=>{w(f)},hC)},[f,w,E,Ft]);M.useEffect(()=>{if(f.promise&&ze==="loading"||f.duration===1/0||f.type==="loading")return;let q;return R||v||K&&Wi?(()=>{if(Hi.current{var de;(de=f.onAutoClose)==null||de.call(f,f),It()},Zn.current)),()=>clearTimeout(q)},[R,v,f,ze,K,Wi,It]),M.useEffect(()=>{f.delete&&It()},[It,f.delete]);function ko(){var q,de,ye;return B!=null&&B.loading?M.createElement("div",{className:J(L?.loader,(q=f?.classNames)==null?void 0:q.loader,"sonner-loader"),"data-visible":ze==="loading"},B.loading):ie?M.createElement("div",{className:J(L?.loader,(de=f?.classNames)==null?void 0:de.loader,"sonner-loader"),"data-visible":ze==="loading"},ie):M.createElement(q_,{className:J(L?.loader,(ye=f?.classNames)==null?void 0:ye.loader),visible:ze==="loading"})}return M.createElement("li",{tabIndex:0,ref:_n,className:J(H,$i,L?.toast,(t=f?.classNames)==null?void 0:t.toast,L?.default,L?.[ze],(n=f?.classNames)==null?void 0:n[ze]),"data-sonner-toast":"","data-rich-colors":(r=f.richColors)!=null?r:P,"data-styled":!(f.jsx||f.unstyled||y),"data-mounted":X,"data-promise":!!f.promise,"data-swiped":xn,"data-removed":be,"data-visible":Gs,"data-y-position":_o,"data-x-position":Vi,"data-index":g,"data-front":qs,"data-swiping":So,"data-dismissible":Tt,"data-type":ze,"data-invert":Ki,"data-swipe-out":Xn,"data-expanded":!!(R||D&&X),style:{"--index":g,"--toasts-before":g,"--z-index":x.length-g,"--offset":`${be?Ks:Ft.current}px`,"--initial-height":D?"auto":`${Qs}px`,...A,...f.style},onPointerDown:q=>{Cn||!Tt||(Bi.current=new Date,zt(Ft.current),q.target.setPointerCapture(q.pointerId),q.target.tagName!=="BUTTON"&&(Jn(!0),mt.current={x:q.clientX,y:q.clientY}))},onPointerUp:()=>{var q,de,ye,yt;if(Xn||!Tt)return;mt.current=null;let gt=Number(((q=_n.current)==null?void 0:q.style.getPropertyValue("--swipe-amount").replace("px",""))||0),on=new Date().getTime()-((de=Bi.current)==null?void 0:de.getTime()),Tr=Math.abs(gt)/on;if(Math.abs(gt)>=fC||Tr>.11){zt(Ft.current),(ye=f.onDismiss)==null||ye.call(f,f),It(),Me(!0),Eo(!1);return}(yt=_n.current)==null||yt.style.setProperty("--swipe-amount","0px"),Jn(!1)},onPointerMove:q=>{var de,ye;if(!mt.current||!Tt)return;let yt=q.clientY-mt.current.y,gt=((de=window.getSelection())==null?void 0:de.toString().length)>0,on=_o==="top"?Math.min(0,yt):Math.max(0,yt);Math.abs(on)>0&&Eo(!0),!gt&&((ye=_n.current)==null||ye.style.setProperty("--swipe-amount",`${on}px`))}},jt&&!f.jsx?M.createElement("button",{"aria-label":G,"data-disabled":Cn,"data-close-button":!0,onClick:Cn||!Tt?()=>{}:()=>{var q;It(),(q=f.onDismiss)==null||q.call(f,f)},className:J(L?.closeButton,(o=f?.classNames)==null?void 0:o.closeButton)},(i=B?.close)!=null?i:Z_):null,f.jsx||M.isValidElement(f.title)?f.jsx?f.jsx:typeof f.title=="function"?f.title():f.title:M.createElement(M.Fragment,null,ze||f.icon||f.promise?M.createElement("div",{"data-icon":"",className:J(L?.icon,(a=f?.classNames)==null?void 0:a.icon)},f.promise||f.type==="loading"&&!f.icon?f.icon||ko():null,f.type!=="loading"?f.icon||B?.[ze]||K_(ze):null):null,M.createElement("div",{"data-content":"",className:J(L?.content,(s=f?.classNames)==null?void 0:s.content)},M.createElement("div",{"data-title":"",className:J(L?.title,(l=f?.classNames)==null?void 0:l.title)},typeof f.title=="function"?f.title():f.title),f.description?M.createElement("div",{"data-description":"",className:J(pe,xo,L?.description,(u=f?.classNames)==null?void 0:u.description)},typeof f.description=="function"?f.description():f.description):null),M.isValidElement(f.cancel)?f.cancel:f.cancel&&pa(f.cancel)?M.createElement("button",{"data-button":!0,"data-cancel":!0,style:f.cancelButtonStyle||z,onClick:q=>{var de,ye;pa(f.cancel)&&Tt&&((ye=(de=f.cancel).onClick)==null||ye.call(de,q),It())},className:J(L?.cancelButton,(c=f?.classNames)==null?void 0:c.cancelButton)},f.cancel.label):null,M.isValidElement(f.action)?f.action:f.action&&pa(f.action)?M.createElement("button",{"data-button":!0,"data-action":!0,style:f.actionButtonStyle||te,onClick:q=>{var de,ye;pa(f.action)&&((ye=(de=f.action).onClick)==null||ye.call(de,q),!q.defaultPrevented&&It())},className:J(L?.actionButton,(d=f?.classNames)==null?void 0:d.actionButton)},f.action.label):null))};function Ph(){if(typeof window>"u"||typeof document>"u")return"ltr";let e=document.documentElement.getAttribute("dir");return e==="auto"||!e?window.getComputedStyle(document.documentElement).direction:e}var yC=k.forwardRef(function(e,t){let{invert:n,position:r="bottom-right",hotkey:o=["altKey","KeyT"],expand:i,closeButton:a,className:s,offset:l,theme:u="light",richColors:c,duration:d,style:p,visibleToasts:f=lC,toastOptions:y,dir:v=Ph(),gap:E=dC,loadingIcon:m,icons:h,containerAriaLabel:g="Notifications",pauseWhenPageIsHidden:x,cn:R=pC}=e,[w,P]=M.useState([]),T=M.useMemo(()=>Array.from(new Set([r].concat(w.filter(K=>K.position).map(K=>K.position)))),[w,r]),[A,z]=M.useState([]),[te,H]=M.useState(!1),[pe,le]=M.useState(!1),[tt,De]=M.useState(u!=="system"?u:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),ie=M.useRef(null),D=o.join("+").replace(/Key/g,"").replace(/Digit/g,""),L=M.useRef(null),B=M.useRef(!1),G=M.useCallback(K=>{P(J=>{var X;return(X=J.find(ge=>ge.id===K.id))!=null&&X.delete||vt.dismiss(K.id),J.filter(({id:ge})=>ge!==K.id)})},[]);return M.useEffect(()=>vt.subscribe(K=>{if(K.dismiss){P(J=>J.map(X=>X.id===K.id?{...X,delete:!0}:X));return}setTimeout(()=>{Gm.flushSync(()=>{P(J=>{let X=J.findIndex(ge=>ge.id===K.id);return X!==-1?[...J.slice(0,X),{...J[X],...K},...J.slice(X+1)]:[K,...J]})})})}),[]),M.useEffect(()=>{if(u!=="system"){De(u);return}if(u==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?De("dark"):De("light")),typeof window>"u")return;let K=window.matchMedia("(prefers-color-scheme: dark)");try{K.addEventListener("change",({matches:J})=>{De(J?"dark":"light")})}catch{K.addListener(({matches:X})=>{try{De(X?"dark":"light")}catch(ge){console.error(ge)}})}},[u]),M.useEffect(()=>{w.length<=1&&H(!1)},[w]),M.useEffect(()=>{let K=J=>{var X,ge;o.every(be=>J[be]||J.code===be)&&(H(!0),(X=ie.current)==null||X.focus()),J.code==="Escape"&&(document.activeElement===ie.current||(ge=ie.current)!=null&&ge.contains(document.activeElement))&&H(!1)};return document.addEventListener("keydown",K),()=>document.removeEventListener("keydown",K)},[o]),M.useEffect(()=>{if(ie.current)return()=>{L.current&&(L.current.focus({preventScroll:!0}),L.current=null,B.current=!1)}},[ie.current]),M.createElement("section",{"aria-label":`${g} ${D}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false"},T.map((K,J)=>{var X;let[ge,be]=K.split("-");return w.length?M.createElement("ol",{key:K,dir:v==="auto"?Ph():v,tabIndex:-1,ref:ie,className:s,"data-sonner-toaster":!0,"data-theme":tt,"data-y-position":ge,"data-lifted":te&&w.length>1&&!i,"data-x-position":be,style:{"--front-toast-height":`${((X=A[0])==null?void 0:X.height)||0}px`,"--offset":typeof l=="number"?`${l}px`:l||uC,"--width":`${cC}px`,"--gap":`${E}px`,...p},onBlur:fe=>{B.current&&!fe.currentTarget.contains(fe.relatedTarget)&&(B.current=!1,L.current&&(L.current.focus({preventScroll:!0}),L.current=null))},onFocus:fe=>{fe.target instanceof HTMLElement&&fe.target.dataset.dismissible==="false"||B.current||(B.current=!0,L.current=fe.relatedTarget)},onMouseEnter:()=>H(!0),onMouseMove:()=>H(!0),onMouseLeave:()=>{pe||H(!1)},onPointerDown:fe=>{fe.target instanceof HTMLElement&&fe.target.dataset.dismissible==="false"||le(!0)},onPointerUp:()=>le(!1)},w.filter(fe=>!fe.position&&J===0||fe.position===K).map((fe,So)=>{var Jn,Xn;return M.createElement(mC,{key:fe.id,icons:h,index:So,toast:fe,defaultRichColors:c,duration:(Jn=y?.duration)!=null?Jn:d,className:y?.className,descriptionClassName:y?.descriptionClassName,invert:n,visibleToasts:f,closeButton:(Xn=y?.closeButton)!=null?Xn:a,interacting:pe,position:K,style:y?.style,unstyled:y?.unstyled,classNames:y?.classNames,cancelButtonStyle:y?.cancelButtonStyle,actionButtonStyle:y?.actionButtonStyle,removeToast:G,toasts:w.filter(Me=>Me.position==fe.position),heights:A.filter(Me=>Me.position==fe.position),setHeights:z,expandByDefault:i,gap:E,loadingIcon:m,expanded:te,pauseWhenPageIsHidden:x,cn:R})})):null}))});function mg(){vE();const e=window.location.pathname,t=e&&!["/404","/sign-in"].includes(e);window.location.href="/sign-in"+(t?`?redirect=${e}`:"")}const gC=["/passport/auth/login","/passport/auth/token2Login","/passport/auth/register","/guest/comm/config","/passport/comm/sendEmailVerify","/passport/auth/forget"];function vC(){const e="http://127.0.0.1:8000/";return e.endsWith("/")?e+"api/v2":e+"/api/v2"}const ld=Ue.create({baseURL:vC(),timeout:12e3,headers:{"Content-Type":"application/json"}});ld.interceptors.request.use(e=>{e.method?.toLowerCase()==="get"&&(e.params={...e.params,t:Date.now()});const t=Ci();if(!gC.includes(e.url?.split("?")[0]||"")){if(!t.value)return mg(),Promise.reject({code:-1,message:"未登录"});e.headers.Authorization=t.value}return e.headers["Content-Language"]=W_().value||"zh-CN",e},e=>Promise.reject(e));ld.interceptors.response.use(e=>{const t=e?.data||{code:-1,message:"未知错误"};return Promise.resolve(t)},e=>{const t=e.response?.data||{data:null,code:-1,message:"未知错误"},n=e.response?.status;let r=t.message;return n===401||n===403?(mg(),r=n===401?r||"登录已过期":r||"没有权限"):n===404?r=r||"资源或接口不存在":r=r||"未知异常",aC.error(r),Promise.resolve(t)});function wC(){return ld.get("/user/info")}const Al={token:Ci()?.value||"",userInfo:null,isLoggedIn:!!Ci()?.value,loading:!1,error:null},La=nx("user/fetchUserInfo",async()=>(await wC()).data,{condition:(e,{getState:t})=>{const{user:n}=t();return!!n.token&&!n.loading}}),yg=ux({name:"user",initialState:Al,reducers:{setToken(e,t){e.token=t.payload,e.isLoggedIn=!!t.payload},resetUserState:()=>Al},extraReducers:e=>{e.addCase(La.pending,t=>{t.loading=!0,t.error=null}).addCase(La.fulfilled,(t,n)=>{t.loading=!1,t.userInfo=n.payload,t.error=null}).addCase(La.rejected,(t,n)=>{if(t.loading=!1,t.error=n.error.message||"Failed to fetch user info",!t.token)return Al})}}),{setToken:XC,resetUserState:ZC}=yg.actions,ek=e=>e.user.userInfo,SC=yg.reducer,gg=QE({reducer:{user:SC}});Ci()?.value&&gg.dispatch(La());var Vs=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Ws=typeof window>"u"||"Deno"in globalThis;function $t(){}function EC(e,t){return typeof e=="function"?e(t):e}function xC(e){return typeof e=="number"&&e>=0&&e!==1/0}function _C(e,t){return Math.max(e+(t||0)-Date.now(),0)}function Th(e,t){return typeof e=="function"?e(t):e}function CC(e,t){return typeof e=="function"?e(t):e}function Oh(e,t){const{type:n="all",exact:r,fetchStatus:o,predicate:i,queryKey:a,stale:s}=e;if(a){if(r){if(t.queryHash!==ud(a,t.options))return!1}else if(!Ti(t.queryKey,a))return!1}if(n!=="all"){const l=t.isActive();if(n==="active"&&!l||n==="inactive"&&l)return!1}return!(typeof s=="boolean"&&t.isStale()!==s||o&&o!==t.state.fetchStatus||i&&!i(t))}function Nh(e,t){const{exact:n,status:r,predicate:o,mutationKey:i}=e;if(i){if(!t.options.mutationKey)return!1;if(n){if(Pi(t.options.mutationKey)!==Pi(i))return!1}else if(!Ti(t.options.mutationKey,i))return!1}return!(r&&t.state.status!==r||o&&!o(t))}function ud(e,t){return(t?.queryKeyHashFn||Pi)(e)}function Pi(e){return JSON.stringify(e,(t,n)=>Gu(n)?Object.keys(n).sort().reduce((r,o)=>(r[o]=n[o],r),{}):n)}function Ti(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?!Object.keys(t).some(n=>!Ti(e[n],t[n])):!1}function vg(e,t){if(e===t)return e;const n=Lh(e)&&Lh(t);if(n||Gu(e)&&Gu(t)){const r=n?e:Object.keys(e),o=r.length,i=n?t:Object.keys(t),a=i.length,s=n?[]:{};let l=0;for(let u=0;u{setTimeout(t,e)})}function bC(e,t,n){return typeof n.structuralSharing=="function"?n.structuralSharing(e,t):n.structuralSharing!==!1?vg(e,t):t}function RC(e,t,n=0){const r=[...e,t];return n&&r.length>n?r.slice(1):r}function PC(e,t,n=0){const r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var cd=Symbol();function wg(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===cd?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}var TC=class extends Vs{#e;#t;#n;constructor(){super(),this.#n=e=>{if(!Ws&&window.addEventListener){const t=()=>e();return window.addEventListener("visibilitychange",t,!1),()=>{window.removeEventListener("visibilitychange",t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(t=>{typeof t=="boolean"?this.setFocused(t):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){const e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#e=="boolean"?this.#e:globalThis.document?.visibilityState!=="hidden"}},Sg=new TC,OC=class extends Vs{#e=!0;#t;#n;constructor(){super(),this.#n=e=>{if(!Ws&&window.addEventListener){const t=()=>e(!0),n=()=>e(!1);return window.addEventListener("online",t,!1),window.addEventListener("offline",n,!1),()=>{window.removeEventListener("online",t),window.removeEventListener("offline",n)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(n=>{n(e)}))}isOnline(){return this.#e}},ms=new OC;function NC(){let e,t;const n=new Promise((o,i)=>{e=o,t=i});n.status="pending",n.catch(()=>{});function r(o){Object.assign(n,o),delete n.resolve,delete n.reject}return n.resolve=o=>{r({status:"fulfilled",value:o}),e(o)},n.reject=o=>{r({status:"rejected",reason:o}),t(o)},n}function LC(e){return Math.min(1e3*2**e,3e4)}function Eg(e){return(e??"online")==="online"?ms.isOnline():!0}var xg=class extends Error{constructor(e){super("CancelledError"),this.revert=e?.revert,this.silent=e?.silent}};function zl(e){return e instanceof xg}function _g(e){let t=!1,n=0,r=!1,o;const i=NC(),a=v=>{r||(p(new xg(v)),e.abort?.())},s=()=>{t=!0},l=()=>{t=!1},u=()=>Sg.isFocused()&&(e.networkMode==="always"||ms.isOnline())&&e.canRun(),c=()=>Eg(e.networkMode)&&e.canRun(),d=v=>{r||(r=!0,e.onSuccess?.(v),o?.(),i.resolve(v))},p=v=>{r||(r=!0,e.onError?.(v),o?.(),i.reject(v))},f=()=>new Promise(v=>{o=E=>{(r||u())&&v(E)},e.onPause?.()}).then(()=>{o=void 0,r||e.onContinue?.()}),y=()=>{if(r)return;let v;const E=n===0?e.initialPromise:void 0;try{v=E??e.fn()}catch(m){v=Promise.reject(m)}Promise.resolve(v).then(d).catch(m=>{if(r)return;const h=e.retry??(Ws?0:3),g=e.retryDelay??LC,x=typeof g=="function"?g(n,m):g,R=h===!0||typeof h=="number"&&nu()?void 0:f()).then(()=>{t?p(m):y()})})};return{promise:i,cancel:a,continue:()=>(o?.(),i),cancelRetry:s,continueRetry:l,canStart:c,start:()=>(c()?y():f().then(y),i)}}function DC(){let e=[],t=0,n=s=>{s()},r=s=>{s()},o=s=>setTimeout(s,0);const i=s=>{t?e.push(s):o(()=>{n(s)})},a=()=>{const s=e;e=[],s.length&&o(()=>{r(()=>{s.forEach(l=>{n(l)})})})};return{batch:s=>{let l;t++;try{l=s()}finally{t--,t||a()}return l},batchCalls:s=>(...l)=>{i(()=>{s(...l)})},schedule:i,setNotifyFunction:s=>{n=s},setBatchNotifyFunction:s=>{r=s},setScheduler:s=>{o=s}}}var rt=DC(),Cg=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),xC(this.gcTime)&&(this.#e=setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(Ws?1/0:5*60*1e3))}clearGcTimeout(){this.#e&&(clearTimeout(this.#e),this.#e=void 0)}},MC=class extends Cg{#e;#t;#n;#r;#a;#i;constructor(e){super(),this.#i=!1,this.#a=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#n=e.cache,this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#e=zC(this.options),this.state=e.state??this.#e,this.scheduleGc()}get meta(){return this.options.meta}get promise(){return this.#r?.promise}setOptions(e){this.options={...this.#a,...e},this.updateGcTime(this.options.gcTime)}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&this.#n.remove(this)}setData(e,t){const n=bC(this.state.data,e,this.options);return this.#o({data:n,type:"success",dataUpdatedAt:t?.updatedAt,manual:t?.manual}),n}setState(e,t){this.#o({type:"setState",state:e,setStateOptions:t})}cancel(e){const t=this.#r?.promise;return this.#r?.cancel(e),t?t.then($t).catch($t):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.#e)}isActive(){return this.observers.some(e=>CC(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===cd||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStale(){return this.state.isInvalidated?!0:this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0}isStaleByTime(e=0){return this.state.isInvalidated||this.state.data===void 0||!_C(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(t=>t.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#r?.continue()}onOnline(){this.observers.find(t=>t.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#r?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#n.notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(this.#r&&(this.#i?this.#r.cancel({revert:!0}):this.#r.cancelRetry()),this.scheduleGc()),this.#n.notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.#o({type:"invalidate"})}fetch(e,t){if(this.state.fetchStatus!=="idle"){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#r)return this.#r.continueRetry(),this.#r.promise}if(e&&this.setOptions(e),!this.options.queryFn){const s=this.observers.find(l=>l.options.queryFn);s&&this.setOptions(s.options)}const n=new AbortController,r=s=>{Object.defineProperty(s,"signal",{enumerable:!0,get:()=>(this.#i=!0,n.signal)})},o=()=>{const s=wg(this.options,t),l={queryKey:this.queryKey,meta:this.meta};return r(l),this.#i=!1,this.options.persister?this.options.persister(s,l,this):s(l)},i={fetchOptions:t,options:this.options,queryKey:this.queryKey,state:this.state,fetchFn:o};r(i),this.options.behavior?.onFetch(i,this),this.#t=this.state,(this.state.fetchStatus==="idle"||this.state.fetchMeta!==i.fetchOptions?.meta)&&this.#o({type:"fetch",meta:i.fetchOptions?.meta});const a=s=>{zl(s)&&s.silent||this.#o({type:"error",error:s}),zl(s)||(this.#n.config.onError?.(s,this),this.#n.config.onSettled?.(this.state.data,s,this)),this.scheduleGc()};return this.#r=_g({initialPromise:t?.initialPromise,fn:i.fetchFn,abort:n.abort.bind(n),onSuccess:s=>{if(s===void 0){a(new Error(`${this.queryHash} data is undefined`));return}try{this.setData(s)}catch(l){a(l);return}this.#n.config.onSuccess?.(s,this),this.#n.config.onSettled?.(s,this.state.error,this),this.scheduleGc()},onError:a,onFail:(s,l)=>{this.#o({type:"failed",failureCount:s,error:l})},onPause:()=>{this.#o({type:"pause"})},onContinue:()=>{this.#o({type:"continue"})},retry:i.options.retry,retryDelay:i.options.retryDelay,networkMode:i.options.networkMode,canRun:()=>!0}),this.#r.start()}#o(e){const t=n=>{switch(e.type){case"failed":return{...n,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...n,fetchStatus:"paused"};case"continue":return{...n,fetchStatus:"fetching"};case"fetch":return{...n,...AC(n.data,this.options),fetchMeta:e.meta??null};case"success":return{...n,data:e.data,dataUpdateCount:n.dataUpdateCount+1,dataUpdatedAt:e.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const r=e.error;return zl(r)&&r.revert&&this.#t?{...this.#t,fetchStatus:"idle"}:{...n,error:r,errorUpdateCount:n.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:n.fetchFailureCount+1,fetchFailureReason:r,fetchStatus:"idle",status:"error"};case"invalidate":return{...n,isInvalidated:!0};case"setState":return{...n,...e.state}}};this.state=t(this.state),rt.batch(()=>{this.observers.forEach(n=>{n.onQueryUpdate()}),this.#n.notify({query:this,type:"updated",action:e})})}};function AC(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Eg(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function zC(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"pending",fetchStatus:"idle"}}var jC=class extends Vs{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,n){const r=t.queryKey,o=t.queryHash??ud(r,t);let i=this.get(o);return i||(i=new MC({cache:this,queryKey:r,queryHash:o,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(i)),i}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){const t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){rt.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){const t={exact:!0,...e};return this.getAll().find(n=>Oh(t,n))}findAll(e={}){const t=this.getAll();return Object.keys(e).length>0?t.filter(n=>Oh(e,n)):t}notify(e){rt.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){rt.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){rt.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},FC=class extends Cg{#e;#t;#n;constructor(e){super(),this.mutationId=e.mutationId,this.#t=e.mutationCache,this.#e=[],this.state=e.state||IC(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#e.includes(e)||(this.#e.push(e),this.clearGcTimeout(),this.#t.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.#e=this.#e.filter(t=>t!==e),this.scheduleGc(),this.#t.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.#e.length||(this.state.status==="pending"?this.scheduleGc():this.#t.remove(this))}continue(){return this.#n?.continue()??this.execute(this.state.variables)}async execute(e){this.#n=_g({fn:()=>this.options.mutationFn?this.options.mutationFn(e):Promise.reject(new Error("No mutationFn found")),onFail:(r,o)=>{this.#r({type:"failed",failureCount:r,error:o})},onPause:()=>{this.#r({type:"pause"})},onContinue:()=>{this.#r({type:"continue"})},retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#t.canRun(this)});const t=this.state.status==="pending",n=!this.#n.canStart();try{if(!t){this.#r({type:"pending",variables:e,isPaused:n}),await this.#t.config.onMutate?.(e,this);const o=await this.options.onMutate?.(e);o!==this.state.context&&this.#r({type:"pending",context:o,variables:e,isPaused:n})}const r=await this.#n.start();return await this.#t.config.onSuccess?.(r,e,this.state.context,this),await this.options.onSuccess?.(r,e,this.state.context),await this.#t.config.onSettled?.(r,null,this.state.variables,this.state.context,this),await this.options.onSettled?.(r,null,e,this.state.context),this.#r({type:"success",data:r}),r}catch(r){try{throw await this.#t.config.onError?.(r,e,this.state.context,this),await this.options.onError?.(r,e,this.state.context),await this.#t.config.onSettled?.(void 0,r,this.state.variables,this.state.context,this),await this.options.onSettled?.(void 0,r,e,this.state.context),r}finally{this.#r({type:"error",error:r})}}finally{this.#t.runNext(this)}}#r(e){const t=n=>{switch(e.type){case"failed":return{...n,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...n,isPaused:!0};case"continue":return{...n,isPaused:!1};case"pending":return{...n,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...n,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...n,data:void 0,error:e.error,failureCount:n.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}};this.state=t(this.state),rt.batch(()=>{this.#e.forEach(n=>{n.onMutationUpdate(e)}),this.#t.notify({mutation:this,type:"updated",action:e})})}};function IC(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var UC=class extends Vs{constructor(e={}){super(),this.config=e,this.#e=new Map,this.#t=Date.now()}#e;#t;build(e,t,n){const r=new FC({mutationCache:this,mutationId:++this.#t,options:e.defaultMutationOptions(t),state:n});return this.add(r),r}add(e){const t=ma(e),n=this.#e.get(t)??[];n.push(e),this.#e.set(t,n),this.notify({type:"added",mutation:e})}remove(e){const t=ma(e);if(this.#e.has(t)){const n=this.#e.get(t)?.filter(r=>r!==e);n&&(n.length===0?this.#e.delete(t):this.#e.set(t,n))}this.notify({type:"removed",mutation:e})}canRun(e){const t=this.#e.get(ma(e))?.find(n=>n.state.status==="pending");return!t||t===e}runNext(e){return this.#e.get(ma(e))?.find(n=>n!==e&&n.state.isPaused)?.continue()??Promise.resolve()}clear(){rt.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}getAll(){return[...this.#e.values()].flat()}find(e){const t={exact:!0,...e};return this.getAll().find(n=>Nh(t,n))}findAll(e={}){return this.getAll().filter(t=>Nh(e,t))}notify(e){rt.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){const e=this.getAll().filter(t=>t.state.isPaused);return rt.batch(()=>Promise.all(e.map(t=>t.continue().catch($t))))}};function ma(e){return e.options.scope?.id??String(e.mutationId)}function Mh(e){return{onFetch:(t,n)=>{const r=t.options,o=t.fetchOptions?.meta?.fetchMore?.direction,i=t.state.data?.pages||[],a=t.state.data?.pageParams||[];let s={pages:[],pageParams:[]},l=0;const u=async()=>{let c=!1;const d=y=>{Object.defineProperty(y,"signal",{enumerable:!0,get:()=>(t.signal.aborted?c=!0:t.signal.addEventListener("abort",()=>{c=!0}),t.signal)})},p=wg(t.options,t.fetchOptions),f=async(y,v,E)=>{if(c)return Promise.reject();if(v==null&&y.pages.length)return Promise.resolve(y);const m={queryKey:t.queryKey,pageParam:v,direction:E?"backward":"forward",meta:t.options.meta};d(m);const h=await p(m),{maxPages:g}=t.options,x=E?PC:RC;return{pages:x(y.pages,h,g),pageParams:x(y.pageParams,v,g)}};if(o&&i.length){const y=o==="backward",v=y?BC:Ah,E={pages:i,pageParams:a},m=v(r,E);s=await f(E,m,y)}else{const y=e??i.length;do{const v=l===0?a[0]??r.initialPageParam:Ah(r,s);if(l>0&&v==null)break;s=await f(s,v),l++}while(lt.options.persister?.(u,{queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n):t.fetchFn=u}}}function Ah(e,{pages:t,pageParams:n}){const r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function BC(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}var $C=class{#e;#t;#n;#r;#a;#i;#o;#s;constructor(e={}){this.#e=e.queryCache||new jC,this.#t=e.mutationCache||new UC,this.#n=e.defaultOptions||{},this.#r=new Map,this.#a=new Map,this.#i=0}mount(){this.#i++,this.#i===1&&(this.#o=Sg.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=ms.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#i--,this.#i===0&&(this.#o?.(),this.#o=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return this.#t.findAll({...e,status:"pending"}).length}getQueryData(e){const t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),n=this.#e.build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(Th(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:t,state:n})=>{const r=n.data;return[t,r]})}setQueryData(e,t,n){const r=this.defaultQueryOptions({queryKey:e}),i=this.#e.get(r.queryHash)?.state.data,a=EC(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return rt.batch(()=>this.#e.findAll(e).map(({queryKey:r})=>[r,this.setQueryData(r,t,n)]))}getQueryState(e){const t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){const t=this.#e;rt.batch(()=>{t.findAll(e).forEach(n=>{t.remove(n)})})}resetQueries(e,t){const n=this.#e,r={type:"active",...e};return rt.batch(()=>(n.findAll(e).forEach(o=>{o.reset()}),this.refetchQueries(r,t)))}cancelQueries(e,t={}){const n={revert:!0,...t},r=rt.batch(()=>this.#e.findAll(e).map(o=>o.cancel(n)));return Promise.all(r).then($t).catch($t)}invalidateQueries(e,t={}){return rt.batch(()=>{if(this.#e.findAll(e).forEach(r=>{r.invalidate()}),e?.refetchType==="none")return Promise.resolve();const n={...e,type:e?.refetchType??e?.type??"active"};return this.refetchQueries(n,t)})}refetchQueries(e,t={}){const n={...t,cancelRefetch:t.cancelRefetch??!0},r=rt.batch(()=>this.#e.findAll(e).filter(o=>!o.isDisabled()).map(o=>{let i=o.fetch(void 0,n);return n.throwOnError||(i=i.catch($t)),o.state.fetchStatus==="paused"?Promise.resolve():i}));return Promise.all(r).then($t)}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const n=this.#e.build(this,t);return n.isStaleByTime(Th(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then($t).catch($t)}fetchInfiniteQuery(e){return e.behavior=Mh(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then($t).catch($t)}ensureInfiniteQueryData(e){return e.behavior=Mh(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return ms.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#r.set(Pi(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...this.#r.values()],n={};return t.forEach(r=>{Ti(e,r.queryKey)&&Object.assign(n,r.defaultOptions)}),n}setMutationDefaults(e,t){this.#a.set(Pi(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...this.#a.values()];let n={};return t.forEach(r=>{Ti(e,r.mutationKey)&&(n={...n,...r.defaultOptions})}),n}defaultQueryOptions(e){if(e._defaulted)return e;const t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=ud(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===cd&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},kg=k.createContext(void 0),nk=e=>{const t=k.useContext(kg);if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},HC=({client:e,children:t})=>(k.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),Q.jsx(kg.Provider,{value:e,children:t}));const VC=new $C;jl.createRoot(document.getElementById("root")).render(Q.jsx(M.StrictMode,{children:Q.jsx(HC,{client:VC,children:Q.jsx(lS,{store:gg,children:Q.jsxs(U1,{defaultTheme:"light",storageKey:"vite-ui-theme",children:[Q.jsx(D1,{router:EE}),Q.jsx(yC,{richColors:!0,position:"top-right"})]})})})}));export{Vg as $,NC as A,uo as B,CC as C,Th as D,$t as E,Ws as F,xC as G,_C as H,Sg as I,AC as J,bC as K,KC as L,Wc as M,Gm as N,m1 as O,tr as P,qC as Q,M as R,Vs as S,YC as T,ek as U,vE as V,ZC as W,yy as X,ky as a,ld as b,uE as c,GC as d,yo as e,La as f,cE as g,WC as h,Yu as i,Q as j,wy as k,ed as l,tk as m,Pi as n,IC as o,rt as p,nk as q,k as r,XC as s,aC as t,zi as u,JC as v,QC as w,wS as x,mS as y,gy as z}; diff --git a/public/assets/admin/assets/index-dMq6aGlM.js b/public/assets/admin/assets/index-dMq6aGlM.js deleted file mode 100644 index 8108cc134..000000000 --- a/public/assets/admin/assets/index-dMq6aGlM.js +++ /dev/null @@ -1,6 +0,0 @@ -import{r as c,j as e,B as f,t as r,a as O}from"./index-_xd8OyP8.js";import{c as z,S as E,T as H,U as P}from"./user-nav-BBmBVa03.js";import{L as _,f as q,g as B}from"./sidelinks-DLs_k-Mk.js";import{C as w,a as D,b as R,d as V,c as T}from"./card-6-6NT3wL.js";import{p as A,q as M,r as Q,t as W,v as Z,w as G}from"./index-BycJudEO.js";import{D as S,e as J,a as F,b as L,c as k,d as U,f as X}from"./button-DhrtVlOa.js";import{u as Y,F as $,a as K,b as ee,c as se,d as ae,e as re}from"./form-DIzSOdtk.js";import{D as te}from"./DynamicForm-r9rhu44l.js";import{L as ne}from"./loader-circle-BgRqqHyr.js";import{S as p}from"./skeleton-Dzu0p8kx.js";import{u as ie}from"./useQuery-mr7Ep0hT.js";import{C as le}from"./confirm-dialog-CHz9pK2w.js";import{T as oe}from"./trash-2-lI1I6nfk.js";import"./react-icons.esm-rZq2pt7A.js";import"./index-CcyXqhZ9.js";import"./index-BwSRHYe4.js";import"./index-CX6PQ3zO.js";import"./index-BlMNiBlp.js";import"./IconTicket-COhvkaJH.js";import"./clipboard-YH5zrf5X.js";import"./input-d0vtE30O.js";import"./textarea-Bmd-AJpD.js";/** - * @license lucide-react v0.399.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const b=z("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]]);function ce({themeKey:d,themeInfo:i}){const[j,m]=c.useState(!1),[g,x]=c.useState(!1),[v,h]=c.useState(!1),t=Y({defaultValues:i.configs.reduce((a,l)=>(a[l.field_name]="",a),{})}),n=async()=>{try{x(!0);const{data:a}=await A(d);Object.entries(a).forEach(([l,u])=>{t.setValue(l,u)})}catch{r.error("加载主题配置失败"),m(!1)}finally{x(!1)}},y=async a=>{try{h(!0),M(d,a).then(()=>{r.success("保存成功"),m(!1)})}catch{r.error("保存失败")}finally{h(!1)}};return e.jsxs(S,{open:j,onOpenChange:a=>{m(a),a?n():t.reset()},children:[e.jsx(J,{asChild:!0,children:e.jsx(f,{variant:"outline",children:"主题设置"})}),e.jsxs(F,{className:"max-h-[90vh] overflow-auto sm:max-w-[425px]",children:[e.jsxs(L,{children:[e.jsxs(k,{children:["配置",i.name,"主题"]}),e.jsx(U,{children:"修改主题的样式、布局和其他显示选项。"})]}),g?e.jsx("div",{className:"flex h-40 items-center justify-center",children:e.jsx(ne,{className:"h-6 w-6 animate-spin"})}):e.jsx($,{...t,children:e.jsxs("form",{onSubmit:t.handleSubmit(y),className:"space-y-4",children:[i.configs.map(a=>e.jsx(K,{control:t.control,name:a.field_name,render:({field:l})=>e.jsxs(ee,{children:[e.jsx(se,{children:a.label}),e.jsx(ae,{children:te(a,l)}),e.jsx(re,{})]})},a.field_name)),e.jsxs(X,{className:"mt-6 gap-2",children:[e.jsx(f,{type:"button",variant:"secondary",onClick:()=>m(!1),children:"取消"}),e.jsx(f,{type:"submit",loading:v,children:"保存"})]})]})})]})]})}function Ie(){const[d,i]=c.useState(null),[j,m]=c.useState(!1),[g,x]=c.useState(!1),[v,h]=c.useState(!1),t=c.useRef(null),{data:n,isLoading:y,refetch:a}=ie({queryKey:["themeList"],queryFn:async()=>{const{data:s}=await G();return s}}),l=async s=>{try{i(s),await W({frontend_theme:s}),r.success("主题切换成功"),a()}catch{r.error("主题切换失败")}finally{i(null)}},u=async s=>{if(!s.name.endsWith(".zip")){r.error("只支持上传 ZIP 格式的主题文件");return}try{m(!0),await Z(s),r.success("主题上传成功"),x(!1),a()}catch{r.error("主题上传失败")}finally{m(!1),t.current&&(t.current.value="")}},N=s=>{s.preventDefault(),s.stopPropagation(),s.type==="dragenter"||s.type==="dragover"?h(!0):s.type==="dragleave"&&h(!1)},I=s=>{s.preventDefault(),s.stopPropagation(),h(!1),s.dataTransfer.files&&s.dataTransfer.files[0]&&u(s.dataTransfer.files[0])};return e.jsxs(_,{children:[e.jsxs(q,{className:"flex items-center justify-between",children:[e.jsx(E,{}),e.jsxs("div",{className:"flex items-center space-x-4",children:[e.jsx(H,{}),e.jsx(P,{})]})]}),e.jsxs(B,{className:"",children:[e.jsxs("header",{className:"mb-8",children:[e.jsx("div",{className:"mb-2",children:e.jsx("h1",{className:"text-2xl font-bold tracking-tight",children:"主题配置"})}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("p",{className:"text-muted-foreground",children:"主题配置,包括主题色、字体大小等。如果你采用前后分离的方式部署V2board,那么主题配置将不会生效。"}),e.jsxs(f,{onClick:()=>x(!0),variant:"outline",className:"ml-4 shrink-0",children:[e.jsx(b,{className:"mr-2 h-4 w-4"}),"上传主题"]})]})]}),e.jsx("section",{className:"grid gap-6 sm:grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4",children:y?e.jsxs(e.Fragment,{children:[e.jsx(C,{}),e.jsx(C,{})]}):n?.themes&&Object.entries(n.themes).map(([s,o])=>e.jsxs(w,{className:"relative transition-shadow hover:shadow-md",children:[s!==n.active&&e.jsx("div",{className:"absolute right-2 top-2",children:e.jsx(le,{title:"删除主题",description:"确定要删除该主题吗?删除后无法恢复。",confirmText:"删除",variant:"destructive",onConfirm:async()=>{if(s===n?.active){r.error("不能删除当前使用的主题");return}i(s),Q(s).then(()=>{r.success("主题删除成功"),a()}).catch(()=>{r.error("主题删除失败")}).finally(()=>{i(null)})},children:e.jsx(f,{disabled:d===s,loading:d===s,variant:"ghost",size:"icon",className:"h-8 w-8 text-muted-foreground hover:text-destructive",children:e.jsx(oe,{className:"h-4 w-4"})})})}),e.jsxs(D,{children:[e.jsx(R,{children:o.name}),e.jsx(V,{children:o.description})]}),e.jsxs(T,{className:"flex items-center justify-end space-x-3",children:[e.jsx(ce,{themeKey:s,themeInfo:o}),e.jsx(f,{onClick:()=>l(s),disabled:d===s||s===n.active,loading:d===s,variant:s===n.active?"secondary":"default",children:s===n.active?"当前主题":"激活主题"})]})]},s))}),e.jsx(S,{open:g,onOpenChange:x,children:e.jsxs(F,{className:"sm:max-w-md",children:[e.jsxs(L,{children:[e.jsx(k,{children:"上传主题"}),e.jsx(U,{children:"请上传一个有效的主题压缩包(.zip 格式)。主题包应包含完整的主题文件结构。"})]}),e.jsxs("div",{className:O("relative mt-4 flex h-64 flex-col items-center justify-center rounded-lg border-2 border-dashed border-muted-foreground/25 px-5 py-10 text-center transition-colors",v&&"border-primary/50 bg-muted/50"),onDragEnter:N,onDragLeave:N,onDragOver:N,onDrop:I,children:[e.jsx("input",{type:"file",ref:t,className:"hidden",accept:".zip",onChange:s=>{const o=s.target.files?.[0];o&&u(o)}}),j?e.jsxs("div",{className:"flex flex-col items-center space-y-2",children:[e.jsx("div",{className:"h-10 w-10 animate-spin rounded-full border-b-2 border-primary"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"正在上传..."})]}):e.jsx(e.Fragment,{children:e.jsxs("div",{className:"flex flex-col items-center space-y-4",children:[e.jsx("div",{className:"rounded-full border-2 border-muted-foreground/25 p-3",children:e.jsx(b,{className:"h-6 w-6 text-muted-foreground/50"})}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("p",{className:"text-sm font-medium",children:["将主题文件拖放到此处,或者",e.jsx("button",{type:"button",onClick:()=>t.current?.click(),className:"mx-1 text-primary hover:underline",children:"点击选择"})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"支持 .zip 格式的主题包"})]})]})})]})]})})]})]})}function C(){return e.jsxs(w,{children:[e.jsxs(D,{children:[e.jsx(p,{className:"h-6 w-[200px]"}),e.jsx(p,{className:"h-4 w-[300px]"})]}),e.jsxs(T,{className:"flex items-center justify-end space-x-3",children:[e.jsx(p,{className:"h-10 w-[100px]"}),e.jsx(p,{className:"h-10 w-[100px]"})]})]})}export{Ie as default}; diff --git a/public/assets/admin/assets/index-fOI7O5AQ.js b/public/assets/admin/assets/index-fOI7O5AQ.js deleted file mode 100644 index b68f108fe..000000000 --- a/public/assets/admin/assets/index-fOI7O5AQ.js +++ /dev/null @@ -1 +0,0 @@ -import{r as b,j as e,a as y,g as S,B as h,t as p}from"./index-_xd8OyP8.js";import{S as F}from"./separator-lX8UNwTG.js";import{z as l,t as T}from"./zod-x_8lkCGK.js";import{C as v}from"./react-icons.esm-rZq2pt7A.js";import{u as M,F as w,a as n,b as t,c as i,d as o,f as c,e as m}from"./form-DIzSOdtk.js";import{I as d}from"./input-d0vtE30O.js";import{u as j}from"./useQuery-mr7Ep0hT.js";import{s as E,e as N,f as q,h as C}from"./index-BycJudEO.js";import"./index-CX6PQ3zO.js";import"./clipboard-YH5zrf5X.js";const P=l.object({email_template:l.string().nullable(),email_host:l.string().nullable(),email_port:l.string().regex(/^\d+$/).nullable(),email_username:l.string().nullable(),email_password:l.string().nullable(),email_encryption:l.string().nullable(),email_from_address:l.string().email().nullable()}),I={email_template:"classic",email_host:"",email_port:"465",email_username:"",email_password:"",email_encryption:"",email_from_address:""};function L(){const r=M({resolver:T(P),defaultValues:I,mode:"onChange"}),{data:x}=j({queryKey:["settings","email"],queryFn:()=>N("email")}),{data:u}=j({queryKey:["emailTemplate"],queryFn:()=>q()});b.useEffect(()=>{if(x?.data.email){const s=x.data.email;Object.entries(s).forEach(([a,_])=>{r.setValue(a,_)})}},[x]);const{isLoading:f,refetch:g}=j({queryKey:["sendTestMail"],queryFn:()=>C().then(()=>p.success("发送成功")),enabled:!1});return e.jsxs(w,{...r,children:[e.jsx(n,{control:r.control,name:"email_host",render:({field:s})=>e.jsxs(t,{children:[e.jsx(i,{children:"SMTP服务器地址"}),e.jsx(o,{children:e.jsx(d,{placeholder:"请输入",...s})}),e.jsx(c,{children:"由邮件服务商提供的服务地址"}),e.jsx(m,{})]})}),e.jsx(n,{control:r.control,name:"email_port",render:({field:s})=>e.jsxs(t,{children:[e.jsx(i,{children:"SMTP服务端口"}),e.jsx(o,{children:e.jsx(d,{placeholder:"请输入",...s})}),e.jsx(c,{children:"常见的端口有25, 465, 587"}),e.jsx(m,{})]})}),e.jsx(n,{control:r.control,name:"email_encryption",render:({field:s})=>e.jsxs(t,{children:[e.jsx(i,{children:"SMTP加密方式"}),e.jsx(o,{children:e.jsx(d,{placeholder:"请输入",...s})}),e.jsx(c,{children:"465端口加密方式一般为SSL,587端口加密方式一般为TLS"}),e.jsx(m,{})]})}),e.jsx(n,{control:r.control,name:"email_username",render:({field:s})=>e.jsxs(t,{children:[e.jsx(i,{children:"SMTP账号"}),e.jsx(o,{children:e.jsx(d,{placeholder:"请输入",...s})}),e.jsx(c,{children:"由邮件服务商提供的账号"}),e.jsx(m,{})]})}),e.jsx(n,{control:r.control,name:"email_password",render:({field:s})=>e.jsxs(t,{children:[e.jsx(i,{children:"SMTP密码"}),e.jsx(o,{children:e.jsx(d,{placeholder:"请输入",...s})}),e.jsx(c,{children:"由邮件服务商提供的密码"}),e.jsx(m,{})]})}),e.jsx(n,{control:r.control,name:"email_from_address",render:({field:s})=>e.jsxs(t,{children:[e.jsx(i,{children:"发件地址"}),e.jsx(o,{children:e.jsx(d,{placeholder:"请输入",...s})}),e.jsx(c,{children:"由邮件服务商提供的发件地址"}),e.jsx(m,{})]})}),e.jsx(n,{control:r.control,name:"email_template",render:({field:s})=>e.jsxs(t,{children:[e.jsx(i,{children:"邮件模板"}),e.jsxs("div",{className:"relative w-max",children:[e.jsx(o,{children:e.jsx("select",{className:y(S({variant:"outline"}),"w-[200px] appearance-none font-normal"),...s,children:u?.data?.map(a=>e.jsx("option",{value:a,children:a},a))})}),e.jsx(v,{className:"absolute right-3 top-2.5 h-4 w-4 opacity-50"})]}),e.jsx(c,{children:"你可以在文档查看如何自定义邮件模板"}),e.jsx(m,{})]})}),e.jsxs("div",{className:"flex justify-between",children:[e.jsx(h,{type:"submit",onClick:()=>{r.handleSubmit(s=>{console.log(s),E(s).then(({data:a})=>{a&&p.success("保存成功")})})()},children:"保存设置"}),e.jsx(h,{loading:f,onClick:()=>{g()},children:"发送测试邮件"})]})]})}function A(){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:"邮件设置"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"配置系统邮件服务,用于发送验证码、密码重置、通知等邮件,支持多种SMTP服务商。"})]}),e.jsx(F,{}),e.jsx(L,{})]})}export{A as default}; diff --git a/public/assets/admin/assets/index-hFh1_zyo.js b/public/assets/admin/assets/index-hFh1_zyo.js deleted file mode 100644 index 0d89dd1eb..000000000 --- a/public/assets/admin/assets/index-hFh1_zyo.js +++ /dev/null @@ -1,47 +0,0 @@ -import{_ as $}from"./user-nav-BBmBVa03.js";import{r as h}from"./index-_xd8OyP8.js";import{e as _t}from"./index-DScOlCGV.js";function Uu(u,e){return Uu=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,t){return r.__proto__=t,r},Uu(u,e)}function D(u,e){u.prototype=Object.create(e.prototype),u.prototype.constructor=u,Uu(u,e)}function A(u){if(u===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return u}var pu,kt=new Uint8Array(16);function yt(){if(!pu&&(pu=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto<"u"&&typeof msCrypto.getRandomValues=="function"&&msCrypto.getRandomValues.bind(msCrypto),!pu))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return pu(kt)}const Ct=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function Et(u){return typeof u=="string"&&Ct.test(u)}var N=[];for(var Au=0;Au<256;++Au)N.push((Au+256).toString(16).substr(1));function vt(u){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=(N[u[e+0]]+N[u[e+1]]+N[u[e+2]]+N[u[e+3]]+"-"+N[u[e+4]]+N[u[e+5]]+"-"+N[u[e+6]]+N[u[e+7]]+"-"+N[u[e+8]]+N[u[e+9]]+"-"+N[u[e+10]]+N[u[e+11]]+N[u[e+12]]+N[u[e+13]]+N[u[e+14]]+N[u[e+15]]).toLowerCase();if(!Et(n))throw TypeError("Stringified UUID is invalid");return n}function ve(u,e,n){u=u||{};var r=u.random||(u.rng||yt)();return r[6]=r[6]&15|64,r[8]=r[8]&63|128,vt(r)}function T(u){return h.createElement("i",{className:"rmel-iconfont rmel-icon-"+u.type})}function Dt(u){return h.createElement("div",{className:"rc-md-navigation "+(u.visible?"visible":"in-visible")},h.createElement("div",{className:"navigation-nav left"},h.createElement("div",{className:"button-wrap"},u.left)),h.createElement("div",{className:"navigation-nav right"},h.createElement("div",{className:"button-wrap"},u.right)))}function At(u){return h.createElement("div",{className:"tool-bar",style:u.style},u.children)}var De=function(u){D(e,u);function e(){for(var n,r=arguments.length,t=new Array(r),i=0;i"u")){var r="enUS";if(navigator.language){var t=navigator.language.split("-");r=t[0],t.length!==1&&(r+=t[t.length-1].toUpperCase())}if(navigator.browserLanguage){var i=navigator.browserLanguage.split("-");r=i[0],i[1]&&(r+=i[1].toUpperCase())}this.current!==r&&this.isAvailable(r)&&(this.current=r,G.emit(G.EVENT_LANG_CHANGE,this,r,this.langs[r]))}},e.isAvailable=function(r){return typeof this.langs[r]<"u"},e.add=function(r,t){this.langs[r]=t},e.setCurrent=function(r){if(!this.isAvailable(r))throw new Error("Language "+r+" is not exists");this.current!==r&&(this.current=r,G.emit(G.EVENT_LANG_CHANGE,this,r,this.langs[r]))},e.get=function(r,t){var i=this.langs[this.current][r]||"";return t&&Object.keys(t).forEach(function(o){i=i.replace(new RegExp("\\{"+o+"\\}","g"),t[o])}),i},e.getCurrent=function(){return this.current},u}(),v=new St;function ou(u){"@babel/helpers - typeof";return ou=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ou(u)}function Tt(u,e){if(ou(u)!="object"||!u)return u;var n=u[Symbol.toPrimitive];if(n!==void 0){var r=n.call(u,e);if(ou(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(u)}function Mt(u){var e=Tt(u,"string");return ou(e)=="symbol"?e:e+""}function It(u,e){for(var n=0;n=u.length?{done:!0}:{done:!1,value:u[r++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Bt(u,e){if(u){if(typeof u=="string")return te(u,e);var n=Object.prototype.toString.call(u).slice(8,-1);if(n==="Object"&&u.constructor&&(n=u.constructor.name),n==="Map"||n==="Set")return Array.from(u);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return te(u,e)}}function te(u,e){(e==null||e>u.length)&&(e=u.length);for(var n=0,r=new Array(e);n0)for(var c=Nt(n),a;!(a=c()).done;){var s=a.value;if(typeof o[s]<"u"&&!o[s])return!1}else if(o.metaKey||o.ctrlKey||o.shiftKey||o.altKey)return!1;return o.key?o.key===t:o.keyCode===r}function Fu(u,e){var n=u.split(` -`),r=u.substr(0,e).split(` -`),t=r.length,i=r[r.length-1].length,o=n[r.length-1],c=r.length>1?r[r.length-2]:null,a=n.length>r.length?n[r.length]:null;return{line:t,col:i,beforeText:u.substr(0,e),afterText:u.substr(e),curLine:o,prevLine:c,nextLine:a}}var eu={bold:["**","**"],italic:["*","*"],underline:["++","++"],strikethrough:["~~","~~"],quote:[` -> `,` -`],inlinecode:["`","`"],code:["\n```\n","\n```\n"]};for(var bu=1;bu<=6;bu++)eu["h"+bu]=[` -`+Rt("#",bu)+" ",` -`];function Ot(u){for(var e=u.row,n=e===void 0?2:e,r=u.col,t=r===void 0?2:r,i=["|"],o=["|"],c=["|"],a="",s=1;s<=t;s++)i.push(" Head |"),c.push(" --- |"),o.push(" Data |");for(var l=1;l<=n;l++)a+=` -`+o.join("");return i.join("")+` -`+c.join("")+a}function ne(u,e){var n=e;if(n.substr(0,1)!==` -`&&(n=` -`+n),u==="unordered")return n.length>1?n.replace(/\n/g,` -* `).trim():"* ";var r=1;return n.length>1?n.replace(/\n/g,function(){return` -`+r+++". "}).trim():"1. "}function wu(u,e){return{text:u,newBlock:e,selection:{start:u.length,end:u.length}}}function zu(u,e,n){if(typeof eu[e]<"u")return{text:""+eu[e][0]+u+eu[e][1],selection:{start:eu[e][0].length,end:eu[e][0].length+u.length}};switch(e){case"tab":var r=n.tabMapValue===1?" ":" ".repeat(n.tabMapValue),t=r+u.replace(/\n/g,` -`+r),i=u.includes(` -`)?u.match(/\n/g).length:0;return{text:t,selection:{start:n.tabMapValue,end:n.tabMapValue*(i+1)+u.length}};case"unordered":return wu(ne("unordered",u),!0);case"order":return wu(ne("order",u),!0);case"hr":return wu("---",!0);case"table":return{text:Ot(n),newBlock:!0};case"image":return{text:"!["+(u||n.target)+"]("+(n.imageUrl||"")+")",selection:{start:2,end:u.length+2}};case"link":return{text:"["+u+"]("+(n.linkUrl||"")+")",selection:{start:1,end:u.length+1}}}return{text:u,selection:{start:0,end:u.length}}}function Fe(u,e){var n={};return Object.keys(u).forEach(function(r){if(typeof e[r]>"u"){n[r]=u[r];return}if(typeof e[r]=="object"){Array.isArray(e[r])?n[r]=[].concat(e[r]):n[r]=Fe(u[r],e[r]);return}n[r]=e[r]}),n}function zt(u){for(var e=$({},u),n=arguments.length,r=new Array(n>1?n-1:0),t=1;t=u.length?{done:!0}:{done:!1,value:u[r++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ht(u,e){if(u){if(typeof u=="string")return ie(u,e);var n=Object.prototype.toString.call(u).slice(8,-1);if(n==="Object"&&u.constructor&&(n=u.constructor.name),n==="Map"||n==="Set")return Array.from(u);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ie(u,e)}}function ie(u,e){(e==null||e>u.length)&&(e=u.length);for(var n=0,r=new Array(e);n"u"&&(l[f.comp.align]=[]);var b=f.comp.pluginName==="divider"?ve():f.comp.pluginName;l[f.comp.align].push(h.createElement(f.comp,{editor:t,editorConfig:t.config,config:$({},f.comp.defaultConfig||{},f.config||{}),key:b}))}),l},n.handleSyncScroll=function(t,i){var o=this;if(t===this.shouldSyncScroll){this.props.onScroll&&this.props.onScroll(i,t),this.emitter.emit(this.emitter.EVENT_SCROLL,i,t);var c=this.config.syncScrollMode,a=c===void 0?[]:c;a.includes(t==="md"?"rightFollowLeft":"leftFollowRight")&&(this.hasContentChanged&&this.nodeMdText.current&&this.nodeMdPreviewWrapper.current&&(this.scrollScale=this.nodeMdText.current.scrollHeight/this.nodeMdPreviewWrapper.current.scrollHeight,this.hasContentChanged=!1),this.isSyncingScroll||(this.isSyncingScroll=!0,requestAnimationFrame(function(){o.nodeMdText.current&&o.nodeMdPreviewWrapper.current&&(t==="md"?o.nodeMdPreviewWrapper.current.scrollTop=o.nodeMdText.current.scrollTop/o.scrollScale:o.nodeMdText.current.scrollTop=o.nodeMdPreviewWrapper.current.scrollTop*o.scrollScale),o.isSyncingScroll=!1})))}},n.renderHTML=function(t){var i=this;if(!this.props.renderHTML)return console.error("renderHTML props is required!"),Promise.resolve();var o=this.props.renderHTML(t);return Vu(o)?o.then(function(c){return i.setHtml(c)}):typeof o=="function"?this.setHtml(o()):this.setHtml(o)},n.setHtml=function(t){var i=this;return new Promise(function(o){i.setState({html:t},o)})},n.handleToggleMenu=function(){this.setView({menu:!this.state.view.menu})},n.handleFocus=function(t){var i=this.props.onFocus;i&&i(t),this.emitter.emit(this.emitter.EVENT_FOCUS,t)},n.handleBlur=function(t){var i=this.props.onBlur;i&&i(t),this.emitter.emit(this.emitter.EVENT_BLUR,t)},n.handleChange=function(t){t.persist();var i=t.target.value;this.setText(i,t)},n.handlePaste=function(t){if(!(!this.config.allowPasteImage||!this.config.onImageUpload)){var i=t.nativeEvent,o=(i.clipboardData||window.clipboardData).items;o&&(t.preventDefault(),this.uploadWithDataTransfer(o))}},n.handleDrop=function(t){if(this.config.onImageUpload){var i=t.nativeEvent;if(i.dataTransfer){var o=i.dataTransfer.items;o&&(t.preventDefault(),this.uploadWithDataTransfer(o))}}},n.handleEditorKeyDown=function(t){var i=this,o=t.keyCode,c=t.key,a=t.currentTarget;if((o===13||c==="Enter")&&this.composing===!1){var s=a.value,l=a.selectionStart,f=Fu(s,l),b=function(){var m=a.value.substr(0,l-f.curLine.length)+a.value.substr(l);i.setText(m,void 0,{start:l-f.curLine.length,end:l-f.curLine.length}),t.preventDefault()},p=function(m){i.insertText(` -`+m,!1,{start:m.length+1,end:m.length+1}),t.preventDefault()},d=f.curLine.match(/^(\s*?)\* /);if(d){if(/^(\s*?)\* $/.test(f.curLine)){b();return}p(d[0]);return}var g=f.curLine.match(/^(\s*?)(\d+)\. /);if(g){if(/^(\s*?)(\d+)\. $/.test(f.curLine)){b();return}var y=""+g[1]+(parseInt(g[2],10)+1)+". ";p(y);return}}this.emitter.emit(this.emitter.EVENT_EDITOR_KEY_DOWN,t)},n.handleLocaleUpdate=function(){this.forceUpdate()},n.getMdElement=function(){return this.nodeMdText.current},n.getHtmlElement=function(){return this.nodeMdPreviewWrapper.current},n.clearSelection=function(){this.nodeMdText.current&&this.nodeMdText.current.setSelectionRange(0,0,"none")},n.getSelection=function(){var t=this.nodeMdText.current;if(!t)return $({},Lt);var i=t.selectionStart,o=t.selectionEnd,c=(t.value||"").slice(i,o);return{start:i,end:o,text:c}},n.setSelection=function(t){this.nodeMdText.current&&(this.nodeMdText.current.setSelectionRange(t.start,t.end,"forward"),this.nodeMdText.current.focus())},n.insertMarkdown=function(t,i){i===void 0&&(i={});var o=this.getSelection(),c=i?$({},i):{};if(t==="image"&&(c=$({},c,{target:i.target||o.text||"",imageUrl:i.imageUrl||this.config.imageUrl})),t==="link"&&(c=$({},c,{linkUrl:this.config.linkUrl})),t==="tab"&&o.start!==o.end){var a=this.getMdValue().slice(0,o.start).lastIndexOf(` -`)+1;this.setSelection({start:a,end:o.end})}var s=zu(o.text,t,c),l=s.text,f=s.selection;if(s.newBlock){var b=Fu(this.getMdValue(),o.start),p=b.col,d=b.curLine;p>0&&d.length>0&&(l=` -`+l,f&&(f.start++,f.end++));var g=b.afterText;o.start!==o.end&&(g=Fu(this.getMdValue(),o.end).afterText),g.trim()!==""&&g.substr(0,2)!==` - -`&&(g.substr(0,1)!==` -`&&(l+=` -`),l+=` -`)}this.insertText(l,!0,f)},n.insertPlaceholder=function(t,i){var o=this;this.insertText(t,!0),i.then(function(c){var a=o.getMdValue().replace(t,c);o.setText(a)})},n.insertText=function(t,i,o){t===void 0&&(t=""),i===void 0&&(i=!1);var c=this.state.text,a=this.getSelection(),s=c.slice(0,a.start),l=c.slice(i?a.end:a.start,c.length);this.setText(s+t+l,void 0,o?{start:o.start+s.length,end:o.end+s.length}:{start:a.start,end:a.start})},n.setText=function(t,i,o){var c=this;t===void 0&&(t="");var a=this.config.onChangeTrigger,s=a===void 0?"both":a,l=t.replace(/↵/g,` -`);if(this.state.text!==t){this.setState({text:l}),this.props.onChange&&(s==="both"||s==="beforeRender")&&this.props.onChange({text:l,html:this.getHtmlValue()},i),this.emitter.emit(this.emitter.EVENT_CHANGE,t,i,typeof i>"u"),o&&setTimeout(function(){return c.setSelection(o)}),this.hasContentChanged||(this.hasContentChanged=!0);var f=this.renderHTML(l);(s==="both"||s==="afterRender")&&f.then(function(){c.props.onChange&&c.props.onChange({text:c.state.text,html:c.getHtmlValue()},i)})}},n.getMdValue=function(){return this.state.text},n.getHtmlValue=function(){return typeof this.state.html=="string"?this.state.html:this.nodeMdPreview.current?this.nodeMdPreview.current.getHtml():""},n.onKeyboard=function(t){var i=this;if(Array.isArray(t)){t.forEach(function(o){return i.onKeyboard(o)});return}this.keyboardListeners.includes(t)||this.keyboardListeners.push(t)},n.offKeyboard=function(t){var i=this;if(Array.isArray(t)){t.forEach(function(c){return i.offKeyboard(c)});return}var o=this.keyboardListeners.indexOf(t);o>=0&&this.keyboardListeners.splice(o,1)},n.handleKeyDown=function(t){for(var i=Su(this.keyboardListeners),o;!(o=i()).done;){var c=o.value;if(Ut(t,c)){t.preventDefault(),c.callback(t);return}}this.emitter.emit(this.emitter.EVENT_KEY_DOWN,t)},n.getEventType=function(t){switch(t){case"change":return this.emitter.EVENT_CHANGE;case"fullscreen":return this.emitter.EVENT_FULL_SCREEN;case"viewchange":return this.emitter.EVENT_VIEW_CHANGE;case"keydown":return this.emitter.EVENT_KEY_DOWN;case"editor_keydown":return this.emitter.EVENT_EDITOR_KEY_DOWN;case"blur":return this.emitter.EVENT_BLUR;case"focus":return this.emitter.EVENT_FOCUS;case"scroll":return this.emitter.EVENT_SCROLL}},n.on=function(t,i){var o=this.getEventType(t);o&&this.emitter.on(o,i)},n.off=function(t,i){var o=this.getEventType(t);o&&this.emitter.off(o,i)},n.setView=function(t){var i=this,o=$({},this.state.view,t);this.setState({view:o},function(){i.emitter.emit(i.emitter.EVENT_VIEW_CHANGE,o)})},n.getView=function(){return $({},this.state.view)},n.fullScreen=function(t){var i=this;this.state.fullScreen!==t&&this.setState({fullScreen:t},function(){i.emitter.emit(i.emitter.EVENT_FULL_SCREEN,t)})},n.registerPluginApi=function(t,i){this.pluginApis.set(t,i)},n.unregisterPluginApi=function(t){this.pluginApis.delete(t)},n.callPluginApi=function(t){var i=this.pluginApis.get(t);if(!i)throw new Error("API "+t+" not found");for(var o=arguments.length,c=new Array(o>1?o-1:0),a=1;a0&&t.onImageChanged(c.target.files[0])}}))},e}(w);Pe.pluginName="image";var qe=function(u){D(e,u);function e(r){var t;return t=u.call(this,r)||this,t.handleKeyboard={key:"k",keyCode:75,aliasCommand:!0,withKey:["ctrlKey"],callback:function(){return t.editor.insertMarkdown("link")}},t}var n=e.prototype;return n.componentDidMount=function(){this.editorConfig.shortcuts&&this.editor.onKeyboard(this.handleKeyboard)},n.componentWillUnmount=function(){this.editor.offKeyboard(this.handleKeyboard)},n.render=function(){var t=this;return h.createElement("span",{className:"button button-type-link",title:v.get("btnLink"),onClick:function(){return t.editor.insertMarkdown("link")}},h.createElement(T,{type:"link"}))},e}(w);qe.pluginName="link";var He=function(u){D(e,u);function e(r){var t;return t=u.call(this,r)||this,t.handleKeyboard={key:"7",keyCode:55,withKey:["ctrlKey","shiftKey"],aliasCommand:!0,callback:function(){return t.editor.insertMarkdown("order")}},t}var n=e.prototype;return n.componentDidMount=function(){this.editorConfig.shortcuts&&this.editor.onKeyboard(this.handleKeyboard)},n.componentWillUnmount=function(){this.editor.offKeyboard(this.handleKeyboard)},n.render=function(){var t=this;return h.createElement("span",{className:"button button-type-ordered",title:v.get("btnOrdered"),onClick:function(){return t.editor.insertMarkdown("order")}},h.createElement(T,{type:"list-ordered"}))},e}(w);He.pluginName="list-ordered";var Ve=function(u){D(e,u);function e(r){var t;return t=u.call(this,r)||this,t.handleKeyboard={key:"8",keyCode:56,withKey:["ctrlKey","shiftKey"],aliasCommand:!0,callback:function(){return t.editor.insertMarkdown("unordered")}},t}var n=e.prototype;return n.componentDidMount=function(){this.editorConfig.shortcuts&&this.editor.onKeyboard(this.handleKeyboard)},n.componentWillUnmount=function(){this.editor.offKeyboard(this.handleKeyboard)},n.render=function(){var t=this;return h.createElement("span",{className:"button button-type-unordered",title:v.get("btnUnordered"),onClick:function(){return t.editor.insertMarkdown("unordered")}},h.createElement(T,{type:"list-unordered"}))},e}(w);Ve.pluginName="list-unordered";var Wt=100,$t=function(){function u(n){n===void 0&&(n={}),this.record=[],this.recycle=[],this.initValue="";var r=n,t=r.maxSize,i=t===void 0?Wt:t;this.maxSize=i}var e=u.prototype;return e.push=function(r){for(var t=this.record.push(r);this.record.length>this.maxSize;)this.record.shift();return t},e.get=function(){return this.record},e.getLast=function(){var r=this.record.length;return this.record[r-1]},e.undo=function(r){var t=this.record.pop();if(typeof t>"u")return this.initValue;if(t!==r)return this.recycle.push(t),t;var i=this.record.pop();return typeof i>"u"?(this.recycle.push(t),this.initValue):(this.recycle.push(t),i)},e.redo=function(){var r=this.recycle.pop();if(typeof r<"u")return this.push(r),r},e.cleanRedo=function(){this.recycle=[]},e.getUndoCount=function(){return this.undo.length},e.getRedoCount=function(){return this.recycle.length},u}(),Ke=function(u){D(e,u);function e(r){var t;return t=u.call(this,r)||this,t.handleKeyboards=[],t.lastPop=null,t.handleChange=t.handleChange.bind(A(t)),t.handleRedo=t.handleRedo.bind(A(t)),t.handleUndo=t.handleUndo.bind(A(t)),t.handleKeyboards=[{key:"y",keyCode:89,withKey:["ctrlKey"],callback:t.handleRedo},{key:"z",keyCode:90,withKey:["metaKey","shiftKey"],callback:t.handleRedo},{key:"z",keyCode:90,aliasCommand:!0,withKey:["ctrlKey"],callback:t.handleUndo}],t.logger=new $t({maxSize:t.editorConfig.loggerMaxSize}),t.editor.registerPluginApi("undo",t.handleUndo),t.editor.registerPluginApi("redo",t.handleRedo),t}var n=e.prototype;return n.handleUndo=function(){var t=this.logger.undo(this.editor.getMdValue());typeof t<"u"&&(this.pause(),this.lastPop=t,this.editor.setText(t),this.forceUpdate())},n.handleRedo=function(){var t=this.logger.redo();typeof t<"u"&&(this.lastPop=t,this.editor.setText(t),this.forceUpdate())},n.handleChange=function(t,i,o){var c=this;if(!(this.logger.getLast()===t||this.lastPop!==null&&this.lastPop===t)){if(this.logger.cleanRedo(),o){this.logger.push(t),this.lastPop=null,this.forceUpdate();return}this.timerId&&(window.clearTimeout(this.timerId),this.timerId=0),this.timerId=window.setTimeout(function(){c.logger.getLast()!==t&&(c.logger.push(t),c.lastPop=null,c.forceUpdate()),window.clearTimeout(c.timerId),c.timerId=0},this.editorConfig.loggerInterval)}},n.componentDidMount=function(){var t=this;this.editor.on("change",this.handleChange),this.handleKeyboards.forEach(function(i){return t.editor.onKeyboard(i)}),this.logger.initValue=this.editor.getMdValue(),this.forceUpdate()},n.componentWillUnmount=function(){var t=this;this.timerId&&window.clearTimeout(this.timerId),this.editor.off("change",this.handleChange),this.editor.unregisterPluginApi("undo"),this.editor.unregisterPluginApi("redo"),this.handleKeyboards.forEach(function(i){return t.editor.offKeyboard(i)})},n.pause=function(){this.timerId&&(window.clearTimeout(this.timerId),this.timerId=void 0)},n.render=function(){var t=this.logger.getUndoCount()>1||this.logger.initValue!==this.editor.getMdValue(),i=this.logger.getRedoCount()>0;return h.createElement(h.Fragment,null,h.createElement("span",{className:"button button-type-undo "+(t?"":"disabled"),title:v.get("btnUndo"),onClick:this.handleUndo},h.createElement(T,{type:"undo"})),h.createElement("span",{className:"button button-type-redo "+(i?"":"disabled"),title:v.get("btnRedo"),onClick:this.handleRedo},h.createElement(T,{type:"redo"})))},e}(w);Ke.pluginName="logger";var B;(function(u){u[u.SHOW_ALL=0]="SHOW_ALL",u[u.SHOW_MD=1]="SHOW_MD",u[u.SHOW_HTML=2]="SHOW_HTML"})(B||(B={}));var Wu=function(u){D(e,u);function e(r){var t;return t=u.call(this,r)||this,t.handleClick=t.handleClick.bind(A(t)),t.handleChange=t.handleChange.bind(A(t)),t.state={view:t.editor.getView()},t}var n=e.prototype;return n.handleClick=function(){switch(this.next){case B.SHOW_ALL:this.editor.setView({html:!0,md:!0});break;case B.SHOW_HTML:this.editor.setView({html:!0,md:!1});break;case B.SHOW_MD:this.editor.setView({html:!1,md:!0});break}},n.handleChange=function(t){this.setState({view:t})},n.componentDidMount=function(){this.editor.on("viewchange",this.handleChange)},n.componentWillUnmount=function(){this.editor.off("viewchange",this.handleChange)},n.getDisplayInfo=function(){var t=this.next;switch(t){case B.SHOW_ALL:return{icon:"view-split",title:"All"};case B.SHOW_HTML:return{icon:"visibility",title:"Preview"};default:return{icon:"keyboard",title:"Editor"}}},n.render=function(){if(this.isDisplay){var t=this.getDisplayInfo();return h.createElement("span",{className:"button button-type-mode",title:v.get("btnMode"+t.title),onClick:this.handleClick},h.createElement(T,{type:t.icon}))}return null},Ae(e,[{key:"isDisplay",get:function(){var t=this.editorConfig.canView;return t?[t.html,t.md,t.both].filter(function(i){return i}).length>=2:!1}},{key:"next",get:function(){var t=this.editorConfig.canView,i=this.state.view,o=[B.SHOW_ALL,B.SHOW_MD,B.SHOW_HTML];t&&(t.both||o.splice(o.indexOf(B.SHOW_ALL),1),t.md||o.splice(o.indexOf(B.SHOW_MD),1),t.html||o.splice(o.indexOf(B.SHOW_HTML),1));var c=B.SHOW_MD;if(i.html&&(c=B.SHOW_HTML),i.html&&i.md&&(c=B.SHOW_ALL),o.length===0)return c;if(o.length===1)return o[0];var a=o.indexOf(c);return a=55296&&l<=57343?t+="���":t+=String.fromCharCode(l),i+=6;continue}}if((c&248)===240&&i+91114111?t+="����":(f-=65536,t+=String.fromCharCode(55296+(f>>10),56320+(f&1023))),i+=9;continue}}t+="�"}return t})}nu.defaultChars=";/?:@&=+$,#";nu.componentChars="";const ce={};function Qt(u){let e=ce[u];if(e)return e;e=ce[u]=[];for(let n=0;n<128;n++){const r=String.fromCharCode(n);/^[0-9a-z]$/i.test(r)?e.push(r):e.push("%"+("0"+n.toString(16).toUpperCase()).slice(-2))}for(let n=0;n"u"&&(n=!0);const r=Qt(e);let t="";for(let i=0,o=u.length;i=55296&&c<=57343){if(c>=55296&&c<=56319&&i+1=56320&&a<=57343){t+=encodeURIComponent(u[i]+u[i+1]),i++;continue}}t+="%EF%BF%BD";continue}t+=encodeURIComponent(u[i])}return t}fu.defaultChars=";/?:@&=+$,-_.!~*'()#";fu.componentChars="-_.!~*'()";function ju(u){let e="";return e+=u.protocol||"",e+=u.slashes?"//":"",e+=u.auth?u.auth+"@":"",u.hostname&&u.hostname.indexOf(":")!==-1?e+="["+u.hostname+"]":e+=u.hostname||"",e+=u.port?":"+u.port:"",e+=u.pathname||"",e+=u.search||"",e+=u.hash||"",e}function xu(){this.protocol=null,this.slashes=null,this.auth=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.pathname=null}const Jt=/^([a-z0-9.+-]+:)/i,Yt=/:[0-9]*$/,Xt=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,un=["<",">",'"',"`"," ","\r",` -`," "],en=["{","}","|","\\","^","`"].concat(un),tn=["'"].concat(en),ae=["%","/","?",";","#"].concat(tn),se=["/","?","#"],nn=255,le=/^[+a-z0-9A-Z_-]{0,63}$/,rn=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,fe={javascript:!0,"javascript:":!0},de={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function Zu(u,e){if(u&&u instanceof xu)return u;const n=new xu;return n.parse(u,e),n}xu.prototype.parse=function(u,e){let n,r,t,i=u;if(i=i.trim(),!e&&u.split("#").length===1){const s=Xt.exec(i);if(s)return this.pathname=s[1],s[2]&&(this.search=s[2]),this}let o=Jt.exec(i);if(o&&(o=o[0],n=o.toLowerCase(),this.protocol=o,i=i.substr(o.length)),(e||o||i.match(/^\/\/[^@\/]+@[^@\/]+/))&&(t=i.substr(0,2)==="//",t&&!(o&&fe[o])&&(i=i.substr(2),this.slashes=!0)),!fe[o]&&(t||o&&!de[o])){let s=-1;for(let d=0;d127?m+="x":m+=E[_];if(!m.match(le)){const _=d.slice(0,g),x=d.slice(g+1),k=E.match(rn);k&&(_.push(k[1]),x.unshift(k[2])),x.length&&(i=x.join(".")+i),this.hostname=_.join(".");break}}}}this.hostname.length>nn&&(this.hostname=""),p&&(this.hostname=this.hostname.substr(1,this.hostname.length-2))}const c=i.indexOf("#");c!==-1&&(this.hash=i.substr(c),i=i.slice(0,c));const a=i.indexOf("?");return a!==-1&&(this.search=i.substr(a),i=i.slice(0,a)),i&&(this.pathname=i),de[n]&&this.hostname&&!this.pathname&&(this.pathname=""),this};xu.prototype.parseHost=function(u){let e=Yt.exec(u);e&&(e=e[0],e!==":"&&(this.port=e.substr(1)),u=u.substr(0,u.length-e.length)),u&&(this.hostname=u)};const on=Object.freeze(Object.defineProperty({__proto__:null,decode:nu,encode:fu,format:ju,parse:Zu},Symbol.toStringTag,{value:"Module"})),We=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,$e=/[\0-\x1F\x7F-\x9F]/,cn=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u0890\u0891\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD80D[\uDC30-\uDC3F]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/,Gu=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1B7D\u1B7E\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-\u2E4F\u2E52-\u2E5D\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]|\uD803[\uDEAD\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2\uDF00-\uDF09]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDF43-\uDF4F\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/,je=/[\$\+<->\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u0888\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20C0\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFF\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u31EF\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBC2\uFD40-\uFD4F\uFDCF\uFDFC-\uFDFF\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEDC-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF76\uDF7B-\uDFD9\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC5\uDECE-\uDEDB\uDEE0-\uDEE8\uDEF0-\uDEF8\uDF00-\uDF92\uDF94-\uDFCA]/,Ze=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/,an=Object.freeze(Object.defineProperty({__proto__:null,Any:We,Cc:$e,Cf:cn,P:Gu,S:je,Z:Ze},Symbol.toStringTag,{value:"Module"})),sn=new Uint16Array('ᵁ<Õıʊҝջאٵ۞ޢߖࠏ੊ઑඡ๭༉༦჊ረዡᐕᒝᓃᓟᔥ\0\0\0\0\0\0ᕫᛍᦍᰒᷝ὾⁠↰⊍⏀⏻⑂⠤⤒ⴈ⹈⿎〖㊺㘹㞬㣾㨨㩱㫠㬮ࠀEMabcfglmnoprstu\\bfms„‹•˜¦³¹ÈÏlig耻Æ䃆P耻&䀦cute耻Á䃁reve;䄂Āiyx}rc耻Â䃂;䐐r;쀀𝔄rave耻À䃀pha;䎑acr;䄀d;橓Āgp¡on;䄄f;쀀𝔸plyFunction;恡ing耻Å䃅Ācs¾Ãr;쀀𝒜ign;扔ilde耻Ã䃃ml耻Ä䃄ЀaceforsuåûþėĜĢħĪĀcrêòkslash;或Ŷöø;櫧ed;挆y;䐑ƀcrtąċĔause;戵noullis;愬a;䎒r;쀀𝔅pf;쀀𝔹eve;䋘còēmpeq;扎܀HOacdefhilorsuōőŖƀƞƢƵƷƺǜȕɳɸɾcy;䐧PY耻©䂩ƀcpyŝŢźute;䄆Ā;iŧŨ拒talDifferentialD;慅leys;愭ȀaeioƉƎƔƘron;䄌dil耻Ç䃇rc;䄈nint;戰ot;䄊ĀdnƧƭilla;䂸terDot;䂷òſi;䎧rcleȀDMPTLJNjǑǖot;抙inus;抖lus;投imes;抗oĀcsǢǸkwiseContourIntegral;戲eCurlyĀDQȃȏoubleQuote;思uote;怙ȀlnpuȞȨɇɕonĀ;eȥȦ户;橴ƀgitȯȶȺruent;扡nt;戯ourIntegral;戮ĀfrɌɎ;愂oduct;成nterClockwiseContourIntegral;戳oss;樯cr;쀀𝒞pĀ;Cʄʅ拓ap;才րDJSZacefiosʠʬʰʴʸˋ˗ˡ˦̳ҍĀ;oŹʥtrahd;椑cy;䐂cy;䐅cy;䐏ƀgrsʿ˄ˇger;怡r;憡hv;櫤Āayː˕ron;䄎;䐔lĀ;t˝˞戇a;䎔r;쀀𝔇Āaf˫̧Ācm˰̢riticalȀADGT̖̜̀̆cute;䂴oŴ̋̍;䋙bleAcute;䋝rave;䁠ilde;䋜ond;拄ferentialD;慆Ѱ̽\0\0\0͔͂\0Ѕf;쀀𝔻ƀ;DE͈͉͍䂨ot;惜qual;扐blèCDLRUVͣͲ΂ϏϢϸontourIntegraìȹoɴ͹\0\0ͻ»͉nArrow;懓Āeo·ΤftƀARTΐΖΡrrow;懐ightArrow;懔eåˊngĀLRΫτeftĀARγιrrow;柸ightArrow;柺ightArrow;柹ightĀATϘϞrrow;懒ee;抨pɁϩ\0\0ϯrrow;懑ownArrow;懕erticalBar;戥ǹABLRTaВЪаўѿͼrrowƀ;BUНОТ憓ar;椓pArrow;懵reve;䌑eft˒к\0ц\0ѐightVector;楐eeVector;楞ectorĀ;Bљњ憽ar;楖ightǔѧ\0ѱeeVector;楟ectorĀ;BѺѻ懁ar;楗eeĀ;A҆҇护rrow;憧ĀctҒҗr;쀀𝒟rok;䄐ࠀNTacdfglmopqstuxҽӀӄӋӞӢӧӮӵԡԯԶՒ՝ՠեG;䅊H耻Ð䃐cute耻É䃉ƀaiyӒӗӜron;䄚rc耻Ê䃊;䐭ot;䄖r;쀀𝔈rave耻È䃈ement;戈ĀapӺӾcr;䄒tyɓԆ\0\0ԒmallSquare;旻erySmallSquare;斫ĀgpԦԪon;䄘f;쀀𝔼silon;䎕uĀaiԼՉlĀ;TՂՃ橵ilde;扂librium;懌Āci՗՚r;愰m;橳a;䎗ml耻Ë䃋Āipժկsts;戃onentialE;慇ʀcfiosօֈ֍ֲ׌y;䐤r;쀀𝔉lledɓ֗\0\0֣mallSquare;旼erySmallSquare;斪Ͱֺ\0ֿ\0\0ׄf;쀀𝔽All;戀riertrf;愱cò׋؀JTabcdfgorstר׬ׯ׺؀ؒؖ؛؝أ٬ٲcy;䐃耻>䀾mmaĀ;d׷׸䎓;䏜reve;䄞ƀeiy؇،ؐdil;䄢rc;䄜;䐓ot;䄠r;쀀𝔊;拙pf;쀀𝔾eater̀EFGLSTصلَٖٛ٦qualĀ;Lؾؿ扥ess;招ullEqual;执reater;檢ess;扷lantEqual;橾ilde;扳cr;쀀𝒢;扫ЀAacfiosuڅڋږڛڞڪھۊRDcy;䐪Āctڐڔek;䋇;䁞irc;䄤r;愌lbertSpace;愋ǰگ\0ڲf;愍izontalLine;攀Āctۃۅòکrok;䄦mpńېۘownHumðįqual;扏܀EJOacdfgmnostuۺ۾܃܇܎ܚܞܡܨ݄ݸދޏޕcy;䐕lig;䄲cy;䐁cute耻Í䃍Āiyܓܘrc耻Î䃎;䐘ot;䄰r;愑rave耻Ì䃌ƀ;apܠܯܿĀcgܴܷr;䄪inaryI;慈lieóϝǴ݉\0ݢĀ;eݍݎ戬Āgrݓݘral;戫section;拂isibleĀCTݬݲomma;恣imes;恢ƀgptݿރވon;䄮f;쀀𝕀a;䎙cr;愐ilde;䄨ǫޚ\0ޞcy;䐆l耻Ï䃏ʀcfosuެ޷޼߂ߐĀiyޱ޵rc;䄴;䐙r;쀀𝔍pf;쀀𝕁ǣ߇\0ߌr;쀀𝒥rcy;䐈kcy;䐄΀HJacfosߤߨ߽߬߱ࠂࠈcy;䐥cy;䐌ppa;䎚Āey߶߻dil;䄶;䐚r;쀀𝔎pf;쀀𝕂cr;쀀𝒦րJTaceflmostࠥࠩࠬࡐࡣ঳সে্਷ੇcy;䐉耻<䀼ʀcmnpr࠷࠼ࡁࡄࡍute;䄹bda;䎛g;柪lacetrf;愒r;憞ƀaeyࡗ࡜ࡡron;䄽dil;䄻;䐛Āfsࡨ॰tԀACDFRTUVarࡾࢩࢱࣦ࣠ࣼयज़ΐ४Ānrࢃ࢏gleBracket;柨rowƀ;BR࢙࢚࢞憐ar;懤ightArrow;懆eiling;挈oǵࢷ\0ࣃbleBracket;柦nǔࣈ\0࣒eeVector;楡ectorĀ;Bࣛࣜ懃ar;楙loor;挊ightĀAV࣯ࣵrrow;憔ector;楎Āerँगeƀ;AVउऊऐ抣rrow;憤ector;楚iangleƀ;BEतथऩ抲ar;槏qual;抴pƀDTVषूौownVector;楑eeVector;楠ectorĀ;Bॖॗ憿ar;楘ectorĀ;B॥०憼ar;楒ightáΜs̀EFGLSTॾঋকঝঢভqualGreater;拚ullEqual;扦reater;扶ess;檡lantEqual;橽ilde;扲r;쀀𝔏Ā;eঽা拘ftarrow;懚idot;䄿ƀnpw৔ਖਛgȀLRlr৞৷ਂਐeftĀAR০৬rrow;柵ightArrow;柷ightArrow;柶eftĀarγਊightáοightáϊf;쀀𝕃erĀLRਢਬeftArrow;憙ightArrow;憘ƀchtਾੀੂòࡌ;憰rok;䅁;扪Ѐacefiosuਗ਼੝੠੷੼અઋ઎p;椅y;䐜Ādl੥੯iumSpace;恟lintrf;愳r;쀀𝔐nusPlus;戓pf;쀀𝕄cò੶;䎜ҀJacefostuણધભીଔଙඑ඗ඞcy;䐊cute;䅃ƀaey઴હાron;䅇dil;䅅;䐝ƀgswે૰଎ativeƀMTV૓૟૨ediumSpace;怋hiĀcn૦૘ë૙eryThiî૙tedĀGL૸ଆreaterGreateòٳessLesóੈLine;䀊r;쀀𝔑ȀBnptଢନଷ଺reak;恠BreakingSpace;䂠f;愕ڀ;CDEGHLNPRSTV୕ୖ୪୼஡௫ఄ౞಄ದ೘ൡඅ櫬Āou୛୤ngruent;扢pCap;扭oubleVerticalBar;戦ƀlqxஃஊ஛ement;戉ualĀ;Tஒஓ扠ilde;쀀≂̸ists;戄reater΀;EFGLSTஶஷ஽௉௓௘௥扯qual;扱ullEqual;쀀≧̸reater;쀀≫̸ess;批lantEqual;쀀⩾̸ilde;扵umpń௲௽ownHump;쀀≎̸qual;쀀≏̸eĀfsఊధtTriangleƀ;BEచఛడ拪ar;쀀⧏̸qual;括s̀;EGLSTవశ఼ౄోౘ扮qual;扰reater;扸ess;쀀≪̸lantEqual;쀀⩽̸ilde;扴estedĀGL౨౹reaterGreater;쀀⪢̸essLess;쀀⪡̸recedesƀ;ESಒಓಛ技qual;쀀⪯̸lantEqual;拠ĀeiಫಹverseElement;戌ghtTriangleƀ;BEೋೌ೒拫ar;쀀⧐̸qual;拭ĀquೝഌuareSuĀbp೨೹setĀ;E೰ೳ쀀⊏̸qual;拢ersetĀ;Eഃആ쀀⊐̸qual;拣ƀbcpഓതൎsetĀ;Eഛഞ쀀⊂⃒qual;抈ceedsȀ;ESTലള഻െ抁qual;쀀⪰̸lantEqual;拡ilde;쀀≿̸ersetĀ;E൘൛쀀⊃⃒qual;抉ildeȀ;EFT൮൯൵ൿ扁qual;扄ullEqual;扇ilde;扉erticalBar;戤cr;쀀𝒩ilde耻Ñ䃑;䎝܀Eacdfgmoprstuvලෂ෉෕ෛ෠෧෼ขภยา฿ไlig;䅒cute耻Ó䃓Āiy෎ීrc耻Ô䃔;䐞blac;䅐r;쀀𝔒rave耻Ò䃒ƀaei෮ෲ෶cr;䅌ga;䎩cron;䎟pf;쀀𝕆enCurlyĀDQฎบoubleQuote;怜uote;怘;橔Āclวฬr;쀀𝒪ash耻Ø䃘iŬื฼de耻Õ䃕es;樷ml耻Ö䃖erĀBP๋๠Āar๐๓r;怾acĀek๚๜;揞et;掴arenthesis;揜Ҁacfhilors๿ງຊຏຒດຝະ໼rtialD;戂y;䐟r;쀀𝔓i;䎦;䎠usMinus;䂱Āipຢອncareplanåڝf;愙Ȁ;eio຺ູ໠໤檻cedesȀ;EST່້໏໚扺qual;檯lantEqual;扼ilde;找me;怳Ādp໩໮uct;戏ortionĀ;aȥ໹l;戝Āci༁༆r;쀀𝒫;䎨ȀUfos༑༖༛༟OT耻"䀢r;쀀𝔔pf;愚cr;쀀𝒬؀BEacefhiorsu༾གྷཇའཱིྦྷྪྭ႖ႩႴႾarr;椐G耻®䂮ƀcnrཎནབute;䅔g;柫rĀ;tཛྷཝ憠l;椖ƀaeyཧཬཱron;䅘dil;䅖;䐠Ā;vླྀཹ愜erseĀEUྂྙĀlq྇ྎement;戋uilibrium;懋pEquilibrium;楯r»ཹo;䎡ghtЀACDFTUVa࿁࿫࿳ဢဨၛႇϘĀnr࿆࿒gleBracket;柩rowƀ;BL࿜࿝࿡憒ar;懥eftArrow;懄eiling;按oǵ࿹\0စbleBracket;柧nǔည\0နeeVector;楝ectorĀ;Bဝသ懂ar;楕loor;挋Āerိ၃eƀ;AVဵံြ抢rrow;憦ector;楛iangleƀ;BEၐၑၕ抳ar;槐qual;抵pƀDTVၣၮၸownVector;楏eeVector;楜ectorĀ;Bႂႃ憾ar;楔ectorĀ;B႑႒懀ar;楓Āpuႛ႞f;愝ndImplies;楰ightarrow;懛ĀchႹႼr;愛;憱leDelayed;槴ڀHOacfhimoqstuფჱჷჽᄙᄞᅑᅖᅡᅧᆵᆻᆿĀCcჩხHcy;䐩y;䐨FTcy;䐬cute;䅚ʀ;aeiyᄈᄉᄎᄓᄗ檼ron;䅠dil;䅞rc;䅜;䐡r;쀀𝔖ortȀDLRUᄪᄴᄾᅉownArrow»ОeftArrow»࢚ightArrow»࿝pArrow;憑gma;䎣allCircle;战pf;쀀𝕊ɲᅭ\0\0ᅰt;戚areȀ;ISUᅻᅼᆉᆯ斡ntersection;抓uĀbpᆏᆞsetĀ;Eᆗᆘ抏qual;抑ersetĀ;Eᆨᆩ抐qual;抒nion;抔cr;쀀𝒮ar;拆ȀbcmpᇈᇛሉላĀ;sᇍᇎ拐etĀ;Eᇍᇕqual;抆ĀchᇠህeedsȀ;ESTᇭᇮᇴᇿ扻qual;檰lantEqual;扽ilde;承Tháྌ;我ƀ;esሒሓሣ拑rsetĀ;Eሜም抃qual;抇et»ሓրHRSacfhiorsሾቄ቉ቕ቞ቱቶኟዂወዑORN耻Þ䃞ADE;愢ĀHc቎ቒcy;䐋y;䐦Ābuቚቜ;䀉;䎤ƀaeyብቪቯron;䅤dil;䅢;䐢r;쀀𝔗Āeiቻ኉Dzኀ\0ኇefore;戴a;䎘Ācn኎ኘkSpace;쀀  Space;怉ldeȀ;EFTካኬኲኼ戼qual;扃ullEqual;扅ilde;扈pf;쀀𝕋ipleDot;惛Āctዖዛr;쀀𝒯rok;䅦ૡዷጎጚጦ\0ጬጱ\0\0\0\0\0ጸጽ፷ᎅ\0᏿ᐄᐊᐐĀcrዻጁute耻Ú䃚rĀ;oጇገ憟cir;楉rǣጓ\0጖y;䐎ve;䅬Āiyጞጣrc耻Û䃛;䐣blac;䅰r;쀀𝔘rave耻Ù䃙acr;䅪Ādiፁ፩erĀBPፈ፝Āarፍፐr;䁟acĀekፗፙ;揟et;掵arenthesis;揝onĀ;P፰፱拃lus;抎Āgp፻፿on;䅲f;쀀𝕌ЀADETadps᎕ᎮᎸᏄϨᏒᏗᏳrrowƀ;BDᅐᎠᎤar;椒ownArrow;懅ownArrow;憕quilibrium;楮eeĀ;AᏋᏌ报rrow;憥ownáϳerĀLRᏞᏨeftArrow;憖ightArrow;憗iĀ;lᏹᏺ䏒on;䎥ing;䅮cr;쀀𝒰ilde;䅨ml耻Ü䃜ҀDbcdefosvᐧᐬᐰᐳᐾᒅᒊᒐᒖash;披ar;櫫y;䐒ashĀ;lᐻᐼ抩;櫦Āerᑃᑅ;拁ƀbtyᑌᑐᑺar;怖Ā;iᑏᑕcalȀBLSTᑡᑥᑪᑴar;戣ine;䁼eparator;杘ilde;所ThinSpace;怊r;쀀𝔙pf;쀀𝕍cr;쀀𝒱dash;抪ʀcefosᒧᒬᒱᒶᒼirc;䅴dge;拀r;쀀𝔚pf;쀀𝕎cr;쀀𝒲Ȁfiosᓋᓐᓒᓘr;쀀𝔛;䎞pf;쀀𝕏cr;쀀𝒳ҀAIUacfosuᓱᓵᓹᓽᔄᔏᔔᔚᔠcy;䐯cy;䐇cy;䐮cute耻Ý䃝Āiyᔉᔍrc;䅶;䐫r;쀀𝔜pf;쀀𝕐cr;쀀𝒴ml;䅸ЀHacdefosᔵᔹᔿᕋᕏᕝᕠᕤcy;䐖cute;䅹Āayᕄᕉron;䅽;䐗ot;䅻Dzᕔ\0ᕛoWidtè૙a;䎖r;愨pf;愤cr;쀀𝒵௡ᖃᖊᖐ\0ᖰᖶᖿ\0\0\0\0ᗆᗛᗫᙟ᙭\0ᚕ᚛ᚲᚹ\0ᚾcute耻á䃡reve;䄃̀;Ediuyᖜᖝᖡᖣᖨᖭ戾;쀀∾̳;房rc耻â䃢te肻´̆;䐰lig耻æ䃦Ā;r²ᖺ;쀀𝔞rave耻à䃠ĀepᗊᗖĀfpᗏᗔsym;愵èᗓha;䎱ĀapᗟcĀclᗤᗧr;䄁g;樿ɤᗰ\0\0ᘊʀ;adsvᗺᗻᗿᘁᘇ戧nd;橕;橜lope;橘;橚΀;elmrszᘘᘙᘛᘞᘿᙏᙙ戠;榤e»ᘙsdĀ;aᘥᘦ戡ѡᘰᘲᘴᘶᘸᘺᘼᘾ;榨;榩;榪;榫;榬;榭;榮;榯tĀ;vᙅᙆ戟bĀ;dᙌᙍ抾;榝Āptᙔᙗh;戢»¹arr;捼Āgpᙣᙧon;䄅f;쀀𝕒΀;Eaeiop዁ᙻᙽᚂᚄᚇᚊ;橰cir;橯;扊d;手s;䀧roxĀ;e዁ᚒñᚃing耻å䃥ƀctyᚡᚦᚨr;쀀𝒶;䀪mpĀ;e዁ᚯñʈilde耻ã䃣ml耻ä䃤Āciᛂᛈoninôɲnt;樑ࠀNabcdefiklnoprsu᛭ᛱᜰ᜼ᝃᝈ᝸᝽០៦ᠹᡐᜍ᤽᥈ᥰot;櫭Ācrᛶ᜞kȀcepsᜀᜅᜍᜓong;扌psilon;䏶rime;怵imĀ;e᜚᜛戽q;拍Ŷᜢᜦee;抽edĀ;gᜬᜭ挅e»ᜭrkĀ;t፜᜷brk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓ᝛ᝡᝤᝨausĀ;eĊĉptyv;榰séᜌnoõēƀahwᝯ᝱ᝳ;䎲;愶een;扬r;쀀𝔟g΀costuvwឍឝឳេ៕៛៞ƀaiuបពរðݠrc;旯p»፱ƀdptឤឨឭot;樀lus;樁imes;樂ɱឹ\0\0ើcup;樆ar;昅riangleĀdu៍្own;施p;斳plus;樄eåᑄåᒭarow;植ƀako៭ᠦᠵĀcn៲ᠣkƀlst៺֫᠂ozenge;槫riangleȀ;dlr᠒᠓᠘᠝斴own;斾eft;旂ight;斸k;搣Ʊᠫ\0ᠳƲᠯ\0ᠱ;斒;斑4;斓ck;斈ĀeoᠾᡍĀ;qᡃᡆ쀀=⃥uiv;쀀≡⃥t;挐Ȁptwxᡙᡞᡧᡬf;쀀𝕓Ā;tᏋᡣom»Ꮜtie;拈؀DHUVbdhmptuvᢅᢖᢪᢻᣗᣛᣬ᣿ᤅᤊᤐᤡȀLRlrᢎᢐᢒᢔ;敗;敔;敖;敓ʀ;DUduᢡᢢᢤᢦᢨ敐;敦;敩;敤;敧ȀLRlrᢳᢵᢷᢹ;敝;敚;敜;教΀;HLRhlrᣊᣋᣍᣏᣑᣓᣕ救;敬;散;敠;敫;敢;敟ox;槉ȀLRlrᣤᣦᣨᣪ;敕;敒;攐;攌ʀ;DUduڽ᣷᣹᣻᣽;敥;敨;攬;攴inus;抟lus;択imes;抠ȀLRlrᤙᤛᤝ᤟;敛;敘;攘;攔΀;HLRhlrᤰᤱᤳᤵᤷ᤻᤹攂;敪;敡;敞;攼;攤;攜Āevģ᥂bar耻¦䂦Ȁceioᥑᥖᥚᥠr;쀀𝒷mi;恏mĀ;e᜚᜜lƀ;bhᥨᥩᥫ䁜;槅sub;柈Ŭᥴ᥾lĀ;e᥹᥺怢t»᥺pƀ;Eeįᦅᦇ;檮Ā;qۜۛೡᦧ\0᧨ᨑᨕᨲ\0ᨷᩐ\0\0᪴\0\0᫁\0\0ᬡᬮ᭍᭒\0᯽\0ᰌƀcpr᦭ᦲ᧝ute;䄇̀;abcdsᦿᧀᧄ᧊᧕᧙戩nd;橄rcup;橉Āau᧏᧒p;橋p;橇ot;橀;쀀∩︀Āeo᧢᧥t;恁îړȀaeiu᧰᧻ᨁᨅǰ᧵\0᧸s;橍on;䄍dil耻ç䃧rc;䄉psĀ;sᨌᨍ橌m;橐ot;䄋ƀdmnᨛᨠᨦil肻¸ƭptyv;榲t脀¢;eᨭᨮ䂢räƲr;쀀𝔠ƀceiᨽᩀᩍy;䑇ckĀ;mᩇᩈ朓ark»ᩈ;䏇r΀;Ecefms᩟᩠ᩢᩫ᪤᪪᪮旋;槃ƀ;elᩩᩪᩭ䋆q;扗eɡᩴ\0\0᪈rrowĀlr᩼᪁eft;憺ight;憻ʀRSacd᪒᪔᪖᪚᪟»ཇ;擈st;抛irc;抚ash;抝nint;樐id;櫯cir;槂ubsĀ;u᪻᪼晣it»᪼ˬ᫇᫔᫺\0ᬊonĀ;eᫍᫎ䀺Ā;qÇÆɭ᫙\0\0᫢aĀ;t᫞᫟䀬;䁀ƀ;fl᫨᫩᫫戁îᅠeĀmx᫱᫶ent»᫩eóɍǧ᫾\0ᬇĀ;dኻᬂot;橭nôɆƀfryᬐᬔᬗ;쀀𝕔oäɔ脀©;sŕᬝr;愗Āaoᬥᬩrr;憵ss;朗Ācuᬲᬷr;쀀𝒸Ābpᬼ᭄Ā;eᭁᭂ櫏;櫑Ā;eᭉᭊ櫐;櫒dot;拯΀delprvw᭠᭬᭷ᮂᮬᯔ᯹arrĀlr᭨᭪;椸;椵ɰ᭲\0\0᭵r;拞c;拟arrĀ;p᭿ᮀ憶;椽̀;bcdosᮏᮐᮖᮡᮥᮨ截rcap;橈Āauᮛᮞp;橆p;橊ot;抍r;橅;쀀∪︀Ȁalrv᮵ᮿᯞᯣrrĀ;mᮼᮽ憷;椼yƀevwᯇᯔᯘqɰᯎ\0\0ᯒreã᭳uã᭵ee;拎edge;拏en耻¤䂤earrowĀlrᯮ᯳eft»ᮀight»ᮽeäᯝĀciᰁᰇoninôǷnt;戱lcty;挭ঀAHabcdefhijlorstuwz᰸᰻᰿ᱝᱩᱵᲊᲞᲬᲷ᳻᳿ᴍᵻᶑᶫᶻ᷆᷍rò΁ar;楥Ȁglrs᱈ᱍ᱒᱔ger;怠eth;愸òᄳhĀ;vᱚᱛ怐»ऊūᱡᱧarow;椏aã̕Āayᱮᱳron;䄏;䐴ƀ;ao̲ᱼᲄĀgrʿᲁr;懊tseq;橷ƀglmᲑᲔᲘ耻°䂰ta;䎴ptyv;榱ĀirᲣᲨsht;楿;쀀𝔡arĀlrᲳᲵ»ࣜ»သʀaegsv᳂͸᳖᳜᳠mƀ;oș᳊᳔ndĀ;ș᳑uit;晦amma;䏝in;拲ƀ;io᳧᳨᳸䃷de脀÷;o᳧ᳰntimes;拇nø᳷cy;䑒cɯᴆ\0\0ᴊrn;挞op;挍ʀlptuwᴘᴝᴢᵉᵕlar;䀤f;쀀𝕕ʀ;emps̋ᴭᴷᴽᵂqĀ;d͒ᴳot;扑inus;戸lus;戔quare;抡blebarwedgåúnƀadhᄮᵝᵧownarrowóᲃarpoonĀlrᵲᵶefôᲴighôᲶŢᵿᶅkaro÷གɯᶊ\0\0ᶎrn;挟op;挌ƀcotᶘᶣᶦĀryᶝᶡ;쀀𝒹;䑕l;槶rok;䄑Ādrᶰᶴot;拱iĀ;fᶺ᠖斿Āah᷀᷃ròЩaòྦangle;榦Āci᷒ᷕy;䑟grarr;柿ऀDacdefglmnopqrstuxḁḉḙḸոḼṉṡṾấắẽỡἪἷὄ὎὚ĀDoḆᴴoôᲉĀcsḎḔute耻é䃩ter;橮ȀaioyḢḧḱḶron;䄛rĀ;cḭḮ扖耻ê䃪lon;払;䑍ot;䄗ĀDrṁṅot;扒;쀀𝔢ƀ;rsṐṑṗ檚ave耻è䃨Ā;dṜṝ檖ot;檘Ȁ;ilsṪṫṲṴ檙nters;揧;愓Ā;dṹṺ檕ot;檗ƀapsẅẉẗcr;䄓tyƀ;svẒẓẕ戅et»ẓpĀ1;ẝẤijạả;怄;怅怃ĀgsẪẬ;䅋p;怂ĀgpẴẸon;䄙f;쀀𝕖ƀalsỄỎỒrĀ;sỊị拕l;槣us;橱iƀ;lvỚớở䎵on»ớ;䏵ȀcsuvỪỳἋἣĀioữḱrc»Ḯɩỹ\0\0ỻíՈantĀglἂἆtr»ṝess»Ṻƀaeiἒ἖Ἒls;䀽st;扟vĀ;DȵἠD;橸parsl;槥ĀDaἯἳot;打rr;楱ƀcdiἾὁỸr;愯oô͒ĀahὉὋ;䎷耻ð䃰Āmrὓὗl耻ë䃫o;悬ƀcipὡὤὧl;䀡sôծĀeoὬὴctatioîՙnentialåչৡᾒ\0ᾞ\0ᾡᾧ\0\0ῆῌ\0ΐ\0ῦῪ \0 ⁚llingdotseñṄy;䑄male;晀ƀilrᾭᾳ῁lig;耀ffiɩᾹ\0\0᾽g;耀ffig;耀ffl;쀀𝔣lig;耀filig;쀀fjƀaltῙ῜ῡt;晭ig;耀flns;斱of;䆒ǰ΅\0ῳf;쀀𝕗ĀakֿῷĀ;vῼ´拔;櫙artint;樍Āao‌⁕Ācs‑⁒ႉ‸⁅⁈\0⁐β•‥‧‪‬\0‮耻½䂽;慓耻¼䂼;慕;慙;慛Ƴ‴\0‶;慔;慖ʴ‾⁁\0\0⁃耻¾䂾;慗;慜5;慘ƶ⁌\0⁎;慚;慝8;慞l;恄wn;挢cr;쀀𝒻ࢀEabcdefgijlnorstv₂₉₟₥₰₴⃰⃵⃺⃿℃ℒℸ̗ℾ⅒↞Ā;lٍ₇;檌ƀcmpₐₕ₝ute;䇵maĀ;dₜ᳚䎳;檆reve;䄟Āiy₪₮rc;䄝;䐳ot;䄡Ȁ;lqsؾق₽⃉ƀ;qsؾٌ⃄lanô٥Ȁ;cdl٥⃒⃥⃕c;檩otĀ;o⃜⃝檀Ā;l⃢⃣檂;檄Ā;e⃪⃭쀀⋛︀s;檔r;쀀𝔤Ā;gٳ؛mel;愷cy;䑓Ȁ;Eajٚℌℎℐ;檒;檥;檤ȀEaesℛℝ℩ℴ;扩pĀ;p℣ℤ檊rox»ℤĀ;q℮ℯ檈Ā;q℮ℛim;拧pf;쀀𝕘Āci⅃ⅆr;愊mƀ;el٫ⅎ⅐;檎;檐茀>;cdlqr׮ⅠⅪⅮⅳⅹĀciⅥⅧ;檧r;橺ot;拗Par;榕uest;橼ʀadelsↄⅪ←ٖ↛ǰ↉\0↎proø₞r;楸qĀlqؿ↖lesó₈ií٫Āen↣↭rtneqq;쀀≩︀Å↪ԀAabcefkosy⇄⇇⇱⇵⇺∘∝∯≨≽ròΠȀilmr⇐⇔⇗⇛rsðᒄf»․ilôکĀdr⇠⇤cy;䑊ƀ;cwࣴ⇫⇯ir;楈;憭ar;意irc;䄥ƀalr∁∎∓rtsĀ;u∉∊晥it»∊lip;怦con;抹r;쀀𝔥sĀew∣∩arow;椥arow;椦ʀamopr∺∾≃≞≣rr;懿tht;戻kĀlr≉≓eftarrow;憩ightarrow;憪f;쀀𝕙bar;怕ƀclt≯≴≸r;쀀𝒽asè⇴rok;䄧Ābp⊂⊇ull;恃hen»ᱛૡ⊣\0⊪\0⊸⋅⋎\0⋕⋳\0\0⋸⌢⍧⍢⍿\0⎆⎪⎴cute耻í䃭ƀ;iyݱ⊰⊵rc耻î䃮;䐸Ācx⊼⊿y;䐵cl耻¡䂡ĀfrΟ⋉;쀀𝔦rave耻ì䃬Ȁ;inoܾ⋝⋩⋮Āin⋢⋦nt;樌t;戭fin;槜ta;愩lig;䄳ƀaop⋾⌚⌝ƀcgt⌅⌈⌗r;䄫ƀelpܟ⌏⌓inåގarôܠh;䄱f;抷ed;䆵ʀ;cfotӴ⌬⌱⌽⍁are;愅inĀ;t⌸⌹戞ie;槝doô⌙ʀ;celpݗ⍌⍐⍛⍡al;抺Āgr⍕⍙eróᕣã⍍arhk;樗rod;樼Ȁcgpt⍯⍲⍶⍻y;䑑on;䄯f;쀀𝕚a;䎹uest耻¿䂿Āci⎊⎏r;쀀𝒾nʀ;EdsvӴ⎛⎝⎡ӳ;拹ot;拵Ā;v⎦⎧拴;拳Ā;iݷ⎮lde;䄩ǫ⎸\0⎼cy;䑖l耻ï䃯̀cfmosu⏌⏗⏜⏡⏧⏵Āiy⏑⏕rc;䄵;䐹r;쀀𝔧ath;䈷pf;쀀𝕛ǣ⏬\0⏱r;쀀𝒿rcy;䑘kcy;䑔Ѐacfghjos␋␖␢␧␭␱␵␻ppaĀ;v␓␔䎺;䏰Āey␛␠dil;䄷;䐺r;쀀𝔨reen;䄸cy;䑅cy;䑜pf;쀀𝕜cr;쀀𝓀஀ABEHabcdefghjlmnoprstuv⑰⒁⒆⒍⒑┎┽╚▀♎♞♥♹♽⚚⚲⛘❝❨➋⟀⠁⠒ƀart⑷⑺⑼rò৆òΕail;椛arr;椎Ā;gঔ⒋;檋ar;楢ॣ⒥\0⒪\0⒱\0\0\0\0\0⒵Ⓔ\0ⓆⓈⓍ\0⓹ute;䄺mptyv;榴raîࡌbda;䎻gƀ;dlࢎⓁⓃ;榑åࢎ;檅uo耻«䂫rЀ;bfhlpst࢙ⓞⓦⓩ⓫⓮⓱⓵Ā;f࢝ⓣs;椟s;椝ë≒p;憫l;椹im;楳l;憢ƀ;ae⓿─┄檫il;椙Ā;s┉┊檭;쀀⪭︀ƀabr┕┙┝rr;椌rk;杲Āak┢┬cĀek┨┪;䁻;䁛Āes┱┳;榋lĀdu┹┻;榏;榍Ȁaeuy╆╋╖╘ron;䄾Ādi═╔il;䄼ìࢰâ┩;䐻Ȁcqrs╣╦╭╽a;椶uoĀ;rนᝆĀdu╲╷har;楧shar;楋h;憲ʀ;fgqs▋▌উ◳◿扤tʀahlrt▘▤▷◂◨rrowĀ;t࢙□aé⓶arpoonĀdu▯▴own»њp»०eftarrows;懇ightƀahs◍◖◞rrowĀ;sࣴࢧarpoonó྘quigarro÷⇰hreetimes;拋ƀ;qs▋ও◺lanôবʀ;cdgsব☊☍☝☨c;檨otĀ;o☔☕橿Ā;r☚☛檁;檃Ā;e☢☥쀀⋚︀s;檓ʀadegs☳☹☽♉♋pproøⓆot;拖qĀgq♃♅ôউgtò⒌ôছiíলƀilr♕࣡♚sht;楼;쀀𝔩Ā;Eজ♣;檑š♩♶rĀdu▲♮Ā;l॥♳;楪lk;斄cy;䑙ʀ;achtੈ⚈⚋⚑⚖rò◁orneòᴈard;楫ri;旺Āio⚟⚤dot;䅀ustĀ;a⚬⚭掰che»⚭ȀEaes⚻⚽⛉⛔;扨pĀ;p⛃⛄檉rox»⛄Ā;q⛎⛏檇Ā;q⛎⚻im;拦Ѐabnoptwz⛩⛴⛷✚✯❁❇❐Ānr⛮⛱g;柬r;懽rëࣁgƀlmr⛿✍✔eftĀar০✇ightá৲apsto;柼ightá৽parrowĀlr✥✩efô⓭ight;憬ƀafl✶✹✽r;榅;쀀𝕝us;樭imes;樴š❋❏st;戗áፎƀ;ef❗❘᠀旊nge»❘arĀ;l❤❥䀨t;榓ʀachmt❳❶❼➅➇ròࢨorneòᶌarĀ;d྘➃;業;怎ri;抿̀achiqt➘➝ੀ➢➮➻quo;怹r;쀀𝓁mƀ;egল➪➬;檍;檏Ābu┪➳oĀ;rฟ➹;怚rok;䅂萀<;cdhilqrࠫ⟒☹⟜⟠⟥⟪⟰Āci⟗⟙;檦r;橹reå◲mes;拉arr;楶uest;橻ĀPi⟵⟹ar;榖ƀ;ef⠀भ᠛旃rĀdu⠇⠍shar;楊har;楦Āen⠗⠡rtneqq;쀀≨︀Å⠞܀Dacdefhilnopsu⡀⡅⢂⢎⢓⢠⢥⢨⣚⣢⣤ઃ⣳⤂Dot;戺Ȁclpr⡎⡒⡣⡽r耻¯䂯Āet⡗⡙;時Ā;e⡞⡟朠se»⡟Ā;sျ⡨toȀ;dluျ⡳⡷⡻owîҌefôएðᏑker;斮Āoy⢇⢌mma;権;䐼ash;怔asuredangle»ᘦr;쀀𝔪o;愧ƀcdn⢯⢴⣉ro耻µ䂵Ȁ;acdᑤ⢽⣀⣄sôᚧir;櫰ot肻·Ƶusƀ;bd⣒ᤃ⣓戒Ā;uᴼ⣘;横ţ⣞⣡p;櫛ò−ðઁĀdp⣩⣮els;抧f;쀀𝕞Āct⣸⣽r;쀀𝓂pos»ᖝƀ;lm⤉⤊⤍䎼timap;抸ఀGLRVabcdefghijlmoprstuvw⥂⥓⥾⦉⦘⧚⧩⨕⨚⩘⩝⪃⪕⪤⪨⬄⬇⭄⭿⮮ⰴⱧⱼ⳩Āgt⥇⥋;쀀⋙̸Ā;v⥐௏쀀≫⃒ƀelt⥚⥲⥶ftĀar⥡⥧rrow;懍ightarrow;懎;쀀⋘̸Ā;v⥻ే쀀≪⃒ightarrow;懏ĀDd⦎⦓ash;抯ash;抮ʀbcnpt⦣⦧⦬⦱⧌la»˞ute;䅄g;쀀∠⃒ʀ;Eiop඄⦼⧀⧅⧈;쀀⩰̸d;쀀≋̸s;䅉roø඄urĀ;a⧓⧔普lĀ;s⧓ସdz⧟\0⧣p肻 ଷmpĀ;e௹ఀʀaeouy⧴⧾⨃⨐⨓ǰ⧹\0⧻;橃on;䅈dil;䅆ngĀ;dൾ⨊ot;쀀⩭̸p;橂;䐽ash;怓΀;Aadqsxஒ⨩⨭⨻⩁⩅⩐rr;懗rĀhr⨳⨶k;椤Ā;oᏲᏰot;쀀≐̸uiöୣĀei⩊⩎ar;椨í஘istĀ;s஠டr;쀀𝔫ȀEest௅⩦⩹⩼ƀ;qs஼⩭௡ƀ;qs஼௅⩴lanô௢ií௪Ā;rஶ⪁»ஷƀAap⪊⪍⪑rò⥱rr;憮ar;櫲ƀ;svྍ⪜ྌĀ;d⪡⪢拼;拺cy;䑚΀AEadest⪷⪺⪾⫂⫅⫶⫹rò⥦;쀀≦̸rr;憚r;急Ȁ;fqs఻⫎⫣⫯tĀar⫔⫙rro÷⫁ightarro÷⪐ƀ;qs఻⪺⫪lanôౕĀ;sౕ⫴»శiíౝĀ;rవ⫾iĀ;eచథiäඐĀpt⬌⬑f;쀀𝕟膀¬;in⬙⬚⬶䂬nȀ;Edvஉ⬤⬨⬮;쀀⋹̸ot;쀀⋵̸ǡஉ⬳⬵;拷;拶iĀ;vಸ⬼ǡಸ⭁⭃;拾;拽ƀaor⭋⭣⭩rȀ;ast୻⭕⭚⭟lleì୻l;쀀⫽⃥;쀀∂̸lint;樔ƀ;ceಒ⭰⭳uåಥĀ;cಘ⭸Ā;eಒ⭽ñಘȀAait⮈⮋⮝⮧rò⦈rrƀ;cw⮔⮕⮙憛;쀀⤳̸;쀀↝̸ghtarrow»⮕riĀ;eೋೖ΀chimpqu⮽⯍⯙⬄୸⯤⯯Ȁ;cerല⯆ഷ⯉uå൅;쀀𝓃ortɭ⬅\0\0⯖ará⭖mĀ;e൮⯟Ā;q൴൳suĀbp⯫⯭å೸åഋƀbcp⯶ⰑⰙȀ;Ees⯿ⰀഢⰄ抄;쀀⫅̸etĀ;eഛⰋqĀ;qണⰀcĀ;eലⰗñസȀ;EesⰢⰣൟⰧ抅;쀀⫆̸etĀ;e൘ⰮqĀ;qൠⰣȀgilrⰽⰿⱅⱇìௗlde耻ñ䃱çృiangleĀlrⱒⱜeftĀ;eచⱚñదightĀ;eೋⱥñ೗Ā;mⱬⱭ䎽ƀ;esⱴⱵⱹ䀣ro;愖p;怇ҀDHadgilrsⲏⲔⲙⲞⲣⲰⲶⳓⳣash;抭arr;椄p;쀀≍⃒ash;抬ĀetⲨⲬ;쀀≥⃒;쀀>⃒nfin;槞ƀAetⲽⳁⳅrr;椂;쀀≤⃒Ā;rⳊⳍ쀀<⃒ie;쀀⊴⃒ĀAtⳘⳜrr;椃rie;쀀⊵⃒im;쀀∼⃒ƀAan⳰⳴ⴂrr;懖rĀhr⳺⳽k;椣Ā;oᏧᏥear;椧ቓ᪕\0\0\0\0\0\0\0\0\0\0\0\0\0ⴭ\0ⴸⵈⵠⵥ⵲ⶄᬇ\0\0ⶍⶫ\0ⷈⷎ\0ⷜ⸙⸫⸾⹃Ācsⴱ᪗ute耻ó䃳ĀiyⴼⵅrĀ;c᪞ⵂ耻ô䃴;䐾ʀabios᪠ⵒⵗLjⵚlac;䅑v;樸old;榼lig;䅓Ācr⵩⵭ir;榿;쀀𝔬ͯ⵹\0\0⵼\0ⶂn;䋛ave耻ò䃲;槁Ābmⶈ෴ar;榵Ȁacitⶕ⶘ⶥⶨrò᪀Āir⶝ⶠr;榾oss;榻nå๒;槀ƀaeiⶱⶵⶹcr;䅍ga;䏉ƀcdnⷀⷅǍron;䎿;榶pf;쀀𝕠ƀaelⷔ⷗ǒr;榷rp;榹΀;adiosvⷪⷫⷮ⸈⸍⸐⸖戨rò᪆Ȁ;efmⷷⷸ⸂⸅橝rĀ;oⷾⷿ愴f»ⷿ耻ª䂪耻º䂺gof;抶r;橖lope;橗;橛ƀclo⸟⸡⸧ò⸁ash耻ø䃸l;折iŬⸯ⸴de耻õ䃵esĀ;aǛ⸺s;樶ml耻ö䃶bar;挽ૡ⹞\0⹽\0⺀⺝\0⺢⺹\0\0⻋ຜ\0⼓\0\0⼫⾼\0⿈rȀ;astЃ⹧⹲຅脀¶;l⹭⹮䂶leìЃɩ⹸\0\0⹻m;櫳;櫽y;䐿rʀcimpt⺋⺏⺓ᡥ⺗nt;䀥od;䀮il;怰enk;怱r;쀀𝔭ƀimo⺨⺰⺴Ā;v⺭⺮䏆;䏕maô੶ne;明ƀ;tv⺿⻀⻈䏀chfork»´;䏖Āau⻏⻟nĀck⻕⻝kĀ;h⇴⻛;愎ö⇴sҀ;abcdemst⻳⻴ᤈ⻹⻽⼄⼆⼊⼎䀫cir;樣ir;樢Āouᵀ⼂;樥;橲n肻±ຝim;樦wo;樧ƀipu⼙⼠⼥ntint;樕f;쀀𝕡nd耻£䂣Ԁ;Eaceinosu່⼿⽁⽄⽇⾁⾉⾒⽾⾶;檳p;檷uå໙Ā;c໎⽌̀;acens່⽙⽟⽦⽨⽾pproø⽃urlyeñ໙ñ໎ƀaes⽯⽶⽺pprox;檹qq;檵im;拨iíໟmeĀ;s⾈ຮ怲ƀEas⽸⾐⽺ð⽵ƀdfp໬⾙⾯ƀals⾠⾥⾪lar;挮ine;挒urf;挓Ā;t໻⾴ï໻rel;抰Āci⿀⿅r;쀀𝓅;䏈ncsp;怈̀fiopsu⿚⋢⿟⿥⿫⿱r;쀀𝔮pf;쀀𝕢rime;恗cr;쀀𝓆ƀaeo⿸〉〓tĀei⿾々rnionóڰnt;樖stĀ;e【】䀿ñἙô༔઀ABHabcdefhilmnoprstux぀けさすムㄎㄫㅇㅢㅲㆎ㈆㈕㈤㈩㉘㉮㉲㊐㊰㊷ƀartぇおがròႳòϝail;検aròᱥar;楤΀cdenqrtとふへみわゔヌĀeuねぱ;쀀∽̱te;䅕iãᅮmptyv;榳gȀ;del࿑らるろ;榒;榥å࿑uo耻»䂻rր;abcfhlpstw࿜ガクシスゼゾダッデナp;極Ā;f࿠ゴs;椠;椳s;椞ë≝ð✮l;楅im;楴l;憣;憝Āaiパフil;椚oĀ;nホボ戶aló༞ƀabrョリヮrò៥rk;杳ĀakンヽcĀekヹ・;䁽;䁝Āes㄂㄄;榌lĀduㄊㄌ;榎;榐Ȁaeuyㄗㄜㄧㄩron;䅙Ādiㄡㄥil;䅗ì࿲âヺ;䑀Ȁclqsㄴㄷㄽㅄa;椷dhar;楩uoĀ;rȎȍh;憳ƀacgㅎㅟངlȀ;ipsླྀㅘㅛႜnåႻarôྩt;断ƀilrㅩဣㅮsht;楽;쀀𝔯ĀaoㅷㆆrĀduㅽㅿ»ѻĀ;l႑ㆄ;楬Ā;vㆋㆌ䏁;䏱ƀgns㆕ㇹㇼht̀ahlrstㆤㆰ㇂㇘㇤㇮rrowĀ;t࿜ㆭaéトarpoonĀduㆻㆿowîㅾp»႒eftĀah㇊㇐rrowó࿪arpoonóՑightarrows;應quigarro÷ニhreetimes;拌g;䋚ingdotseñἲƀahm㈍㈐㈓rò࿪aòՑ;怏oustĀ;a㈞㈟掱che»㈟mid;櫮Ȁabpt㈲㈽㉀㉒Ānr㈷㈺g;柭r;懾rëဃƀafl㉇㉊㉎r;榆;쀀𝕣us;樮imes;樵Āap㉝㉧rĀ;g㉣㉤䀩t;榔olint;樒arò㇣Ȁachq㉻㊀Ⴜ㊅quo;怺r;쀀𝓇Ābu・㊊oĀ;rȔȓƀhir㊗㊛㊠reåㇸmes;拊iȀ;efl㊪ၙᠡ㊫方tri;槎luhar;楨;愞ൡ㋕㋛㋟㌬㌸㍱\0㍺㎤\0\0㏬㏰\0㐨㑈㑚㒭㒱㓊㓱\0㘖\0\0㘳cute;䅛quï➺Ԁ;Eaceinpsyᇭ㋳㋵㋿㌂㌋㌏㌟㌦㌩;檴ǰ㋺\0㋼;檸on;䅡uåᇾĀ;dᇳ㌇il;䅟rc;䅝ƀEas㌖㌘㌛;檶p;檺im;择olint;樓iíሄ;䑁otƀ;be㌴ᵇ㌵担;橦΀Aacmstx㍆㍊㍗㍛㍞㍣㍭rr;懘rĀhr㍐㍒ë∨Ā;oਸ਼਴t耻§䂧i;䀻war;椩mĀin㍩ðnuóñt;朶rĀ;o㍶⁕쀀𝔰Ȁacoy㎂㎆㎑㎠rp;景Āhy㎋㎏cy;䑉;䑈rtɭ㎙\0\0㎜iäᑤaraì⹯耻­䂭Āgm㎨㎴maƀ;fv㎱㎲㎲䏃;䏂Ѐ;deglnprካ㏅㏉㏎㏖㏞㏡㏦ot;橪Ā;q኱ኰĀ;E㏓㏔檞;檠Ā;E㏛㏜檝;檟e;扆lus;樤arr;楲aròᄽȀaeit㏸㐈㐏㐗Āls㏽㐄lsetmé㍪hp;樳parsl;槤Ādlᑣ㐔e;挣Ā;e㐜㐝檪Ā;s㐢㐣檬;쀀⪬︀ƀflp㐮㐳㑂tcy;䑌Ā;b㐸㐹䀯Ā;a㐾㐿槄r;挿f;쀀𝕤aĀdr㑍ЂesĀ;u㑔㑕晠it»㑕ƀcsu㑠㑹㒟Āau㑥㑯pĀ;sᆈ㑫;쀀⊓︀pĀ;sᆴ㑵;쀀⊔︀uĀbp㑿㒏ƀ;esᆗᆜ㒆etĀ;eᆗ㒍ñᆝƀ;esᆨᆭ㒖etĀ;eᆨ㒝ñᆮƀ;afᅻ㒦ְrť㒫ֱ»ᅼaròᅈȀcemt㒹㒾㓂㓅r;쀀𝓈tmîñiì㐕aræᆾĀar㓎㓕rĀ;f㓔ឿ昆Āan㓚㓭ightĀep㓣㓪psiloîỠhé⺯s»⡒ʀbcmnp㓻㕞ሉ㖋㖎Ҁ;Edemnprs㔎㔏㔑㔕㔞㔣㔬㔱㔶抂;櫅ot;檽Ā;dᇚ㔚ot;櫃ult;櫁ĀEe㔨㔪;櫋;把lus;檿arr;楹ƀeiu㔽㕒㕕tƀ;en㔎㕅㕋qĀ;qᇚ㔏eqĀ;q㔫㔨m;櫇Ābp㕚㕜;櫕;櫓c̀;acensᇭ㕬㕲㕹㕻㌦pproø㋺urlyeñᇾñᇳƀaes㖂㖈㌛pproø㌚qñ㌗g;晪ڀ123;Edehlmnps㖩㖬㖯ሜ㖲㖴㗀㗉㗕㗚㗟㗨㗭耻¹䂹耻²䂲耻³䂳;櫆Āos㖹㖼t;檾ub;櫘Ā;dሢ㗅ot;櫄sĀou㗏㗒l;柉b;櫗arr;楻ult;櫂ĀEe㗤㗦;櫌;抋lus;櫀ƀeiu㗴㘉㘌tƀ;enሜ㗼㘂qĀ;qሢ㖲eqĀ;q㗧㗤m;櫈Ābp㘑㘓;櫔;櫖ƀAan㘜㘠㘭rr;懙rĀhr㘦㘨ë∮Ā;oਫ਩war;椪lig耻ß䃟௡㙑㙝㙠ዎ㙳㙹\0㙾㛂\0\0\0\0\0㛛㜃\0㜉㝬\0\0\0㞇ɲ㙖\0\0㙛get;挖;䏄rë๟ƀaey㙦㙫㙰ron;䅥dil;䅣;䑂lrec;挕r;쀀𝔱Ȁeiko㚆㚝㚵㚼Dz㚋\0㚑eĀ4fኄኁaƀ;sv㚘㚙㚛䎸ym;䏑Ācn㚢㚲kĀas㚨㚮pproø዁im»ኬsðኞĀas㚺㚮ð዁rn耻þ䃾Ǭ̟㛆⋧es膀×;bd㛏㛐㛘䃗Ā;aᤏ㛕r;樱;樰ƀeps㛡㛣㜀á⩍Ȁ;bcf҆㛬㛰㛴ot;挶ir;櫱Ā;o㛹㛼쀀𝕥rk;櫚á㍢rime;怴ƀaip㜏㜒㝤dåቈ΀adempst㜡㝍㝀㝑㝗㝜㝟ngleʀ;dlqr㜰㜱㜶㝀㝂斵own»ᶻeftĀ;e⠀㜾ñम;扜ightĀ;e㊪㝋ñၚot;旬inus;樺lus;樹b;槍ime;樻ezium;揢ƀcht㝲㝽㞁Āry㝷㝻;쀀𝓉;䑆cy;䑛rok;䅧Āio㞋㞎xô᝷headĀlr㞗㞠eftarro÷ࡏightarrow»ཝऀAHabcdfghlmoprstuw㟐㟓㟗㟤㟰㟼㠎㠜㠣㠴㡑㡝㡫㢩㣌㣒㣪㣶ròϭar;楣Ācr㟜㟢ute耻ú䃺òᅐrǣ㟪\0㟭y;䑞ve;䅭Āiy㟵㟺rc耻û䃻;䑃ƀabh㠃㠆㠋ròᎭlac;䅱aòᏃĀir㠓㠘sht;楾;쀀𝔲rave耻ù䃹š㠧㠱rĀlr㠬㠮»ॗ»ႃlk;斀Āct㠹㡍ɯ㠿\0\0㡊rnĀ;e㡅㡆挜r»㡆op;挏ri;旸Āal㡖㡚cr;䅫肻¨͉Āgp㡢㡦on;䅳f;쀀𝕦̀adhlsuᅋ㡸㡽፲㢑㢠ownáᎳarpoonĀlr㢈㢌efô㠭ighô㠯iƀ;hl㢙㢚㢜䏅»ᏺon»㢚parrows;懈ƀcit㢰㣄㣈ɯ㢶\0\0㣁rnĀ;e㢼㢽挝r»㢽op;挎ng;䅯ri;旹cr;쀀𝓊ƀdir㣙㣝㣢ot;拰lde;䅩iĀ;f㜰㣨»᠓Āam㣯㣲rò㢨l耻ü䃼angle;榧ހABDacdeflnoprsz㤜㤟㤩㤭㦵㦸㦽㧟㧤㧨㧳㧹㧽㨁㨠ròϷarĀ;v㤦㤧櫨;櫩asèϡĀnr㤲㤷grt;榜΀eknprst㓣㥆㥋㥒㥝㥤㦖appá␕othinçẖƀhir㓫⻈㥙opô⾵Ā;hᎷ㥢ïㆍĀiu㥩㥭gmá㎳Ābp㥲㦄setneqĀ;q㥽㦀쀀⊊︀;쀀⫋︀setneqĀ;q㦏㦒쀀⊋︀;쀀⫌︀Āhr㦛㦟etá㚜iangleĀlr㦪㦯eft»थight»ၑy;䐲ash»ံƀelr㧄㧒㧗ƀ;beⷪ㧋㧏ar;抻q;扚lip;拮Ābt㧜ᑨaòᑩr;쀀𝔳tré㦮suĀbp㧯㧱»ജ»൙pf;쀀𝕧roð໻tré㦴Ācu㨆㨋r;쀀𝓋Ābp㨐㨘nĀEe㦀㨖»㥾nĀEe㦒㨞»㦐igzag;榚΀cefoprs㨶㨻㩖㩛㩔㩡㩪irc;䅵Ādi㩀㩑Ābg㩅㩉ar;機eĀ;qᗺ㩏;扙erp;愘r;쀀𝔴pf;쀀𝕨Ā;eᑹ㩦atèᑹcr;쀀𝓌ૣណ㪇\0㪋\0㪐㪛\0\0㪝㪨㪫㪯\0\0㫃㫎\0㫘ៜ៟tré៑r;쀀𝔵ĀAa㪔㪗ròσrò৶;䎾ĀAa㪡㪤ròθrò৫að✓is;拻ƀdptឤ㪵㪾Āfl㪺ឩ;쀀𝕩imåឲĀAa㫇㫊ròώròਁĀcq㫒ីr;쀀𝓍Āpt៖㫜ré។Ѐacefiosu㫰㫽㬈㬌㬑㬕㬛㬡cĀuy㫶㫻te耻ý䃽;䑏Āiy㬂㬆rc;䅷;䑋n耻¥䂥r;쀀𝔶cy;䑗pf;쀀𝕪cr;쀀𝓎Ācm㬦㬩y;䑎l耻ÿ䃿Ԁacdefhiosw㭂㭈㭔㭘㭤㭩㭭㭴㭺㮀cute;䅺Āay㭍㭒ron;䅾;䐷ot;䅼Āet㭝㭡træᕟa;䎶r;쀀𝔷cy;䐶grarr;懝pf;쀀𝕫cr;쀀𝓏Ājn㮅㮇;怍j;怌'.split("").map(u=>u.charCodeAt(0))),ln=new Uint16Array("Ȁaglq \x1Bɭ\0\0p;䀦os;䀧t;䀾t;䀼uot;䀢".split("").map(u=>u.charCodeAt(0)));var Tu;const fn=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),dn=(Tu=String.fromCodePoint)!==null&&Tu!==void 0?Tu:function(u){let e="";return u>65535&&(u-=65536,e+=String.fromCharCode(u>>>10&1023|55296),u=56320|u&1023),e+=String.fromCharCode(u),e};function hn(u){var e;return u>=55296&&u<=57343||u>1114111?65533:(e=fn.get(u))!==null&&e!==void 0?e:u}var L;(function(u){u[u.NUM=35]="NUM",u[u.SEMI=59]="SEMI",u[u.EQUALS=61]="EQUALS",u[u.ZERO=48]="ZERO",u[u.NINE=57]="NINE",u[u.LOWER_A=97]="LOWER_A",u[u.LOWER_F=102]="LOWER_F",u[u.LOWER_X=120]="LOWER_X",u[u.LOWER_Z=122]="LOWER_Z",u[u.UPPER_A=65]="UPPER_A",u[u.UPPER_F=70]="UPPER_F",u[u.UPPER_Z=90]="UPPER_Z"})(L||(L={}));const pn=32;var Q;(function(u){u[u.VALUE_LENGTH=49152]="VALUE_LENGTH",u[u.BRANCH_LENGTH=16256]="BRANCH_LENGTH",u[u.JUMP_TABLE=127]="JUMP_TABLE"})(Q||(Q={}));function Pu(u){return u>=L.ZERO&&u<=L.NINE}function bn(u){return u>=L.UPPER_A&&u<=L.UPPER_F||u>=L.LOWER_A&&u<=L.LOWER_F}function mn(u){return u>=L.UPPER_A&&u<=L.UPPER_Z||u>=L.LOWER_A&&u<=L.LOWER_Z||Pu(u)}function gn(u){return u===L.EQUALS||mn(u)}var I;(function(u){u[u.EntityStart=0]="EntityStart",u[u.NumericStart=1]="NumericStart",u[u.NumericDecimal=2]="NumericDecimal",u[u.NumericHex=3]="NumericHex",u[u.NamedEntity=4]="NamedEntity"})(I||(I={}));var Z;(function(u){u[u.Legacy=0]="Legacy",u[u.Strict=1]="Strict",u[u.Attribute=2]="Attribute"})(Z||(Z={}));class xn{constructor(e,n,r){this.decodeTree=e,this.emitCodePoint=n,this.errors=r,this.state=I.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=Z.Strict}startEntity(e){this.decodeMode=e,this.state=I.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(e,n){switch(this.state){case I.EntityStart:return e.charCodeAt(n)===L.NUM?(this.state=I.NumericStart,this.consumed+=1,this.stateNumericStart(e,n+1)):(this.state=I.NamedEntity,this.stateNamedEntity(e,n));case I.NumericStart:return this.stateNumericStart(e,n);case I.NumericDecimal:return this.stateNumericDecimal(e,n);case I.NumericHex:return this.stateNumericHex(e,n);case I.NamedEntity:return this.stateNamedEntity(e,n)}}stateNumericStart(e,n){return n>=e.length?-1:(e.charCodeAt(n)|pn)===L.LOWER_X?(this.state=I.NumericHex,this.consumed+=1,this.stateNumericHex(e,n+1)):(this.state=I.NumericDecimal,this.stateNumericDecimal(e,n))}addToNumericResult(e,n,r,t){if(n!==r){const i=r-n;this.result=this.result*Math.pow(t,i)+parseInt(e.substr(n,i),t),this.consumed+=i}}stateNumericHex(e,n){const r=n;for(;n>14;for(;n>14,i!==0){if(o===L.SEMI)return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);this.decodeMode!==Z.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1}emitNotTerminatedNamedEntity(){var e;const{result:n,decodeTree:r}=this,t=(r[n]&Q.VALUE_LENGTH)>>14;return this.emitNamedEntityData(n,t,this.consumed),(e=this.errors)===null||e===void 0||e.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(e,n,r){const{decodeTree:t}=this;return this.emitCodePoint(n===1?t[e]&~Q.VALUE_LENGTH:t[e+1],r),n===3&&this.emitCodePoint(t[e+2],r),r}end(){var e;switch(this.state){case I.NamedEntity:return this.result!==0&&(this.decodeMode!==Z.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case I.NumericDecimal:return this.emitNumericEntity(0,2);case I.NumericHex:return this.emitNumericEntity(0,3);case I.NumericStart:return(e=this.errors)===null||e===void 0||e.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case I.EntityStart:return 0}}}function Ge(u){let e="";const n=new xn(u,r=>e+=dn(r));return function(t,i){let o=0,c=0;for(;(c=t.indexOf("&",c))>=0;){e+=t.slice(o,c),n.startEntity(i);const s=n.write(t,c+1);if(s<0){o=c+n.end();break}o=c+s,c=s===0?o+1:o}const a=e+t.slice(o);return e="",a}}function _n(u,e,n,r){const t=(e&Q.BRANCH_LENGTH)>>7,i=e&Q.JUMP_TABLE;if(t===0)return i!==0&&r===i?n:-1;if(i){const a=r-i;return a<0||a>=t?-1:u[n+a]-1}let o=n,c=o+t-1;for(;o<=c;){const a=o+c>>>1,s=u[a];if(sr)c=a-1;else return u[a+t]}return-1}const kn=Ge(sn);Ge(ln);function Qe(u,e=Z.Legacy){return kn(u,e)}function yn(u){return Object.prototype.toString.call(u)}function Qu(u){return yn(u)==="[object String]"}const Cn=Object.prototype.hasOwnProperty;function En(u,e){return Cn.call(u,e)}function yu(u){return Array.prototype.slice.call(arguments,1).forEach(function(n){if(n){if(typeof n!="object")throw new TypeError(n+"must be object");Object.keys(n).forEach(function(r){u[r]=n[r]})}}),u}function Je(u,e,n){return[].concat(u.slice(0,e),n,u.slice(e+1))}function Ju(u){return!(u>=55296&&u<=57343||u>=64976&&u<=65007||(u&65535)===65535||(u&65535)===65534||u>=0&&u<=8||u===11||u>=14&&u<=31||u>=127&&u<=159||u>1114111)}function _u(u){if(u>65535){u-=65536;const e=55296+(u>>10),n=56320+(u&1023);return String.fromCharCode(e,n)}return String.fromCharCode(u)}const Ye=/\\([!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~])/g,vn=/&([a-z#][a-z0-9]{1,31});/gi,Dn=new RegExp(Ye.source+"|"+vn.source,"gi"),An=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))$/i;function Fn(u,e){if(e.charCodeAt(0)===35&&An.test(e)){const r=e[1].toLowerCase()==="x"?parseInt(e.slice(2),16):parseInt(e.slice(1),10);return Ju(r)?_u(r):u}const n=Qe(u);return n!==u?n:u}function wn(u){return u.indexOf("\\")<0?u:u.replace(Ye,"$1")}function ru(u){return u.indexOf("\\")<0&&u.indexOf("&")<0?u:u.replace(Dn,function(e,n,r){return n||Fn(e,r)})}const Sn=/[&<>"]/,Tn=/[&<>"]/g,Mn={"&":"&","<":"<",">":">",'"':"""};function In(u){return Mn[u]}function J(u){return Sn.test(u)?u.replace(Tn,In):u}const Ln=/[.?*+^$[\]\\(){}|-]/g;function Nn(u){return u.replace(Ln,"\\$&")}function F(u){switch(u){case 9:case 32:return!0}return!1}function cu(u){if(u>=8192&&u<=8202)return!0;switch(u){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1}function au(u){return Gu.test(u)||je.test(u)}function su(u){switch(u){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}}function Cu(u){return u=u.trim().replace(/\s+/g," "),"ẞ".toLowerCase()==="Ṿ"&&(u=u.replace(/ẞ/g,"ß")),u.toLowerCase().toUpperCase()}const Bn={mdurl:on,ucmicro:an},Rn=Object.freeze(Object.defineProperty({__proto__:null,arrayReplaceAt:Je,assign:yu,escapeHtml:J,escapeRE:Nn,fromCodePoint:_u,has:En,isMdAsciiPunct:su,isPunctChar:au,isSpace:F,isString:Qu,isValidEntityCode:Ju,isWhiteSpace:cu,lib:Bn,normalizeReference:Cu,unescapeAll:ru,unescapeMd:wn},Symbol.toStringTag,{value:"Module"}));function Un(u,e,n){let r,t,i,o;const c=u.posMax,a=u.pos;for(u.pos=e+1,r=1;u.pos32))return i;if(r===41){if(o===0)break;o--}t++}return e===t||o!==0||(i.str=ru(u.slice(e,t)),i.pos=t,i.ok=!0),i}function zn(u,e,n,r){let t,i=e;const o={ok:!1,can_continue:!1,pos:0,str:"",marker:0};if(r)o.str=r.str,o.marker=r.marker;else{if(i>=n)return o;let c=u.charCodeAt(i);if(c!==34&&c!==39&&c!==40)return o;e++,i++,c===40&&(c=41),o.marker=c}for(;i"+J(i.content)+""};K.code_block=function(u,e,n,r,t){const i=u[e];return""+J(u[e].content)+` -`};K.fence=function(u,e,n,r,t){const i=u[e],o=i.info?ru(i.info).trim():"";let c="",a="";if(o){const l=o.split(/(\s+)/g);c=l[0],a=l.slice(2).join("")}let s;if(n.highlight?s=n.highlight(i.content,c,a)||J(i.content):s=J(i.content),s.indexOf("${s} -`}return`
${s}
-`};K.image=function(u,e,n,r,t){const i=u[e];return i.attrs[i.attrIndex("alt")][1]=t.renderInlineAsText(i.children,n,r),t.renderToken(u,e,n)};K.hardbreak=function(u,e,n){return n.xhtmlOut?`
-`:`
-`};K.softbreak=function(u,e,n){return n.breaks?n.xhtmlOut?`
-`:`
-`:` -`};K.text=function(u,e){return J(u[e].content)};K.html_block=function(u,e){return u[e].content};K.html_inline=function(u,e){return u[e].content};function iu(){this.rules=yu({},K)}iu.prototype.renderAttrs=function(e){let n,r,t;if(!e.attrs)return"";for(t="",n=0,r=e.attrs.length;n -`:">",i};iu.prototype.renderInline=function(u,e,n){let r="";const t=this.rules;for(let i=0,o=u.length;i=0&&(r=this.attrs[n][1]),r};q.prototype.attrJoin=function(e,n){const r=this.attrIndex(e);r<0?this.attrPush([e,n]):this.attrs[r][1]=this.attrs[r][1]+" "+n};function Xe(u,e,n){this.src=u,this.env=n,this.tokens=[],this.inlineMode=!1,this.md=e}Xe.prototype.Token=q;const qn=/\r\n?|\n/g,Hn=/\0/g;function Vn(u){let e;e=u.src.replace(qn,` -`),e=e.replace(Hn,"�"),u.src=e}function Kn(u){let e;u.inlineMode?(e=new u.Token("inline","",0),e.content=u.src,e.map=[0,1],e.children=[],u.tokens.push(e)):u.md.block.parse(u.src,u.md,u.env,u.tokens)}function Wn(u){const e=u.tokens;for(let n=0,r=e.length;n\s]/i.test(u)}function jn(u){return/^<\/a\s*>/i.test(u)}function Zn(u){const e=u.tokens;if(u.md.options.linkify)for(let n=0,r=e.length;n=0;o--){const c=t[o];if(c.type==="link_close"){for(o--;t[o].level!==c.level&&t[o].type!=="link_open";)o--;continue}if(c.type==="html_inline"&&($n(c.content)&&i>0&&i--,jn(c.content)&&i++),!(i>0)&&c.type==="text"&&u.md.linkify.test(c.content)){const a=c.content;let s=u.md.linkify.match(a);const l=[];let f=c.level,b=0;s.length>0&&s[0].index===0&&o>0&&t[o-1].type==="text_special"&&(s=s.slice(1));for(let p=0;pb){const k=new u.Token("text","",0);k.content=a.slice(b,E),k.level=f,l.push(k)}const m=new u.Token("link_open","a",1);m.attrs=[["href",g]],m.level=f++,m.markup="linkify",m.info="auto",l.push(m);const _=new u.Token("text","",0);_.content=y,_.level=f,l.push(_);const x=new u.Token("link_close","a",-1);x.level=--f,x.markup="linkify",x.info="auto",l.push(x),b=s[p].lastIndex}if(b=0;n--){const r=u[n];r.type==="text"&&!e&&(r.content=r.content.replace(Qn,Yn)),r.type==="link_open"&&r.info==="auto"&&e--,r.type==="link_close"&&r.info==="auto"&&e++}}function u0(u){let e=0;for(let n=u.length-1;n>=0;n--){const r=u[n];r.type==="text"&&!e&&ut.test(r.content)&&(r.content=r.content.replace(/\+-/g,"±").replace(/\.{2,}/g,"…").replace(/([?!])…/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---(?=[^-]|$)/mg,"$1—").replace(/(^|\s)--(?=\s|$)/mg,"$1–").replace(/(^|[^-\s])--(?=[^-\s]|$)/mg,"$1–")),r.type==="link_open"&&r.info==="auto"&&e--,r.type==="link_close"&&r.info==="auto"&&e++}}function e0(u){let e;if(u.md.options.typographer)for(e=u.tokens.length-1;e>=0;e--)u.tokens[e].type==="inline"&&(Gn.test(u.tokens[e].content)&&Xn(u.tokens[e].children),ut.test(u.tokens[e].content)&&u0(u.tokens[e].children))}const t0=/['"]/,he=/['"]/g,pe="’";function mu(u,e,n){return u.slice(0,e)+n+u.slice(e+1)}function n0(u,e){let n;const r=[];for(let t=0;t=0&&!(r[n].level<=o);n--);if(r.length=n+1,i.type!=="text")continue;let c=i.content,a=0,s=c.length;u:for(;a=0)d=c.charCodeAt(l.index-1);else for(n=t-1;n>=0&&!(u[n].type==="softbreak"||u[n].type==="hardbreak");n--)if(u[n].content){d=u[n].content.charCodeAt(u[n].content.length-1);break}let g=32;if(a=48&&d<=57&&(b=f=!1),f&&b&&(f=y,b=E),!f&&!b){p&&(i.content=mu(i.content,l.index,pe));continue}if(b)for(n=r.length-1;n>=0;n--){let x=r[n];if(r[n].level=0;e--)u.tokens[e].type!=="inline"||!t0.test(u.tokens[e].content)||n0(u.tokens[e].children,u)}function i0(u){let e,n;const r=u.tokens,t=r.length;for(let i=0;i0&&this.level++,this.tokens.push(r),r};W.prototype.isEmpty=function(e){return this.bMarks[e]+this.tShift[e]>=this.eMarks[e]};W.prototype.skipEmptyLines=function(e){for(let n=this.lineMax;en;)if(!F(this.src.charCodeAt(--e)))return e+1;return e};W.prototype.skipChars=function(e,n){for(let r=this.src.length;er;)if(n!==this.src.charCodeAt(--e))return e+1;return e};W.prototype.getLines=function(e,n,r,t){if(e>=n)return"";const i=new Array(n-e);for(let o=0,c=e;cr?i[o]=new Array(a-r+1).join(" ")+this.src.slice(l,f):i[o]=this.src.slice(l,f)}return i.join("")};W.prototype.Token=q;const o0=65536;function Iu(u,e){const n=u.bMarks[e]+u.tShift[e],r=u.eMarks[e];return u.src.slice(n,r)}function be(u){const e=[],n=u.length;let r=0,t=u.charCodeAt(r),i=!1,o=0,c="";for(;rn)return!1;let t=e+1;if(u.sCount[t]=4)return!1;let i=u.bMarks[t]+u.tShift[t];if(i>=u.eMarks[t])return!1;const o=u.src.charCodeAt(i++);if(o!==124&&o!==45&&o!==58||i>=u.eMarks[t])return!1;const c=u.src.charCodeAt(i++);if(c!==124&&c!==45&&c!==58&&!F(c)||o===45&&F(c))return!1;for(;i=4)return!1;s=be(a),s.length&&s[0]===""&&s.shift(),s.length&&s[s.length-1]===""&&s.pop();const f=s.length;if(f===0||f!==l.length)return!1;if(r)return!0;const b=u.parentType;u.parentType="table";const p=u.md.block.ruler.getRules("blockquote"),d=u.push("table_open","table",1),g=[e,0];d.map=g;const y=u.push("thead_open","thead",1);y.map=[e,e+1];const E=u.push("tr_open","tr",1);E.map=[e,e+1];for(let x=0;x=4||(s=be(a),s.length&&s[0]===""&&s.shift(),s.length&&s[s.length-1]===""&&s.pop(),_+=f-s.length,_>o0))break;if(t===e+2){const C=u.push("tbody_open","tbody",1);C.map=m=[e+2,0]}const k=u.push("tr_open","tr",1);k.map=[t,t+1];for(let C=0;C=4){r++,t=r;continue}break}u.line=t;const i=u.push("code_block","code",0);return i.content=u.getLines(e,t,4+u.blkIndent,!1)+` -`,i.map=[e,u.line],!0}function s0(u,e,n,r){let t=u.bMarks[e]+u.tShift[e],i=u.eMarks[e];if(u.sCount[e]-u.blkIndent>=4||t+3>i)return!1;const o=u.src.charCodeAt(t);if(o!==126&&o!==96)return!1;let c=t;t=u.skipChars(t,o);let a=t-c;if(a<3)return!1;const s=u.src.slice(c,t),l=u.src.slice(t,i);if(o===96&&l.indexOf(String.fromCharCode(o))>=0)return!1;if(r)return!0;let f=e,b=!1;for(;f++,!(f>=n||(t=c=u.bMarks[f]+u.tShift[f],i=u.eMarks[f],t=4)&&(t=u.skipChars(t,o),!(t-c=4||u.src.charCodeAt(t)!==62)return!1;if(r)return!0;const c=[],a=[],s=[],l=[],f=u.md.block.ruler.getRules("blockquote"),b=u.parentType;u.parentType="blockquote";let p=!1,d;for(d=e;d=i)break;if(u.src.charCodeAt(t++)===62&&!_){let k=u.sCount[d]+1,C,M;u.src.charCodeAt(t)===32?(t++,k++,M=!1,C=!0):u.src.charCodeAt(t)===9?(C=!0,(u.bsCount[d]+k)%4===3?(t++,k++,M=!1):M=!0):C=!1;let U=k;for(c.push(u.bMarks[d]),u.bMarks[d]=t;t=i,a.push(u.bsCount[d]),u.bsCount[d]=u.sCount[d]+1+(C?1:0),s.push(u.sCount[d]),u.sCount[d]=U-k,l.push(u.tShift[d]),u.tShift[d]=t-u.bMarks[d];continue}if(p)break;let x=!1;for(let k=0,C=f.length;k";const E=[e,0];y.map=E,u.md.block.tokenize(u,e,d);const m=u.push("blockquote_close","blockquote",-1);m.markup=">",u.lineMax=o,u.parentType=b,E[1]=u.line;for(let _=0;_=4)return!1;let i=u.bMarks[e]+u.tShift[e];const o=u.src.charCodeAt(i++);if(o!==42&&o!==45&&o!==95)return!1;let c=1;for(;i=r)return-1;let i=u.src.charCodeAt(t++);if(i<48||i>57)return-1;for(;;){if(t>=r)return-1;if(i=u.src.charCodeAt(t++),i>=48&&i<=57){if(t-n>=10)return-1;continue}if(i===41||i===46)break;return-1}return t=4||u.listIndent>=0&&u.sCount[a]-u.listIndent>=4&&u.sCount[a]=u.blkIndent&&(l=!0);let f,b,p;if((p=ge(u,a))>=0){if(f=!0,o=u.bMarks[a]+u.tShift[a],b=Number(u.src.slice(o,p-1)),l&&b!==1)return!1}else if((p=me(u,a))>=0)f=!1;else return!1;if(l&&u.skipSpaces(p)>=u.eMarks[a])return!1;if(r)return!0;const d=u.src.charCodeAt(p-1),g=u.tokens.length;f?(c=u.push("ordered_list_open","ol",1),b!==1&&(c.attrs=[["start",b]])):c=u.push("bullet_list_open","ul",1);const y=[a,0];c.map=y,c.markup=String.fromCharCode(d);let E=!1;const m=u.md.block.ruler.getRules("list"),_=u.parentType;for(u.parentType="list";a=t?M=1:M=k-x,M>4&&(M=1);const U=x+M;c=u.push("list_item_open","li",1),c.markup=String.fromCharCode(d);const O=[a,0];c.map=O,f&&(c.info=u.src.slice(o,p-1));const Y=u.tight,Du=u.tShift[a],mt=u.sCount[a],gt=u.listIndent;if(u.listIndent=u.blkIndent,u.blkIndent=U,u.tight=!0,u.tShift[a]=C-u.bMarks[a],u.sCount[a]=k,C>=t&&u.isEmpty(a+1)?u.line=Math.min(u.line+2,n):u.md.block.tokenize(u,a,n,!0),(!u.tight||E)&&(s=!1),E=u.line-a>1&&u.isEmpty(u.line-1),u.blkIndent=u.listIndent,u.listIndent=gt,u.tShift[a]=Du,u.sCount[a]=mt,u.tight=Y,c=u.push("list_item_close","li",-1),c.markup=String.fromCharCode(d),a=u.line,O[1]=a,a>=n||u.sCount[a]=4)break;let ee=!1;for(let X=0,xt=m.length;X=4||u.src.charCodeAt(t)!==91)return!1;function c(m){const _=u.lineMax;if(m>=_||u.isEmpty(m))return null;let x=!1;if(u.sCount[m]-u.blkIndent>3&&(x=!0),u.sCount[m]<0&&(x=!0),!x){const M=u.md.block.ruler.getRules("reference"),U=u.parentType;u.parentType="reference";let O=!1;for(let Y=0,Du=M.length;Y"u"&&(u.env.references={}),typeof u.env.references[E]>"u"&&(u.env.references[E]={title:y,href:f}),u.line=o),!0):!1}const b0=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],m0="[a-zA-Z_:][a-zA-Z0-9:._-]*",g0="[^\"'=<>`\\x00-\\x20]+",x0="'[^']*'",_0='"[^"]*"',k0="(?:"+g0+"|"+x0+"|"+_0+")",y0="(?:\\s+"+m0+"(?:\\s*=\\s*"+k0+")?)",et="<[A-Za-z][A-Za-z0-9\\-]*"+y0+"*\\s*\\/?>",tt="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",C0="",E0="<[?][\\s\\S]*?[?]>",v0="]*>",D0="",A0=new RegExp("^(?:"+et+"|"+tt+"|"+C0+"|"+E0+"|"+v0+"|"+D0+")"),F0=new RegExp("^(?:"+et+"|"+tt+")"),uu=[[/^<(script|pre|style|textarea)(?=(\s|>|$))/i,/<\/(script|pre|style|textarea)>/i,!0],[/^/,!0],[/^<\?/,/\?>/,!0],[/^/,!0],[/^/,!0],[new RegExp("^|$))","i"),/^$/,!0],[new RegExp(F0.source+"\\s*$"),/^$/,!1]];function w0(u,e,n,r){let t=u.bMarks[e]+u.tShift[e],i=u.eMarks[e];if(u.sCount[e]-u.blkIndent>=4||!u.md.options.html||u.src.charCodeAt(t)!==60)return!1;let o=u.src.slice(t,i),c=0;for(;c=4)return!1;let o=u.src.charCodeAt(t);if(o!==35||t>=i)return!1;let c=1;for(o=u.src.charCodeAt(++t);o===35&&t6||tt&&F(u.src.charCodeAt(a-1))&&(i=a),u.line=e+1;const s=u.push("heading_open","h"+String(c),1);s.markup="########".slice(0,c),s.map=[e,u.line];const l=u.push("inline","",0);l.content=u.src.slice(t,i).trim(),l.map=[e,u.line],l.children=[];const f=u.push("heading_close","h"+String(c),-1);return f.markup="########".slice(0,c),!0}function T0(u,e,n){const r=u.md.block.ruler.getRules("paragraph");if(u.sCount[e]-u.blkIndent>=4)return!1;const t=u.parentType;u.parentType="paragraph";let i=0,o,c=e+1;for(;c3)continue;if(u.sCount[c]>=u.blkIndent){let p=u.bMarks[c]+u.tShift[c];const d=u.eMarks[c];if(p=d))){i=o===61?1:2;break}}if(u.sCount[c]<0)continue;let b=!1;for(let p=0,d=r.length;p3||u.sCount[i]<0)continue;let s=!1;for(let l=0,f=r.length;l=n||u.sCount[o]=i){u.line=n;break}const a=u.line;let s=!1;for(let l=0;l=u.line)throw new Error("block rule didn't increment state.line");break}if(!s)throw new Error("none of the block rules matched");u.tight=!c,u.isEmpty(u.line-1)&&(c=!0),o=u.line,o0&&(this.level++,this._prev_delimiters.push(this.delimiters),this.delimiters=[],t={delimiters:this.delimiters}),this.pendingLevel=this.level,this.tokens.push(r),this.tokens_meta.push(t),r};du.prototype.scanDelims=function(u,e){const n=this.posMax,r=this.src.charCodeAt(u),t=u>0?this.src.charCodeAt(u-1):32;let i=u;for(;i0)return!1;const n=u.pos,r=u.posMax;if(n+3>r||u.src.charCodeAt(n)!==58||u.src.charCodeAt(n+1)!==47||u.src.charCodeAt(n+2)!==47)return!1;const t=u.pending.match(N0);if(!t)return!1;const i=t[1],o=u.md.linkify.matchAtStart(u.src.slice(n-i.length));if(!o)return!1;let c=o.url;if(c.length<=i.length)return!1;c=c.replace(/\*+$/,"");const a=u.md.normalizeLink(c);if(!u.md.validateLink(a))return!1;if(!e){u.pending=u.pending.slice(0,-i.length);const s=u.push("link_open","a",1);s.attrs=[["href",a]],s.markup="linkify",s.info="auto";const l=u.push("text","",0);l.content=u.md.normalizeLinkText(c);const f=u.push("link_close","a",-1);f.markup="linkify",f.info="auto"}return u.pos+=c.length-i.length,!0}function R0(u,e){let n=u.pos;if(u.src.charCodeAt(n)!==10)return!1;const r=u.pending.length-1,t=u.posMax;if(!e)if(r>=0&&u.pending.charCodeAt(r)===32)if(r>=1&&u.pending.charCodeAt(r-1)===32){let i=r-1;for(;i>=1&&u.pending.charCodeAt(i-1)===32;)i--;u.pending=u.pending.slice(0,i),u.push("hardbreak","br",0)}else u.pending=u.pending.slice(0,-1),u.push("softbreak","br",0);else u.push("softbreak","br",0);for(n++;n?@[]^_`{|}~-".split("").forEach(function(u){Xu[u.charCodeAt(0)]=1});function U0(u,e){let n=u.pos;const r=u.posMax;if(u.src.charCodeAt(n)!==92||(n++,n>=r))return!1;let t=u.src.charCodeAt(n);if(t===10){for(e||u.push("hardbreak","br",0),n++;n=55296&&t<=56319&&n+1=56320&&c<=57343&&(i+=u.src[n+1],n++)}const o="\\"+i;if(!e){const c=u.push("text_special","",0);t<256&&Xu[t]!==0?c.content=i:c.content=o,c.markup=o,c.info="escape"}return u.pos=n+1,!0}function O0(u,e){let n=u.pos;if(u.src.charCodeAt(n)!==96)return!1;const t=n;n++;const i=u.posMax;for(;n=0;r--){const t=e[r];if(t.marker!==95&&t.marker!==42||t.end===-1)continue;const i=e[t.end],o=r>0&&e[r-1].end===t.end+1&&e[r-1].marker===t.marker&&e[r-1].token===t.token-1&&e[t.end+1].token===i.token+1,c=String.fromCharCode(t.marker),a=u.tokens[t.token];a.type=o?"strong_open":"em_open",a.tag=o?"strong":"em",a.nesting=1,a.markup=o?c+c:c,a.content="";const s=u.tokens[i.token];s.type=o?"strong_close":"em_close",s.tag=o?"strong":"em",s.nesting=-1,s.markup=o?c+c:c,s.content="",o&&(u.tokens[e[r-1].token].content="",u.tokens[e[t.end+1].token].content="",r--)}}function H0(u){const e=u.tokens_meta,n=u.tokens_meta.length;_e(u,u.delimiters);for(let r=0;r=f)return!1;if(a=d,t=u.md.helpers.parseLinkDestination(u.src,d,u.posMax),t.ok){for(o=u.md.normalizeLink(t.str),u.md.validateLink(o)?d=t.pos:o="",a=d;d=f||u.src.charCodeAt(d)!==41)&&(s=!0),d++}if(s){if(typeof u.env.references>"u")return!1;if(d=0?r=u.src.slice(a,d++):d=p+1):d=p+1,r||(r=u.src.slice(b,p)),i=u.env.references[Cu(r)],!i)return u.pos=l,!1;o=i.href,c=i.title}if(!e){u.pos=b,u.posMax=p;const g=u.push("link_open","a",1),y=[["href",o]];g.attrs=y,c&&y.push(["title",c]),u.linkLevel++,u.md.inline.tokenize(u),u.linkLevel--,u.push("link_close","a",-1)}return u.pos=d,u.posMax=f,!0}function K0(u,e){let n,r,t,i,o,c,a,s,l="";const f=u.pos,b=u.posMax;if(u.src.charCodeAt(u.pos)!==33||u.src.charCodeAt(u.pos+1)!==91)return!1;const p=u.pos+2,d=u.md.helpers.parseLinkLabel(u,u.pos+1,!1);if(d<0)return!1;if(i=d+1,i=b)return!1;for(s=i,c=u.md.helpers.parseLinkDestination(u.src,i,u.posMax),c.ok&&(l=u.md.normalizeLink(c.str),u.md.validateLink(l)?i=c.pos:l=""),s=i;i=b||u.src.charCodeAt(i)!==41)return u.pos=f,!1;i++}else{if(typeof u.env.references>"u")return!1;if(i=0?t=u.src.slice(s,i++):i=d+1):i=d+1,t||(t=u.src.slice(p,d)),o=u.env.references[Cu(t)],!o)return u.pos=f,!1;l=o.href,a=o.title}if(!e){r=u.src.slice(p,d);const g=[];u.md.inline.parse(r,u.md,u.env,g);const y=u.push("image","img",0),E=[["src",l],["alt",""]];y.attrs=E,y.children=g,y.content=r,a&&E.push(["title",a])}return u.pos=i,u.posMax=b,!0}const W0=/^([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/,$0=/^([a-zA-Z][a-zA-Z0-9+.-]{1,31}):([^<>\x00-\x20]*)$/;function j0(u,e){let n=u.pos;if(u.src.charCodeAt(n)!==60)return!1;const r=u.pos,t=u.posMax;for(;;){if(++n>=t)return!1;const o=u.src.charCodeAt(n);if(o===60)return!1;if(o===62)break}const i=u.src.slice(r+1,n);if($0.test(i)){const o=u.md.normalizeLink(i);if(!u.md.validateLink(o))return!1;if(!e){const c=u.push("link_open","a",1);c.attrs=[["href",o]],c.markup="autolink",c.info="auto";const a=u.push("text","",0);a.content=u.md.normalizeLinkText(i);const s=u.push("link_close","a",-1);s.markup="autolink",s.info="auto"}return u.pos+=i.length+2,!0}if(W0.test(i)){const o=u.md.normalizeLink("mailto:"+i);if(!u.md.validateLink(o))return!1;if(!e){const c=u.push("link_open","a",1);c.attrs=[["href",o]],c.markup="autolink",c.info="auto";const a=u.push("text","",0);a.content=u.md.normalizeLinkText(i);const s=u.push("link_close","a",-1);s.markup="autolink",s.info="auto"}return u.pos+=i.length+2,!0}return!1}function Z0(u){return/^\s]/i.test(u)}function G0(u){return/^<\/a\s*>/i.test(u)}function Q0(u){const e=u|32;return e>=97&&e<=122}function J0(u,e){if(!u.md.options.html)return!1;const n=u.posMax,r=u.pos;if(u.src.charCodeAt(r)!==60||r+2>=n)return!1;const t=u.src.charCodeAt(r+1);if(t!==33&&t!==63&&t!==47&&!Q0(t))return!1;const i=u.src.slice(r).match(A0);if(!i)return!1;if(!e){const o=u.push("html_inline","",0);o.content=i[0],Z0(o.content)&&u.linkLevel++,G0(o.content)&&u.linkLevel--}return u.pos+=i[0].length,!0}const Y0=/^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i,X0=/^&([a-z][a-z0-9]{1,31});/i;function ur(u,e){const n=u.pos,r=u.posMax;if(u.src.charCodeAt(n)!==38||n+1>=r)return!1;if(u.src.charCodeAt(n+1)===35){const i=u.src.slice(n).match(Y0);if(i){if(!e){const o=i[1][0].toLowerCase()==="x"?parseInt(i[1].slice(1),16):parseInt(i[1],10),c=u.push("text_special","",0);c.content=Ju(o)?_u(o):_u(65533),c.markup=i[0],c.info="entity"}return u.pos+=i[0].length,!0}}else{const i=u.src.slice(n).match(X0);if(i){const o=Qe(i[0]);if(o!==i[0]){if(!e){const c=u.push("text_special","",0);c.content=o,c.markup=i[0],c.info="entity"}return u.pos+=i[0].length,!0}}}return!1}function ke(u){const e={},n=u.length;if(!n)return;let r=0,t=-2;const i=[];for(let o=0;oa;s-=i[s]+1){const f=u[s];if(f.marker===c.marker&&f.open&&f.end<0){let b=!1;if((f.close||c.open)&&(f.length+c.length)%3===0&&(f.length%3!==0||c.length%3!==0)&&(b=!0),!b){const p=s>0&&!u[s-1].open?i[s-1]+1:0;i[o]=o-s+p,i[s]=p,c.open=!1,f.end=o,f.close=!1,l=-1,t=-2;break}}}l!==-1&&(e[c.marker][(c.open?3:0)+(c.length||0)%3]=l)}}function er(u){const e=u.tokens_meta,n=u.tokens_meta.length;ke(u.delimiters);for(let r=0;r0&&r++,t[e].type==="text"&&e+1=u.pos)throw new Error("inline rule didn't increment state.pos");break}}else u.pos=u.posMax;o||u.pos++,i[e]=u.pos};hu.prototype.tokenize=function(u){const e=this.ruler.getRules(""),n=e.length,r=u.posMax,t=u.md.options.maxNesting;for(;u.pos=u.pos)throw new Error("inline rule didn't increment state.pos");break}}if(o){if(u.pos>=r)break;continue}u.pending+=u.src[u.pos++]}u.pending&&u.pushPending()};hu.prototype.parse=function(u,e,n,r){const t=new this.State(u,e,n,r);this.tokenize(t);const i=this.ruler2.getRules(""),o=i.length;for(let c=0;c|$))",e.tpl_email_fuzzy="(^|"+n+'|"|\\(|'+e.src_ZCc+")("+e.src_email_name+"@"+e.tpl_host_fuzzy_strict+")",e.tpl_link_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+e.src_ZPCc+"))((?![$+<=>^`||])"+e.tpl_host_port_fuzzy_strict+e.src_path+")",e.tpl_link_no_ip_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+e.src_ZPCc+"))((?![$+<=>^`||])"+e.tpl_host_port_no_ip_fuzzy_strict+e.src_path+")",e}function qu(u){return Array.prototype.slice.call(arguments,1).forEach(function(n){n&&Object.keys(n).forEach(function(r){u[r]=n[r]})}),u}function vu(u){return Object.prototype.toString.call(u)}function rr(u){return vu(u)==="[object String]"}function ir(u){return vu(u)==="[object Object]"}function or(u){return vu(u)==="[object RegExp]"}function ye(u){return vu(u)==="[object Function]"}function cr(u){return u.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}const it={fuzzyLink:!0,fuzzyEmail:!0,fuzzyIP:!1};function ar(u){return Object.keys(u||{}).reduce(function(e,n){return e||it.hasOwnProperty(n)},!1)}const sr={"http:":{validate:function(u,e,n){const r=u.slice(e);return n.re.http||(n.re.http=new RegExp("^\\/\\/"+n.re.src_auth+n.re.src_host_port_strict+n.re.src_path,"i")),n.re.http.test(r)?r.match(n.re.http)[0].length:0}},"https:":"http:","ftp:":"http:","//":{validate:function(u,e,n){const r=u.slice(e);return n.re.no_http||(n.re.no_http=new RegExp("^"+n.re.src_auth+"(?:localhost|(?:(?:"+n.re.src_domain+")\\.)+"+n.re.src_domain_root+")"+n.re.src_port+n.re.src_host_terminator+n.re.src_path,"i")),n.re.no_http.test(r)?e>=3&&u[e-3]===":"||e>=3&&u[e-3]==="/"?0:r.match(n.re.no_http)[0].length:0}},"mailto:":{validate:function(u,e,n){const r=u.slice(e);return n.re.mailto||(n.re.mailto=new RegExp("^"+n.re.src_email_name+"@"+n.re.src_host_strict,"i")),n.re.mailto.test(r)?r.match(n.re.mailto)[0].length:0}}},lr="a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]",fr="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф".split("|");function dr(u){u.__index__=-1,u.__text_cache__=""}function hr(u){return function(e,n){const r=e.slice(n);return u.test(r)?r.match(u)[0].length:0}}function Ce(){return function(u,e){e.normalize(u)}}function ku(u){const e=u.re=nr(u.__opts__),n=u.__tlds__.slice();u.onCompile(),u.__tlds_replaced__||n.push(lr),n.push(e.src_xn),e.src_tlds=n.join("|");function r(c){return c.replace("%TLDS%",e.src_tlds)}e.email_fuzzy=RegExp(r(e.tpl_email_fuzzy),"i"),e.link_fuzzy=RegExp(r(e.tpl_link_fuzzy),"i"),e.link_no_ip_fuzzy=RegExp(r(e.tpl_link_no_ip_fuzzy),"i"),e.host_fuzzy_test=RegExp(r(e.tpl_host_fuzzy_test),"i");const t=[];u.__compiled__={};function i(c,a){throw new Error('(LinkifyIt) Invalid schema "'+c+'": '+a)}Object.keys(u.__schemas__).forEach(function(c){const a=u.__schemas__[c];if(a===null)return;const s={validate:null,link:null};if(u.__compiled__[c]=s,ir(a)){or(a.validate)?s.validate=hr(a.validate):ye(a.validate)?s.validate=a.validate:i(c,a),ye(a.normalize)?s.normalize=a.normalize:a.normalize?i(c,a):s.normalize=Ce();return}if(rr(a)){t.push(c);return}i(c,a)}),t.forEach(function(c){u.__compiled__[u.__schemas__[c]]&&(u.__compiled__[c].validate=u.__compiled__[u.__schemas__[c]].validate,u.__compiled__[c].normalize=u.__compiled__[u.__schemas__[c]].normalize)}),u.__compiled__[""]={validate:null,normalize:Ce()};const o=Object.keys(u.__compiled__).filter(function(c){return c.length>0&&u.__compiled__[c]}).map(cr).join("|");u.re.schema_test=RegExp("(^|(?!_)(?:[><|]|"+e.src_ZPCc+"))("+o+")","i"),u.re.schema_search=RegExp("(^|(?!_)(?:[><|]|"+e.src_ZPCc+"))("+o+")","ig"),u.re.schema_at_start=RegExp("^"+u.re.schema_search.source,"i"),u.re.pretest=RegExp("("+u.re.schema_test.source+")|("+u.re.host_fuzzy_test.source+")|@","i"),dr(u)}function pr(u,e){const n=u.__index__,r=u.__last_index__,t=u.__text_cache__.slice(n,r);this.schema=u.__schema__.toLowerCase(),this.index=n+e,this.lastIndex=r+e,this.raw=t,this.text=t,this.url=t}function Hu(u,e){const n=new pr(u,e);return u.__compiled__[n.schema].normalize(n,u),n}function z(u,e){if(!(this instanceof z))return new z(u,e);e||ar(u)&&(e=u,u={}),this.__opts__=qu({},it,e),this.__index__=-1,this.__last_index__=-1,this.__schema__="",this.__text_cache__="",this.__schemas__=qu({},sr,u),this.__compiled__={},this.__tlds__=fr,this.__tlds_replaced__=!1,this.re={},ku(this)}z.prototype.add=function(e,n){return this.__schemas__[e]=n,ku(this),this};z.prototype.set=function(e){return this.__opts__=qu(this.__opts__,e),this};z.prototype.test=function(e){if(this.__text_cache__=e,this.__index__=-1,!e.length)return!1;let n,r,t,i,o,c,a,s,l;if(this.re.schema_test.test(e)){for(a=this.re.schema_search,a.lastIndex=0;(n=a.exec(e))!==null;)if(i=this.testSchemaAt(e,n[2],a.lastIndex),i){this.__schema__=n[2],this.__index__=n.index+n[1].length,this.__last_index__=n.index+n[0].length+i;break}}return this.__opts__.fuzzyLink&&this.__compiled__["http:"]&&(s=e.search(this.re.host_fuzzy_test),s>=0&&(this.__index__<0||s=0&&(t=e.match(this.re.email_fuzzy))!==null&&(o=t.index+t[1].length,c=t.index+t[0].length,(this.__index__<0||othis.__last_index__)&&(this.__schema__="mailto:",this.__index__=o,this.__last_index__=c))),this.__index__>=0};z.prototype.pretest=function(e){return this.re.pretest.test(e)};z.prototype.testSchemaAt=function(e,n,r){return this.__compiled__[n.toLowerCase()]?this.__compiled__[n.toLowerCase()].validate(e,r,this):0};z.prototype.match=function(e){const n=[];let r=0;this.__index__>=0&&this.__text_cache__===e&&(n.push(Hu(this,r)),r=this.__last_index__);let t=r?e.slice(r):e;for(;this.test(t);)n.push(Hu(this,r)),t=t.slice(this.__last_index__),r+=this.__last_index__;return n.length?n:null};z.prototype.matchAtStart=function(e){if(this.__text_cache__=e,this.__index__=-1,!e.length)return null;const n=this.re.schema_at_start.exec(e);if(!n)return null;const r=this.testSchemaAt(e,n[2],n[0].length);return r?(this.__schema__=n[2],this.__index__=n.index+n[1].length,this.__last_index__=n.index+n[0].length+r,Hu(this,0)):null};z.prototype.tlds=function(e,n){return e=Array.isArray(e)?e:[e],n?(this.__tlds__=this.__tlds__.concat(e).sort().filter(function(r,t,i){return r!==i[t-1]}).reverse(),ku(this),this):(this.__tlds__=e.slice(),this.__tlds_replaced__=!0,ku(this),this)};z.prototype.normalize=function(e){e.schema||(e.url="http://"+e.url),e.schema==="mailto:"&&!/^mailto:/i.test(e.url)&&(e.url="mailto:"+e.url)};z.prototype.onCompile=function(){};const tu=2147483647,H=36,ue=1,lu=26,br=38,mr=700,ot=72,ct=128,at="-",gr=/^xn--/,xr=/[^\0-\x7F]/,_r=/[\x2E\u3002\uFF0E\uFF61]/g,kr={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},Bu=H-ue,V=Math.floor,Ru=String.fromCharCode;function j(u){throw new RangeError(kr[u])}function yr(u,e){const n=[];let r=u.length;for(;r--;)n[r]=e(u[r]);return n}function st(u,e){const n=u.split("@");let r="";n.length>1&&(r=n[0]+"@",u=n[1]),u=u.replace(_r,".");const t=u.split("."),i=yr(t,e).join(".");return r+i}function lt(u){const e=[];let n=0;const r=u.length;for(;n=55296&&t<=56319&&nString.fromCodePoint(...u),Er=function(u){return u>=48&&u<58?26+(u-48):u>=65&&u<91?u-65:u>=97&&u<123?u-97:H},Ee=function(u,e){return u+22+75*(u<26)-((e!=0)<<5)},ft=function(u,e,n){let r=0;for(u=n?V(u/mr):u>>1,u+=V(u/e);u>Bu*lu>>1;r+=H)u=V(u/Bu);return V(r+(Bu+1)*u/(u+br))},dt=function(u){const e=[],n=u.length;let r=0,t=ct,i=ot,o=u.lastIndexOf(at);o<0&&(o=0);for(let c=0;c=128&&j("not-basic"),e.push(u.charCodeAt(c));for(let c=o>0?o+1:0;c=n&&j("invalid-input");const b=Er(u.charCodeAt(c++));b>=H&&j("invalid-input"),b>V((tu-r)/l)&&j("overflow"),r+=b*l;const p=f<=i?ue:f>=i+lu?lu:f-i;if(bV(tu/d)&&j("overflow"),l*=d}const s=e.length+1;i=ft(r-a,s,a==0),V(r/s)>tu-t&&j("overflow"),t+=V(r/s),r%=s,e.splice(r++,0,t)}return String.fromCodePoint(...e)},ht=function(u){const e=[];u=lt(u);const n=u.length;let r=ct,t=0,i=ot;for(const a of u)a<128&&e.push(Ru(a));const o=e.length;let c=o;for(o&&e.push(at);c=r&&lV((tu-t)/s)&&j("overflow"),t+=(a-r)*s,r=a;for(const l of u)if(ltu&&j("overflow"),l===r){let f=t;for(let b=H;;b+=H){const p=b<=i?ue:b>=i+lu?lu:b-i;if(f=0))try{e.hostname=pt.toASCII(e.hostname)}catch{}return fu(ju(e))}function Nr(u){const e=Zu(u,!0);if(e.hostname&&(!e.protocol||bt.indexOf(e.protocol)>=0))try{e.hostname=pt.toUnicode(e.hostname)}catch{}return nu(ju(e),nu.defaultChars+"%")}function P(u,e){if(!(this instanceof P))return new P(u,e);e||Qu(u)||(e=u||{},u="default"),this.inline=new hu,this.block=new Eu,this.core=new Yu,this.renderer=new iu,this.linkify=new z,this.validateLink=Ir,this.normalizeLink=Lr,this.normalizeLinkText=Nr,this.utils=Rn,this.helpers=yu({},Pn),this.options={},this.configure(u),e&&this.set(e)}P.prototype.set=function(u){return yu(this.options,u),this};P.prototype.configure=function(u){const e=this;if(Qu(u)){const n=u;if(u=Sr[n],!u)throw new Error('Wrong `markdown-it` preset "'+n+'", check name')}if(!u)throw new Error("Wrong `markdown-it` preset, can't be empty");return u.options&&e.set(u.options),u.components&&Object.keys(u.components).forEach(function(n){u.components[n].rules&&e[n].ruler.enableOnly(u.components[n].rules),u.components[n].rules2&&e[n].ruler2.enableOnly(u.components[n].rules2)}),this};P.prototype.enable=function(u,e){let n=[];Array.isArray(u)||(u=[u]),["core","block","inline"].forEach(function(t){n=n.concat(this[t].ruler.enable(u,!0))},this),n=n.concat(this.inline.ruler2.enable(u,!0));const r=u.filter(function(t){return n.indexOf(t)<0});if(r.length&&!e)throw new Error("MarkdownIt. Failed to enable unknown rule(s): "+r);return this};P.prototype.disable=function(u,e){let n=[];Array.isArray(u)||(u=[u]),["core","block","inline"].forEach(function(t){n=n.concat(this[t].ruler.disable(u,!0))},this),n=n.concat(this.inline.ruler2.disable(u,!0));const r=u.filter(function(t){return n.indexOf(t)<0});if(r.length&&!e)throw new Error("MarkdownIt. Failed to disable unknown rule(s): "+r);return this};P.prototype.use=function(u){const e=[this].concat(Array.prototype.slice.call(arguments,1));return u.apply(u,e),this};P.prototype.parse=function(u,e){if(typeof u!="string")throw new Error("Input data should be a String");const n=new this.core.State(u,this,e);return this.core.process(n),n.tokens};P.prototype.render=function(u,e){return e=e||{},this.renderer.render(this.parse(u,e),this.options,e)};P.prototype.parseInline=function(u,e){const n=new this.core.State(u,this,e);return n.inlineMode=!0,this.core.process(n),n.tokens};P.prototype.renderInline=function(u,e){return e=e||{},this.renderer.render(this.parseInline(u,e),this.options,e)};export{S as E,P as M}; diff --git a/public/assets/admin/assets/index-kwEAqj-e.js b/public/assets/admin/assets/index-kwEAqj-e.js deleted file mode 100644 index b8b9877c2..000000000 --- a/public/assets/admin/assets/index-kwEAqj-e.js +++ /dev/null @@ -1 +0,0 @@ -import{r as i,j as o}from"./index-_xd8OyP8.js";import{P as t}from"./index-CX6PQ3zO.js";var s="VisuallyHidden",a=i.forwardRef((r,e)=>o.jsx(t.span,{...r,ref:e,style:{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",...r.style}}));a.displayName=s;var n=a;export{n as R,a as V}; diff --git a/public/assets/admin/assets/index-ngg4RcvF.js b/public/assets/admin/assets/index-ngg4RcvF.js deleted file mode 100644 index fac53632b..000000000 --- a/public/assets/admin/assets/index-ngg4RcvF.js +++ /dev/null @@ -1 +0,0 @@ -var E=(a=>(a[a.PENDING=0]="PENDING",a[a.PROCESSING=1]="PROCESSING",a[a.CANCELLED=2]="CANCELLED",a[a.COMPLETED=3]="COMPLETED",a[a.DISCOUNTED=4]="DISCOUNTED",a))(E||{});const c={0:"待支付",1:"开通中",2:"已取消",3:"已完成",4:"已折抵"},p={0:"yellow-500",1:"blue-500",2:"red-500",3:"green-500",4:"green-500"},N={1:"新购",2:"续费",3:"升级",5:"流量重置"};var e=(a=>(a[a.PENDING=0]="PENDING",a[a.PROCESSING=1]="PROCESSING",a[a.VALID=2]="VALID",a[a.INVALID=3]="INVALID",a))(e||{});const t={0:"待确认",1:"发放中",2:"有效",3:"无效"},n={0:"yellow-500",1:"blue-500",2:"green-500",3:"red-500"};var s=(a=>(a.MONTH_PRICE="month_price",a.QUARTER_PRICE="quarter_price",a.HALF_YEAR_PRICE="half_year_price",a.YEAR_PRICE="year_price",a.TWO_YEAR_PRICE="two_year_price",a.THREE_YEAR_PRICE="three_year_price",a.ONETIME_PRICE="onetime_price",a.RESET_PRICE="reset_price",a))(s||{});const l={month_price:"月付",quarter_price:"季付",half_year_price:"半年付",year_price:"年付",two_year_price:"两年付",three_year_price:"三年付",onetime_price:"一次性",reset_price:"流量重置包"};var r=(a=>(a.Shadowsocks="shadowsocks",a.Vmess="vmess",a.Trojan="trojan",a.Hysteria="hysteria",a.Vless="vless",a))(r||{});const C=[{type:"shadowsocks",label:"Shadowsocks"},{type:"vmess",label:"VMess"},{type:"trojan",label:"Trojan"},{type:"hysteria",label:"Hysteria"},{type:"vless",label:"VLess"}],D={shadowsocks:"#489851",vmess:"#CB3180",trojan:"#EBB749",hysteria:"#5684e6",vless:"#1a1a1a"};var o=(a=>(a[a.AMOUNT=1]="AMOUNT",a[a.PERCENTAGE=2]="PERCENTAGE",a))(o||{});const R={1:"按金额优惠",2:"按比例优惠"},M={0:"正常",1:"锁定"};var _=(a=>(a[a.OPENING=0]="OPENING",a[a.CLOSED=1]="CLOSED",a))(_||{});const A={0:"开启",1:"已关闭"};var I=(a=>(a[a.LOW=0]="LOW",a[a.MIDDLE=1]="MIDDLE",a[a.HIGH=2]="HIGH",a))(I||{});const P={0:"低",1:"中",2:"高"};export{e as C,E as O,r as S,I as T,D as a,p as b,t as c,n as d,l as e,N as f,o as g,s as h,R as i,_ as j,A as k,c as o,C as p,P as t,M as u}; diff --git a/public/assets/admin/assets/index.css b/public/assets/admin/assets/index.css new file mode 100644 index 000000000..e0add00e0 --- /dev/null +++ b/public/assets/admin/assets/index.css @@ -0,0 +1 @@ +*,: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: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}: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: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:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}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]:where(:not([hidden=until-found])){display:none}:root{--header-height: 4rem;--background: 0 0% 100%;--foreground: 222.2 84% 4.9%;--card: 0 0% 100%;--card-foreground: 222.2 84% 4.9%;--popover: 0 0% 100%;--popover-foreground: 222.2 84% 4.9%;--primary: 222.2 47.4% 11.2%;--primary-foreground: 210 40% 98%;--secondary: 210 40% 96.1%;--secondary-foreground: 222.2 47.4% 11.2%;--muted: 210 40% 96.1%;--muted-foreground: 215.4 16.3% 46.9%;--accent: 210 40% 96.1%;--accent-foreground: 222.2 47.4% 11.2%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 40% 98%;--border: 214.3 31.8% 91.4%;--input: 214.3 31.8% 91.4%;--ring: 222.2 84% 4.9%;--radius: .5rem}.dark{--background: 222.2 84% 4.9%;--foreground: 210 40% 98%;--card: 222.2 84% 4.9%;--card-foreground: 210 40% 98%;--popover: 222.2 84% 4.9%;--popover-foreground: 210 40% 98%;--primary: 210 40% 98%;--primary-foreground: 222.2 47.4% 11.2%;--secondary: 217.2 32.6% 17.5%;--secondary-foreground: 210 40% 98%;--muted: 217.2 32.6% 17.5%;--muted-foreground: 215 20.2% 65.1%;--accent: 217.2 32.6% 17.5%;--accent-foreground: 210 40% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 210 40% 98%;--border: 217.2 32.6% 17.5%;--input: 217.2 32.6% 17.5%;--ring: 212.7 26.8% 83.9%}.collapsibleDropdown{overflow:hidden}.collapsibleDropdown[data-state=open]{animation:slideDown .2s ease-out}.collapsibleDropdown[data-state=closed]{animation:slideUp .2s ease-out}@keyframes slideDown{0%{height:0}to{height:var(--radix-collapsible-content-height)}}@keyframes slideUp{0%{height:var(--radix-collapsible-content-height)}to{height:0}}*{border-color:hsl(var(--border))}body{min-height:100svh;width:100%;background-color:hsl(var(--background));color:hsl(var(--foreground))}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media (min-width: 1400px){.container{max-width:1400px}}.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}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-left-1{left:-.25rem}.-right-1{right:-.25rem}.-right-5{right:-1.25rem}.-top-1\/2{top:-50%}.bottom-0{bottom:0}.bottom-5{bottom:1.25rem}.bottom-full{bottom:100%}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-3{left:.75rem}.left-4{left:1rem}.left-5{left:1.25rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-1\.5{right:.375rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-5{right:1.25rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-2\.5{top:.625rem}.top-4{top:1rem}.top-\[1px\]{top:1px}.top-\[50\%\]{top:50%}.top-\[60\%\]{top:60%}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[-1\]{z-index:-1}.z-\[1\]{z-index:1}.col-span-2{grid-column:span 2 / span 2}.-m-0\.5{margin:-.125rem}.m-1{margin:.25rem}.m-auto{margin:auto}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-mx-4{margin-left:-1rem;margin-right:-1rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.-ml-3{margin-left:-.75rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-8{margin-left:2rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-auto{margin-right:auto}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-auto{margin-top:auto}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.\!table{display:table!important}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-\[16\/9\]{aspect-ratio:16/9}.aspect-square{aspect-ratio:1 / 1}.size-10{width:2.5rem;height:2.5rem}.size-2\.5{width:.625rem;height:.625rem}.size-3{width:.75rem;height:.75rem}.size-3\.5{width:.875rem;height:.875rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.size-6{width:1.5rem;height:1.5rem}.h-0{height:0px}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[180px\]{height:180px}.h-\[1px\]{height:1px}.h-\[200px\]{height:200px}.h-\[300px\]{height:300px}.h-\[400px\]{height:400px}.h-\[90vh\]{height:90vh}.h-\[calc\(100\%-var\(--header-height\)\)\]{height:calc(100% - var(--header-height))}.h-\[calc\(100vh-280px\)\]{height:calc(100vh - 280px)}.h-\[var\(--header-height\)\]{height:var(--header-height)}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-0{max-height:0px}.max-h-12{max-height:3rem}.max-h-96{max-height:24rem}.max-h-\[300px\]{max-height:300px}.max-h-\[90vh\]{max-height:90vh}.max-h-\[95\%\]{max-height:95%}.max-h-screen{max-height:100vh}.min-h-10{min-height:2.5rem}.min-h-6{min-height:1.5rem}.min-h-\[120px\]{min-height:120px}.min-h-\[200px\]{min-height:200px}.min-h-\[60px\]{min-height:60px}.w-0{width:0px}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-2\/3{width:66.666667%}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-40{width:10rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[100px\]{width:100px}.w-\[120px\]{width:120px}.w-\[140px\]{width:140px}.w-\[150px\]{width:150px}.w-\[180px\]{width:180px}.w-\[1px\]{width:1px}.w-\[200px\]{width:200px}.w-\[250px\]{width:250px}.w-\[300px\]{width:300px}.w-\[400px\]{width:400px}.w-\[50px\]{width:50px}.w-\[60px\]{width:60px}.w-\[70px\]{width:70px}.w-\[80px\]{width:80px}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.min-w-0{min-width:0px}.min-w-20{min-width:5rem}.min-w-\[10em\]{min-width:10em}.min-w-\[300px\]{min-width:300px}.min-w-\[40px\]{min-width:40px}.min-w-\[4rem\]{min-width:4rem}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-32{max-width:8rem}.max-w-4xl{max-width:56rem}.max-w-52{max-width:13rem}.max-w-80{max-width:20rem}.max-w-\[180px\]{max-width:180px}.max-w-\[200px\]{max-width:200px}.max-w-\[280px\]{max-width:280px}.max-w-\[300px\]{max-width:300px}.max-w-\[500px\]{max-width:500px}.max-w-\[60\%\]{max-width:60%}.max-w-\[600px\]{max-width:600px}.max-w-\[90\%\]{max-width:90%}.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-none{max-width:none}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-\[1\.2\]{flex:1.2}.flex-\[1\]{flex:1}.flex-\[2\]{flex:2}.flex-\[4\]{flex:4}.flex-\[5\]{flex:5}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.-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-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-1\/2{--tw-translate-y: -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-\[-50\%\]{--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-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-0{--tw-translate-y: 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-y-\[-50\%\]{--tw-translate-y: -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))}.-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-90{--tw-rotate: -90deg;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-45{--tw-rotate: 45deg;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-125{--tw-scale-x: 1.25;--tw-scale-y: 1.25;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 bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@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-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-help{cursor:help}.cursor-move{cursor:move}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize{resize:both}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[100px_1fr\]{grid-template-columns:100px 1fr}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-0\.5{row-gap:.125rem}.gap-y-2{row-gap:.5rem}.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-2\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.625rem * var(--tw-space-x-reverse));margin-left:calc(.625rem * 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-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-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-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-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * 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))}.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))}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-wrap{text-wrap:wrap}.text-nowrap{text-wrap:nowrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.rounded-l-lg{border-top-left-radius:var(--radius);border-bottom-left-radius:var(--radius)}.rounded-l-md{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-r-lg{border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius)}.rounded-r-md{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-bl-none{border-bottom-left-radius:0}.rounded-br-none{border-bottom-right-radius:0}.rounded-tl-lg{border-top-left-radius:var(--radius)}.rounded-tl-none{border-top-left-radius:0}.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 4px)}.rounded-tr-lg{border-top-right-radius:var(--radius)}.rounded-tr-none{border-top-right-radius:0}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-x-0{border-left-width:0px;border-right-width:0px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-0{border-left-width:0px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-r-0{border-right-width:0px}.border-r-2{border-right-width:2px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-blue-300{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1))}.border-blue-500\/50{border-color:#3b82f680}.border-border{border-color:hsl(var(--border))}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-destructive\/50{border-color:hsl(var(--destructive) / .5)}.border-foreground\/10{border-color:hsl(var(--foreground) / .1)}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-input{border-color:hsl(var(--input))}.border-muted{border-color:hsl(var(--muted))}.border-muted-foreground\/25{border-color:hsl(var(--muted-foreground) / .25)}.border-orange-500\/50{border-color:#f9731680}.border-primary{border-color:hsl(var(--primary))}.border-primary\/40{border-color:hsl(var(--primary) / .4)}.border-primary\/50{border-color:hsl(var(--primary) / .5)}.border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-l-slate-500{--tw-border-opacity: 1;border-left-color:rgb(100 116 139 / var(--tw-border-opacity, 1))}.border-l-transparent{border-left-color:transparent}.border-r-muted{border-right-color:hsl(var(--muted))}.border-t-transparent{border-top-color:transparent}.bg-accent{background-color:hsl(var(--accent))}.bg-background{background-color:hsl(var(--background))}.bg-background\/80{background-color:hsl(var(--background) / .8)}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/80{background-color:#000c}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/10{background-color:hsl(var(--destructive) / .1)}.bg-destructive\/15{background-color:hsl(var(--destructive) / .15)}.bg-destructive\/80{background-color:hsl(var(--destructive) / .8)}.bg-emerald-500\/80{background-color:#10b981cc}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-green-500\/70{background-color:#22c55eb3}.bg-inherit{background-color:inherit}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/20{background-color:hsl(var(--muted) / .2)}.bg-muted\/30{background-color:hsl(var(--muted) / .3)}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary-foreground{background-color:hsl(var(--primary-foreground))}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-primary\/20{background-color:hsl(var(--primary) / .2)}.bg-primary\/5{background-color:hsl(var(--primary) / .05)}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-secondary\/50{background-color:hsl(var(--secondary) / .5)}.bg-slate-100\/80{background-color:#f1f5f9cc}.bg-transparent{background-color:transparent}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity, 1))}.bg-yellow-50{--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity, 1))}.bg-yellow-500\/80{background-color:#eab308cc}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-background\/95{--tw-gradient-from: hsl(var(--background) / .95) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--background) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-background\/80{--tw-gradient-to: hsl(var(--background) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), hsl(var(--background) / .8) var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-background\/60{--tw-gradient-to: hsl(var(--background) / .6) var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.fill-primary{fill:hsl(var(--primary))}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.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}.p-\[1px\]{padding:1px}.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-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.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-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-0\.5{padding-bottom:.125rem}.pb-16{padding-bottom:4rem}.pb-2{padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pl-2{padding-left:.5rem}.pl-2\.5{padding-left:.625rem}.pl-3{padding-left:.75rem}.pl-6{padding-left:1.5rem}.pl-8{padding-left:2rem}.pl-9{padding-left:2.25rem}.pr-10{padding-right:2.5rem}.pr-12{padding-right:3rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pr-7{padding-right:1.75rem}.pr-8{padding-right:2rem}.pr-9{padding-right:2.25rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-1\.5{padding-top:.375rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[0\.625rem\]{font-size:.625rem}.text-\[0\.7rem\]{font-size:.7rem}.text-\[0\.8rem\]{font-size:.8rem}.text-\[10px\]{font-size:10px}.text-\[7rem\]{font-size:7rem}.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-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-10{line-height:2.5rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-widest{letter-spacing:.1em}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-500{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/70{color:hsl(var(--foreground) / .7)}.text-foreground\/90{color:hsl(var(--foreground) / .9)}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/30{color:hsl(var(--muted-foreground) / .3)}.text-muted-foreground\/40{color:hsl(var(--muted-foreground) / .4)}.text-muted-foreground\/50{color:hsl(var(--muted-foreground) / .5)}.text-muted-foreground\/70{color:hsl(var(--muted-foreground) / .7)}.text-orange-500{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity, 1))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-primary\/90{color:hsl(var(--primary) / .9)}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-600{--tw-text-opacity: 1;color:rgb(202 138 4 / var(--tw-text-opacity, 1))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity, 1))}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.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-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px 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-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)}.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-destructive\/50{--tw-shadow-color: hsl(var(--destructive) / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-emerald-500\/50{--tw-shadow-color: rgb(16 185 129 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-yellow-500\/50{--tw-shadow-color: rgb(234 179 8 / .5);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.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-gray-200{--tw-ring-opacity: 1;--tw-ring-color: rgb(229 231 235 / var(--tw-ring-opacity, 1))}.ring-gray-300\/20{--tw-ring-color: rgb(209 213 219 / .2)}.ring-green-500\/20{--tw-ring-color: rgb(34 197 94 / .2)}.ring-primary\/20{--tw-ring-color: hsl(var(--primary) / .2)}.ring-offset-2{--tw-ring-offset-width: 2px}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.ring-offset-white{--tw-ring-offset-color: #fff}.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)}.backdrop-blur-\[1px\]{--tw-backdrop-blur: blur(1px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.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-\[margin\]{transition-property:margin;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[max-height\,padding\]{transition-property:max-height,padding;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}.transition-\[width\]{transition-property:width;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}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.delay-100{transition-delay:.1s}.delay-150{transition-delay:.15s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in-0{--tw-enter-opacity: 0}.zoom-in-95{--tw-enter-scale: .95}.duration-150{animation-duration:.15s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.duration-700{animation-duration:.7s}.delay-100{animation-delay:.1s}.delay-150{animation-delay:.15s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.running{animation-play-state:running}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}html{overflow-y:scroll}.sticky{position:sticky!important;z-index:2;background-color:hsl(var(--card))}.sticky.before\:right-0:before,.sticky.before\:left-0:before{content:"";position:absolute;top:0;bottom:0;width:2px;background:linear-gradient(to right,rgba(0,0,0,.08),transparent);opacity:1;transition:opacity .3s ease}.sticky.before\:right-0:before{right:-1px;background:linear-gradient(to right,rgba(0,0,0,.08),transparent)}.sticky.before\:right-0:after{content:"";position:absolute;top:0;right:-8px;bottom:0;width:8px;pointer-events:none;background:linear-gradient(to right,rgba(0,0,0,.05),transparent)}.sticky.before\:left-0:before{left:-1px;background:linear-gradient(to left,rgba(0,0,0,.08),transparent)}.sticky.before\:left-0:after{content:"";position:absolute;top:0;left:-8px;bottom:0;width:8px;pointer-events:none;background:linear-gradient(to left,rgba(0,0,0,.05),transparent)}.sticky:hover:before{opacity:.8}.dark .sticky.before\:right-0:before,.dark .sticky.before\:left-0:before{background:linear-gradient(to right,rgba(255,255,255,.05),transparent)}.dark .sticky.before\:right-0:after,.dark .sticky.before\:left-0:after{background:linear-gradient(to right,rgba(255,255,255,.03),transparent)}.\*\:\!inline-block>*{display:inline-block!important}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:bottom-0:before{content:var(--tw-content);bottom:0}.before\:left-0:before{content:var(--tw-content);left:0}.before\:right-0:before{content:var(--tw-content);right:0}.before\:top-0:before{content:var(--tw-content);top:0}.before\:w-\[1px\]:before{content:var(--tw-content);width:1px}.before\:bg-border:before{content:var(--tw-content);background-color:hsl(var(--border))}.after\:pointer-events-none:after{content:var(--tw-content);pointer-events:none}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:bottom-0:after{content:var(--tw-content);bottom:0}.after\:left-0:after{content:var(--tw-content);left:0}.after\:hidden:after{content:var(--tw-content);display:none}.after\:h-32:after{content:var(--tw-content);height:8rem}.after\:w-full:after{content:var(--tw-content);width:100%}.after\:bg-\[linear-gradient\(180deg\,_transparent_10\%\,_hsl\(var\(--background\)\)_70\%\)\]:after{content:var(--tw-content);background-image:linear-gradient(180deg,transparent 10%,hsl(var(--background)) 70%)}.focus-within\:relative:focus-within{position:relative}.focus-within\:z-20:focus-within{z-index:20}.focus-within\:ring-1:focus-within{--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-within\:ring-ring:focus-within{--tw-ring-color: hsl(var(--ring))}.hover\:-translate-y-1:hover{--tw-translate-y: -.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))}.hover\:rotate-180:hover{--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))}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.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))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-background:hover{background-color:hsl(var(--background))}.hover\:bg-blue-100:hover{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-200:hover{--tw-bg-opacity: 1;background-color:rgb(191 219 254 / var(--tw-bg-opacity, 1))}.hover\:bg-card\/80:hover{background-color:hsl(var(--card) / .8)}.hover\:bg-destructive\/10:hover{background-color:hsl(var(--destructive) / .1)}.hover\:bg-destructive\/25:hover{background-color:hsl(var(--destructive) / .25)}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive) / .8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-green-100:hover{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.hover\:bg-inherit:hover{background-color:inherit}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/40:hover{background-color:hsl(var(--muted) / .4)}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-muted\/60:hover{background-color:hsl(var(--muted) / .6)}.hover\:bg-muted\/70:hover{background-color:hsl(var(--muted) / .7)}.hover\:bg-primary:hover{background-color:hsl(var(--primary))}.hover\:bg-primary\/10:hover{background-color:hsl(var(--primary) / .1)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-red-100:hover{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.hover\:bg-red-200:hover{--tw-bg-opacity: 1;background-color:rgb(254 202 202 / var(--tw-bg-opacity, 1))}.hover\:bg-secondary-foreground\/10:hover{background-color:hsl(var(--secondary-foreground) / .1)}.hover\:bg-secondary\/70:hover{background-color:hsl(var(--secondary) / .7)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-slate-200\/80:hover{background-color:#e2e8f0cc}.hover\:bg-transparent:hover{background-color:transparent}.hover\:bg-yellow-100:hover{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity, 1))}.hover\:bg-opacity-80:hover{--tw-bg-opacity: .8}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-destructive:hover{color:hsl(var(--destructive))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-foreground\/70:hover{color:hsl(var(--foreground) / .7)}.hover\:text-muted-foreground:hover{color:hsl(var(--muted-foreground))}.hover\:text-primary:hover{color:hsl(var(--primary))}.hover\:text-primary-foreground:hover{color:hsl(var(--primary-foreground))}.hover\:text-primary\/80:hover{color:hsl(var(--primary) / .8)}.hover\:text-red-600:hover{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-80:hover{opacity:.8}.hover\:shadow-lg:hover{--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)}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-black\/30:hover{--tw-shadow-color: rgb(0 0 0 / .3);--tw-shadow: var(--tw-shadow-colored)}.hover\:ring-primary:hover{--tw-ring-color: hsl(var(--primary))}.focus\:z-10:focus{z-index:10}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:bg-primary:focus{background-color:hsl(var(--primary))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:text-destructive:focus{color:hsl(var(--destructive))}.focus\:text-primary-foreground:focus{color:hsl(var(--primary-foreground))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1: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(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\: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-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.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-primary:focus-visible{--tw-ring-color: hsl(var(--primary))}.focus-visible\:ring-red-500:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1))}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color: hsl(var(--background))}.active\:scale-90:active{--tw-scale-x: .9;--tw-scale-y: .9;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))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:via-background\/90{--tw-gradient-to: hsl(var(--background) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), hsl(var(--background) / .9) var(--tw-gradient-via-position), var(--tw-gradient-to)}.group:hover .group-hover\:to-background\/70{--tw-gradient-to: hsl(var(--background) / .7) var(--tw-gradient-to-position)}.group\/id:hover .group-hover\/id\:opacity-100,.group:hover .group-hover\:opacity-100{opacity:1}.group[data-collapsed=true] .group-\[\[data-collapsed\=true\]\]\:justify-center{justify-content:center}.group[data-collapsed=true] .group-\[\[data-collapsed\=true\]\]\:px-2{padding-left:.5rem;padding-right:.5rem}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.has-\[\:focus-visible\]\:outline-none:has(:focus-visible){outline:2px solid transparent;outline-offset:2px}.has-\[\:focus-visible\]\:ring-1:has(: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)}.has-\[\:focus-visible\]\:ring-neutral-950:has(:focus-visible){--tw-ring-opacity: 1;--tw-ring-color: rgb(10 10 10 / var(--tw-ring-opacity, 1))}.aria-selected\:bg-accent[aria-selected=true]{background-color:hsl(var(--accent))}.aria-selected\:bg-accent\/50[aria-selected=true]{background-color:hsl(var(--accent) / .5)}.aria-selected\:text-accent-foreground[aria-selected=true]{color:hsl(var(--accent-foreground))}.aria-selected\:text-muted-foreground[aria-selected=true]{color:hsl(var(--muted-foreground))}.aria-selected\:opacity-100[aria-selected=true]{opacity:1}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y: .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))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x: -.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))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x: .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))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y: -.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))}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x: 1rem;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))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--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))}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up .2s ease-out}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down .2s ease-out}.data-\[state\=dragging\]\:cursor-grabbing[data-state=dragging]{cursor:grabbing}.data-\[active\]\:bg-accent\/50[data-active]{background-color:hsl(var(--accent) / .5)}.data-\[disabled\]\:bg-muted-foreground[data-disabled],.data-\[fixed\]\:bg-muted-foreground[data-fixed]{background-color:hsl(var(--muted-foreground))}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:hsl(var(--accent) / .5)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:hsl(var(--input))}.data-\[collapsed\=true\]\:py-2[data-collapsed=true]{padding-top:.5rem;padding-bottom:.5rem}.data-\[disabled\]\:text-muted[data-disabled],.data-\[fixed\]\:text-muted[data-fixed]{color:hsl(var(--muted))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=active\]\:shadow[data-state=active]{--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)}.data-\[state\=closed\]\:duration-300[data-state=closed],.data-\[state\=open\]\:duration-300[data-state=open]{transition-duration:.3s}.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-],.data-\[state\=open\]\:animate-in[data-state=open],.data-\[state\=visible\]\:animate-in[data-state=visible]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-],.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[state\=hidden\]\:animate-out[data-state=hidden]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-]{--tw-enter-opacity: 0}.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-],.data-\[state\=closed\]\:fade-out-0[data-state=closed],.data-\[state\=hidden\]\:fade-out[data-state=hidden]{--tw-exit-opacity: 0}.data-\[state\=open\]\:fade-in-0[data-state=open],.data-\[state\=visible\]\:fade-in[data-state=visible]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-90[data-state=open]{--tw-enter-scale: .9}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end]{--tw-enter-translate-x: 13rem}.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start]{--tw-enter-translate-x: -13rem}.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end]{--tw-exit-translate-x: 13rem}.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start]{--tw-exit-translate-x: -13rem}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y: 100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x: -100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x: -50%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x: 100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y: -100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y: 100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x: -100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x: -50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x: 100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y: -100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y: -48%}.data-\[state\=closed\]\:duration-300[data-state=closed],.data-\[state\=open\]\:duration-300[data-state=open]{animation-duration:.3s}.data-\[disabled\]\:hover\:bg-muted-foreground:hover[data-disabled],.data-\[fixed\]\:hover\:bg-muted-foreground:hover[data-fixed]{background-color:hsl(var(--muted-foreground))}.group[data-state=open] .group-data-\[state\=\"open\"\]\:-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))}.group[data-state=open] .group-data-\[state\=open\]\: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))}.dark\:border-blue-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(29 78 216 / var(--tw-border-opacity, 1))}.dark\:border-gray-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.dark\:bg-blue-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(30 58 138 / var(--tw-bg-opacity, 1))}.dark\:bg-blue-950:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(23 37 84 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-800\/50:is(.dark *){background-color:#1f293780}.dark\:bg-green-500\/10:is(.dark *){background-color:#22c55e1a}.dark\:bg-red-500\/10:is(.dark *){background-color:#ef44441a}.dark\:bg-red-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(127 29 29 / var(--tw-bg-opacity, 1))}.dark\:bg-yellow-500\/10:is(.dark *){background-color:#eab3081a}.dark\:text-blue-400:is(.dark *){--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.dark\:text-green-400:is(.dark *){--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.dark\:text-yellow-400:is(.dark *){--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.dark\:ring-gray-700:is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgb(55 65 81 / var(--tw-ring-opacity, 1))}.dark\:ring-gray-800:is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgb(31 41 55 / var(--tw-ring-opacity, 1))}.dark\:placeholder\:text-gray-500:is(.dark *)::-moz-placeholder{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.dark\:placeholder\:text-gray-500:is(.dark *)::placeholder{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.dark\:hover\:bg-blue-800:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(30 64 175 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-blue-900:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(30 58 138 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-red-800:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(153 27 27 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-red-900:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(127 29 29 / var(--tw-bg-opacity, 1))}.dark\:hover\:text-red-400:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.dark\:has-\[\:focus-visible\]\:ring-neutral-300:has(:focus-visible):is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgb(212 212 212 / var(--tw-ring-opacity, 1))}@media (min-width: 640px){.sm\:absolute{position:absolute}.sm\:inset-auto{inset:auto}.sm\:bottom-\[calc\(100\%\+10px\)\]{bottom:calc(100% + 10px)}.sm\:left-0{left:0}.sm\:right-0{right:0}.sm\:my-0{margin-top:0;margin-bottom:0}.sm\:my-4{margin-top:1rem;margin-bottom:1rem}.sm\:mt-0{margin-top:0}.sm\:hidden{display:none}.sm\:h-\[80vh\]{height:80vh}.sm\:h-full{height:100%}.sm\:max-h-\[500px\]{max-height:500px}.sm\:max-h-\[600px\]{max-height:600px}.sm\:max-h-\[700px\]{max-height:700px}.sm\:max-h-\[800px\]{max-height:800px}.sm\:w-48{width:12rem}.sm\:w-\[480px\]{width:480px}.sm\:w-\[540px\]{width:540px}.sm\:w-\[90vw\]{width:90vw}.sm\:w-full{width:100%}.sm\:max-w-72{max-width:18rem}.sm\:max-w-\[1025px\]{max-width:1025px}.sm\:max-w-\[425px\]{max-width:425px}.sm\:max-w-\[700px\]{max-width:700px}.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\:translate-y-5{--tw-translate-y: 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))}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-end{justify-content:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:gap-6{gap:1.5rem}.sm\: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)))}.sm\: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)))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-left{text-align:left}}@media (min-width: 768px){.md\:absolute{position:absolute}.md\:bottom-0{bottom:0}.md\:right-8{right:2rem}.md\:right-auto{right:auto}.md\:top-8{top:2rem}.md\:col-span-1{grid-column:span 1 / span 1}.md\:ml-14{margin-left:3.5rem}.md\:ml-64{margin-left:16rem}.md\:block{display:block}.md\:inline-flex{display:inline-flex}.md\:hidden{display:none}.md\:h-svh{height:100svh}.md\:max-h-screen{max-height:100vh}.md\:w-14{width:3.5rem}.md\:w-32{width:8rem}.md\:w-64{width:16rem}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:max-w-\[31rem\]{max-width:31rem}.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\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:overflow-y-hidden{overflow-y:hidden}.md\:border-none{border-style:none}.md\:px-4{padding-left:1rem;padding-right:1rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:py-2{padding-top:.5rem;padding-bottom:.5rem}.md\:pt-0{padding-top:0}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.after\:md\:block:after{content:var(--tw-content);display:block}}@media (min-width: 1024px){.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:w-1\/5{width:20%}.lg\:w-\[250px\]{width:250px}.lg\:max-w-none{max-width:none}.lg\:max-w-xl{max-width:36rem}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:flex-col{flex-direction:column}.lg\:gap-8{gap:2rem}.lg\:space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(3rem * var(--tw-space-x-reverse));margin-left:calc(3rem * calc(1 - var(--tw-space-x-reverse)))}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.lg\: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))}.lg\:p-8{padding:2rem}.lg\:px-0{padding-left:0;padding-right:0}.lg\:px-3{padding-left:.75rem;padding-right:.75rem}}@media (min-width: 1280px){.xl\:mr-2{margin-right:.5rem}.xl\:flex{display:flex}.xl\:inline-flex{display:inline-flex}.xl\:h-10{height:2.5rem}.xl\:w-60{width:15rem}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:justify-start{justify-content:flex-start}.xl\:px-3{padding-left:.75rem;padding-right:.75rem}.xl\:py-2{padding-top:.5rem;padding-bottom:.5rem}}.\[\&\:\:-webkit-calendar-picker-indicator\]\:hidden::-webkit-calendar-picker-indicator{display:none}.\[\&\:has\(\>\.day-range-end\)\]\:rounded-r-md:has(>.day-range-end){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\>\.day-range-start\)\]\:rounded-l-md:has(>.day-range-start){border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\)\]\:rounded-md:has([aria-selected]){border-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]){background-color:hsl(var(--accent))}.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-accent\/50:has([aria-selected].day-outside){background-color:hsl(var(--accent) / .5)}.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y: 2px;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))}.\[\&\>span\]\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0px}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--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))}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:hsl(var(--muted-foreground))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:invisible svg{visibility:hidden}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0px}.\[\&_tr\]\:border-b tr{border-bottom-width:1px} diff --git a/public/assets/admin/assets/index.js b/public/assets/admin/assets/index.js new file mode 100644 index 000000000..d0748b7a5 --- /dev/null +++ b/public/assets/admin/assets/index.js @@ -0,0 +1,9 @@ +import{r as m,j as e,t as xl,c as hl,I as Pa,a as Es,S as aa,u as ms,b as na,d as fl,O as ra,e as pl,f as q,g as gl,h as jl,i as vl,k as bl,B as yl,l as Nl,Q as _l,m as wl,R as Cl,n as Sl,P as kl,o as Pl,p as Tl,q as Ja,F as Dl,C as El,s as Rl,v as Vl,w as Il,x as Fl,y as Qa,z as I,A as h,D as de,E as me,G as Za,H as Pt,J as Tt,K as la,L as Ae,T as Dt,M as Et,N as Xa,U as en,V as sn,W as oa,X as tn,Y as Ml,Z as an,_ as nn,$ as rn,a0 as ln,a1 as Rs,a2 as on,a3 as Ol,a4 as cn,a5 as dn,a6 as zl,a7 as Ll,a8 as Al,a9 as $l,aa as ql,ab as Kl,ac as Hl,ad as Ul,ae as Bl,af as Gl,ag as Wl,ah as mn,ai as Yl,aj as Jl,ak as Vs,al as un,am as Ql,an as Zl,ao as xn,ap as ia,aq as Xl,ar as eo,as as Ta,at as so,au as hn,av as to,aw as fn,ax as ao,ay as no,az as ro,aA as lo,aB as oo,aC as io,aD as pn,aE as co,aF as mo,aG as uo,aH as De,aI as xo,aJ as gn,aK as ho,aL as fo,aM as jn,aN as vn,aO as bn,aP as po,aQ as go,aR as yn,aS as Nn,aT as _n,aU as jo,aV as vo,aW as wn,aX as bo,aY as ca,aZ as Cn,a_ as yo,a$ as Sn,b0 as No,b1 as kn,b2 as _o,b3 as Pn,b4 as Tn,b5 as wo,b6 as Co,b7 as Dn,b8 as So,b9 as ko,ba as En,bb as Po,bc as Rn,bd as To,be as Do,bf as We,bg as se,bh as Ge,bi as ct,bj as Eo,bk as Ro,bl as Vo,bm as Io,bn as Fo,bo as Mo,bp as Da,bq as Ea,br as Oo,bs as zo,bt as Lo,bu as Ao,bv as $o,bw as Wt,bx as Yt,by as qo,bz as Ko,bA as Vn,bB as Ho,bC as Uo,bD as In,bE as Bo,bF as ve,bG as Go,bH as Ra,bI as Jt,bJ as Qt,bK as Wo,bL as Yo,bM as Fn,bN as Jo,bO as da,bP as Qo,bQ as Zo,bR as Xo,bS as Mn,bT as On,bU as zn,bV as ei,bW as si,bX as ti,bY as ai,bZ as Ln,b_ as ni,b$ as as,c0 as ri,c1 as li,c2 as oi,c3 as Nt,c4 as Se,c5 as Va,c6 as ii,c7 as An,c8 as $n,c9 as qn,ca as Kn,cb as Hn,cc as Un,cd as ci,ce as di,cf as mi,cg as Rt,ch as Is,ci as ns,cj as Ke,ck as He,cl as Je,cm as Qe,cn as Ze,co as ui,cp as xi,cq as hi,cr as fi,cs as pi,ct as gi,cu as ji,cv as vi,cw as bi,cx as Zt,cy as ma,cz as ua,cA as yi,cB as us,cC as xs,cD as dt,cE as Ni,cF as _t,cG as _i,cH as Ia,cI as Bn,cJ as Fa,cK as wt,cL as wi,cM as Ci,cN as Si,cO as ki,cP as Gn,cQ as Pi,cR as Ti,cS as Wn,cT as Xt,cU as Yn,cV as Di,cW as Jn,cX as Qn,cY as Ei,cZ as Ri,c_ as Vi,c$ as Ii,d0 as Fi}from"./vendor.js";import"./index.js";var Eh=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Rh(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,"default")?s.default:s}function Mi(s){if(s.__esModule)return s;var n=s.default;if(typeof n=="function"){var a=function l(){return this instanceof l?Reflect.construct(n,arguments,this.constructor):n.apply(this,arguments)};a.prototype=n.prototype}else a={};return Object.defineProperty(a,"__esModule",{value:!0}),Object.keys(s).forEach(function(l){var r=Object.getOwnPropertyDescriptor(s,l);Object.defineProperty(a,l,r.get?r:{enumerable:!0,get:function(){return s[l]}})}),a}const Oi={theme:"system",setTheme:()=>null},Zn=m.createContext(Oi);function zi({children:s,defaultTheme:n="system",storageKey:a="vite-ui-theme",...l}){const[r,c]=m.useState(()=>localStorage.getItem(a)||n);m.useEffect(()=>{const u=window.document.documentElement;if(u.classList.remove("light","dark"),r==="system"){const x=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";u.classList.add(x);return}u.classList.add(r)},[r]);const i={theme:r,setTheme:u=>{localStorage.setItem(a,u),c(u)}};return e.jsx(Zn.Provider,{...l,value:i,children:s})}const Li=()=>{const s=m.useContext(Zn);if(s===void 0)throw new Error("useTheme must be used within a ThemeProvider");return s},Ai=function(){const n=typeof document<"u"&&document.createElement("link").relList;return n&&n.supports&&n.supports("modulepreload")?"modulepreload":"preload"}(),$i=function(s,n){return new URL(s,n).href},Ma={},ne=function(n,a,l){let r=Promise.resolve();if(a&&a.length>0){const i=document.getElementsByTagName("link"),u=document.querySelector("meta[property=csp-nonce]"),x=u?.nonce||u?.getAttribute("nonce");r=Promise.allSettled(a.map(o=>{if(o=$i(o,l),o in Ma)return;Ma[o]=!0;const d=o.endsWith(".css"),p=d?'[rel="stylesheet"]':"";if(!!l)for(let f=i.length-1;f>=0;f--){const g=i[f];if(g.href===o&&(!d||g.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${p}`))return;const R=document.createElement("link");if(R.rel=d?"stylesheet":Ai,d||(R.as="script"),R.crossOrigin="",R.href=o,x&&R.setAttribute("nonce",x),document.head.appendChild(R),d)return new Promise((f,g)=>{R.addEventListener("load",f),R.addEventListener("error",()=>g(new Error(`Unable to preload CSS for ${o}`)))})}))}function c(i){const u=new Event("vite:preloadError",{cancelable:!0});if(u.payload=i,window.dispatchEvent(u),!u.defaultPrevented)throw i}return r.then(i=>{for(const u of i||[])u.status==="rejected"&&c(u.reason);return n().catch(c)})};function _(...s){return xl(hl(s))}const Bs=Es("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),V=m.forwardRef(({className:s,variant:n,size:a,asChild:l=!1,children:r,disabled:c,loading:i=!1,leftSection:u,rightSection:x,...o},d)=>{const p=l?aa:"button";return e.jsxs(p,{className:_(Bs({variant:n,size:a,className:s})),disabled:i||c,ref:d,...o,children:[(u&&i||!u&&!x&&i)&&e.jsx(Pa,{className:"mr-2 h-4 w-4 animate-spin"}),!i&&u&&e.jsx("div",{className:"mr-2",children:u}),r,!i&&x&&e.jsx("div",{className:"ml-2",children:x}),x&&i&&e.jsx(Pa,{className:"ml-2 h-4 w-4 animate-spin"})]})});V.displayName="Button";function Ls({className:s,minimal:n=!1}){const a=ms();return e.jsx("div",{className:_("h-svh w-full",s),children:e.jsxs("div",{className:"m-auto flex h-full w-full flex-col items-center justify-center gap-2",children:[!n&&e.jsx("h1",{className:"text-[7rem] font-bold leading-tight",children:"500"}),e.jsxs("span",{className:"font-medium",children:["Oops! Something went wrong ",":')"]}),e.jsxs("p",{className:"text-center text-muted-foreground",children:["We apologize for the inconvenience. ",e.jsx("br",{})," Please try again later."]}),!n&&e.jsxs("div",{className:"mt-6 flex gap-4",children:[e.jsx(V,{variant:"outline",onClick:()=>a(-1),children:"Go Back"}),e.jsx(V,{onClick:()=>a("/"),children:"Back to Home"})]})]})})}function Oa(){const s=ms();return e.jsx("div",{className:"h-svh",children:e.jsxs("div",{className:"m-auto flex h-full w-full flex-col items-center justify-center gap-2",children:[e.jsx("h1",{className:"text-[7rem] font-bold leading-tight",children:"404"}),e.jsx("span",{className:"font-medium",children:"Oops! Page Not Found!"}),e.jsxs("p",{className:"text-center text-muted-foreground",children:["It seems like the page you're looking for ",e.jsx("br",{}),"does not exist or might have been removed."]}),e.jsxs("div",{className:"mt-6 flex gap-4",children:[e.jsx(V,{variant:"outline",onClick:()=>s(-1),children:"Go Back"}),e.jsx(V,{onClick:()=>s("/"),children:"Back to Home"})]})]})})}function qi(){return e.jsx("div",{className:"h-svh",children:e.jsxs("div",{className:"m-auto flex h-full w-full flex-col items-center justify-center gap-2",children:[e.jsx("h1",{className:"text-[7rem] font-bold leading-tight",children:"503"}),e.jsx("span",{className:"font-medium",children:"Website is under maintenance!"}),e.jsxs("p",{className:"text-center text-muted-foreground",children:["The site is not available at the moment. ",e.jsx("br",{}),"We'll be back online shortly."]}),e.jsx("div",{className:"mt-6 flex gap-4",children:e.jsx(V,{variant:"outline",children:"Learn more"})})]})})}function Ki(s){return typeof s>"u"}function Hi(s){return s===null}function Ui(s){return Hi(s)||Ki(s)}class Bi{storage;prefixKey;constructor(n){this.storage=n.storage,this.prefixKey=n.prefixKey}getKey(n){return`${this.prefixKey}${n}`.toUpperCase()}set(n,a,l=null){const r=JSON.stringify({value:a,time:Date.now(),expire:l!==null?new Date().getTime()+l*1e3:null});this.storage.setItem(this.getKey(n),r)}get(n,a=null){const l=this.storage.getItem(this.getKey(n));if(!l)return{value:a,time:0};try{const r=JSON.parse(l),{value:c,time:i,expire:u}=r;return Ui(u)||u>new Date().getTime()?{value:c,time:i}:(this.remove(n),{value:a,time:0})}catch{return this.remove(n),{value:a,time:0}}}remove(n){this.storage.removeItem(this.getKey(n))}clear(){this.storage.clear()}}function Xn({prefixKey:s="",storage:n=sessionStorage}){return new Bi({prefixKey:s,storage:n})}const er="Xboard_",Gi=function(s={}){return Xn({prefixKey:s.prefixKey||"",storage:localStorage})},Wi=function(s={}){return Xn({prefixKey:s.prefixKey||"",storage:sessionStorage})},Vt=Gi({prefixKey:er});Wi({prefixKey:er});const sr="access_token";function nt(){return Vt.get(sr)}function tr(){Vt.remove(sr)}const za=["/sign-in","/sign-in-2","/sign-up","/forgot-password","/otp"];function Yi({children:s}){const n=ms(),a=na(),l=nt();return m.useEffect(()=>{if(!l.value&&!za.includes(a.pathname)){const r=encodeURIComponent(a.pathname+a.search);n(`/sign-in?redirect=${r}`)}},[l.value,a.pathname,a.search,n]),za.includes(a.pathname)||l.value?e.jsx(e.Fragment,{children:s}):null}const Ji=()=>e.jsx(Yi,{children:e.jsx(ra,{})}),Qi=fl([{path:"/sign-in",lazy:async()=>({Component:(await ne(async()=>{const{default:s}=await Promise.resolve().then(()=>Nc);return{default:s}},void 0,import.meta.url)).default})},{element:e.jsx(Ji,{}),children:[{path:"/",lazy:async()=>({Component:(await ne(()=>Promise.resolve().then(()=>Ec),void 0,import.meta.url)).default}),errorElement:e.jsx(Ls,{}),children:[{index:!0,lazy:async()=>({Component:(await ne(async()=>{const{default:s}=await Promise.resolve().then(()=>em);return{default:s}},void 0,import.meta.url)).default})},{path:"config",errorElement:e.jsx(Ls,{}),children:[{path:"system",lazy:async()=>({Component:(await ne(async()=>{const{default:s}=await Promise.resolve().then(()=>nm);return{default:s}},void 0,import.meta.url)).default}),children:[{index:!0,lazy:async()=>({Component:(await ne(async()=>{const{default:s}=await Promise.resolve().then(()=>im);return{default:s}},void 0,import.meta.url)).default})},{path:"safe",lazy:async()=>({Component:(await ne(async()=>{const{default:s}=await Promise.resolve().then(()=>xm);return{default:s}},void 0,import.meta.url)).default})},{path:"subscribe",lazy:async()=>({Component:(await ne(async()=>{const{default:s}=await Promise.resolve().then(()=>jm);return{default:s}},void 0,import.meta.url)).default})},{path:"invite",lazy:async()=>({Component:(await ne(async()=>{const{default:s}=await Promise.resolve().then(()=>_m);return{default:s}},void 0,import.meta.url)).default})},{path:"frontend",lazy:async()=>({Component:(await ne(async()=>{const{default:s}=await Promise.resolve().then(()=>Pm);return{default:s}},void 0,import.meta.url)).default})},{path:"server",lazy:async()=>({Component:(await ne(async()=>{const{default:s}=await Promise.resolve().then(()=>Vm);return{default:s}},void 0,import.meta.url)).default})},{path:"email",lazy:async()=>({Component:(await ne(async()=>{const{default:s}=await Promise.resolve().then(()=>zm);return{default:s}},void 0,import.meta.url)).default})},{path:"telegram",lazy:async()=>({Component:(await ne(async()=>{const{default:s}=await Promise.resolve().then(()=>Km);return{default:s}},void 0,import.meta.url)).default})},{path:"APP",lazy:async()=>({Component:(await ne(async()=>{const{default:s}=await Promise.resolve().then(()=>Wm);return{default:s}},void 0,import.meta.url)).default})}]},{path:"payment",lazy:async()=>({Component:(await ne(async()=>{const{default:s}=await Promise.resolve().then(()=>lu);return{default:s}},void 0,import.meta.url)).default})},{path:"plugin",lazy:async()=>({Component:(await ne(async()=>{const{default:s}=await Promise.resolve().then(()=>cu);return{default:s}},void 0,import.meta.url)).default})},{path:"theme",lazy:async()=>({Component:(await ne(async()=>{const{default:s}=await Promise.resolve().then(()=>xu);return{default:s}},void 0,import.meta.url)).default})},{path:"notice",lazy:async()=>({Component:(await ne(async()=>{const{default:s}=await Promise.resolve().then(()=>bu);return{default:s}},void 0,import.meta.url)).default})},{path:"knowledge",lazy:async()=>({Component:(await ne(async()=>{const{default:s}=await Promise.resolve().then(()=>Pu);return{default:s}},void 0,import.meta.url)).default})}]},{path:"server",errorElement:e.jsx(Ls,{}),children:[{path:"manage",lazy:async()=>({Component:(await ne(async()=>{const{default:s}=await Promise.resolve().then(()=>Xu);return{default:s}},void 0,import.meta.url)).default})},{path:"group",lazy:async()=>({Component:(await ne(async()=>{const{default:s}=await Promise.resolve().then(()=>nx);return{default:s}},void 0,import.meta.url)).default})},{path:"route",lazy:async()=>({Component:(await ne(async()=>{const{default:s}=await Promise.resolve().then(()=>dx);return{default:s}},void 0,import.meta.url)).default})}]},{path:"finance",errorElement:e.jsx(Ls,{}),children:[{path:"plan",lazy:async()=>({Component:(await ne(async()=>{const{default:s}=await Promise.resolve().then(()=>vx);return{default:s}},void 0,import.meta.url)).default})},{path:"order",lazy:async()=>({Component:(await ne(async()=>{const{default:s}=await Promise.resolve().then(()=>Vx);return{default:s}},void 0,import.meta.url)).default})},{path:"coupon",lazy:async()=>({Component:(await ne(async()=>{const{default:s}=await Promise.resolve().then(()=>qx);return{default:s}},void 0,import.meta.url)).default})}]},{path:"user",errorElement:e.jsx(Ls,{}),children:[{path:"manage",lazy:async()=>({Component:(await ne(async()=>{const{default:s}=await Promise.resolve().then(()=>mh);return{default:s}},void 0,import.meta.url)).default})},{path:"ticket",lazy:async()=>({Component:(await ne(async()=>{const{default:s}=await Promise.resolve().then(()=>Ph);return{default:s}},void 0,import.meta.url)).default})}]}]}]},{path:"/500",Component:Ls},{path:"/404",Component:Oa},{path:"/503",Component:qi},{path:"*",Component:Oa}]),Zi="locale";function Xi(){return Vt.get(Zi)}function ar(){tr();const s=window.location.pathname,n=s&&!["/404","/sign-in"].includes(s),a=new URL(window.location.href),r=`${a.pathname.split("/")[1]?`/${a.pathname.split("/")[1]}`:""}#/sign-in`;window.location.href=r+(n?`?redirect=${s}`:"")}const ec=["/passport/auth/login","/passport/auth/token2Login","/passport/auth/register","/guest/comm/config","/passport/comm/sendEmailVerify","/passport/auth/forget"];function sc(){const s=window.settings?.base_url||"/";return s.endsWith("/")?s+"api/v2":s+"/api/v2"}const F=pl.create({baseURL:sc(),timeout:12e3,headers:{"Content-Type":"application/json"}});F.interceptors.request.use(s=>{s.method?.toLowerCase()==="get"&&(s.params={...s.params,t:Date.now()});const n=nt();if(!ec.includes(s.url?.split("?")[0]||"")){if(!n.value)return ar(),Promise.reject({code:-1,message:"未登录"});s.headers.Authorization=n.value}return s.headers["Content-Language"]=Xi().value||"zh-CN",s},s=>Promise.reject(s));F.interceptors.response.use(s=>s?.data||{code:-1,message:"未知错误"},s=>{const n=s.response?.status,a=s.response?.data?.message;return(n===401||n===403)&&ar(),q.error(a||{401:"登录已过期",403:"没有权限",404:"资源或接口不存在"}[n]||"未知异常"),Promise.reject(s.response?.data||{data:null,code:-1,message:"未知错误"})});function tc(){return F.get("/user/info")}const At={token:nt()?.value||"",userInfo:null,isLoggedIn:!!nt()?.value,loading:!1,error:null},tt=gl("user/fetchUserInfo",async()=>(await tc()).data,{condition:(s,{getState:n})=>{const{user:a}=n();return!!a.token&&!a.loading}}),nr=jl({name:"user",initialState:At,reducers:{setToken(s,n){s.token=n.payload,s.isLoggedIn=!!n.payload},resetUserState:()=>At},extraReducers:s=>{s.addCase(tt.pending,n=>{n.loading=!0,n.error=null}).addCase(tt.fulfilled,(n,a)=>{n.loading=!1,n.userInfo=a.payload,n.error=null}).addCase(tt.rejected,(n,a)=>{if(n.loading=!1,n.error=a.error.message||"Failed to fetch user info",!n.token)return At})}}),{setToken:ac,resetUserState:nc}=nr.actions,rc=s=>s.user.userInfo,lc=nr.reducer,rr=vl({reducer:{user:lc}});nt()?.value&&rr.dispatch(tt());bl.use(yl).use(Nl).init({resources:{"en-US":window.XBOARD_TRANSLATIONS?.["en-US"]||{},"zh-CN":window.XBOARD_TRANSLATIONS?.["zh-CN"]||{},"ko-KR":window.XBOARD_TRANSLATIONS?.["ko-KR"]||{}},fallbackLng:"zh-CN",supportedLngs:["en-US","zh-CN","ko-KR"],detection:{order:["querystring","localStorage","navigator"],lookupQuerystring:"lang",lookupLocalStorage:"i18nextLng",caches:["localStorage"]},interpolation:{escapeValue:!1}});const oc=new _l;wl.createRoot(document.getElementById("root")).render(e.jsx(Cl.StrictMode,{children:e.jsx(Sl,{client:oc,children:e.jsx(kl,{store:rr,children:e.jsxs(zi,{defaultTheme:"light",storageKey:"vite-ui-theme",children:[e.jsx(Pl,{router:Qi}),e.jsx(Tl,{richColors:!0,position:"top-right"})]})})})}));const Me=m.forwardRef(({className:s,...n},a)=>e.jsx("div",{ref:a,className:_("rounded-xl border bg-card text-card-foreground shadow",s),...n}));Me.displayName="Card";const $e=m.forwardRef(({className:s,...n},a)=>e.jsx("div",{ref:a,className:_("flex flex-col space-y-1.5 p-6",s),...n}));$e.displayName="CardHeader";const cs=m.forwardRef(({className:s,...n},a)=>e.jsx("h3",{ref:a,className:_("font-semibold leading-none tracking-tight",s),...n}));cs.displayName="CardTitle";const Hs=m.forwardRef(({className:s,...n},a)=>e.jsx("p",{ref:a,className:_("text-sm text-muted-foreground",s),...n}));Hs.displayName="CardDescription";const qe=m.forwardRef(({className:s,...n},a)=>e.jsx("div",{ref:a,className:_("p-6 pt-0",s),...n}));qe.displayName="CardContent";const ic=m.forwardRef(({className:s,...n},a)=>e.jsx("div",{ref:a,className:_("flex items-center p-6 pt-0",s),...n}));ic.displayName="CardFooter";const cc=Es("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),Ct=m.forwardRef(({className:s,...n},a)=>e.jsx(Ja,{ref:a,className:_(cc(),s),...n}));Ct.displayName=Ja.displayName;const ue=Dl,lr=m.createContext({}),y=({...s})=>e.jsx(lr.Provider,{value:{name:s.name},children:e.jsx(El,{...s})}),It=()=>{const s=m.useContext(lr),n=m.useContext(or),{getFieldState:a,formState:l}=Rl(),r=a(s.name,l);if(!s)throw new Error("useFormField should be used within ");const{id:c}=n;return{id:c,name:s.name,formItemId:`${c}-form-item`,formDescriptionId:`${c}-form-item-description`,formMessageId:`${c}-form-item-message`,...r}},or=m.createContext({}),b=m.forwardRef(({className:s,...n},a)=>{const l=m.useId();return e.jsx(or.Provider,{value:{id:l},children:e.jsx("div",{ref:a,className:_("space-y-2",s),...n})})});b.displayName="FormItem";const N=m.forwardRef(({className:s,...n},a)=>{const{error:l,formItemId:r}=It();return e.jsx(Ct,{ref:a,className:_(l&&"text-destructive",s),htmlFor:r,...n})});N.displayName="FormLabel";const w=m.forwardRef(({...s},n)=>{const{error:a,formItemId:l,formDescriptionId:r,formMessageId:c}=It();return e.jsx(aa,{ref:n,id:l,"aria-describedby":a?`${r} ${c}`:`${r}`,"aria-invalid":!!a,...s})});w.displayName="FormControl";const M=m.forwardRef(({className:s,...n},a)=>{const{formDescriptionId:l}=It();return e.jsx("p",{ref:a,id:l,className:_("text-[0.8rem] text-muted-foreground",s),...n})});M.displayName="FormDescription";const E=m.forwardRef(({className:s,children:n,...a},l)=>{const{error:r,formMessageId:c}=It(),i=r?String(r?.message):n;return i?e.jsx("p",{ref:l,id:c,className:_("text-[0.8rem] font-medium text-destructive",s),...a,children:i}):null});E.displayName="FormMessage";const D=m.forwardRef(({className:s,type:n,...a},l)=>e.jsx("input",{type:n,className:_("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",s),ref:l,...a}));D.displayName="Input";const ir=m.forwardRef(({className:s,...n},a)=>{const[l,r]=m.useState(!1);return e.jsxs("div",{className:"relative rounded-md",children:[e.jsx("input",{type:l?"text":"password",className:_("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",s),ref:a,...n}),e.jsx(V,{type:"button",size:"icon",variant:"ghost",className:"absolute right-1 top-1/2 h-6 w-6 -translate-y-1/2 rounded-md text-muted-foreground",onClick:()=>r(c=>!c),children:l?e.jsx(Vl,{size:18}):e.jsx(Il,{size:18})})]})});ir.displayName="PasswordInput";const dc=s=>F({url:"/passport/auth/login",method:"post",data:s});function he(s=void 0,n="YYYY-MM-DD HH:mm:ss"){return s==null?"":(Math.floor(s).toString().length===10&&(s=s*1e3),Fl(s).format(n))}function mc(s=void 0,n="YYYY-MM-DD"){return he(s,n)}function qs(s){const n=typeof s=="string"?parseFloat(s):s;return isNaN(n)?"0.00":n.toFixed(2)}function Ps(s,n=!0){if(s==null)return n?"¥0.00":"0.00";const a=typeof s=="string"?parseFloat(s):s;if(isNaN(a))return n?"¥0.00":"0.00";const r=(a/100).toFixed(2).replace(/\.?0+$/,c=>c.includes(".")?".00":c);return n?`¥${r}`:r}function St(s){return new Promise(n=>{(async()=>{try{if(navigator.clipboard)await navigator.clipboard.writeText(s);else{const l=document.createElement("textarea");l.value=s,l.style.position="fixed",l.style.opacity="0",document.body.appendChild(l),l.select();const r=document.execCommand("copy");if(document.body.removeChild(l),!r)throw new Error("execCommand failed")}n(!0)}catch(l){console.error(l),n(!1)}})()})}function ss(s){const n=s/1024,a=n/1024,l=a/1024,r=l/1024;return r>=1?qs(r)+" TB":l>=1?qs(l)+" GB":a>=1?qs(a)+" MB":qs(n)+" KB"}const uc="access_token";function xc(s){Vt.set(uc,s)}function hc({className:s,onForgotPassword:n,...a}){const l=ms(),r=Qa(),{t:c}=I("auth"),i=h.object({email:h.string().min(1,{message:c("signIn.validation.emailRequired")}),password:h.string().min(1,{message:c("signIn.validation.passwordRequired")}).min(7,{message:c("signIn.validation.passwordLength")})}),u=de({resolver:me(i),defaultValues:{email:"",password:""}});async function x(o){try{const{data:d}=await dc(o);xc(d.auth_data),r(ac(d.auth_data)),await r(tt()).unwrap(),l("/")}catch(d){console.error("Login failed:",d),d.response?.data?.message&&u.setError("root",{message:d.response.data.message})}}return e.jsx("div",{className:_("grid gap-6",s),...a,children:e.jsx(ue,{...u,children:e.jsx("form",{onSubmit:u.handleSubmit(x),className:"space-y-4",children:e.jsxs("div",{className:"space-y-4",children:[u.formState.errors.root&&e.jsx("div",{className:"text-sm text-destructive",children:u.formState.errors.root.message}),e.jsx(y,{control:u.control,name:"email",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{children:c("signIn.email")}),e.jsx(w,{children:e.jsx(D,{placeholder:c("signIn.emailPlaceholder"),autoComplete:"email",...o})}),e.jsx(E,{})]})}),e.jsx(y,{control:u.control,name:"password",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{children:c("signIn.password")}),e.jsx(w,{children:e.jsx(ir,{placeholder:c("signIn.passwordPlaceholder"),autoComplete:"current-password",...o})}),e.jsx(E,{})]})}),e.jsx("div",{className:"flex items-center justify-between",children:e.jsx(V,{variant:"link",type:"button",className:"px-0 text-sm font-normal text-muted-foreground hover:text-primary",onClick:n,children:c("signIn.forgotPassword")})}),e.jsx(V,{className:"w-full",size:"lg",loading:u.formState.isSubmitting,children:c("signIn.submit")})]})})})})}const pe=Za,ze=Xa,fc=en,mt=la,cr=m.forwardRef(({className:s,...n},a)=>e.jsx(Pt,{ref:a,className:_("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",s),...n}));cr.displayName=Pt.displayName;const fe=m.forwardRef(({className:s,children:n,...a},l)=>e.jsxs(fc,{children:[e.jsx(cr,{}),e.jsxs(Tt,{ref:l,className:_("max-h-[95%] overflow-auto fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",s),...a,children:[n,e.jsxs(la,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[e.jsx(Ae,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));fe.displayName=Tt.displayName;const be=({className:s,...n})=>e.jsx("div",{className:_("flex flex-col space-y-1.5 text-center sm:text-left",s),...n});be.displayName="DialogHeader";const Le=({className:s,...n})=>e.jsx("div",{className:_("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",s),...n});Le.displayName="DialogFooter";const ge=m.forwardRef(({className:s,...n},a)=>e.jsx(Dt,{ref:a,className:_("text-lg font-semibold leading-none tracking-tight",s),...n}));ge.displayName=Dt.displayName;const Te=m.forwardRef(({className:s,...n},a)=>e.jsx(Et,{ref:a,className:_("text-sm text-muted-foreground",s),...n}));Te.displayName=Et.displayName;const Us=Es("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),J=m.forwardRef(({className:s,variant:n,size:a,asChild:l=!1,...r},c)=>{const i=l?aa:"button";return e.jsx(i,{className:_(Us({variant:n,size:a,className:s})),ref:c,...r})});J.displayName="Button";const _s=zl,ws=Ll,pc=Al,gc=m.forwardRef(({className:s,inset:n,children:a,...l},r)=>e.jsxs(sn,{ref:r,className:_("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",n&&"pl-8",s),...l,children:[a,e.jsx(oa,{className:"ml-auto h-4 w-4"})]}));gc.displayName=sn.displayName;const jc=m.forwardRef(({className:s,...n},a)=>e.jsx(tn,{ref:a,className:_("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",s),...n}));jc.displayName=tn.displayName;const ds=m.forwardRef(({className:s,sideOffset:n=4,...a},l)=>e.jsx(Ml,{children:e.jsx(an,{ref:l,sideOffset:n,className:_("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md","data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",s),...a})}));ds.displayName=an.displayName;const je=m.forwardRef(({className:s,inset:n,...a},l)=>e.jsx(nn,{ref:l,className:_("relative flex cursor-default cursor-pointer select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",n&&"pl-8",s),...a}));je.displayName=nn.displayName;const vc=m.forwardRef(({className:s,children:n,checked:a,...l},r)=>e.jsxs(rn,{ref:r,className:_("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",s),checked:a,...l,children:[e.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(ln,{children:e.jsx(Rs,{className:"h-4 w-4"})})}),n]}));vc.displayName=rn.displayName;const bc=m.forwardRef(({className:s,children:n,...a},l)=>e.jsxs(on,{ref:l,className:_("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",s),...a,children:[e.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(ln,{children:e.jsx(Ol,{className:"h-4 w-4 fill-current"})})}),n]}));bc.displayName=on.displayName;const xa=m.forwardRef(({className:s,inset:n,...a},l)=>e.jsx(cn,{ref:l,className:_("px-2 py-1.5 text-sm font-semibold",n&&"pl-8",s),...a}));xa.displayName=cn.displayName;const rt=m.forwardRef(({className:s,...n},a)=>e.jsx(dn,{ref:a,className:_("-mx-1 my-1 h-px bg-muted",s),...n}));rt.displayName=dn.displayName;const ea=({className:s,...n})=>e.jsx("span",{className:_("ml-auto text-xs tracking-widest opacity-60",s),...n});ea.displayName="DropdownMenuShortcut";const $t=[{code:"en-US",name:"English",flag:$l,shortName:"EN"},{code:"zh-CN",name:"中文",flag:ql,shortName:"CN"},{code:"ko-KR",name:"한국어",flag:Kl,shortName:"KR"}];function dr(){const{i18n:s}=I(),n=r=>{s.changeLanguage(r)},a=$t.find(r=>r.code===s.language)||$t[1],l=a.flag;return e.jsxs(_s,{children:[e.jsx(ws,{asChild:!0,children:e.jsxs(J,{variant:"ghost",size:"sm",className:"h-8 px-2 gap-1",children:[e.jsx(l,{className:"h-4 w-5 rounded-sm shadow-sm"}),e.jsx("span",{className:"text-sm font-medium",children:a.shortName})]})}),e.jsx(ds,{align:"end",className:"w-[120px]",children:$t.map(r=>{const c=r.flag,i=r.code===s.language;return e.jsxs(je,{onClick:()=>n(r.code),className:_("flex items-center gap-2 px-2 py-1.5 cursor-pointer",i&&"bg-accent"),children:[e.jsx(c,{className:"h-4 w-5 rounded-sm shadow-sm"}),e.jsx("span",{className:_("text-sm",i&&"font-medium"),children:r.name})]},r.code)})})]})}function yc(){const[s,n]=m.useState(!1),{t:a}=I("auth"),l=a("signIn.resetPassword.command");return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"container relative grid h-svh flex-col items-center justify-center bg-primary-foreground lg:max-w-none lg:px-0",children:[e.jsx("div",{className:"absolute right-4 top-4 md:right-8 md:top-8",children:e.jsx(dr,{})}),e.jsxs("div",{className:"mx-auto flex w-full flex-col justify-center space-y-6 sm:w-[480px] lg:p-8",children:[e.jsxs("div",{className:"flex flex-col space-y-2 text-center",children:[e.jsx("h1",{className:"text-3xl font-bold",children:window?.settings?.title}),e.jsx("p",{className:"text-sm text-muted-foreground",children:window?.settings?.description})]}),e.jsxs(Me,{className:"p-6",children:[e.jsxs("div",{className:"flex flex-col space-y-2 text-left",children:[e.jsx("h1",{className:"text-2xl font-semibold tracking-tight",children:a("signIn.title")}),e.jsx("p",{className:"text-sm text-muted-foreground",children:a("signIn.description")})]}),e.jsx(hc,{onForgotPassword:()=>n(!0)})]})]})]}),e.jsx(pe,{open:s,onOpenChange:n,children:e.jsx(fe,{children:e.jsxs(be,{children:[e.jsx(ge,{children:a("signIn.resetPassword.title")}),e.jsx(Te,{children:a("signIn.resetPassword.description")}),e.jsx("div",{className:"mt-4",children:e.jsxs("div",{className:"relative",children:[e.jsx("pre",{className:"rounded-md bg-secondary p-4 pr-12 text-sm",children:l}),e.jsx(J,{variant:"ghost",size:"icon",className:"absolute right-2 top-2 h-8 w-8 hover:bg-secondary-foreground/10",onClick:()=>St(l).then(()=>{q.success(a("common:copy.success"))}),children:e.jsx(Hl,{className:"h-4 w-4"})})]})})]})})})]})}const Nc=Object.freeze(Object.defineProperty({__proto__:null,default:yc},Symbol.toStringTag,{value:"Module"})),we=m.forwardRef(({className:s,fadedBelow:n=!1,fixedHeight:a=!1,...l},r)=>e.jsx("div",{ref:r,className:_("relative flex h-full w-full flex-col",n&&"after:pointer-events-none after:absolute after:bottom-0 after:left-0 after:hidden after:h-32 after:w-full after:bg-[linear-gradient(180deg,_transparent_10%,_hsl(var(--background))_70%)] after:md:block",a&&"md:h-svh",s),...l}));we.displayName="Layout";const Ce=m.forwardRef(({className:s,...n},a)=>e.jsx("div",{ref:a,className:_("flex h-[var(--header-height)] flex-none items-center gap-4 bg-background p-4 md:px-8",s),...n}));Ce.displayName="LayoutHeader";const Pe=m.forwardRef(({className:s,fixedHeight:n,...a},l)=>e.jsx("div",{ref:l,className:_("flex-1 overflow-hidden px-4 py-6 md:px-8",n&&"h-[calc(100%-var(--header-height))]",s),...a}));Pe.displayName="LayoutBody";const mr=Ul,ur=Bl,xr=Gl,ce=Wl,oe=Yl,ie=Jl,te=m.forwardRef(({className:s,sideOffset:n=4,...a},l)=>e.jsx(mn,{ref:l,sideOffset:n,className:_("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",s),...a}));te.displayName=mn.displayName;function Ft(){const{pathname:s}=na();return{checkActiveNav:a=>{if(a==="/"&&s==="/")return!0;const l=a.replace(/^\//,""),r=s.replace(/^\//,"");return l?r.startsWith(l):!1}}}function hr({key:s,defaultValue:n}){const[a,l]=m.useState(()=>{const r=localStorage.getItem(s);return r!==null?JSON.parse(r):n});return m.useEffect(()=>{localStorage.setItem(s,JSON.stringify(a))},[a,s]),[a,l]}function _c(){const[s,n]=hr({key:"collapsed-sidebar-items",defaultValue:[]}),a=r=>!s.includes(r);return{isExpanded:a,toggleItem:r=>{a(r)?n([...s,r]):n(s.filter(c=>c!==r))}}}function wc({links:s,isCollapsed:n,className:a,closeNav:l}){const{t:r}=I(),c=({sub:i,...u})=>{const x=`${r(u.title)}-${u.href}`;return n&&i?m.createElement(kc,{...u,sub:i,key:x,closeNav:l}):n?m.createElement(Sc,{...u,key:x,closeNav:l}):i?m.createElement(Cc,{...u,sub:i,key:x,closeNav:l}):m.createElement(fr,{...u,key:x,closeNav:l})};return e.jsx("div",{"data-collapsed":n,className:_("group border-b bg-background py-2 transition-[max-height,padding] duration-500 data-[collapsed=true]:py-2 md:border-none",a),children:e.jsx(ce,{delayDuration:0,children:e.jsx("nav",{className:"grid gap-1 group-[[data-collapsed=true]]:justify-center group-[[data-collapsed=true]]:px-2",children:s.map(c)})})})}function fr({title:s,icon:n,label:a,href:l,closeNav:r,subLink:c=!1}){const{checkActiveNav:i}=Ft(),{t:u}=I();return e.jsxs(Vs,{to:l,onClick:r,className:_(Bs({variant:i(l)?"secondary":"ghost",size:"sm"}),"h-12 justify-start text-wrap rounded-none px-6",c&&"h-10 w-full border-l border-l-slate-500 px-2"),"aria-current":i(l)?"page":void 0,children:[e.jsx("div",{className:"mr-2",children:n}),u(s),a&&e.jsx("div",{className:"ml-2 rounded-lg bg-primary px-1 text-[0.625rem] text-primary-foreground",children:u(a)})]})}function Cc({title:s,icon:n,label:a,sub:l,closeNav:r}){const{checkActiveNav:c}=Ft(),{isExpanded:i,toggleItem:u}=_c(),{t:x}=I(),o=!!l?.find(T=>c(T.href)),d=x(s),p=i(d)||o;return e.jsxs(mr,{open:p,onOpenChange:()=>u(d),children:[e.jsxs(ur,{className:_(Bs({variant:o?"secondary":"ghost",size:"sm"}),"group h-12 w-full justify-start rounded-none px-6"),children:[e.jsx("div",{className:"mr-2",children:n}),x(s),a&&e.jsx("div",{className:"ml-2 rounded-lg bg-primary px-1 text-[0.625rem] text-primary-foreground",children:x(a)}),e.jsx("span",{className:_('ml-auto transition-all group-data-[state="open"]:-rotate-180'),children:e.jsx(un,{stroke:1})})]}),e.jsx(xr,{className:"collapsibleDropdown",asChild:!0,children:e.jsx("ul",{children:l.map(T=>e.jsx("li",{className:"my-1 ml-8",children:e.jsx(fr,{...T,subLink:!0,closeNav:r})},x(T.title)))})})]})}function Sc({title:s,icon:n,label:a,href:l,closeNav:r}){const{checkActiveNav:c}=Ft(),{t:i}=I();return e.jsxs(oe,{delayDuration:0,children:[e.jsx(ie,{asChild:!0,children:e.jsxs(Vs,{to:l,onClick:r,className:_(Bs({variant:c(l)?"secondary":"ghost",size:"icon"}),"h-12 w-12"),children:[n,e.jsx("span",{className:"sr-only",children:i(s)})]})}),e.jsxs(te,{side:"right",className:"flex items-center gap-4",children:[i(s),a&&e.jsx("span",{className:"ml-auto text-muted-foreground",children:i(a)})]})]})}function kc({title:s,icon:n,label:a,sub:l,closeNav:r}){const{checkActiveNav:c}=Ft(),{t:i}=I(),u=!!l?.find(x=>c(x.href));return e.jsxs(_s,{children:[e.jsxs(oe,{delayDuration:0,children:[e.jsx(ie,{asChild:!0,children:e.jsx(ws,{asChild:!0,children:e.jsx(V,{variant:u?"secondary":"ghost",size:"icon",className:"h-12 w-12",children:n})})}),e.jsxs(te,{side:"right",className:"flex items-center gap-4",children:[i(s)," ",a&&e.jsx("span",{className:"ml-auto text-muted-foreground",children:i(a)}),e.jsx(un,{size:18,className:"-rotate-90 text-muted-foreground"})]})]}),e.jsxs(ds,{side:"right",align:"start",sideOffset:4,children:[e.jsxs(xa,{children:[i(s)," ",a?`(${i(a)})`:""]}),e.jsx(rt,{}),l.map(({title:x,icon:o,label:d,href:p})=>e.jsx(je,{asChild:!0,children:e.jsxs(Vs,{to:p,onClick:r,className:`${c(p)?"bg-secondary":""}`,children:[o," ",e.jsx("span",{className:"ml-2 max-w-52 text-wrap",children:i(x)}),d&&e.jsx("span",{className:"ml-auto text-xs",children:i(d)})]})},`${i(x)}-${p}`))]})]})}const pr=[{title:"nav:dashboard",label:"",href:"/",icon:e.jsx(Ql,{size:18})},{title:"nav:systemManagement",label:"",href:"",icon:e.jsx(Zl,{size:18}),sub:[{title:"nav:systemConfig",label:"",href:"/config/system",icon:e.jsx(xn,{size:18})},{title:"nav:pluginManagement",label:"",href:"/config/plugin",icon:e.jsx(ia,{size:18})},{title:"nav:themeConfig",label:"",href:"/config/theme",icon:e.jsx(Xl,{size:18})},{title:"nav:noticeManagement",label:"",href:"/config/notice",icon:e.jsx(eo,{size:18})},{title:"nav:paymentConfig",label:"",href:"/config/payment",icon:e.jsx(Ta,{size:18})},{title:"nav:knowledgeManagement",label:"",href:"/config/knowledge",icon:e.jsx(so,{size:18})}]},{title:"nav:nodeManagement",label:"",href:"",icon:e.jsx(hn,{size:18}),sub:[{title:"nav:nodeManagement",label:"",href:"/server/manage",icon:e.jsx(to,{size:18})},{title:"nav:permissionGroupManagement",label:"",href:"/server/group",icon:e.jsx(fn,{size:18})},{title:"nav:routeManagement",label:"",href:"/server/route",icon:e.jsx(ao,{size:18})}]},{title:"nav:subscriptionManagement",label:"",href:"",icon:e.jsx(no,{size:18}),sub:[{title:"nav:planManagement",label:"",href:"/finance/plan",icon:e.jsx(ro,{size:18})},{title:"nav:orderManagement",label:"",href:"/finance/order",icon:e.jsx(Ta,{size:18})},{title:"nav:couponManagement",label:"",href:"/finance/coupon",icon:e.jsx(lo,{size:18})}]},{title:"nav:userManagement",label:"",href:"",icon:e.jsx(oo,{size:18}),sub:[{title:"nav:userManagement",label:"",href:"/user/manage",icon:e.jsx(io,{size:18})},{title:"nav:ticketManagement",label:"",href:"/user/ticket",icon:e.jsx(pn,{size:18})}]}];function Pc({className:s,isCollapsed:n,setIsCollapsed:a}){const[l,r]=m.useState(!1),{t:c}=I();return m.useEffect(()=>{l?document.body.classList.add("overflow-hidden"):document.body.classList.remove("overflow-hidden")},[l]),e.jsxs("aside",{className:_(`fixed left-0 right-0 top-0 z-50 w-full border-r-2 border-r-muted transition-[width] md:bottom-0 md:right-auto md:h-svh ${n?"md:w-14":"md:w-64"}`,s),children:[e.jsx("div",{onClick:()=>r(!1),className:`absolute inset-0 transition-[opacity] delay-100 duration-700 ${l?"h-svh opacity-50":"h-0 opacity-0"} w-full bg-black md:hidden`}),e.jsxs(we,{children:[e.jsxs(Ce,{className:"sticky top-0 justify-between px-4 py-3 shadow md:px-4",children:[e.jsxs("div",{className:`flex items-center ${n?"":"gap-2"}`,children:[e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",className:`transition-all ${n?"h-6 w-6":"h-8 w-8"}`,children:[e.jsx("rect",{width:"256",height:"256",fill:"none"}),e.jsx("line",{x1:"208",y1:"128",x2:"128",y2:"208",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"16"}),e.jsx("line",{x1:"192",y1:"40",x2:"40",y2:"192",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"16"}),e.jsx("span",{className:"sr-only",children:"Website Name"})]}),e.jsx("div",{className:`flex flex-col justify-end truncate ${n?"invisible w-0":"visible w-auto"}`,children:e.jsx("span",{className:"font-medium",children:window?.settings?.title})})]}),e.jsx(V,{variant:"ghost",size:"icon",className:"md:hidden","aria-label":c("common:toggleNavigation"),"aria-controls":"sidebar-menu","aria-expanded":l,onClick:()=>r(i=>!i),children:l?e.jsx(co,{}):e.jsx(mo,{})})]}),e.jsx(wc,{id:"sidebar-menu",className:`h-full flex-1 overflow-auto ${l?"max-h-screen":"max-h-0 py-0 md:max-h-screen md:py-2"}`,closeNav:()=>r(!1),isCollapsed:n,links:pr}),e.jsx("div",{className:_("px-4 py-3 text-xs text-muted-foreground/70 border-t border-border/50 bg-muted/20","transition-all duration-200 ease-in-out",n?"text-center":"text-left"),children:e.jsxs("div",{className:_("flex items-center gap-1.5",n?"justify-center":"justify-start"),children:[e.jsx("div",{className:"w-1.5 h-1.5 rounded-full bg-green-500/70"}),e.jsxs("span",{className:"tracking-wide",children:["v",window?.settings?.version]})]})}),e.jsx(V,{onClick:()=>a(i=>!i),size:"icon",variant:"outline",className:"absolute -right-5 top-1/2 hidden rounded-full md:inline-flex","aria-label":c("common:toggleSidebar"),children:e.jsx(uo,{stroke:1.5,className:`h-5 w-5 ${n?"rotate-180":""}`})})]})]})}function Tc(){const[s,n]=hr({key:"collapsed-sidebar",defaultValue:!1});return m.useEffect(()=>{const a=()=>{n(window.innerWidth<768?!1:s)};return a(),window.addEventListener("resize",a),()=>{window.removeEventListener("resize",a)}},[s,n]),[s,n]}function Dc(){const[s,n]=Tc();return e.jsxs("div",{className:"relative h-full overflow-hidden bg-background",children:[e.jsx(Pc,{isCollapsed:s,setIsCollapsed:n}),e.jsx("main",{id:"content",className:`overflow-x-hidden pt-16 transition-[margin] md:overflow-y-hidden md:pt-0 ${s?"md:ml-14":"md:ml-64"} h-full`,children:e.jsx(ra,{})})]})}const Ec=Object.freeze(Object.defineProperty({__proto__:null,default:Dc},Symbol.toStringTag,{value:"Module"})),Cs=m.forwardRef(({className:s,...n},a)=>e.jsx(De,{ref:a,className:_("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",s),...n}));Cs.displayName=De.displayName;const Rc=({children:s,...n})=>e.jsx(pe,{...n,children:e.jsx(fe,{className:"overflow-hidden p-0",children:e.jsx(Cs,{className:"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5",children:s})})}),Fs=m.forwardRef(({className:s,...n},a)=>e.jsxs("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[e.jsx(xo,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),e.jsx(De.Input,{ref:a,className:_("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",s),...n})]}));Fs.displayName=De.Input.displayName;const Ss=m.forwardRef(({className:s,...n},a)=>e.jsx(De.List,{ref:a,className:_("max-h-[300px] overflow-y-auto overflow-x-hidden",s),...n}));Ss.displayName=De.List.displayName;const Ms=m.forwardRef((s,n)=>e.jsx(De.Empty,{ref:n,className:"py-6 text-center text-sm",...s}));Ms.displayName=De.Empty.displayName;const Oe=m.forwardRef(({className:s,...n},a)=>e.jsx(De.Group,{ref:a,className:_("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",s),...n}));Oe.displayName=De.Group.displayName;const Gs=m.forwardRef(({className:s,...n},a)=>e.jsx(De.Separator,{ref:a,className:_("-mx-1 h-px bg-border",s),...n}));Gs.displayName=De.Separator.displayName;const ke=m.forwardRef(({className:s,...n},a)=>e.jsx(De.Item,{ref:a,className:_("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none aria-selected:bg-accent aria-selected:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",s),...n}));ke.displayName=De.Item.displayName;function Vc(){const s=[];for(const n of pr)if(n.href&&s.push(n),n.sub)for(const a of n.sub)s.push({...a,parent:n.title});return s}function Ie(){const[s,n]=m.useState(!1),a=ms(),l=Vc(),{t:r}=I("search"),{t:c}=I("nav");m.useEffect(()=>{const u=x=>{x.key==="k"&&(x.metaKey||x.ctrlKey)&&(x.preventDefault(),n(o=>!o))};return document.addEventListener("keydown",u),()=>document.removeEventListener("keydown",u)},[]);const i=m.useCallback(u=>{n(!1),a(u)},[a]);return e.jsxs(e.Fragment,{children:[e.jsxs(J,{variant:"outline",className:"relative h-9 w-9 p-0 xl:h-10 xl:w-60 xl:justify-start xl:px-3 xl:py-2",onClick:()=>n(!0),children:[e.jsx(gn,{className:"h-4 w-4 xl:mr-2"}),e.jsx("span",{className:"hidden xl:inline-flex",children:r("placeholder")}),e.jsx("span",{className:"sr-only",children:r("shortcut.label")}),e.jsx("kbd",{className:"pointer-events-none absolute right-1.5 top-2 hidden h-6 select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono text-[10px] font-medium opacity-100 xl:flex",children:r("shortcut.key")})]}),e.jsxs(Rc,{open:s,onOpenChange:n,children:[e.jsx(Fs,{placeholder:r("placeholder")}),e.jsxs(Ss,{children:[e.jsx(Ms,{children:r("noResults")}),e.jsx(Oe,{heading:r("title"),children:l.map(u=>e.jsxs(ke,{value:`${u.parent?u.parent+" ":""}${u.title}`,onSelect:()=>i(u.href),children:[e.jsx("div",{className:"mr-2",children:u.icon}),e.jsx("span",{children:c(u.title)}),u.parent&&e.jsx("span",{className:"ml-2 text-xs text-muted-foreground",children:c(u.parent)})]},u.href))})]})]})]})}function Ee(){const{theme:s,setTheme:n}=Li();return m.useEffect(()=>{const a=s==="dark"?"#020817":"#fff",l=document.querySelector("meta[name='theme-color']");l&&l.setAttribute("content",a)},[s]),e.jsxs(e.Fragment,{children:[e.jsx(V,{size:"icon",variant:"ghost",className:"rounded-full",onClick:()=>n(s==="light"?"dark":"light"),children:s==="light"?e.jsx(ho,{size:20}):e.jsx(fo,{size:20})}),e.jsx(dr,{})]})}const gr=m.forwardRef(({className:s,...n},a)=>e.jsx(jn,{ref:a,className:_("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",s),...n}));gr.displayName=jn.displayName;const jr=m.forwardRef(({className:s,...n},a)=>e.jsx(vn,{ref:a,className:_("aspect-square h-full w-full",s),...n}));jr.displayName=vn.displayName;const vr=m.forwardRef(({className:s,...n},a)=>e.jsx(bn,{ref:a,className:_("flex h-full w-full items-center justify-center rounded-full bg-muted",s),...n}));vr.displayName=bn.displayName;function Re(){const s=ms(),n=Qa(),a=po(rc),{t:l}=I(["common"]),r=()=>{tr(),n(nc()),s("/sign-in")},c=a?.email?.split("@")[0]||l("common:user"),i=c.substring(0,2).toUpperCase();return e.jsxs(_s,{children:[e.jsx(ws,{asChild:!0,children:e.jsx(V,{variant:"ghost",className:"relative h-8 w-8 rounded-full",children:e.jsxs(gr,{className:"h-8 w-8",children:[e.jsx(jr,{src:a?.avatar_url,alt:c}),e.jsx(vr,{children:i})]})})}),e.jsxs(ds,{className:"w-56",align:"end",forceMount:!0,children:[e.jsx(xa,{className:"font-normal",children:e.jsxs("div",{className:"flex flex-col space-y-1",children:[e.jsx("p",{className:"text-sm font-medium leading-none",children:c}),e.jsx("p",{className:"text-xs leading-none text-muted-foreground",children:a?.email||l("common:defaultEmail")})]})}),e.jsx(rt,{}),e.jsx(je,{asChild:!0,children:e.jsxs(Vs,{to:"/config/system",children:[l("common:settings"),e.jsx(ea,{children:"⌘S"})]})}),e.jsx(rt,{}),e.jsxs(je,{onClick:r,children:[l("common:logout"),e.jsx(ea,{children:"⇧⌘Q"})]})]})]})}const A=window?.settings?.secure_path,Ic=s=>F.get(A+"/stat/getOrder",{params:s}),Fc=()=>F.get(A+"/stat/getStats"),La=s=>F.get(A+"/stat/getTrafficRank",{params:s}),Mc=()=>F.get(A+"/theme/getThemes"),Oc=s=>F.post(A+"/theme/getThemeConfig",{name:s}),zc=(s,n)=>F.post(A+"/theme/saveThemeConfig",{name:s,config:n}),Lc=s=>{const n=new FormData;return n.append("file",s),F.post(A+"/theme/upload",n,{headers:{"Content-Type":"multipart/form-data"}})},Ac=s=>F.post(A+"/theme/delete",{name:s}),$c=s=>F.post(A+"/config/save",s),br=()=>F.get(A+"/server/manage/getNodes"),qc=s=>F.post(A+"/server/manage/save",s),Kc=s=>F.post(A+"/server/manage/drop",s),Hc=s=>F.post(A+"/server/manage/copy",s),Uc=s=>F.post(A+"/server/manage/update",s),Bc=s=>F.post(A+"/server/manage/sort",s),Mt=()=>F.get(A+"/server/group/fetch"),Gc=s=>F.post(A+"/server/group/save",s),Wc=s=>F.post(A+"/server/group/drop",s),yr=()=>F.get(A+"/server/route/fetch"),Yc=s=>F.post(A+"/server/route/save",s),Jc=s=>F.post(A+"/server/route/drop",s),Qc=()=>F.get(A+"/payment/fetch"),Zc=()=>F.get(A+"/payment/getPaymentMethods"),Xc=s=>F.post(A+"/payment/getPaymentForm",s),ed=s=>F.post(A+"/payment/save",s),sd=s=>F.post(A+"/payment/drop",s),td=s=>F.post(A+"/payment/show",s),ad=s=>F.post(A+"/payment/sort",s),nd=s=>F.post(A+"/notice/save",s),rd=s=>F.post(A+"/notice/drop",s),ld=s=>F.post(A+"/notice/show",s),od=()=>F.get(A+"/knowledge/fetch"),id=s=>F.get(A+"/knowledge/fetch?id="+s),cd=s=>F.post(A+"/knowledge/save",s),dd=s=>F.post(A+"/knowledge/drop",s),md=s=>F.post(A+"/knowledge/show",s),ud=s=>F.post(A+"/knowledge/sort",s),Os=()=>F.get(A+"/plan/fetch"),xd=s=>F.post(A+"/plan/save",s),qt=s=>F.post(A+"/plan/update",s),hd=s=>F.post(A+"/plan/drop",s),fd=s=>F.post(A+"/plan/sort",{ids:s}),pd=async s=>F.post(A+"/order/fetch",s),gd=s=>F.post(A+"/order/detail",s),jd=s=>F.post(A+"/order/paid",s),vd=s=>F.post(A+"/order/cancel",s),Aa=s=>F.post(A+"/order/update",s),bd=s=>F.post(A+"/order/assign",s),yd=s=>F.post(A+"/coupon/fetch",s),Nd=s=>F.post(A+"/coupon/generate",s),_d=s=>F.post(A+"/coupon/drop",s),wd=s=>F.post(A+"/coupon/update",s),Cd=s=>F.post(A+"/user/fetch",s),Sd=s=>F.post(A+"/user/update",s),kd=s=>F.post(A+"/user/resetSecret",s),Pd=s=>F.post(A+"/user/generate",s),Td=s=>F.post(A+"/stat/getStatUser",s),Dd=s=>F.post(A+"/ticket/fetch",s),Ed=s=>F.get(A+"/ticket/fetch?id= "+s),Rd=s=>F.post(A+"/ticket/reply",s),Nr=s=>F.post(A+"/ticket/close",{id:s}),hs=(s="")=>F.get(A+"/config/fetch?key="+s),fs=s=>F.post(A+"/config/save",s),Vd=()=>F.get(A+"/config/getEmailTemplate"),Id=()=>F.post(A+"/config/testSendMail"),Fd=()=>F.post(A+"/config/setTelegramWebhook"),ha=go,Ot=m.forwardRef(({className:s,...n},a)=>e.jsx(yn,{ref:a,className:_("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",s),...n}));Ot.displayName=yn.displayName;const Ns=m.forwardRef(({className:s,...n},a)=>e.jsx(Nn,{ref:a,className:_("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow",s),...n}));Ns.displayName=Nn.displayName;const bt=m.forwardRef(({className:s,...n},a)=>e.jsx(_n,{ref:a,className:_("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",s),...n}));bt.displayName=_n.displayName;const G=jo,js=So,W=vo,U=m.forwardRef(({className:s,children:n,...a},l)=>e.jsxs(wn,{ref:l,className:_("flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",s),...a,children:[n,e.jsx(bo,{asChild:!0,children:e.jsx(ca,{className:"h-4 w-4 opacity-50"})})]}));U.displayName=wn.displayName;const _r=m.forwardRef(({className:s,...n},a)=>e.jsx(Cn,{ref:a,className:_("flex cursor-default items-center justify-center py-1",s),...n,children:e.jsx(yo,{className:"h-4 w-4"})}));_r.displayName=Cn.displayName;const wr=m.forwardRef(({className:s,...n},a)=>e.jsx(Sn,{ref:a,className:_("flex cursor-default items-center justify-center py-1",s),...n,children:e.jsx(ca,{className:"h-4 w-4"})}));wr.displayName=Sn.displayName;const B=m.forwardRef(({className:s,children:n,position:a="popper",...l},r)=>e.jsx(No,{children:e.jsxs(kn,{ref:r,className:_("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",s),position:a,...l,children:[e.jsx(_r,{}),e.jsx(_o,{className:_("p-1",a==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:n}),e.jsx(wr,{})]})}));B.displayName=kn.displayName;const Md=m.forwardRef(({className:s,...n},a)=>e.jsx(Pn,{ref:a,className:_("px-2 py-1.5 text-sm font-semibold",s),...n}));Md.displayName=Pn.displayName;const L=m.forwardRef(({className:s,children:n,...a},l)=>e.jsxs(Tn,{ref:l,className:_("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",s),...a,children:[e.jsx("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(wo,{children:e.jsx(Rs,{className:"h-4 w-4"})})}),e.jsx(Co,{children:n})]}));L.displayName=Tn.displayName;const Od=m.forwardRef(({className:s,...n},a)=>e.jsx(Dn,{ref:a,className:_("-mx-1 my-1 h-px bg-muted",s),...n}));Od.displayName=Dn.displayName;function zs({className:s,classNames:n,showOutsideDays:a=!0,...l}){return e.jsx(ko,{showOutsideDays:a,className:_("p-3",s),classNames:{months:"flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0",month:"space-y-4",caption:"flex justify-center pt-1 relative items-center",caption_label:"text-sm font-medium",nav:"space-x-1 flex items-center",nav_button:_(Us({variant:"outline"}),"h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100"),nav_button_previous:"absolute left-1",nav_button_next:"absolute right-1",table:"w-full border-collapse space-y-1",head_row:"flex",head_cell:"text-muted-foreground rounded-md w-8 font-normal text-[0.8rem]",row:"flex w-full mt-2",cell:_("relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-accent [&:has([aria-selected].day-outside)]:bg-accent/50 [&:has([aria-selected].day-range-end)]:rounded-r-md",l.mode==="range"?"[&:has(>.day-range-end)]:rounded-r-md [&:has(>.day-range-start)]:rounded-l-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md":"[&:has([aria-selected])]:rounded-md"),day:_(Us({variant:"ghost"}),"h-8 w-8 p-0 font-normal aria-selected:opacity-100"),day_range_start:"day-range-start",day_range_end:"day-range-end",day_selected:"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground",day_today:"bg-accent text-accent-foreground",day_outside:"day-outside text-muted-foreground aria-selected:bg-accent/50 aria-selected:text-muted-foreground",day_disabled:"text-muted-foreground opacity-50",day_range_middle:"aria-selected:bg-accent aria-selected:text-accent-foreground",day_hidden:"invisible",...n},components:{IconLeft:({className:r,...c})=>e.jsx(En,{className:_("h-4 w-4",r),...c}),IconRight:({className:r,...c})=>e.jsx(oa,{className:_("h-4 w-4",r),...c})},...l})}zs.displayName="Calendar";const rs=To,ls=Do,Xe=m.forwardRef(({className:s,align:n="center",sideOffset:a=4,...l},r)=>e.jsx(Po,{children:e.jsx(Rn,{ref:r,align:n,sideOffset:a,className:_("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",s),...l})}));Xe.displayName=Rn.displayName;const vs={income:{main:"hsl(var(--primary))",gradient:{start:"hsl(var(--primary))",end:"transparent"}},commission:{main:"hsl(var(--secondary))",gradient:{start:"hsl(var(--secondary))",end:"transparent"}}},et=s=>(s/100).toFixed(2),zd=({active:s,payload:n,label:a})=>{const{t:l}=I();return s&&n&&n.length?e.jsxs("div",{className:"rounded-lg border bg-background p-3 shadow-sm",children:[e.jsx("div",{className:"mb-2 text-sm font-medium",children:a}),n.map((r,c)=>e.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[e.jsx("div",{className:"h-2 w-2 rounded-full",style:{backgroundColor:r.color}}),e.jsxs("span",{className:"text-muted-foreground",children:[l(r.name),":"]}),e.jsx("span",{className:"font-medium",children:r.name.includes(l("dashboard:overview.amount"))?`¥${et(r.value)}`:l("dashboard:overview.transactions",{count:r.value})})]},c))]}):null},Ld=[{value:"7d",label:"dashboard:overview.last7Days"},{value:"30d",label:"dashboard:overview.last30Days"},{value:"90d",label:"dashboard:overview.last90Days"},{value:"180d",label:"dashboard:overview.last180Days"},{value:"365d",label:"dashboard:overview.lastYear"},{value:"custom",label:"dashboard:overview.customRange"}],Ad=(s,n)=>{const a=new Date;if(s==="custom"&&n)return{startDate:n.from,endDate:n.to};let l;switch(s){case"7d":l=We(a,7);break;case"30d":l=We(a,30);break;case"90d":l=We(a,90);break;case"180d":l=We(a,180);break;case"365d":l=We(a,365);break;default:l=We(a,30)}return{startDate:l,endDate:a}};function $d(){const[s,n]=m.useState("amount"),[a,l]=m.useState("30d"),[r,c]=m.useState({from:We(new Date,7),to:new Date}),{t:i}=I(),{startDate:u,endDate:x}=Ad(a,r),{data:o}=se({queryKey:["orderStat",{start_date:Ge(u,"yyyy-MM-dd"),end_date:Ge(x,"yyyy-MM-dd")}],queryFn:async()=>{const{data:d}=await Ic({start_date:Ge(u,"yyyy-MM-dd"),end_date:Ge(x,"yyyy-MM-dd")});return d},refetchInterval:3e4});return e.jsxs(Me,{children:[e.jsx($e,{children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx(cs,{children:i("dashboard:overview.title")}),e.jsxs(Hs,{children:[o?.summary.start_date," ",i("dashboard:overview.to")," ",o?.summary.end_date]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("div",{className:"flex min-w-0 items-center gap-1",children:[e.jsxs(G,{value:a,onValueChange:d=>l(d),children:[e.jsx(U,{className:"w-[120px]",children:e.jsx(W,{placeholder:i("dashboard:overview.selectTimeRange")})}),e.jsx(B,{children:Ld.map(d=>e.jsx(L,{value:d.value,children:i(d.label)},d.value))})]}),a==="custom"&&e.jsxs(rs,{children:[e.jsx(ls,{asChild:!0,children:e.jsxs(J,{variant:"outline",className:_("min-w-0 justify-start text-left font-normal",!r&&"text-muted-foreground"),children:[e.jsx(ct,{className:"mr-2 h-4 w-4 flex-shrink-0"}),e.jsx("span",{className:"truncate",children:r?.from?r.to?e.jsxs(e.Fragment,{children:[Ge(r.from,"yyyy-MM-dd")," -"," ",Ge(r.to,"yyyy-MM-dd")]}):Ge(r.from,"yyyy-MM-dd"):i("dashboard:overview.selectDate")})]})}),e.jsx(Xe,{className:"w-auto p-0",align:"end",children:e.jsx(zs,{mode:"range",defaultMonth:r?.from,selected:{from:r?.from,to:r?.to},onSelect:d=>{d?.from&&d?.to&&c({from:d.from,to:d.to})},numberOfMonths:2})})]})]}),e.jsx(ha,{value:s,onValueChange:d=>n(d),children:e.jsxs(Ot,{children:[e.jsx(Ns,{value:"amount",children:i("dashboard:overview.amount")}),e.jsx(Ns,{value:"count",children:i("dashboard:overview.count")})]})})]})]})}),e.jsxs(qe,{children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx("div",{className:"text-sm text-muted-foreground",children:i("dashboard:overview.totalIncome")}),e.jsxs("div",{className:"text-2xl font-bold",children:["¥",et(o?.summary?.paid_total||0)]}),e.jsx("div",{className:"text-xs text-muted-foreground",children:i("dashboard:overview.totalTransactions",{count:o?.summary?.paid_count||0})}),e.jsxs("div",{className:"text-xs text-muted-foreground",children:[i("dashboard:overview.avgOrderAmount")," ¥",et(o?.summary?.avg_paid_amount||0)]})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("div",{className:"text-sm text-muted-foreground",children:i("dashboard:overview.totalCommission")}),e.jsxs("div",{className:"text-2xl font-bold",children:["¥",et(o?.summary?.commission_total||0)]}),e.jsx("div",{className:"text-xs text-muted-foreground",children:i("dashboard:overview.totalTransactions",{count:o?.summary?.commission_count||0})}),e.jsxs("div",{className:"text-xs text-muted-foreground",children:[i("dashboard:overview.commissionRate")," ",o?.summary?.commission_rate.toFixed(2)||0,"%"]})]})]}),e.jsx("div",{className:"h-[400px] w-full",children:e.jsx(Eo,{width:"100%",height:"100%",children:e.jsxs(Ro,{data:o?.list||[],margin:{top:20,right:20,left:0,bottom:0},children:[e.jsxs("defs",{children:[e.jsxs("linearGradient",{id:"incomeGradient",x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:vs.income.gradient.start,stopOpacity:.2}),e.jsx("stop",{offset:"100%",stopColor:vs.income.gradient.end,stopOpacity:.1})]}),e.jsxs("linearGradient",{id:"commissionGradient",x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:vs.commission.gradient.start,stopOpacity:.2}),e.jsx("stop",{offset:"100%",stopColor:vs.commission.gradient.end,stopOpacity:.1})]})]}),e.jsx(Vo,{dataKey:"date",axisLine:!1,tickLine:!1,tick:{fill:"hsl(var(--muted-foreground))",fontSize:12},tickFormatter:d=>Ge(new Date(d),"MM-dd",{locale:Oo})}),e.jsx(Io,{axisLine:!1,tickLine:!1,tick:{fill:"hsl(var(--muted-foreground))",fontSize:12},tickFormatter:d=>s==="amount"?`¥${et(d)}`:i("dashboard:overview.transactions",{count:d})}),e.jsx(Fo,{strokeDasharray:"3 3",vertical:!1,stroke:"hsl(var(--border))",opacity:.3}),e.jsx(Mo,{content:e.jsx(zd,{})}),s==="amount"?e.jsxs(e.Fragment,{children:[e.jsx(Da,{type:"monotone",dataKey:"paid_total",name:i("dashboard:overview.orderAmount"),stroke:vs.income.main,fill:"url(#incomeGradient)",strokeWidth:2}),e.jsx(Da,{type:"monotone",dataKey:"commission_total",name:i("dashboard:overview.commissionAmount"),stroke:vs.commission.main,fill:"url(#commissionGradient)",strokeWidth:2})]}):e.jsxs(e.Fragment,{children:[e.jsx(Ea,{dataKey:"paid_count",name:i("dashboard:overview.orderCount"),fill:vs.income.main,radius:[4,4,0,0],maxBarSize:40}),e.jsx(Ea,{dataKey:"commission_count",name:i("dashboard:overview.commissionCount"),fill:vs.commission.main,radius:[4,4,0,0],maxBarSize:40})]})]})})})]})]})}function le({className:s,...n}){return e.jsx("div",{className:_("animate-pulse rounded-md bg-primary/10",s),...n})}function qd(){return e.jsxs(Me,{children:[e.jsxs($e,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[e.jsx(le,{className:"h-4 w-[120px]"}),e.jsx(le,{className:"h-4 w-4"})]}),e.jsxs(qe,{children:[e.jsx(le,{className:"h-8 w-[140px] mb-2"}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(le,{className:"h-4 w-4"}),e.jsx(le,{className:"h-4 w-[100px]"})]})]})]})}function Kd(){return e.jsx("div",{className:"grid gap-4 md:grid-cols-2 lg:grid-cols-4",children:Array.from({length:8}).map((s,n)=>e.jsx(qd,{},n))})}var Z=(s=>(s[s.PENDING=0]="PENDING",s[s.PROCESSING=1]="PROCESSING",s[s.CANCELLED=2]="CANCELLED",s[s.COMPLETED=3]="COMPLETED",s[s.DISCOUNTED=4]="DISCOUNTED",s))(Z||{});const Zs={0:"待支付",1:"开通中",2:"已取消",3:"已完成",4:"已折抵"},Xs={0:"yellow-500",1:"blue-500",2:"red-500",3:"green-500",4:"green-500"};var Ye=(s=>(s[s.NEW=1]="NEW",s[s.RENEWAL=2]="RENEWAL",s[s.UPGRADE=3]="UPGRADE",s[s.RESET_FLOW=4]="RESET_FLOW",s))(Ye||{}),re=(s=>(s[s.PENDING=0]="PENDING",s[s.PROCESSING=1]="PROCESSING",s[s.VALID=2]="VALID",s[s.INVALID=3]="INVALID",s))(re||{});const xt={0:"待确认",1:"发放中",2:"有效",3:"无效"},ht={0:"yellow-500",1:"blue-500",2:"green-500",3:"red-500"};var xe=(s=>(s.MONTH_PRICE="month_price",s.QUARTER_PRICE="quarter_price",s.HALF_YEAR_PRICE="half_year_price",s.YEAR_PRICE="year_price",s.TWO_YEAR_PRICE="two_year_price",s.THREE_YEAR_PRICE="three_year_price",s.ONETIME_PRICE="onetime_price",s.RESET_PRICE="reset_price",s))(xe||{});const Hd={month_price:"月付",quarter_price:"季付",half_year_price:"半年付",year_price:"年付",two_year_price:"两年付",three_year_price:"三年付",onetime_price:"一次性",reset_price:"流量重置包"};var Ne=(s=>(s.Shadowsocks="shadowsocks",s.Vmess="vmess",s.Trojan="trojan",s.Hysteria="hysteria",s.Vless="vless",s))(Ne||{});const Ts=[{type:"shadowsocks",label:"Shadowsocks"},{type:"vmess",label:"VMess"},{type:"trojan",label:"Trojan"},{type:"hysteria",label:"Hysteria"},{type:"vless",label:"VLess"}],is={shadowsocks:"#489851",vmess:"#CB3180",trojan:"#EBB749",hysteria:"#5684e6",vless:"#1a1a1a"};var Fe=(s=>(s[s.AMOUNT=1]="AMOUNT",s[s.PERCENTAGE=2]="PERCENTAGE",s))(Fe||{});const Ud={1:"按金额优惠",2:"按比例优惠"};var at=(s=>(s[s.OPENING=0]="OPENING",s[s.CLOSED=1]="CLOSED",s))(at||{}),ts=(s=>(s[s.LOW=0]="LOW",s[s.MIDDLE=1]="MIDDLE",s[s.HIGH=2]="HIGH",s))(ts||{});function bs({title:s,value:n,icon:a,trend:l,description:r,onClick:c,highlight:i,className:u}){return e.jsxs(Me,{className:_("transition-colors",c&&"cursor-pointer hover:bg-muted/50",i&&"border-primary/50",u),onClick:c,children:[e.jsxs($e,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[e.jsx(cs,{className:"text-sm font-medium",children:s}),a]}),e.jsxs(qe,{children:[e.jsx("div",{className:"text-2xl font-bold",children:n}),l?e.jsxs("div",{className:"flex items-center pt-1",children:[e.jsx(Ko,{className:_("h-4 w-4",l.isPositive?"text-emerald-500":"text-red-500")}),e.jsxs("span",{className:_("ml-1 text-xs",l.isPositive?"text-emerald-500":"text-red-500"),children:[l.isPositive?"+":"-",Math.abs(l.value),"%"]}),e.jsx("span",{className:"ml-1 text-xs text-muted-foreground",children:l.label})]}):e.jsx("p",{className:"text-xs text-muted-foreground",children:r})]})]})}function Bd({className:s}){const n=ms(),{t:a}=I(),{data:l,isLoading:r}=se({queryKey:["dashboardStats"],queryFn:async()=>(await Fc()).data,refetchInterval:1e3*60*5});if(r||!l)return e.jsx(Kd,{});const c=()=>{const i=new URLSearchParams;i.set("commission_status",re.PENDING.toString()),i.set("status",Z.COMPLETED.toString()),i.set("commission_balance","gt:0"),n(`/finance/order?${i.toString()}`)};return e.jsxs("div",{className:_("grid gap-4 md:grid-cols-2 lg:grid-cols-4",s),children:[e.jsx(bs,{title:a("dashboard:stats.todayIncome"),value:Ps(l.todayIncome),icon:e.jsx(zo,{className:"h-4 w-4 text-emerald-500"}),trend:{value:l.dayIncomeGrowth,label:a("dashboard:stats.vsYesterday"),isPositive:l.dayIncomeGrowth>0}}),e.jsx(bs,{title:a("dashboard:stats.monthlyIncome"),value:Ps(l.currentMonthIncome),icon:e.jsx(Lo,{className:"h-4 w-4 text-blue-500"}),trend:{value:l.monthIncomeGrowth,label:a("dashboard:stats.vsLastMonth"),isPositive:l.monthIncomeGrowth>0}}),e.jsx(bs,{title:a("dashboard:stats.pendingTickets"),value:l.ticketPendingTotal,icon:e.jsx(Ao,{className:_("h-4 w-4",l.ticketPendingTotal>0?"text-orange-500":"text-muted-foreground")}),description:l.ticketPendingTotal>0?a("dashboard:stats.hasPendingTickets"):a("dashboard:stats.noPendingTickets"),onClick:()=>n("/user/ticket"),highlight:l.ticketPendingTotal>0}),e.jsx(bs,{title:a("dashboard:stats.pendingCommission"),value:l.commissionPendingTotal,icon:e.jsx($o,{className:_("h-4 w-4",l.commissionPendingTotal>0?"text-blue-500":"text-muted-foreground")}),description:l.commissionPendingTotal>0?a("dashboard:stats.hasPendingCommission"):a("dashboard:stats.noPendingCommission"),onClick:c,highlight:l.commissionPendingTotal>0}),e.jsx(bs,{title:a("dashboard:stats.monthlyNewUsers"),value:l.currentMonthNewUsers,icon:e.jsx(Wt,{className:"h-4 w-4 text-blue-500"}),trend:{value:l.userGrowth,label:a("dashboard:stats.vsLastMonth"),isPositive:l.userGrowth>0}}),e.jsx(bs,{title:a("dashboard:stats.totalUsers"),value:l.totalUsers,icon:e.jsx(Wt,{className:"h-4 w-4 text-muted-foreground"}),description:a("dashboard:stats.activeUsers",{count:l.activeUsers})}),e.jsx(bs,{title:a("dashboard:stats.monthlyUpload"),value:ss(l.monthTraffic.upload),icon:e.jsx(Yt,{className:"h-4 w-4 text-emerald-500"}),description:a("dashboard:stats.todayTraffic",{value:ss(l.todayTraffic.upload)})}),e.jsx(bs,{title:a("dashboard:stats.monthlyDownload"),value:ss(l.monthTraffic.download),icon:e.jsx(qo,{className:"h-4 w-4 text-blue-500"}),description:a("dashboard:stats.todayTraffic",{value:ss(l.todayTraffic.download)})})]})}const lt=m.forwardRef(({className:s,children:n,...a},l)=>e.jsxs(Vn,{ref:l,className:_("relative overflow-hidden",s),...a,children:[e.jsx(Ho,{className:"h-full w-full rounded-[inherit]",children:n}),e.jsx(kt,{}),e.jsx(Uo,{})]}));lt.displayName=Vn.displayName;const kt=m.forwardRef(({className:s,orientation:n="vertical",...a},l)=>e.jsx(In,{ref:l,orientation:n,className:_("flex touch-none select-none transition-colors",n==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-[1px]",n==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",s),...a,children:e.jsx(Bo,{className:"relative flex-1 rounded-full bg-border"})}));kt.displayName=In.displayName;const sa={today:{getValue:()=>{const s=Wo();return{start:s,end:Yo(s,1)}}},last7days:{getValue:()=>{const s=new Date;return{start:We(s,7),end:s}}},last30days:{getValue:()=>{const s=new Date;return{start:We(s,30),end:s}}},custom:{getValue:()=>null}};function $a({selectedRange:s,customDateRange:n,onRangeChange:a,onCustomRangeChange:l}){const{t:r}=I(),c={today:r("dashboard:trafficRank.today"),last7days:r("dashboard:trafficRank.last7days"),last30days:r("dashboard:trafficRank.last30days"),custom:r("dashboard:trafficRank.customRange")};return e.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-1",children:[e.jsxs(G,{value:s,onValueChange:a,children:[e.jsx(U,{className:"w-[120px]",children:e.jsx(W,{placeholder:r("dashboard:trafficRank.selectTimeRange")})}),e.jsx(B,{position:"popper",className:"z-50",children:Object.entries(sa).map(([i])=>e.jsx(L,{value:i,children:c[i]},i))})]}),s==="custom"&&e.jsxs(rs,{children:[e.jsx(ls,{asChild:!0,children:e.jsxs(J,{variant:"outline",className:_("min-w-0 justify-start text-left font-normal",!n&&"text-muted-foreground"),children:[e.jsx(ct,{className:"mr-2 h-4 w-4 flex-shrink-0"}),e.jsx("span",{className:"truncate",children:n?.from?n.to?e.jsxs(e.Fragment,{children:[Ge(n.from,"yyyy-MM-dd")," -"," ",Ge(n.to,"yyyy-MM-dd")]}):Ge(n.from,"yyyy-MM-dd"):e.jsx("span",{children:r("dashboard:trafficRank.selectDateRange")})})]})}),e.jsx(Xe,{className:"w-auto p-0",align:"end",children:e.jsx(zs,{mode:"range",defaultMonth:n?.from,selected:{from:n?.from,to:n?.to},onSelect:i=>{i?.from&&i?.to&&l({from:i.from,to:i.to})},numberOfMonths:2})})]})]})}const As=s=>`${(s/1024/1024/1024).toFixed(2)} GB`;function Gd({className:s}){const{t:n}=I(),[a,l]=m.useState("today"),[r,c]=m.useState({from:We(new Date,7),to:new Date}),[i,u]=m.useState("today"),[x,o]=m.useState({from:We(new Date,7),to:new Date}),d=m.useMemo(()=>a==="custom"?{start:r.from,end:r.to}:sa[a].getValue(),[a,r]),p=m.useMemo(()=>i==="custom"?{start:x.from,end:x.to}:sa[i].getValue(),[i,x]),{data:T}=se({queryKey:["nodeTrafficRank",d.start,d.end],queryFn:()=>La({type:"node",start_time:ve.round(d.start.getTime()/1e3),end_time:ve.round(d.end.getTime()/1e3)}),refetchInterval:3e4}),{data:R}=se({queryKey:["userTrafficRank",p.start,p.end],queryFn:()=>La({type:"user",start_time:ve.round(p.start.getTime()/1e3),end_time:ve.round(p.end.getTime()/1e3)}),refetchInterval:3e4});return e.jsxs("div",{className:_("grid gap-4 md:grid-cols-2",s),children:[e.jsxs(Me,{children:[e.jsx($e,{className:"flex-none pb-2",children:e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[e.jsxs(cs,{className:"flex items-center text-base font-medium",children:[e.jsx(Go,{className:"mr-2 h-4 w-4"}),n("dashboard:trafficRank.nodeTrafficRank")]}),e.jsxs("div",{className:"flex min-w-0 items-center gap-1",children:[e.jsx($a,{selectedRange:a,customDateRange:r,onRangeChange:l,onCustomRangeChange:c}),e.jsx(Ra,{className:"h-4 w-4 flex-shrink-0 text-muted-foreground"})]})]})}),e.jsx(qe,{className:"flex-1",children:T?.data?e.jsxs(lt,{className:"h-[400px] pr-4",children:[e.jsx("div",{className:"space-y-3",children:T.data.map(f=>e.jsx(ce,{delayDuration:200,children:e.jsxs(oe,{children:[e.jsx(ie,{asChild:!0,children:e.jsx("div",{className:"flex cursor-pointer items-center justify-between space-x-2 rounded-lg bg-muted/50 p-2 transition-colors hover:bg-muted/70",children:e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"truncate text-sm font-medium",children:f.name}),e.jsxs("span",{className:_("ml-2 flex items-center text-xs font-medium",f.change>=0?"text-green-600":"text-red-600"),children:[f.change>=0?e.jsx(Jt,{className:"mr-1 h-3 w-3"}):e.jsx(Qt,{className:"mr-1 h-3 w-3"}),Math.abs(f.change),"%"]})]}),e.jsxs("div",{className:"mt-1 flex items-center gap-2",children:[e.jsx("div",{className:"h-2 flex-1 overflow-hidden rounded-full bg-muted",children:e.jsx("div",{className:"h-full bg-primary transition-all",style:{width:`${f.value/T.data[0].value*100}%`}})}),e.jsx("span",{className:"text-xs text-muted-foreground",children:As(f.value)})]})]})})}),e.jsx(te,{side:"right",className:"space-y-2 p-4",children:e.jsxs("div",{className:"grid grid-cols-2 gap-x-4 gap-y-2 text-sm",children:[e.jsxs("span",{className:"text-muted-foreground",children:[n("dashboard:trafficRank.currentTraffic"),":"]}),e.jsx("span",{className:"font-medium",children:As(f.value)}),e.jsxs("span",{className:"text-muted-foreground",children:[n("dashboard:trafficRank.previousTraffic"),":"]}),e.jsx("span",{className:"font-medium",children:As(f.previousValue)}),e.jsxs("span",{className:"text-muted-foreground",children:[n("dashboard:trafficRank.changeRate"),":"]}),e.jsxs("span",{className:_("font-medium",f.change>=0?"text-green-600":"text-red-600"),children:[f.change>=0?"+":"",f.change,"%"]})]})})]})},f.id))}),e.jsx(kt,{orientation:"vertical"})]}):e.jsx("div",{className:"flex h-[400px] items-center justify-center",children:e.jsx("div",{className:"animate-pulse",children:n("common:loading")})})})]}),e.jsxs(Me,{children:[e.jsx($e,{className:"flex-none pb-2",children:e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[e.jsxs(cs,{className:"flex items-center text-base font-medium",children:[e.jsx(Wt,{className:"mr-2 h-4 w-4"}),n("dashboard:trafficRank.userTrafficRank")]}),e.jsxs("div",{className:"flex min-w-0 items-center gap-1",children:[e.jsx($a,{selectedRange:i,customDateRange:x,onRangeChange:u,onCustomRangeChange:o}),e.jsx(Ra,{className:"h-4 w-4 flex-shrink-0 text-muted-foreground"})]})]})}),e.jsx(qe,{className:"flex-1",children:R?.data?e.jsxs(lt,{className:"h-[400px] pr-4",children:[e.jsx("div",{className:"space-y-3",children:R.data.map(f=>e.jsx(ce,{children:e.jsxs(oe,{children:[e.jsx(ie,{asChild:!0,children:e.jsx("div",{className:"flex cursor-pointer items-center justify-between space-x-2 rounded-lg bg-muted/50 p-2 transition-colors hover:bg-muted/70",children:e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"truncate text-sm font-medium",children:f.name}),e.jsxs("span",{className:_("ml-2 flex items-center text-xs font-medium",f.change>=0?"text-green-600":"text-red-600"),children:[f.change>=0?e.jsx(Jt,{className:"mr-1 h-3 w-3"}):e.jsx(Qt,{className:"mr-1 h-3 w-3"}),Math.abs(f.change),"%"]})]}),e.jsxs("div",{className:"mt-1 flex items-center gap-2",children:[e.jsx("div",{className:"h-2 flex-1 overflow-hidden rounded-full bg-muted",children:e.jsx("div",{className:"h-full bg-primary transition-all",style:{width:`${f.value/R.data[0].value*100}%`}})}),e.jsx("span",{className:"text-xs text-muted-foreground",children:As(f.value)})]})]})})}),e.jsx(te,{side:"right",className:"space-y-2 p-4",children:e.jsxs("div",{className:"grid grid-cols-2 gap-x-4 gap-y-2 text-sm",children:[e.jsxs("span",{className:"text-muted-foreground",children:[n("dashboard:trafficRank.currentTraffic"),":"]}),e.jsx("span",{className:"font-medium",children:As(f.value)}),e.jsxs("span",{className:"text-muted-foreground",children:[n("dashboard:trafficRank.previousTraffic"),":"]}),e.jsx("span",{className:"font-medium",children:As(f.previousValue)}),e.jsxs("span",{className:"text-muted-foreground",children:[n("dashboard:trafficRank.changeRate"),":"]}),e.jsxs("span",{className:_("font-medium",f.change>=0?"text-green-600":"text-red-600"),children:[f.change>=0?"+":"",f.change,"%"]})]})})]})},f.id))}),e.jsx(kt,{orientation:"vertical"})]}):e.jsx("div",{className:"flex h-[400px] items-center justify-center",children:e.jsx("div",{className:"animate-pulse",children:n("common:loading")})})})]})]})}const Wd=Es("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/10",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function K({className:s,variant:n,...a}){return e.jsx("div",{className:_(Wd({variant:n}),s),...a})}const _e=window?.settings?.secure_path,Cr=5*60*1e3,ta=new Map,Yd=s=>{const n=ta.get(s);return n?Date.now()-n.timestamp>Cr?(ta.delete(s),null):n.data:null},Jd=(s,n)=>{ta.set(s,{data:n,timestamp:Date.now()})},Qd=async(s,n=Cr)=>{const a=Yd(s);if(a)return a;const l=await F.get(s);return Jd(s,l),l},qa={getList:()=>Qd(`${_e}/notice/fetch`),save:s=>F.post(`${_e}/notice/save`,s),drop:s=>F.post(`${_e}/notice/drop`,{id:s}),updateStatus:s=>F.post(`${_e}/notice/show`,{id:s}),sort:s=>F.post(`${_e}/notice/sort`,{ids:s})},Ka={getSystemStatus:()=>F.get(`${_e}/system/getSystemStatus`),getQueueStats:()=>F.get(`${_e}/system/getQueueStats`),getQueueWorkload:()=>F.get(`${_e}/system/getQueueWorkload`),getQueueMasters:()=>F.get(`${_e}/system/getQueueMasters`),getSystemLog:s=>F.get(`${_e}/system/getSystemLog`,{params:s})},Ds={getPluginList:()=>F.get(`${_e}/plugin/getPlugins`),installPlugin:s=>F.post(`${_e}/plugin/install`,{code:s}),uninstallPlugin:s=>F.post(`${_e}/plugin/uninstall`,{code:s}),enablePlugin:s=>F.post(`${_e}/plugin/enable`,{code:s}),disablePlugin:s=>F.post(`${_e}/plugin/disable`,{code:s}),getPluginConfig:s=>F.get(`${_e}/plugin/config`,{params:{code:s}}),updatePluginConfig:(s,n)=>F.post(`${_e}/plugin/config`,{code:s,config:n})},yt=m.forwardRef(({className:s,value:n,...a},l)=>e.jsx(Fn,{ref:l,className:_("relative h-2 w-full overflow-hidden rounded-full bg-primary/20",s),...a,children:e.jsx(Jo,{className:"h-full w-full flex-1 bg-primary transition-all",style:{transform:`translateX(-${100-(n||0)}%)`}})}));yt.displayName=Fn.displayName;function Zd(){const{t:s}=I(),[n,a]=m.useState(null),[l,r]=m.useState(null),[c,i]=m.useState(!0),[u,x]=m.useState(!1),o=async()=>{try{x(!0);const[T,R]=await Promise.all([Ka.getSystemStatus(),Ka.getQueueStats()]);a(T.data),r(R.data)}catch(T){console.error("Error fetching system data:",T)}finally{i(!1),x(!1)}};m.useEffect(()=>{o();const T=setInterval(o,3e4);return()=>clearInterval(T)},[]);const d=()=>{o()};if(c)return e.jsx("div",{className:"flex items-center justify-center p-6",children:e.jsx(da,{className:"h-6 w-6 animate-spin"})});const p=T=>T?e.jsx(Mn,{className:"h-5 w-5 text-green-500"}):e.jsx(On,{className:"h-5 w-5 text-red-500"});return e.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[e.jsxs(Me,{children:[e.jsxs($e,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs(cs,{className:"flex items-center gap-2",children:[e.jsx(Qo,{className:"h-5 w-5"}),s("dashboard:queue.title")]}),e.jsx(Hs,{children:s("dashboard:queue.status.description")})]}),e.jsx(J,{variant:"outline",size:"icon",onClick:d,disabled:u,children:e.jsx(Zo,{className:_("h-4 w-4",u&&"animate-spin")})})]}),e.jsx(qe,{children:e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"space-y-2 rounded-lg bg-muted/50 p-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[p(l?.status||!1),e.jsx("span",{className:"font-medium",children:s("dashboard:queue.status.running")})]}),e.jsx(K,{variant:l?.status?"secondary":"destructive",children:l?.status?s("dashboard:queue.status.normal"):s("dashboard:queue.status.abnormal")})]}),e.jsx("div",{className:"text-sm text-muted-foreground",children:s("dashboard:queue.status.waitTime",{seconds:l?.wait?.default||0})})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsx(ce,{children:e.jsxs(oe,{children:[e.jsx(ie,{asChild:!0,children:e.jsxs("div",{className:"space-y-2 rounded-lg bg-muted/50 p-3",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:s("dashboard:queue.details.recentJobs")}),e.jsx("p",{className:"text-2xl font-bold",children:l?.recentJobs||0}),e.jsx(yt,{value:(l?.recentJobs||0)/(l?.periods?.recentJobs||1)*100,className:"h-1"})]})}),e.jsx(te,{children:e.jsx("p",{children:s("dashboard:queue.details.statisticsPeriod",{hours:l?.periods?.recentJobs||0})})})]})}),e.jsx(ce,{children:e.jsxs(oe,{children:[e.jsx(ie,{asChild:!0,children:e.jsxs("div",{className:"space-y-2 rounded-lg bg-muted/50 p-3",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:s("dashboard:queue.details.jobsPerMinute")}),e.jsx("p",{className:"text-2xl font-bold",children:l?.jobsPerMinute||0}),e.jsx(yt,{value:(l?.jobsPerMinute||0)/(l?.queueWithMaxThroughput?.throughput||1)*100,className:"h-1"})]})}),e.jsx(te,{children:e.jsx("p",{children:s("dashboard:queue.details.maxThroughput",{value:l?.queueWithMaxThroughput?.throughput||0})})})]})})]})]})})]}),e.jsxs(Me,{children:[e.jsxs($e,{children:[e.jsxs(cs,{className:"flex items-center gap-2",children:[e.jsx(Xo,{className:"h-5 w-5"}),s("dashboard:queue.jobDetails")]}),e.jsx(Hs,{children:s("dashboard:queue.details.description")})]}),e.jsx(qe,{children:e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2 rounded-lg bg-muted/50 p-3",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:s("dashboard:queue.details.failedJobs7Days")}),e.jsx("p",{className:"text-2xl font-bold text-destructive",children:l?.failedJobs||0}),e.jsx("div",{className:"text-xs text-muted-foreground",children:s("dashboard:queue.details.retentionPeriod",{hours:l?.periods?.failedJobs||0})})]}),e.jsxs("div",{className:"space-y-2 rounded-lg bg-muted/50 p-3",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:s("dashboard:queue.details.longestRunningQueue")}),e.jsxs("p",{className:"text-2xl font-bold",children:[l?.queueWithMaxRuntime?.runtime||0,"s"]}),e.jsx("div",{className:"truncate text-xs text-muted-foreground",children:l?.queueWithMaxRuntime?.name||"N/A"})]})]}),e.jsxs("div",{className:"rounded-lg bg-muted/50 p-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-sm text-muted-foreground",children:s("dashboard:queue.details.activeProcesses")}),e.jsxs("span",{className:"font-medium",children:[l?.processes||0," /"," ",(l?.processes||0)+(l?.pausedMasters||0)]})]}),e.jsx(yt,{value:(l?.processes||0)/((l?.processes||0)+(l?.pausedMasters||0))*100,className:"mt-2 h-1"})]})]})})]})]})}function Xd(){const{t:s}=I();return e.jsxs(we,{children:[e.jsxs(Ce,{children:[e.jsx("div",{className:"flex items-center",children:e.jsx("h1",{className:"text-2xl font-bold tracking-tight md:text-3xl",children:s("dashboard:title")})}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(Ie,{}),e.jsx(Ee,{}),e.jsx(Re,{})]})]}),e.jsx(Pe,{children:e.jsx("div",{className:"space-y-6",children:e.jsxs("div",{className:"grid gap-6",children:[e.jsx(Bd,{}),e.jsx($d,{}),e.jsx(Gd,{}),e.jsx(Zd,{})]})})})]})}const em=Object.freeze(Object.defineProperty({__proto__:null,default:Xd},Symbol.toStringTag,{value:"Module"})),ye=m.forwardRef(({className:s,orientation:n="horizontal",decorative:a=!0,...l},r)=>e.jsx(zn,{ref:r,decorative:a,orientation:n,className:_("shrink-0 bg-border",n==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",s),...l}));ye.displayName=zn.displayName;function sm({className:s,items:n,...a}){const{pathname:l}=na(),r=ms(),[c,i]=m.useState(l??"/settings"),u=o=>{i(o),r(o)},{t:x}=I("settings");return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"p-1 md:hidden",children:e.jsxs(G,{value:c,onValueChange:u,children:[e.jsx(U,{className:"h-12 sm:w-48",children:e.jsx(W,{placeholder:"Theme"})}),e.jsx(B,{children:n.map(o=>e.jsx(L,{value:o.href,children:e.jsxs("div",{className:"flex gap-x-4 px-2 py-1",children:[e.jsx("span",{className:"scale-125",children:o.icon}),e.jsx("span",{className:"text-md",children:x(o.title)})]})},o.href))})]})}),e.jsx("div",{className:"hidden w-full overflow-x-auto bg-background px-1 py-2 md:block",children:e.jsx("nav",{className:_("flex space-x-2 lg:flex-col lg:space-x-0 lg:space-y-1",s),...a,children:n.map(o=>e.jsxs(Vs,{to:o.href,className:_(Bs({variant:"ghost"}),l===o.href?"bg-muted hover:bg-muted":"hover:bg-transparent hover:underline","justify-start"),children:[e.jsx("span",{className:"mr-2",children:o.icon}),x(o.title)]},o.href))})})]})}const tm=[{title:"site.title",key:"site",icon:e.jsx(ei,{size:18}),href:"/config/system",description:"site.description"},{title:"safe.title",key:"safe",icon:e.jsx(fn,{size:18}),href:"/config/system/safe",description:"safe.description"},{title:"subscribe.title",key:"subscribe",icon:e.jsx(pn,{size:18}),href:"/config/system/subscribe",description:"subscribe.description"},{title:"invite.title",key:"invite",icon:e.jsx(si,{size:18}),href:"/config/system/invite",description:"invite.description"},{title:"server.title",key:"server",icon:e.jsx(hn,{size:18}),href:"/config/system/server",description:"server.description"},{title:"email.title",key:"email",icon:e.jsx(ti,{size:18}),href:"/config/system/email",description:"email.description"},{title:"telegram.title",key:"telegram",icon:e.jsx(ai,{size:18}),href:"/config/system/telegram",description:"telegram.description"},{title:"app.title",key:"app",icon:e.jsx(xn,{size:18}),href:"/config/system/app",description:"app.description"}];function am(){const{t:s}=I("settings");return e.jsxs(we,{fadedBelow:!0,fixedHeight:!0,children:[e.jsxs(Ce,{children:[e.jsx(Ie,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(Ee,{}),e.jsx(Re,{})]})]}),e.jsxs(Pe,{className:"flex flex-col",fixedHeight:!0,children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx("h1",{className:"text-2xl font-bold tracking-tight md:text-3xl",children:s("title")}),e.jsx("div",{className:"text-muted-foreground",children:s("description")})]}),e.jsx(ye,{className:"my-6"}),e.jsxs("div",{className:"flex flex-1 flex-col space-y-8 overflow-auto lg:flex-row lg:space-x-12 lg:space-y-0",children:[e.jsx("aside",{className:"sticky top-0 lg:w-1/5",children:e.jsx(sm,{items:tm})}),e.jsx("div",{className:"w-full p-1 pr-4 lg:max-w-xl",children:e.jsx("div",{className:"pb-16",children:e.jsx(ra,{})})})]})]})]})}const nm=Object.freeze(Object.defineProperty({__proto__:null,default:am},Symbol.toStringTag,{value:"Module"})),H=m.forwardRef(({className:s,...n},a)=>e.jsx(Ln,{className:_("peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",s),...n,ref:a,children:e.jsx(ni,{className:_("pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0")})}));H.displayName=Ln.displayName;const ps=m.forwardRef(({className:s,...n},a)=>e.jsx("textarea",{className:_("flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",s),ref:a,...n}));ps.displayName="Textarea";const rm=h.object({logo:h.string().nullable().default(""),force_https:h.number().nullable().default(0),stop_register:h.number().nullable().default(0),app_name:h.string().nullable().default(""),app_description:h.string().nullable().default(""),app_url:h.string().nullable().default(""),subscribe_url:h.string().nullable().default(""),try_out_plan_id:h.number().nullable().default(0),try_out_hour:h.coerce.number().nullable().default(0),tos_url:h.string().nullable().default(""),currency:h.string().nullable().default(""),currency_symbol:h.string().nullable().default("")});function lm(){const{t:s}=I("settings"),[n,a]=m.useState(!1),l=m.useRef(null),{data:r}=se({queryKey:["settings","site"],queryFn:()=>hs("site")}),{data:c}=se({queryKey:["plans"],queryFn:()=>Os()}),i=de({resolver:me(rm),defaultValues:{},mode:"onBlur"}),{mutateAsync:u}=as({mutationFn:fs,onSuccess:d=>{d.data&&q.success(s("common.autoSaved"))}});m.useEffect(()=>{if(r?.data?.site){const d=r?.data?.site;Object.entries(d).forEach(([p,T])=>{i.setValue(p,T)}),l.current=d}},[r]);const x=m.useCallback(ve.debounce(async d=>{if(!ve.isEqual(d,l.current)){a(!0);try{const p=Object.entries(d).reduce((T,[R,f])=>(T[R]=f===null?"":f,T),{});await u(p),l.current=d}finally{a(!1)}}},1e3),[u]),o=m.useCallback(d=>{x(d)},[x]);return m.useEffect(()=>{const d=i.watch(p=>{o(p)});return()=>d.unsubscribe()},[i.watch,o]),e.jsx(ue,{...i,children:e.jsxs("div",{className:"space-y-4",children:[e.jsx(y,{control:i.control,name:"app_name",render:({field:d})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("site.form.siteName.label")}),e.jsx(w,{children:e.jsx(D,{placeholder:s("site.form.siteName.placeholder"),...d,value:d.value||"",onChange:p=>{d.onChange(p),o(i.getValues())}})}),e.jsx(M,{children:s("site.form.siteName.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:i.control,name:"app_description",render:({field:d})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("site.form.siteDescription.label")}),e.jsx(w,{children:e.jsx(D,{placeholder:s("site.form.siteDescription.placeholder"),...d,value:d.value||"",onChange:p=>{d.onChange(p),o(i.getValues())}})}),e.jsx(M,{children:s("site.form.siteDescription.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:i.control,name:"app_url",render:({field:d})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("site.form.siteUrl.label")}),e.jsx(w,{children:e.jsx(D,{placeholder:s("site.form.siteUrl.placeholder"),...d,value:d.value||"",onChange:p=>{d.onChange(p),o(i.getValues())}})}),e.jsx(M,{children:s("site.form.siteUrl.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:i.control,name:"force_https",render:({field:d})=>e.jsxs(b,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(N,{className:"text-base",children:s("site.form.forceHttps.label")}),e.jsx(M,{children:s("site.form.forceHttps.description")})]}),e.jsx(w,{children:e.jsx(H,{checked:!!d.value,onCheckedChange:p=>{d.onChange(Number(p)),o(i.getValues())}})})]})}),e.jsx(y,{control:i.control,name:"logo",render:({field:d})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("site.form.logo.label")}),e.jsx(w,{children:e.jsx(D,{placeholder:s("site.form.logo.placeholder"),...d,value:d.value||"",onChange:p=>{d.onChange(p),o(i.getValues())}})}),e.jsx(M,{children:s("site.form.logo.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:i.control,name:"subscribe_url",render:({field:d})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("site.form.subscribeUrl.label")}),e.jsx(w,{children:e.jsx(ps,{placeholder:s("site.form.subscribeUrl.placeholder"),...d,value:d.value||"",onChange:p=>{d.onChange(p),o(i.getValues())}})}),e.jsx(M,{children:s("site.form.subscribeUrl.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:i.control,name:"tos_url",render:({field:d})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("site.form.tosUrl.label")}),e.jsx(w,{children:e.jsx(D,{placeholder:s("site.form.tosUrl.placeholder"),...d,value:d.value||"",onChange:p=>{d.onChange(p),o(i.getValues())}})}),e.jsx(M,{children:s("site.form.tosUrl.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:i.control,name:"stop_register",render:({field:d})=>e.jsxs(b,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(N,{className:"text-base",children:s("site.form.stopRegister.label")}),e.jsx(M,{children:s("site.form.stopRegister.description")})]}),e.jsx(w,{children:e.jsx(H,{checked:!!d.value,onCheckedChange:p=>{d.onChange(Number(p)),o(i.getValues())}})})]})}),e.jsx(y,{control:i.control,name:"try_out_plan_id",render:({field:d})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("site.form.tryOut.label")}),e.jsx(w,{children:e.jsxs(G,{value:d.value?.toString(),onValueChange:p=>{d.onChange(Number(p)),o(i.getValues())},children:[e.jsx(U,{children:e.jsx(W,{placeholder:s("site.form.tryOut.placeholder")})}),e.jsxs(B,{children:[e.jsx(L,{value:"0",children:s("site.form.tryOut.placeholder")}),c?.data?.map(p=>e.jsx(L,{value:p.id.toString(),children:p.name},p.id.toString()))]})]})}),e.jsx(M,{children:s("site.form.tryOut.description")}),e.jsx(E,{})]})}),!!i.watch("try_out_plan_id")&&e.jsx(y,{control:i.control,name:"try_out_hour",render:({field:d})=>e.jsxs(b,{children:[e.jsx(N,{className:"",children:s("site.form.tryOut.duration.label")}),e.jsx(w,{children:e.jsx(D,{placeholder:s("site.form.tryOut.duration.placeholder"),...d,value:d.value||"",onChange:p=>{d.onChange(p),o(i.getValues())}})}),e.jsx(M,{children:s("site.form.tryOut.duration.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:i.control,name:"currency",render:({field:d})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("site.form.currency.label")}),e.jsx(w,{children:e.jsx(D,{placeholder:s("site.form.currency.placeholder"),...d,value:d.value||"",onChange:p=>{d.onChange(p),o(i.getValues())}})}),e.jsx(M,{children:s("site.form.currency.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:i.control,name:"currency_symbol",render:({field:d})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("site.form.currencySymbol.label")}),e.jsx(w,{children:e.jsx(D,{placeholder:s("site.form.currencySymbol.placeholder"),...d,value:d.value||"",onChange:p=>{d.onChange(p),o(i.getValues())}})}),e.jsx(M,{children:s("site.form.currencySymbol.description")}),e.jsx(E,{})]})}),n&&e.jsx("div",{className:"text-sm text-muted-foreground",children:s("site.form.saving")})]})})}function om(){const{t:s}=I("settings");return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:s("site.title")}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s("site.description")})]}),e.jsx(ye,{}),e.jsx(lm,{})]})}const im=Object.freeze(Object.defineProperty({__proto__:null,default:om},Symbol.toStringTag,{value:"Module"})),cm=h.object({email_verify:h.boolean().nullable(),safe_mode_enable:h.boolean().nullable(),secure_path:h.string().nullable(),email_whitelist_enable:h.boolean().nullable(),email_whitelist_suffix:h.array(h.string().nullable()).nullable(),email_gmail_limit_enable:h.boolean().nullable(),recaptcha_enable:h.boolean().nullable(),recaptcha_key:h.string().nullable(),recaptcha_site_key:h.string().nullable(),register_limit_by_ip_enable:h.boolean().nullable(),register_limit_count:h.coerce.string().transform(s=>s===""?null:s).nullable(),register_limit_expire:h.coerce.string().transform(s=>s===""?null:s).nullable(),password_limit_enable:h.boolean().nullable(),password_limit_count:h.coerce.string().transform(s=>s===""?null:s).nullable(),password_limit_expire:h.coerce.string().transform(s=>s===""?null:s).nullable()}),dm={email_verify:!1,safe_mode_enable:!1,secure_path:"",email_whitelist_enable:!1,email_whitelist_suffix:[],email_gmail_limit_enable:!1,recaptcha_enable:!1,recaptcha_key:"",recaptcha_site_key:"",register_limit_by_ip_enable:!1,register_limit_count:"",register_limit_expire:"",password_limit_enable:!1,password_limit_count:"",password_limit_expire:""};function mm(){const{t:s}=I("settings"),[n,a]=m.useState(!1),l=m.useRef(null),r=de({resolver:me(cm),defaultValues:dm,mode:"onBlur"}),{data:c}=se({queryKey:["settings","safe"],queryFn:()=>hs("safe")}),{mutateAsync:i}=as({mutationFn:fs,onSuccess:o=>{o.data&&q.success(s("common.autoSaved"))}});m.useEffect(()=>{if(c?.data.safe){const o=c.data.safe;Object.entries(o).forEach(([d,p])=>{typeof p=="number"?r.setValue(d,String(p)):r.setValue(d,p)}),l.current=o}},[c]);const u=m.useCallback(ve.debounce(async o=>{if(!ve.isEqual(o,l.current)){a(!0);try{await i(o),l.current=o}finally{a(!1)}}},1e3),[i]),x=m.useCallback(o=>{u(o)},[u]);return m.useEffect(()=>{const o=r.watch(d=>{x(d)});return()=>o.unsubscribe()},[r.watch,x]),e.jsx(ue,{...r,children:e.jsxs("div",{className:"space-y-4",children:[e.jsx(y,{control:r.control,name:"email_verify",render:({field:o})=>e.jsxs(b,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(N,{className:"text-base",children:s("safe.form.emailVerify.label")}),e.jsx(M,{children:s("safe.form.emailVerify.description")})]}),e.jsx(w,{children:e.jsx(H,{checked:o.value||!1,onCheckedChange:d=>{o.onChange(d),x(r.getValues())}})})]})}),e.jsx(y,{control:r.control,name:"email_gmail_limit_enable",render:({field:o})=>e.jsxs(b,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(N,{className:"text-base",children:s("safe.form.gmailLimit.label")}),e.jsx(M,{children:s("safe.form.gmailLimit.description")})]}),e.jsx(w,{children:e.jsx(H,{checked:o.value||!1,onCheckedChange:d=>{o.onChange(d),x(r.getValues())}})})]})}),e.jsx(y,{control:r.control,name:"safe_mode_enable",render:({field:o})=>e.jsxs(b,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(N,{className:"text-base",children:s("safe.form.safeMode.label")}),e.jsx(M,{children:s("safe.form.safeMode.description")})]}),e.jsx(w,{children:e.jsx(H,{checked:o.value||!1,onCheckedChange:d=>{o.onChange(d),x(r.getValues())}})})]})}),e.jsx(y,{control:r.control,name:"secure_path",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("safe.form.securePath.label")}),e.jsx(w,{children:e.jsx(D,{placeholder:s("safe.form.securePath.placeholder"),...o,value:o.value||"",onChange:d=>{o.onChange(d),x(r.getValues())}})}),e.jsx(M,{children:s("safe.form.securePath.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:r.control,name:"email_whitelist_enable",render:({field:o})=>e.jsxs(b,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(N,{className:"text-base",children:s("safe.form.emailWhitelist.label")}),e.jsx(M,{children:s("safe.form.emailWhitelist.description")})]}),e.jsx(w,{children:e.jsx(H,{checked:o.value||!1,onCheckedChange:d=>{o.onChange(d),x(r.getValues())}})})]})}),r.watch("email_whitelist_enable")&&e.jsx(y,{control:r.control,name:"email_whitelist_suffix",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("safe.form.emailWhitelist.suffixes.label")}),e.jsx(w,{children:e.jsx(ps,{placeholder:s("safe.form.emailWhitelist.suffixes.placeholder"),...o,value:(o.value||[]).join(` +`),onChange:d=>{const p=d.target.value.split(` +`).filter(Boolean);o.onChange(p),x(r.getValues())}})}),e.jsx(M,{children:s("safe.form.emailWhitelist.suffixes.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:r.control,name:"recaptcha_enable",render:({field:o})=>e.jsxs(b,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(N,{className:"text-base",children:s("safe.form.recaptcha.enable.label")}),e.jsx(M,{children:s("safe.form.recaptcha.enable.description")})]}),e.jsx(w,{children:e.jsx(H,{checked:o.value||!1,onCheckedChange:d=>{o.onChange(d),x(r.getValues())}})})]})}),r.watch("recaptcha_enable")&&e.jsxs(e.Fragment,{children:[e.jsx(y,{control:r.control,name:"recaptcha_key",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("safe.form.recaptcha.key.label")}),e.jsx(w,{children:e.jsx(D,{placeholder:s("safe.form.recaptcha.key.placeholder"),...o,value:o.value||"",onChange:d=>{o.onChange(d),x(r.getValues())}})}),e.jsx(M,{children:s("safe.form.recaptcha.key.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:r.control,name:"recaptcha_site_key",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("safe.form.recaptcha.siteKey.label")}),e.jsx(w,{children:e.jsx(D,{placeholder:s("safe.form.recaptcha.siteKey.placeholder"),...o,value:o.value||"",onChange:d=>{o.onChange(d),x(r.getValues())}})}),e.jsx(M,{children:s("safe.form.recaptcha.siteKey.description")}),e.jsx(E,{})]})})]}),e.jsx(y,{control:r.control,name:"register_limit_by_ip_enable",render:({field:o})=>e.jsxs(b,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(N,{className:"text-base",children:s("safe.form.registerLimit.enable.label")}),e.jsx(M,{children:s("safe.form.registerLimit.enable.description")})]}),e.jsx(w,{children:e.jsx(H,{checked:o.value||!1,onCheckedChange:d=>{o.onChange(d),x(r.getValues())}})})]})}),r.watch("register_limit_by_ip_enable")&&e.jsxs(e.Fragment,{children:[e.jsx(y,{control:r.control,name:"register_limit_count",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("safe.form.registerLimit.count.label")}),e.jsx(w,{children:e.jsx(D,{placeholder:s("safe.form.registerLimit.count.placeholder"),...o,value:o.value||"",onChange:d=>{o.onChange(d),x(r.getValues())}})}),e.jsx(M,{children:s("safe.form.registerLimit.count.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:r.control,name:"register_limit_expire",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("safe.form.registerLimit.expire.label")}),e.jsx(w,{children:e.jsx(D,{placeholder:s("safe.form.registerLimit.expire.placeholder"),...o,value:o.value||"",onChange:d=>{o.onChange(d),x(r.getValues())}})}),e.jsx(M,{children:s("safe.form.registerLimit.expire.description")}),e.jsx(E,{})]})})]}),e.jsx(y,{control:r.control,name:"password_limit_enable",render:({field:o})=>e.jsxs(b,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(N,{className:"text-base",children:s("safe.form.passwordLimit.enable.label")}),e.jsx(M,{children:s("safe.form.passwordLimit.enable.description")})]}),e.jsx(w,{children:e.jsx(H,{checked:o.value||!1,onCheckedChange:d=>{o.onChange(d),x(r.getValues())}})})]})}),r.watch("password_limit_enable")&&e.jsxs(e.Fragment,{children:[e.jsx(y,{control:r.control,name:"password_limit_count",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("safe.form.passwordLimit.count.label")}),e.jsx(w,{children:e.jsx(D,{placeholder:s("safe.form.passwordLimit.count.placeholder"),...o,value:o.value||"",onChange:d=>{o.onChange(d),x(r.getValues())}})}),e.jsx(M,{children:s("safe.form.passwordLimit.count.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:r.control,name:"password_limit_expire",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("safe.form.passwordLimit.expire.label")}),e.jsx(w,{children:e.jsx(D,{placeholder:s("safe.form.passwordLimit.expire.placeholder"),...o,value:o.value||"",onChange:d=>{o.onChange(d),x(r.getValues())}})}),e.jsx(M,{children:s("safe.form.passwordLimit.expire.description")}),e.jsx(E,{})]})})]}),n&&e.jsx("div",{className:"text-sm text-muted-foreground",children:s("safe.form.saving")})]})})}function um(){const{t:s}=I("settings");return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:s("safe.title")}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s("safe.description")})]}),e.jsx(ye,{}),e.jsx(mm,{})]})}const xm=Object.freeze(Object.defineProperty({__proto__:null,default:um},Symbol.toStringTag,{value:"Module"})),hm=h.object({plan_change_enable:h.boolean().nullable().default(!1),reset_traffic_method:h.coerce.number().nullable().default(0),surplus_enable:h.boolean().nullable().default(!1),new_order_event_id:h.coerce.number().nullable().default(0),renew_order_event_id:h.coerce.number().nullable().default(0),change_order_event_id:h.coerce.number().nullable().default(0),show_info_to_server_enable:h.boolean().nullable().default(!1),show_protocol_to_server_enable:h.boolean().nullable().default(!1),default_remind_expire:h.boolean().nullable().default(!1),default_remind_traffic:h.boolean().nullable().default(!1),subscribe_path:h.string().nullable().default("s")}),fm={plan_change_enable:!1,reset_traffic_method:0,surplus_enable:!1,new_order_event_id:0,renew_order_event_id:0,change_order_event_id:0,show_info_to_server_enable:!1,show_protocol_to_server_enable:!1,default_remind_expire:!1,default_remind_traffic:!1,subscribe_path:"s"};function pm(){const{t:s}=I("settings"),[n,a]=m.useState(!1),l=m.useRef(null),r=de({resolver:me(hm),defaultValues:fm,mode:"onBlur"}),{data:c}=se({queryKey:["settings","subscribe"],queryFn:()=>hs("subscribe")}),{mutateAsync:i}=as({mutationFn:fs,onSuccess:o=>{o.data&&q.success(s("common.autoSaved"))}});m.useEffect(()=>{if(c?.data?.subscribe){const o=c?.data?.subscribe;Object.entries(o).forEach(([d,p])=>{r.setValue(d,p)}),l.current=o}},[c]);const u=m.useCallback(ve.debounce(async o=>{if(!ve.isEqual(o,l.current)){a(!0);try{await i(o),l.current=o}finally{a(!1)}}},1e3),[i]),x=m.useCallback(o=>{u(o)},[u]);return m.useEffect(()=>{const o=r.watch(d=>{x(d)});return()=>o.unsubscribe()},[r.watch,x]),e.jsx(ue,{...r,children:e.jsxs("div",{className:"space-y-4",children:[e.jsx(y,{control:r.control,name:"plan_change_enable",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("subscribe.plan_change_enable.title")}),e.jsx(M,{children:s("subscribe.plan_change_enable.description")}),e.jsx(w,{children:e.jsx(H,{checked:o.value||!1,onCheckedChange:d=>{o.onChange(d),x(r.getValues())}})}),e.jsx(E,{})]})}),e.jsx(y,{control:r.control,name:"reset_traffic_method",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("subscribe.reset_traffic_method.title")}),e.jsxs(G,{onValueChange:o.onChange,value:o.value?.toString()||"0",children:[e.jsx(w,{children:e.jsx(U,{children:e.jsx(W,{placeholder:"请选择重置方式"})})}),e.jsxs(B,{children:[e.jsx(L,{value:"0",children:s("subscribe.reset_traffic_method.options.monthly_first")}),e.jsx(L,{value:"1",children:s("subscribe.reset_traffic_method.options.monthly_reset")}),e.jsx(L,{value:"2",children:s("subscribe.reset_traffic_method.options.no_reset")}),e.jsx(L,{value:"3",children:s("subscribe.reset_traffic_method.options.yearly_first")}),e.jsx(L,{value:"4",children:s("subscribe.reset_traffic_method.options.yearly_reset")})]})]}),e.jsx(M,{children:s("subscribe.reset_traffic_method.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:r.control,name:"surplus_enable",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("subscribe.surplus_enable.title")}),e.jsx(M,{children:s("subscribe.surplus_enable.description")}),e.jsx(w,{children:e.jsx(H,{checked:o.value||!1,onCheckedChange:d=>{o.onChange(d),x(r.getValues())}})}),e.jsx(E,{})]})}),e.jsx(y,{control:r.control,name:"new_order_event_id",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("subscribe.new_order_event.title")}),e.jsx("div",{className:"relative w-max",children:e.jsx(w,{children:e.jsxs(G,{onValueChange:o.onChange,value:o.value?.toString(),children:[e.jsx(U,{children:e.jsx(W,{placeholder:"请选择"})}),e.jsxs(B,{children:[e.jsx(L,{value:"0",children:s("subscribe.new_order_event.options.no_action")}),e.jsx(L,{value:"1",children:s("subscribe.new_order_event.options.reset_traffic")})]})]})})}),e.jsx(M,{children:s("subscribe.new_order_event.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:r.control,name:"renew_order_event_id",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("subscribe.renew_order_event.title")}),e.jsx("div",{className:"relative w-max",children:e.jsx(w,{children:e.jsxs(G,{onValueChange:o.onChange,value:o.value?.toString(),children:[e.jsx(U,{children:e.jsx(W,{placeholder:"请选择"})}),e.jsxs(B,{children:[e.jsx(L,{value:"0",children:s("subscribe.renew_order_event.options.no_action")}),e.jsx(L,{value:"1",children:s("subscribe.renew_order_event.options.reset_traffic")})]})]})})}),e.jsx(M,{children:s("renew_order_event.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:r.control,name:"change_order_event_id",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("subscribe.change_order_event.title")}),e.jsx("div",{className:"relative w-max",children:e.jsx(w,{children:e.jsxs(G,{onValueChange:o.onChange,value:o.value?.toString(),children:[e.jsx(U,{children:e.jsx(W,{placeholder:"请选择"})}),e.jsxs(B,{children:[e.jsx(L,{value:"0",children:s("subscribe.change_order_event.options.no_action")}),e.jsx(L,{value:"1",children:s("subscribe.change_order_event.options.reset_traffic")})]})]})})}),e.jsx(M,{children:s("subscribe.change_order_event.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:r.control,name:"subscribe_path",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("subscribe.subscribe_path.title")}),e.jsx(w,{children:e.jsx(D,{placeholder:"subscribe",...o,value:o.value||"",onChange:d=>{o.onChange(d),x(r.getValues())}})}),e.jsxs("div",{className:"text-sm text-muted-foreground",children:[s("subscribe.subscribe_path.description"),e.jsx("br",{}),s("subscribe.subscribe_path.current_format",{path:o.value||"s"})]}),e.jsx(E,{})]})}),e.jsx(y,{control:r.control,name:"show_info_to_server_enable",render:({field:o})=>e.jsxs(b,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(N,{className:"text-base",children:s("subscribe.show_info_to_server.title")}),e.jsx(M,{children:s("subscribe.show_info_to_server.description")})]}),e.jsx(w,{children:e.jsx(H,{checked:o.value||!1,onCheckedChange:d=>{o.onChange(d),x(r.getValues())}})})]})}),e.jsx(y,{control:r.control,name:"show_protocol_to_server_enable",render:({field:o})=>e.jsxs(b,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(N,{className:"text-base",children:s("subscribe.show_protocol_to_server.title")}),e.jsx(M,{children:s("subscribe.show_protocol_to_server.description")})]}),e.jsx(w,{children:e.jsx(H,{checked:o.value||!1,onCheckedChange:d=>{o.onChange(d),x(r.getValues())}})})]})}),n&&e.jsx("div",{className:"text-sm text-muted-foreground",children:s("common.saving")})]})})}function gm(){const{t:s}=I("settings");return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:s("subscribe.title")}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s("subscribe.description")})]}),e.jsx(ye,{}),e.jsx(pm,{})]})}const jm=Object.freeze(Object.defineProperty({__proto__:null,default:gm},Symbol.toStringTag,{value:"Module"})),vm=h.object({invite_force:h.boolean().default(!1),invite_commission:h.coerce.string().default("0"),invite_gen_limit:h.coerce.string().default("0"),invite_never_expire:h.boolean().default(!1),commission_first_time_enable:h.boolean().default(!1),commission_auto_check_enable:h.boolean().default(!1),commission_withdraw_limit:h.coerce.string().default("0"),commission_withdraw_method:h.array(h.string()).default(["支付宝","USDT","Paypal"]),withdraw_close_enable:h.boolean().default(!1),commission_distribution_enable:h.boolean().default(!1),commission_distribution_l1:h.coerce.number().default(0),commission_distribution_l2:h.coerce.number().default(0),commission_distribution_l3:h.coerce.number().default(0)}),bm={invite_force:!1,invite_commission:"0",invite_gen_limit:"0",invite_never_expire:!1,commission_first_time_enable:!1,commission_auto_check_enable:!1,commission_withdraw_limit:"0",commission_withdraw_method:["支付宝","USDT","Paypal"],withdraw_close_enable:!1,commission_distribution_enable:!1,commission_distribution_l1:0,commission_distribution_l2:0,commission_distribution_l3:0};function ym(){const{t:s}=I("settings"),[n,a]=m.useState(!1),l=m.useRef(null),r=de({resolver:me(vm),defaultValues:bm,mode:"onBlur"}),{data:c}=se({queryKey:["settings","invite"],queryFn:()=>hs("invite")}),{mutateAsync:i}=as({mutationFn:fs,onSuccess:o=>{o.data&&q.success(s("common.autoSaved"))}});m.useEffect(()=>{if(c?.data?.invite){const o=c?.data?.invite;Object.entries(o).forEach(([d,p])=>{typeof p=="number"?r.setValue(d,String(p)):r.setValue(d,p)}),l.current=o}},[c]);const u=m.useCallback(ve.debounce(async o=>{if(!ve.isEqual(o,l.current)){a(!0);try{await i(o),l.current=o}finally{a(!1)}}},1e3),[i]),x=m.useCallback(o=>{u(o)},[u]);return m.useEffect(()=>{const o=r.watch(d=>{x(d)});return()=>o.unsubscribe()},[r.watch,x]),e.jsx(ue,{...r,children:e.jsxs("div",{className:"space-y-4",children:[e.jsx(y,{control:r.control,name:"invite_force",render:({field:o})=>e.jsxs(b,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(N,{className:"text-base",children:s("invite.invite_force.title")}),e.jsx(M,{children:s("invite.invite_force.description")})]}),e.jsx(w,{children:e.jsx(H,{checked:o.value,onCheckedChange:d=>{o.onChange(d),x(r.getValues())}})})]})}),e.jsx(y,{control:r.control,name:"invite_commission",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("invite.invite_commission.title")}),e.jsx(w,{children:e.jsx(D,{placeholder:s("invite.invite_commission.placeholder"),...o,value:o.value||""})}),e.jsx(M,{children:s("invite.invite_commission.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:r.control,name:"invite_gen_limit",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("invite.invite_gen_limit.title")}),e.jsx(w,{children:e.jsx(D,{placeholder:s("invite.invite_gen_limit.placeholder"),...o,value:o.value||""})}),e.jsx(M,{children:s("invite.invite_gen_limit.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:r.control,name:"invite_never_expire",render:({field:o})=>e.jsxs(b,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(N,{className:"text-base",children:s("invite.invite_never_expire.title")}),e.jsx(M,{children:s("invite.invite_never_expire.description")})]}),e.jsx(w,{children:e.jsx(H,{checked:o.value,onCheckedChange:d=>{o.onChange(d),x(r.getValues())}})})]})}),e.jsx(y,{control:r.control,name:"commission_first_time_enable",render:({field:o})=>e.jsxs(b,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(N,{className:"text-base",children:s("invite.commission_first_time.title")}),e.jsx(M,{children:s("invite.commission_first_time.description")})]}),e.jsx(w,{children:e.jsx(H,{checked:o.value,onCheckedChange:d=>{o.onChange(d),x(r.getValues())}})})]})}),e.jsx(y,{control:r.control,name:"commission_auto_check_enable",render:({field:o})=>e.jsxs(b,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(N,{className:"text-base",children:s("invite.commission_auto_check.title")}),e.jsx(M,{children:s("invite.commission_auto_check.description")})]}),e.jsx(w,{children:e.jsx(H,{checked:o.value,onCheckedChange:d=>{o.onChange(d),x(r.getValues())}})})]})}),e.jsx(y,{control:r.control,name:"commission_withdraw_limit",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("invite.commission_withdraw_limit.title")}),e.jsx(w,{children:e.jsx(D,{placeholder:s("invite.commission_withdraw_limit.placeholder"),...o,value:o.value||""})}),e.jsx(M,{children:s("invite.commission_withdraw_limit.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:r.control,name:"commission_withdraw_method",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("invite.commission_withdraw_method.title")}),e.jsx(w,{children:e.jsx(D,{placeholder:s("invite.commission_withdraw_method.placeholder"),...o,value:Array.isArray(o.value)?o.value.join(","):"",onChange:d=>{const p=d.target.value.split(",").filter(Boolean);o.onChange(p),x(r.getValues())}})}),e.jsx(M,{children:s("invite.commission_withdraw_method.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:r.control,name:"withdraw_close_enable",render:({field:o})=>e.jsxs(b,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(N,{className:"text-base",children:s("invite.withdraw_close.title")}),e.jsx(M,{children:s("invite.withdraw_close.description")})]}),e.jsx(w,{children:e.jsx(H,{checked:o.value,onCheckedChange:d=>{o.onChange(d),x(r.getValues())}})})]})}),e.jsx(y,{control:r.control,name:"commission_distribution_enable",render:({field:o})=>e.jsxs(b,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(N,{className:"text-base",children:s("invite.commission_distribution.title")}),e.jsx(M,{children:s("invite.commission_distribution.description")})]}),e.jsx(w,{children:e.jsx(H,{checked:o.value,onCheckedChange:d=>{o.onChange(d),x(r.getValues())}})})]})}),r.watch("commission_distribution_enable")&&e.jsxs(e.Fragment,{children:[e.jsx(y,{control:r.control,name:"commission_distribution_l1",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{children:s("invite.commission_distribution.l1")}),e.jsx(w,{children:e.jsx(D,{type:"number",placeholder:s("invite.commission_distribution.placeholder"),...o,value:o.value||"",onChange:d=>{const p=d.target.value?Number(d.target.value):0;o.onChange(p),x(r.getValues())}})}),e.jsx(E,{})]})}),e.jsx(y,{control:r.control,name:"commission_distribution_l2",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{children:s("invite.commission_distribution.l2")}),e.jsx(w,{children:e.jsx(D,{type:"number",placeholder:s("invite.commission_distribution.placeholder"),...o,value:o.value||"",onChange:d=>{const p=d.target.value?Number(d.target.value):0;o.onChange(p),x(r.getValues())}})}),e.jsx(E,{})]})}),e.jsx(y,{control:r.control,name:"commission_distribution_l3",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{children:s("invite.commission_distribution.l3")}),e.jsx(w,{children:e.jsx(D,{type:"number",placeholder:s("invite.commission_distribution.placeholder"),...o,value:o.value||"",onChange:d=>{const p=d.target.value?Number(d.target.value):0;o.onChange(p),x(r.getValues())}})}),e.jsx(E,{})]})})]}),n&&e.jsx("div",{className:"text-sm text-muted-foreground",children:s("invite.saving")})]})})}function Nm(){const{t:s}=I("settings");return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:s("invite.title")}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s("invite.description")})]}),e.jsx(ye,{}),e.jsx(ym,{})]})}const _m=Object.freeze(Object.defineProperty({__proto__:null,default:Nm},Symbol.toStringTag,{value:"Module"})),wm=h.object({frontend_theme:h.string().nullable(),frontend_theme_sidebar:h.string().nullable(),frontend_theme_header:h.string().nullable(),frontend_theme_color:h.string().nullable(),frontend_background_url:h.string().url().nullable()}),Cm={frontend_theme:"",frontend_theme_sidebar:"",frontend_theme_header:"",frontend_theme_color:"",frontend_background_url:""};function Sm(){const{data:s}=se({queryKey:["settings","frontend"],queryFn:()=>hs("frontend")}),n=de({resolver:me(wm),defaultValues:Cm,mode:"onChange"});m.useEffect(()=>{if(s?.data?.frontend){const l=s?.data?.frontend;Object.entries(l).forEach(([r,c])=>{n.setValue(r,c)})}},[s]);function a(l){fs(l).then(({data:r})=>{r&&q.success("更新成功")})}return e.jsx(ue,{...n,children:e.jsxs("form",{onSubmit:n.handleSubmit(a),className:"space-y-8",children:[e.jsx(y,{control:n.control,name:"frontend_theme_sidebar",render:({field:l})=>e.jsxs(b,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(N,{className:"text-base",children:"边栏风格"}),e.jsx(M,{children:"边栏风格"})]}),e.jsx(w,{children:e.jsx(H,{checked:l.value,onCheckedChange:l.onChange})})]})}),e.jsx(y,{control:n.control,name:"frontend_theme_header",render:({field:l})=>e.jsxs(b,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(N,{className:"text-base",children:"头部风格"}),e.jsx(M,{children:"边栏风格"})]}),e.jsx(w,{children:e.jsx(H,{checked:l.value,onCheckedChange:l.onChange})})]})}),e.jsx(y,{control:n.control,name:"frontend_theme_color",render:({field:l})=>e.jsxs(b,{children:[e.jsx(N,{children:"主题色"}),e.jsxs("div",{className:"relative w-max",children:[e.jsx(w,{children:e.jsxs("select",{className:_(Bs({variant:"outline"}),"w-[200px] appearance-none font-normal"),...l,children:[e.jsx("option",{value:"default",children:"默认"}),e.jsx("option",{value:"black",children:"黑色"}),e.jsx("option",{value:"blackblue",children:"暗蓝色"}),e.jsx("option",{value:"green",children:"奶绿色"})]})}),e.jsx(ca,{className:"absolute right-3 top-2.5 h-4 w-4 opacity-50"})]}),e.jsx(M,{children:"主题色"}),e.jsx(E,{})]})}),e.jsx(y,{control:n.control,name:"frontend_background_url",render:({field:l})=>e.jsxs(b,{children:[e.jsx(N,{children:"背景"}),e.jsx(w,{children:e.jsx(D,{placeholder:"请输入图片地址",...l})}),e.jsx(M,{children:"将会在后台登录页面进行展示。"}),e.jsx(E,{})]})}),e.jsx(V,{type:"submit",children:"保存设置"})]})})}function km(){return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:"个性化设置"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"自定义系统界面外观,包括主题风格、布局、颜色方案、背景图等个性化选项。"})]}),e.jsx(ye,{}),e.jsx(Sm,{})]})}const Pm=Object.freeze(Object.defineProperty({__proto__:null,default:km},Symbol.toStringTag,{value:"Module"})),Tm=h.object({server_pull_interval:h.coerce.number().nullable(),server_push_interval:h.coerce.number().nullable(),server_token:h.string().nullable(),device_limit_mode:h.coerce.number().nullable()}),Dm={server_pull_interval:0,server_push_interval:0,server_token:"",device_limit_mode:0};function Em(){const{t:s}=I("settings"),[n,a]=m.useState(!1),l=m.useRef(null),r=de({resolver:me(Tm),defaultValues:Dm,mode:"onBlur"}),{data:c}=se({queryKey:["settings","server"],queryFn:()=>hs("server")}),{mutateAsync:i}=as({mutationFn:fs,onSuccess:d=>{d.data&&q.success(s("common.AutoSaved"))}});m.useEffect(()=>{if(c?.data.server){const d=c.data.server;Object.entries(d).forEach(([p,T])=>{r.setValue(p,T)}),l.current=d}},[c]);const u=m.useCallback(ve.debounce(async d=>{if(!ve.isEqual(d,l.current)){a(!0);try{await i(d),l.current=d}finally{a(!1)}}},1e3),[i]),x=m.useCallback(d=>{u(d)},[u]);m.useEffect(()=>{const d=r.watch(p=>{x(p)});return()=>d.unsubscribe()},[r.watch,x]);const o=()=>{const d=Math.floor(Math.random()*17)+16,p="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";let T="";for(let R=0;Re.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("server.server_token.title")}),e.jsx(w,{children:e.jsxs("div",{className:"relative",children:[e.jsx(D,{placeholder:s("server.server_token.placeholder"),...d,value:d.value||"",className:"pr-10"}),e.jsx(ce,{children:e.jsxs(oe,{children:[e.jsx(ie,{asChild:!0,children:e.jsx(J,{type:"button",variant:"ghost",size:"icon",className:"absolute right-0 top-0 h-full px-3 py-2",onClick:p=>{p.preventDefault(),o()},children:e.jsx(ri,{className:"h-4 w-4 text-muted-foreground hover:text-foreground"})})}),e.jsx(te,{children:e.jsx("p",{children:s("server.server_token.generate_tooltip")})})]})})]})}),e.jsx(M,{children:s("server.server_token.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:r.control,name:"server_pull_interval",render:({field:d})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("server.server_pull_interval.title")}),e.jsx(w,{children:e.jsx(D,{type:"number",placeholder:s("server.server_pull_interval.placeholder"),...d,value:d.value||"",onChange:p=>{const T=p.target.value?Number(p.target.value):null;d.onChange(T)}})}),e.jsx(M,{children:s("server.server_pull_interval.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:r.control,name:"server_push_interval",render:({field:d})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("server.server_push_interval.title")}),e.jsx(w,{children:e.jsx(D,{type:"number",placeholder:s("server.server_push_interval.placeholder"),...d,value:d.value||"",onChange:p=>{const T=p.target.value?Number(p.target.value):null;d.onChange(T)}})}),e.jsx(M,{children:s("server.server_push_interval.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:r.control,name:"device_limit_mode",render:({field:d})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("server.device_limit_mode.title")}),e.jsxs(G,{onValueChange:d.onChange,value:d.value?.toString()||"0",children:[e.jsx(w,{children:e.jsx(U,{children:e.jsx(W,{placeholder:s("server.device_limit_mode.placeholder")})})}),e.jsxs(B,{children:[e.jsx(L,{value:"0",children:s("server.device_limit_mode.strict")}),e.jsx(L,{value:"1",children:s("server.device_limit_mode.relaxed")})]})]}),e.jsx(M,{children:s("server.device_limit_mode.description")}),e.jsx(E,{})]})}),n&&e.jsx("div",{className:"text-sm text-muted-foreground",children:s("server.saving")})]})})}function Rm(){const{t:s}=I("settings");return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:s("server.title")}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s("server.description")})]}),e.jsx(ye,{}),e.jsx(Em,{})]})}const Vm=Object.freeze(Object.defineProperty({__proto__:null,default:Rm},Symbol.toStringTag,{value:"Module"}));function Im({open:s,onOpenChange:n,result:a}){const l=!a.error;return e.jsx(pe,{open:s,onOpenChange:n,children:e.jsxs(fe,{className:"sm:max-w-[425px]",children:[e.jsxs(be,{children:[e.jsxs("div",{className:"flex items-center gap-2",children:[l?e.jsx(Mn,{className:"h-5 w-5 text-green-500"}):e.jsx(On,{className:"h-5 w-5 text-destructive"}),e.jsx(ge,{children:l?"邮件发送成功":"邮件发送失败"})]}),e.jsx(Te,{children:l?"测试邮件已成功发送,请检查收件箱":"发送测试邮件时遇到错误"})]}),e.jsxs("div",{className:"grid gap-4 py-4",children:[e.jsxs("div",{className:"grid gap-2",children:[e.jsx("div",{className:"font-medium",children:"发送详情"}),e.jsxs("div",{className:"grid grid-cols-[100px_1fr] items-center gap-2 text-sm",children:[e.jsx("div",{className:"text-muted-foreground",children:"收件地址"}),e.jsx("div",{children:a.email}),e.jsx("div",{className:"text-muted-foreground",children:"邮件主题"}),e.jsx("div",{children:a.subject}),e.jsx("div",{className:"text-muted-foreground",children:"模板名称"}),e.jsx("div",{children:a.template_name})]})]}),a.error&&e.jsxs("div",{className:"grid gap-2",children:[e.jsx("div",{className:"font-medium text-destructive",children:"错误信息"}),e.jsx("div",{className:"rounded-md bg-destructive/10 p-3 text-sm text-destructive break-all",children:a.error})]}),e.jsxs("div",{className:"grid gap-2",children:[e.jsx("div",{className:"font-medium",children:"配置信息"}),e.jsx(lt,{className:"h-[200px] rounded-md border p-4",children:e.jsx("div",{className:"grid gap-2 text-sm",children:e.jsxs("div",{className:"grid grid-cols-[100px_1fr] items-center gap-2",children:[e.jsx("div",{className:"text-muted-foreground",children:"驱动"}),e.jsx("div",{children:a.config.driver}),e.jsx("div",{className:"text-muted-foreground",children:"服务器"}),e.jsx("div",{children:a.config.host}),e.jsx("div",{className:"text-muted-foreground",children:"端口"}),e.jsx("div",{children:a.config.port}),e.jsx("div",{className:"text-muted-foreground",children:"加密方式"}),e.jsx("div",{children:a.config.encryption||"无"}),e.jsx("div",{className:"text-muted-foreground",children:"发件人"}),e.jsx("div",{children:a.config.from.address?`${a.config.from.address}${a.config.from.name?` (${a.config.from.name})`:""}`:"未设置"}),e.jsx("div",{className:"text-muted-foreground",children:"用户名"}),e.jsx("div",{children:a.config.username||"未设置"})]})})})]})]})]})})}const Fm=h.object({email_template:h.string().nullable().default("classic"),email_host:h.string().nullable().default(""),email_port:h.coerce.number().nullable().default(465),email_username:h.string().nullable().default(""),email_password:h.string().nullable().default(""),email_encryption:h.string().nullable().default(""),email_from_address:h.string().email().nullable().default(""),remind_mail_enable:h.boolean().nullable().default(!1)});function Mm(){const{t:s}=I("settings"),[n,a]=m.useState(null),[l,r]=m.useState(!1),c=m.useRef(null),[i,u]=m.useState(!1),x=de({resolver:me(Fm),defaultValues:{},mode:"onBlur"}),{data:o}=se({queryKey:["settings","email"],queryFn:()=>hs("email")}),{data:d}=se({queryKey:["emailTemplate"],queryFn:()=>Vd()}),{mutateAsync:p}=as({mutationFn:fs,onSuccess:S=>{S.data&&q.success(s("common.autoSaved"))}}),{mutate:T,isPending:R}=as({mutationFn:Id,onMutate:()=>{a(null),r(!1)},onSuccess:S=>{a(S.data),r(!0),S.data.error?q.error(s("email.test.error")):q.success(s("email.test.success"))}});m.useEffect(()=>{if(o?.data.email){const S=o.data.email;Object.entries(S).forEach(([j,C])=>{x.setValue(j,C)}),c.current=S}},[o]);const f=m.useCallback(ve.debounce(async S=>{if(!ve.isEqual(S,c.current)){u(!0);try{await p(S),c.current=S}finally{u(!1)}}},1e3),[p]),g=m.useCallback(S=>{f(S)},[f]);return m.useEffect(()=>{const S=x.watch(j=>{g(j)});return()=>S.unsubscribe()},[x.watch,g]),e.jsxs(e.Fragment,{children:[e.jsx(ue,{...x,children:e.jsxs("div",{className:"space-y-4",children:[e.jsx(y,{control:x.control,name:"email_host",render:({field:S})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("email.email_host.title")}),e.jsx(w,{children:e.jsx(D,{placeholder:s("common.placeholder"),...S,value:S.value||""})}),e.jsx(M,{children:s("email.email_host.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:x.control,name:"email_port",render:({field:S})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("email.email_port.title")}),e.jsx(w,{children:e.jsx(D,{type:"number",placeholder:s("common.placeholder"),...S,value:S.value||"",onChange:j=>{const C=j.target.value?Number(j.target.value):null;S.onChange(C)}})}),e.jsx(M,{children:s("email.email_port.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:x.control,name:"email_encryption",render:({field:S})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("email.email_encryption.title")}),e.jsxs(G,{onValueChange:S.onChange,value:S.value||"none",children:[e.jsx(w,{children:e.jsx(U,{children:e.jsx(W,{placeholder:"请选择加密方式"})})}),e.jsxs(B,{children:[e.jsx(L,{value:"none",children:s("email.email_encryption.none")}),e.jsx(L,{value:"ssl",children:s("email.email_encryption.ssl")}),e.jsx(L,{value:"tls",children:s("email.email_encryption.tls")})]})]}),e.jsx(M,{children:s("email.email_encryption.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:x.control,name:"email_username",render:({field:S})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("email.email_username.title")}),e.jsx(w,{children:e.jsx(D,{placeholder:s("common.placeholder"),...S,value:S.value||""})}),e.jsx(M,{children:s("email.email_username.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:x.control,name:"email_password",render:({field:S})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("email.email_password.title")}),e.jsx(w,{children:e.jsx(D,{type:"password",placeholder:s("common.placeholder"),...S,value:S.value||""})}),e.jsx(M,{children:s("email.email_password.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:x.control,name:"email_from_address",render:({field:S})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("email.email_from.title")}),e.jsx(w,{children:e.jsx(D,{placeholder:s("common.placeholder"),...S,value:S.value||""})}),e.jsx(M,{children:s("email.email_from.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:x.control,name:"email_template",render:({field:S})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("email.email_template.title")}),e.jsxs(G,{onValueChange:j=>{S.onChange(j),g(x.getValues())},value:S.value||void 0,children:[e.jsx(w,{children:e.jsx(U,{className:"w-[200px]",children:e.jsx(W,{placeholder:s("email.email_template.placeholder")})})}),e.jsx(B,{children:d?.data?.map(j=>e.jsx(L,{value:j,children:j},j))})]}),e.jsx(M,{children:s("email.email_template.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:x.control,name:"remind_mail_enable",render:({field:S})=>e.jsxs(b,{children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(N,{className:"text-base",children:s("email.remind_mail.title")}),e.jsx(M,{children:s("email.remind_mail.description")})]}),e.jsx(w,{children:e.jsx(H,{checked:S.value||!1,onCheckedChange:j=>{S.onChange(j),g(x.getValues())}})})]})}),e.jsx("div",{className:"flex items-center justify-between",children:e.jsx(V,{onClick:()=>T(),loading:R,disabled:R,children:s(R?"test.sending":"test.title")})})]})}),i&&e.jsx("div",{className:"text-sm text-muted-foreground",children:s("saving")}),n&&e.jsx(Im,{open:l,onOpenChange:r,result:n})]})}function Om(){const{t:s}=I("settings");return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:s("email.title")}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s("email.description")})]}),e.jsx(ye,{}),e.jsx(Mm,{})]})}const zm=Object.freeze(Object.defineProperty({__proto__:null,default:Om},Symbol.toStringTag,{value:"Module"})),Lm=h.object({telegram_bot_enable:h.boolean().nullable(),telegram_bot_token:h.string().nullable(),telegram_discuss_link:h.string().nullable()}),Am={telegram_bot_enable:!1,telegram_bot_token:"",telegram_discuss_link:""};function $m(){const{t:s}=I("settings"),[n,a]=m.useState(!1),l=m.useRef(null),r=de({resolver:me(Lm),defaultValues:Am,mode:"onBlur"}),{data:c}=se({queryKey:["settings","telegram"],queryFn:()=>hs("telegram")}),{mutateAsync:i}=as({mutationFn:fs,onSuccess:p=>{p.data&&q.success(s("common.autoSaved"))}}),{mutate:u,isPending:x}=as({mutationFn:Fd,onSuccess:p=>{p.data&&q.success(s("telegram.webhook.success"))}});m.useEffect(()=>{if(c?.data.telegram){const p=c.data.telegram;Object.entries(p).forEach(([T,R])=>{r.setValue(T,R)}),l.current=p}},[c]);const o=m.useCallback(ve.debounce(async p=>{if(!ve.isEqual(p,l.current)){a(!0);try{await i(p),l.current=p}finally{a(!1)}}},1e3),[i]),d=m.useCallback(p=>{o(p)},[o]);return m.useEffect(()=>{const p=r.watch(T=>{d(T)});return()=>p.unsubscribe()},[r.watch,d]),e.jsx(ue,{...r,children:e.jsxs("div",{className:"space-y-4",children:[e.jsx(y,{control:r.control,name:"telegram_bot_token",render:({field:p})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("telegram.bot_token.title")}),e.jsx(w,{children:e.jsx(D,{placeholder:s("telegram.bot_token.placeholder"),...p,value:p.value||""})}),e.jsx(M,{children:s("telegram.bot_token.description")}),e.jsx(E,{})]})}),r.watch("telegram_bot_token")&&e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("telegram.webhook.title")}),e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx(V,{loading:x,disabled:x,onClick:()=>u(),children:s(x?"telegram.webhook.setting":"telegram.webhook.button")}),n&&e.jsx("span",{className:"text-sm text-muted-foreground",children:s("common.saving")})]}),e.jsx(M,{children:s("telegram.webhook.description")}),e.jsx(E,{})]}),e.jsx(y,{control:r.control,name:"telegram_bot_enable",render:({field:p})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("telegram.bot_enable.title")}),e.jsx(M,{children:s("telegram.bot_enable.description")}),e.jsx(w,{children:e.jsx(H,{checked:p.value||!1,onCheckedChange:T=>{p.onChange(T),d(r.getValues())}})}),e.jsx(E,{})]})}),e.jsx(y,{control:r.control,name:"telegram_discuss_link",render:({field:p})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("telegram.discuss_link.title")}),e.jsx(w,{children:e.jsx(D,{placeholder:s("telegram.discuss_link.placeholder"),...p,value:p.value||""})}),e.jsx(M,{children:s("telegram.discuss_link.description")}),e.jsx(E,{})]})}),n&&e.jsx("div",{className:"text-sm text-muted-foreground",children:s("common.saving")})]})})}function qm(){const{t:s}=I("settings");return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:s("telegram.title")}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s("telegram.description")})]}),e.jsx(ye,{}),e.jsx($m,{})]})}const Km=Object.freeze(Object.defineProperty({__proto__:null,default:qm},Symbol.toStringTag,{value:"Module"})),Hm=h.object({windows_version:h.string().nullable(),windows_download_url:h.string().nullable(),macos_version:h.string().nullable(),macos_download_url:h.string().nullable(),android_version:h.string().nullable(),android_download_url:h.string().nullable()}),Um={windows_version:"",windows_download_url:"",macos_version:"",macos_download_url:"",android_version:"",android_download_url:""};function Bm(){const{t:s}=I("settings"),[n,a]=m.useState(!1),l=m.useRef(null),r=de({resolver:me(Hm),defaultValues:Um,mode:"onBlur"}),{data:c}=se({queryKey:["settings","app"],queryFn:()=>hs("app")}),{mutateAsync:i}=as({mutationFn:fs,onSuccess:o=>{o.data&&q.success(s("app.save_success"))}});m.useEffect(()=>{if(c?.data.app){const o=c.data.app;Object.entries(o).forEach(([d,p])=>{r.setValue(d,p)}),l.current=o}},[c]);const u=m.useCallback(ve.debounce(async o=>{if(!ve.isEqual(o,l.current)){a(!0);try{await i(o),l.current=o}finally{a(!1)}}},1e3),[i]),x=m.useCallback(o=>{u(o)},[u]);return m.useEffect(()=>{const o=r.watch(d=>{x(d)});return()=>o.unsubscribe()},[r.watch,x]),e.jsx(ue,{...r,children:e.jsxs("div",{className:"space-y-4",children:[e.jsx(y,{control:r.control,name:"windows_version",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("app.windows.version.title")}),e.jsx(w,{children:e.jsx(D,{placeholder:s("common.placeholder"),...o,value:o.value||""})}),e.jsx(M,{children:s("app.windows.version.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:r.control,name:"windows_download_url",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("app.windows.download.title")}),e.jsx(w,{children:e.jsx(D,{placeholder:s("common.placeholder"),...o,value:o.value||""})}),e.jsx(M,{children:s("app.windows.download.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:r.control,name:"macos_version",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("app.macos.version.title")}),e.jsx(w,{children:e.jsx(D,{placeholder:s("common.placeholder"),...o,value:o.value||""})}),e.jsx(M,{children:s("app.macos.version.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:r.control,name:"macos_download_url",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("app.macos.download.title")}),e.jsx(w,{children:e.jsx(D,{placeholder:s("common.placeholder"),...o,value:o.value||""})}),e.jsx(M,{children:s("app.macos.download.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:r.control,name:"android_version",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("app.android.version.title")}),e.jsx(w,{children:e.jsx(D,{placeholder:s("common.placeholder"),...o,value:o.value||""})}),e.jsx(M,{children:s("app.android.version.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:r.control,name:"android_download_url",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{className:"text-base",children:s("app.android.download.title")}),e.jsx(w,{children:e.jsx(D,{placeholder:s("common.placeholder"),...o,value:o.value||""})}),e.jsx(M,{children:s("app.android.download.description")}),e.jsx(E,{})]})}),n&&e.jsx("div",{className:"text-sm text-muted-foreground",children:s("common.saving")})]})})}function Gm(){const{t:s}=I("settings");return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-medium",children:s("app.title")}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s("app.description")})]}),e.jsx(ye,{}),e.jsx(Bm,{})]})}const Wm=Object.freeze(Object.defineProperty({__proto__:null,default:Gm},Symbol.toStringTag,{value:"Module"})),fa=m.forwardRef(({className:s,...n},a)=>e.jsx("div",{className:"relative w-full overflow-auto",children:e.jsx("table",{ref:a,className:_("w-full caption-bottom text-sm",s),...n})}));fa.displayName="Table";const pa=m.forwardRef(({className:s,...n},a)=>e.jsx("thead",{ref:a,className:_("[&_tr]:border-b",s),...n}));pa.displayName="TableHeader";const ga=m.forwardRef(({className:s,...n},a)=>e.jsx("tbody",{ref:a,className:_("[&_tr:last-child]:border-0",s),...n}));ga.displayName="TableBody";const Ym=m.forwardRef(({className:s,...n},a)=>e.jsx("tfoot",{ref:a,className:_("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",s),...n}));Ym.displayName="TableFooter";const ys=m.forwardRef(({className:s,...n},a)=>e.jsx("tr",{ref:a,className:_("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",s),...n}));ys.displayName="TableRow";const ja=m.forwardRef(({className:s,...n},a)=>e.jsx("th",{ref:a,className:_("h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",s),...n}));ja.displayName="TableHead";const Ks=m.forwardRef(({className:s,...n},a)=>e.jsx("td",{ref:a,className:_("p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",s),...n}));Ks.displayName="TableCell";const Jm=m.forwardRef(({className:s,...n},a)=>e.jsx("caption",{ref:a,className:_("mt-4 text-sm text-muted-foreground",s),...n}));Jm.displayName="TableCaption";function Qm({table:s}){const[n,a]=m.useState(""),{t:l}=I("common");m.useEffect(()=>{a((s.getState().pagination.pageIndex+1).toString())},[s.getState().pagination.pageIndex]);const r=c=>{const i=parseInt(c);!isNaN(i)&&i>=1&&i<=s.getPageCount()?s.setPageIndex(i-1):a((s.getState().pagination.pageIndex+1).toString())};return e.jsxs("div",{className:"flex flex-col-reverse gap-4 px-2 py-4 sm:flex-row sm:items-center sm:justify-between",children:[e.jsx("div",{className:"flex-1 text-sm text-muted-foreground",children:l("table.pagination.selected",{selected:s.getFilteredSelectedRowModel().rows.length,total:s.getFilteredRowModel().rows.length})}),e.jsxs("div",{className:"flex flex-col-reverse items-center gap-4 sm:flex-row sm:gap-6 lg:gap-8",children:[e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx("p",{className:"text-sm font-medium",children:l("table.pagination.itemsPerPage")}),e.jsxs(G,{value:`${s.getState().pagination.pageSize}`,onValueChange:c=>{s.setPageSize(Number(c))},children:[e.jsx(U,{className:"h-8 w-[70px]",children:e.jsx(W,{placeholder:s.getState().pagination.pageSize})}),e.jsx(B,{side:"top",children:[10,20,30,40,50,100,500].map(c=>e.jsx(L,{value:`${c}`,children:c},c))})]})]}),e.jsxs("div",{className:"flex items-center justify-center space-x-2 text-sm font-medium",children:[e.jsx("span",{children:l("table.pagination.page")}),e.jsx(D,{type:"text",value:n,onChange:c=>a(c.target.value),onBlur:c=>r(c.target.value),onKeyDown:c=>{c.key==="Enter"&&r(c.currentTarget.value)},className:"h-8 w-[50px] text-center"}),e.jsx("span",{children:l("table.pagination.pageOf",{total:s.getPageCount()})})]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsxs(V,{variant:"outline",className:"hidden h-8 w-8 p-0 lg:flex",onClick:()=>s.setPageIndex(0),disabled:!s.getCanPreviousPage(),children:[e.jsx("span",{className:"sr-only",children:l("table.pagination.firstPage")}),e.jsx(li,{className:"h-4 w-4"})]}),e.jsxs(V,{variant:"outline",className:"h-8 w-8 p-0",onClick:()=>s.previousPage(),disabled:!s.getCanPreviousPage(),children:[e.jsx("span",{className:"sr-only",children:l("table.pagination.previousPage")}),e.jsx(En,{className:"h-4 w-4"})]}),e.jsxs(V,{variant:"outline",className:"h-8 w-8 p-0",onClick:()=>s.nextPage(),disabled:!s.getCanNextPage(),children:[e.jsx("span",{className:"sr-only",children:l("table.pagination.nextPage")}),e.jsx(oa,{className:"h-4 w-4"})]}),e.jsxs(V,{variant:"outline",className:"hidden h-8 w-8 p-0 lg:flex",onClick:()=>s.setPageIndex(s.getPageCount()-1),disabled:!s.getCanNextPage(),children:[e.jsx("span",{className:"sr-only",children:l("table.pagination.lastPage")}),e.jsx(oi,{className:"h-4 w-4"})]})]})]})]})}function es({table:s,toolbar:n,draggable:a=!1,onDragStart:l,onDragEnd:r,onDragOver:c,onDragLeave:i,onDrop:u,showPagination:x=!0,isLoading:o=!1}){const{t:d}=I("common"),p=m.useRef(null),T=s.getAllColumns().filter(S=>S.getIsPinned()==="left"),R=s.getAllColumns().filter(S=>S.getIsPinned()==="right"),f=S=>T.slice(0,S).reduce((j,C)=>j+(C.getSize()??0),0),g=S=>R.slice(S+1).reduce((j,C)=>j+(C.getSize()??0),0);return e.jsxs("div",{className:"space-y-4",children:[typeof n=="function"?n(s):n,e.jsx("div",{ref:p,className:"relative overflow-auto rounded-md border bg-card",children:e.jsx("div",{className:"overflow-auto",children:e.jsxs(fa,{children:[e.jsx(pa,{children:s.getHeaderGroups().map(S=>e.jsx(ys,{className:"hover:bg-transparent",children:S.headers.map((j,C)=>{const k=j.column.getIsPinned()==="left",v=j.column.getIsPinned()==="right",P=k?f(T.indexOf(j.column)):void 0,z=v?g(R.indexOf(j.column)):void 0;return e.jsx(ja,{colSpan:j.colSpan,style:{width:j.getSize(),...k&&{left:P},...v&&{right:z}},className:_("h-11 bg-card px-4 text-muted-foreground",(k||v)&&["sticky z-20","before:absolute before:bottom-0 before:top-0 before:w-[1px] before:bg-border",k&&"before:right-0",v&&"before:left-0"]),children:j.isPlaceholder?null:Nt(j.column.columnDef.header,j.getContext())},j.id)})},S.id))}),e.jsx(ga,{children:s.getRowModel().rows?.length?s.getRowModel().rows.map((S,j)=>e.jsx(ys,{"data-state":S.getIsSelected()&&"selected",className:"hover:bg-muted/50",draggable:a,onDragStart:C=>l?.(C,j),onDragEnd:r,onDragOver:c,onDragLeave:i,onDrop:C=>u?.(C,j),children:S.getVisibleCells().map((C,k)=>{const v=C.column.getIsPinned()==="left",P=C.column.getIsPinned()==="right",z=v?f(T.indexOf(C.column)):void 0,Q=P?g(R.indexOf(C.column)):void 0;return e.jsx(Ks,{style:{width:C.column.getSize(),...v&&{left:z},...P&&{right:Q}},className:_("bg-card",(v||P)&&["sticky z-20","before:absolute before:bottom-0 before:top-0 before:w-[1px] before:bg-border",v&&"before:right-0",P&&"before:left-0"]),children:Nt(C.column.columnDef.cell,C.getContext())},C.id)})},S.id)):e.jsx(ys,{children:e.jsx(Ks,{colSpan:s.getAllColumns().length,className:"h-24 text-center",children:d("table.noData")})})})]})})}),x&&e.jsx(Qm,{table:s})]})}const Zm=s=>h.object({id:h.number().nullable(),name:h.string().min(2,s("form.validation.name.min")).max(30,s("form.validation.name.max")),icon:h.string().optional().nullable(),notify_domain:h.string().refine(a=>!a||/^https?:\/\/\S+/.test(a),s("form.validation.notify_domain.url")).optional().nullable(),handling_fee_fixed:h.coerce.number().min(0).optional().nullable(),handling_fee_percent:h.coerce.number().min(0).max(100).optional().nullable(),payment:h.string().min(1,s("form.validation.payment.required")),config:h.record(h.string(),h.string())}),Ha={id:null,name:"",icon:"",notify_domain:"",handling_fee_fixed:0,handling_fee_percent:0,payment:"",config:{}};function Sr({refetch:s,dialogTrigger:n,type:a="add",defaultFormValues:l=Ha}){const{t:r}=I("payment"),[c,i]=m.useState(!1),[u,x]=m.useState(!1),[o,d]=m.useState([]),[p,T]=m.useState([]),R=Zm(r),f=de({resolver:me(R),defaultValues:l,mode:"onChange"}),g=f.watch("payment");m.useEffect(()=>{c&&(async()=>{const{data:C}=await Zc();d(C)})()},[c]),m.useEffect(()=>{if(!g||!c)return;(async()=>{const C={payment:g,...a==="edit"&&{id:Number(f.getValues("id"))}};Xc(C).then(({data:k})=>{T(k);const v=k.reduce((P,z)=>(z.field_name&&(P[z.field_name]=z.value??""),P),{});f.setValue("config",v)})})()},[g,c,f,a]);const S=async j=>{x(!0);try{(await ed(j)).data&&(q.success(r("form.messages.success")),f.reset(Ha),s(),i(!1))}finally{x(!1)}};return e.jsxs(pe,{open:c,onOpenChange:i,children:[e.jsx(ze,{asChild:!0,children:n||e.jsxs(V,{variant:"outline",size:"sm",className:"space-x-2",children:[e.jsx(Se,{icon:"ion:add"})," ",e.jsx("div",{children:r("form.add.button")})]})}),e.jsxs(fe,{className:"sm:max-w-[425px]",children:[e.jsx(be,{children:e.jsx(ge,{children:r(a==="add"?"form.add.title":"form.edit.title")})}),e.jsx(ue,{...f,children:e.jsxs("form",{onSubmit:f.handleSubmit(S),className:"space-y-4",children:[e.jsx(y,{control:f.control,name:"name",render:({field:j})=>e.jsxs(b,{children:[e.jsx(N,{children:r("form.fields.name.label")}),e.jsx(w,{children:e.jsx(D,{placeholder:r("form.fields.name.placeholder"),...j})}),e.jsx(M,{children:r("form.fields.name.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:f.control,name:"icon",render:({field:j})=>e.jsxs(b,{children:[e.jsx(N,{children:r("form.fields.icon.label")}),e.jsx(w,{children:e.jsx(D,{...j,value:j.value||"",placeholder:r("form.fields.icon.placeholder")})}),e.jsx(M,{children:r("form.fields.icon.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:f.control,name:"notify_domain",render:({field:j})=>e.jsxs(b,{children:[e.jsx(N,{children:r("form.fields.notify_domain.label")}),e.jsx(w,{children:e.jsx(D,{...j,value:j.value||"",placeholder:r("form.fields.notify_domain.placeholder")})}),e.jsx(M,{children:r("form.fields.notify_domain.description")}),e.jsx(E,{})]})}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsx(y,{control:f.control,name:"handling_fee_percent",render:({field:j})=>e.jsxs(b,{children:[e.jsx(N,{children:r("form.fields.handling_fee_percent.label")}),e.jsx(w,{children:e.jsx(D,{type:"number",...j,value:j.value||"",placeholder:r("form.fields.handling_fee_percent.placeholder")})}),e.jsx(E,{})]})}),e.jsx(y,{control:f.control,name:"handling_fee_fixed",render:({field:j})=>e.jsxs(b,{children:[e.jsx(N,{children:r("form.fields.handling_fee_fixed.label")}),e.jsx(w,{children:e.jsx(D,{type:"number",...j,value:j.value||"",placeholder:r("form.fields.handling_fee_fixed.placeholder")})}),e.jsx(E,{})]})})]}),e.jsx(y,{control:f.control,name:"payment",render:({field:j})=>e.jsxs(b,{children:[e.jsx(N,{children:r("form.fields.payment.label")}),e.jsxs(G,{onValueChange:j.onChange,defaultValue:j.value,children:[e.jsx(w,{children:e.jsx(U,{children:e.jsx(W,{placeholder:r("form.fields.payment.placeholder")})})}),e.jsx(B,{children:o.map(C=>e.jsx(L,{value:C,children:C},C))})]}),e.jsx(M,{children:r("form.fields.payment.description")}),e.jsx(E,{})]})}),p.length>0&&e.jsx("div",{className:"space-y-4",children:p.map(j=>e.jsx(y,{control:f.control,name:`config.${j.field_name}`,render:({field:C})=>e.jsxs(b,{children:[e.jsx(N,{children:j.label}),e.jsx(w,{children:e.jsx(D,{...C,value:C.value||""})}),e.jsx(E,{})]})},j.field_name))}),e.jsxs(Le,{children:[e.jsx(mt,{asChild:!0,children:e.jsx(V,{type:"button",variant:"outline",children:r("form.buttons.cancel")})}),e.jsx(V,{type:"submit",disabled:u,children:r("form.buttons.submit")})]})]})})]})]})}function O({column:s,title:n,tooltip:a,className:l}){return s.getCanSort()?e.jsx("div",{className:"flex items-center gap-1",children:e.jsx("div",{className:"flex items-center gap-2",children:e.jsxs(V,{variant:"ghost",size:"default",className:_("-ml-3 flex h-8 items-center gap-2 text-nowrap font-medium hover:bg-muted/60",l),onClick:()=>s.toggleSorting(s.getIsSorted()==="asc"),children:[e.jsx("span",{children:n}),a&&e.jsx(ce,{delayDuration:100,children:e.jsxs(oe,{children:[e.jsx(ie,{asChild:!0,children:e.jsx(Va,{className:"h-4 w-4 cursor-pointer text-muted-foreground"})}),e.jsx(te,{children:a})]})}),s.getIsSorted()==="asc"?e.jsx(Jt,{className:"h-4 w-4 text-foreground/70"}):s.getIsSorted()==="desc"?e.jsx(Qt,{className:"h-4 w-4 text-foreground/70"}):e.jsx(ii,{className:"h-4 w-4 text-muted-foreground/70 transition-colors hover:text-foreground/70"})]})})}):e.jsxs("div",{className:_("flex items-center space-x-1 text-nowrap py-2 font-medium text-muted-foreground",l),children:[e.jsx("span",{children:n}),a&&e.jsx(ce,{delayDuration:100,children:e.jsxs(oe,{children:[e.jsx(ie,{children:e.jsx(Va,{className:"h-4 w-4 text-muted-foreground"})}),e.jsx(te,{children:a})]})})]})}const Xm=ci,eu=di,su=mi,kr=m.forwardRef(({className:s,...n},a)=>e.jsx(An,{className:_("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",s),...n,ref:a}));kr.displayName=An.displayName;const Pr=m.forwardRef(({className:s,...n},a)=>e.jsxs(su,{children:[e.jsx(kr,{}),e.jsx($n,{ref:a,className:_("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",s),...n})]}));Pr.displayName=$n.displayName;const Tr=({className:s,...n})=>e.jsx("div",{className:_("flex flex-col space-y-2 text-center sm:text-left",s),...n});Tr.displayName="AlertDialogHeader";const Dr=({className:s,...n})=>e.jsx("div",{className:_("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",s),...n});Dr.displayName="AlertDialogFooter";const Er=m.forwardRef(({className:s,...n},a)=>e.jsx(qn,{ref:a,className:_("text-lg font-semibold",s),...n}));Er.displayName=qn.displayName;const Rr=m.forwardRef(({className:s,...n},a)=>e.jsx(Kn,{ref:a,className:_("text-sm text-muted-foreground",s),...n}));Rr.displayName=Kn.displayName;const Vr=m.forwardRef(({className:s,...n},a)=>e.jsx(Hn,{ref:a,className:_(Us(),s),...n}));Vr.displayName=Hn.displayName;const Ir=m.forwardRef(({className:s,...n},a)=>e.jsx(Un,{ref:a,className:_(Us({variant:"outline"}),"mt-2 sm:mt-0",s),...n}));Ir.displayName=Un.displayName;function Ue({onConfirm:s,children:n,title:a="确认操作",description:l="确定要执行此操作吗?",cancelText:r="取消",confirmText:c="确认",variant:i="default",className:u}){return e.jsxs(Xm,{children:[e.jsx(eu,{asChild:!0,children:n}),e.jsxs(Pr,{className:_("sm:max-w-[425px]",u),children:[e.jsxs(Tr,{children:[e.jsx(Er,{children:a}),e.jsx(Rr,{children:l})]}),e.jsxs(Dr,{children:[e.jsx(Ir,{asChild:!0,children:e.jsx(V,{variant:"outline",children:r})}),e.jsx(Vr,{asChild:!0,children:e.jsx(V,{variant:i,onClick:s,children:c})})]})]})]})}const Fr=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M11.29 15.29a2 2 0 0 0-.12.15a.8.8 0 0 0-.09.18a.6.6 0 0 0-.06.18a1.4 1.4 0 0 0 0 .2a.84.84 0 0 0 .08.38a.9.9 0 0 0 .54.54a.94.94 0 0 0 .76 0a.9.9 0 0 0 .54-.54A1 1 0 0 0 13 16a1 1 0 0 0-.29-.71a1 1 0 0 0-1.42 0M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2m0 18a8 8 0 1 1 8-8a8 8 0 0 1-8 8m0-13a3 3 0 0 0-2.6 1.5a1 1 0 1 0 1.73 1A1 1 0 0 1 12 9a1 1 0 0 1 0 2a1 1 0 0 0-1 1v1a1 1 0 0 0 2 0v-.18A3 3 0 0 0 12 7"})}),tu=({refetch:s,isSortMode:n=!1})=>{const{t:a}=I("payment");return[{id:"drag-handle",header:()=>null,cell:()=>e.jsx("div",{className:n?"cursor-move":"opacity-0",children:e.jsx(Rt,{className:"size-4"})}),size:40,enableSorting:!1},{accessorKey:"id",header:({column:l})=>e.jsx(O,{column:l,title:a("table.columns.id")}),cell:({row:l})=>e.jsx(K,{variant:"outline",children:l.getValue("id")}),enableSorting:!0,size:60},{accessorKey:"enable",header:({column:l})=>e.jsx(O,{column:l,title:a("table.columns.enable")}),cell:({row:l})=>e.jsx(H,{defaultChecked:l.getValue("enable"),onCheckedChange:async()=>{const{data:r}=await td({id:l.original.id});r||s()}}),enableSorting:!1,size:100},{accessorKey:"name",header:({column:l})=>e.jsx(O,{column:l,title:a("table.columns.name")}),cell:({row:l})=>e.jsx("div",{className:"flex items-center",children:e.jsx("span",{className:"max-w-[200px] truncate font-medium",children:l.getValue("name")})}),enableSorting:!1,size:200},{accessorKey:"payment",header:({column:l})=>e.jsx(O,{column:l,title:a("table.columns.payment")}),cell:({row:l})=>e.jsx("div",{className:"flex items-center",children:e.jsx("span",{className:"max-w-[200px] truncate font-medium",children:l.getValue("payment")})}),enableSorting:!1,size:200},{accessorKey:"notify_url",header:({column:l})=>e.jsxs("div",{className:"flex items-center",children:[e.jsx(O,{column:l,title:a("table.columns.notify_url")}),e.jsx(ce,{delayDuration:100,children:e.jsxs(oe,{children:[e.jsx(ie,{className:"ml-1",children:e.jsx(Fr,{className:"h-4 w-4"})}),e.jsx(te,{children:a("table.columns.notify_url_tooltip")})]})})]}),cell:({row:l})=>e.jsx("div",{className:"flex items-center",children:e.jsx("span",{className:"max-w-[300px] truncate font-medium",children:l.getValue("notify_url")})}),enableSorting:!1,size:3e3},{id:"actions",header:({column:l})=>e.jsx(O,{className:"justify-end",column:l,title:a("table.columns.actions")}),cell:({row:l})=>e.jsxs("div",{className:"flex items-center justify-end space-x-2",children:[e.jsx(Sr,{refetch:s,dialogTrigger:e.jsxs(V,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-muted",children:[e.jsx(Is,{className:"h-4 w-4 text-muted-foreground hover:text-foreground"}),e.jsx("span",{className:"sr-only",children:a("table.actions.edit")})]}),type:"edit",defaultFormValues:l.original}),e.jsx(Ue,{title:a("table.actions.delete.title"),description:a("table.actions.delete.description"),onConfirm:async()=>{const{data:r}=await sd({id:l.original.id});r&&s()},children:e.jsxs(V,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-destructive/10",children:[e.jsx(ns,{className:"h-4 w-4 text-muted-foreground hover:text-destructive"}),e.jsx("span",{className:"sr-only",children:a("table.actions.delete.title")})]})})]}),size:100}]};function au({table:s,refetch:n,saveOrder:a,isSortMode:l}){const{t:r}=I("payment"),c=s.getState().columnFilters.length>0;return e.jsxs("div",{className:"flex items-center justify-between",children:[l?e.jsx("p",{className:"text-sm text-muted-foreground",children:r("table.toolbar.sort.hint")}):e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Sr,{refetch:n}),e.jsx(D,{placeholder:r("table.toolbar.search"),value:s.getColumn("name")?.getFilterValue()??"",onChange:i=>s.getColumn("name")?.setFilterValue(i.target.value),className:"h-8 w-[250px]"}),c&&e.jsxs(V,{variant:"ghost",onClick:()=>s.resetColumnFilters(),children:[r("table.toolbar.reset"),e.jsx(Ae,{className:"ml-2 h-4 w-4"})]})]}),s.getRowCount()>0&&e.jsx("div",{className:"flex items-center gap-2",children:e.jsx(V,{variant:l?"default":"outline",onClick:a,size:"sm",children:r(l?"table.toolbar.sort.save":"table.toolbar.sort.edit")})})]})}function nu(){const[s,n]=m.useState([]),[a,l]=m.useState([]),[r,c]=m.useState(!1),[i,u]=m.useState([]),[x,o]=m.useState({"drag-handle":!1}),[d,p]=m.useState({pageSize:20,pageIndex:0}),{refetch:T}=se({queryKey:["paymentList"],queryFn:async()=>{const{data:j}=await Qc();return u(j?.map(C=>({...C,enable:!!C.enable}))||[]),j}});m.useEffect(()=>{o({"drag-handle":r,actions:!r}),p({pageSize:r?99999:10,pageIndex:0})},[r]);const R=(j,C)=>{r&&(j.dataTransfer.setData("text/plain",C.toString()),j.currentTarget.classList.add("opacity-50"))},f=(j,C)=>{if(!r)return;j.preventDefault(),j.currentTarget.classList.remove("bg-muted");const k=parseInt(j.dataTransfer.getData("text/plain"));if(k===C)return;const v=[...i],[P]=v.splice(k,1);v.splice(C,0,P),u(v)},g=async()=>{r?ad({ids:i.map(j=>j.id)}).then(()=>{T(),c(!1),q.success("排序保存成功")}):c(!0)},S=Ke({data:i,columns:tu({refetch:T,isSortMode:r}),state:{sorting:a,columnFilters:s,columnVisibility:x,pagination:d},onSortingChange:l,onColumnFiltersChange:n,onColumnVisibilityChange:o,getCoreRowModel:He(),getFilteredRowModel:Je(),getPaginationRowModel:Qe(),getSortedRowModel:Ze(),initialState:{columnPinning:{right:["actions"]}},pageCount:r?1:void 0});return e.jsx(es,{table:S,toolbar:j=>e.jsx(au,{table:j,refetch:T,saveOrder:g,isSortMode:r}),draggable:r,onDragStart:R,onDragEnd:j=>j.currentTarget.classList.remove("opacity-50"),onDragOver:j=>{j.preventDefault(),j.currentTarget.classList.add("bg-muted")},onDragLeave:j=>j.currentTarget.classList.remove("bg-muted"),onDrop:f,showPagination:!r})}function ru(){const{t:s}=I("payment");return e.jsxs(we,{children:[e.jsxs(Ce,{className:"flex items-center justify-between",children:[e.jsx(Ie,{}),e.jsxs("div",{className:"flex items-center space-x-4",children:[e.jsx(Ee,{}),e.jsx(Re,{})]})]}),e.jsxs(Pe,{children:[e.jsx("header",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("div",{className:"mb-2",children:e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:s("title")})}),e.jsx("p",{className:"text-muted-foreground",children:s("description")})]})}),e.jsx("section",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx(nu,{})})]})]})}const lu=Object.freeze(Object.defineProperty({__proto__:null,default:ru},Symbol.toStringTag,{value:"Module"}));function ou({pluginName:s,onClose:n,onSuccess:a}){const{t:l}=I("plugin"),[r,c]=m.useState(!0),[i,u]=m.useState(!1),[x,o]=m.useState(null),d=ui({config:xi(hi())}),p=de({resolver:me(d),defaultValues:{config:{}}});m.useEffect(()=>{(async()=>{try{const{data:g}=await Ds.getPluginConfig(s);o(g),p.reset({config:Object.fromEntries(Object.entries(g).map(([S,j])=>[S,j.value]))})}catch{q.error(l("messages.configLoadError"))}finally{c(!1)}})()},[s]);const T=async f=>{u(!0);try{await Ds.updatePluginConfig(s,f.config),q.success(l("messages.configSaveSuccess")),a()}catch{q.error(l("messages.configSaveError"))}finally{u(!1)}},R=(f,g)=>{switch(g.type){case"string":return e.jsx(y,{control:p.control,name:`config.${f}`,render:({field:S})=>e.jsxs(b,{children:[e.jsx(N,{children:g.label||g.description}),e.jsx(w,{children:e.jsx(D,{placeholder:g.placeholder,...S})}),g.description&&g.label&&e.jsx("p",{className:"text-sm text-muted-foreground",children:g.description}),e.jsx(E,{})]})},f);case"number":case"percentage":return e.jsx(y,{control:p.control,name:`config.${f}`,render:({field:S})=>e.jsxs(b,{children:[e.jsx(N,{children:g.label||g.description}),e.jsx(w,{children:e.jsxs("div",{className:"relative",children:[e.jsx(D,{type:"number",placeholder:g.placeholder,...S,onChange:j=>{const C=Number(j.target.value);g.type==="percentage"?S.onChange(Math.min(100,Math.max(0,C))):S.onChange(C)},className:g.type==="percentage"?"pr-8":"",min:g.type==="percentage"?0:void 0,max:g.type==="percentage"?100:void 0,step:g.type==="percentage"?1:void 0}),g.type==="percentage"&&e.jsx("div",{className:"pointer-events-none absolute inset-y-0 right-0 flex items-center pr-3",children:e.jsx(fi,{className:"h-4 w-4 text-muted-foreground"})})]})}),g.description&&g.label&&e.jsx("p",{className:"text-sm text-muted-foreground",children:g.description}),e.jsx(E,{})]})},f);case"select":return e.jsx(y,{control:p.control,name:`config.${f}`,render:({field:S})=>e.jsxs(b,{children:[e.jsx(N,{children:g.label||g.description}),e.jsxs(G,{onValueChange:S.onChange,defaultValue:S.value,children:[e.jsx(w,{children:e.jsx(U,{children:e.jsx(W,{placeholder:g.placeholder})})}),e.jsx(B,{children:g.options?.map(j=>e.jsx(L,{value:j.value,children:j.label},j.value))})]}),g.description&&g.label&&e.jsx("p",{className:"text-sm text-muted-foreground",children:g.description}),e.jsx(E,{})]})},f);case"boolean":return e.jsx(y,{control:p.control,name:`config.${f}`,render:({field:S})=>e.jsxs(b,{className:"flex flex-row items-center justify-between rounded-lg border p-4",children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(N,{className:"text-base",children:g.label||g.description}),g.description&&g.label&&e.jsx("p",{className:"text-sm text-muted-foreground",children:g.description})]}),e.jsx(w,{children:e.jsx(H,{checked:S.value,onCheckedChange:S.onChange})})]})},f);case"text":return e.jsx(y,{control:p.control,name:`config.${f}`,render:({field:S})=>e.jsxs(b,{children:[e.jsx(N,{children:g.label||g.description}),e.jsx(w,{children:e.jsx(ps,{placeholder:g.placeholder,...S})}),g.description&&g.label&&e.jsx("p",{className:"text-sm text-muted-foreground",children:g.description}),e.jsx(E,{})]})},f);default:return null}};return r?e.jsxs("div",{className:"space-y-4",children:[e.jsx(le,{className:"h-4 w-[200px]"}),e.jsx(le,{className:"h-10 w-full"}),e.jsx(le,{className:"h-4 w-[200px]"}),e.jsx(le,{className:"h-10 w-full"})]}):e.jsx(ue,{...p,children:e.jsxs("form",{onSubmit:p.handleSubmit(T),className:"space-y-4",children:[x&&Object.entries(x).map(([f,g])=>R(f,g)),e.jsxs("div",{className:"flex justify-end space-x-2",children:[e.jsx(V,{type:"button",variant:"outline",onClick:n,disabled:i,children:l("config.cancel")}),e.jsx(V,{type:"submit",loading:i,disabled:i,children:l("config.save")})]})]})})}function iu(){const{t:s}=I("plugin"),[n,a]=m.useState(null),[l,r]=m.useState(!1),[c,i]=m.useState(null),[u,x]=m.useState(""),[o,d]=m.useState("all"),{data:p,isLoading:T,refetch:R}=se({queryKey:["pluginList"],queryFn:async()=>{const{data:v}=await Ds.getPluginList();return v}}),f=p?["all",...new Set(p.map(v=>v.category||"other"))]:["all"],g=p?.filter(v=>{const P=v.name.toLowerCase().includes(u.toLowerCase())||v.description.toLowerCase().includes(u.toLowerCase())||v.code.toLowerCase().includes(u.toLowerCase()),z=o==="all"||v.category===o;return P&&z}),S=async v=>{a(v),Ds.installPlugin(v).then(()=>{q.success(s("messages.installSuccess")),R()}).catch(P=>{q.error(P.message||s("messages.installError"))}).finally(()=>{a(null)})},j=async v=>{a(v),Ds.uninstallPlugin(v).then(()=>{q.success(s("messages.uninstallSuccess")),R()}).catch(P=>{q.error(P.message||s("messages.uninstallError"))}).finally(()=>{a(null)})},C=async(v,P)=>{a(v),(P?Ds.disablePlugin:Ds.enablePlugin)(v).then(()=>{q.success(s(P?"messages.disableSuccess":"messages.enableSuccess")),R()}).catch(Q=>{q.error(Q.message||s(P?"messages.disableError":"messages.enableError"))}).finally(()=>{a(null)})},k=v=>{p?.find(P=>P.code===v),i(v),r(!0)};return e.jsxs(we,{children:[e.jsxs(Ce,{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center space-x-4",children:[e.jsx(ia,{className:"h-6 w-6"}),e.jsx("h1",{className:"text-2xl font-bold tracking-tight",children:s("title")})]}),e.jsxs("div",{className:"flex items-center space-x-4",children:[e.jsx(Ee,{}),e.jsx(Re,{})]})]}),e.jsxs(Pe,{children:[e.jsxs("div",{className:"mb-8 space-y-4",children:[e.jsxs("div",{className:"flex flex-col gap-4 md:flex-row md:items-center md:justify-between",children:[e.jsxs("div",{className:"relative max-w-sm flex-1",children:[e.jsx(gn,{className:"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),e.jsx(D,{placeholder:s("search.placeholder"),value:u,onChange:v=>x(v.target.value),className:"pl-9"})]}),e.jsxs(G,{value:o,onValueChange:d,children:[e.jsx(U,{className:"w-[180px]",children:e.jsx(W,{placeholder:s("category.placeholder")})}),e.jsx(B,{children:f.map(v=>e.jsx(L,{value:v,children:s(`category.${v}`)},v))})]})]}),e.jsxs(ha,{defaultValue:"all",className:"w-full",children:[e.jsxs(Ot,{children:[e.jsx(Ns,{value:"all",children:s("tabs.all")}),e.jsx(Ns,{value:"installed",children:s("tabs.installed")}),e.jsx(Ns,{value:"available",children:s("tabs.available")})]}),e.jsx(bt,{value:"all",className:"mt-6",children:e.jsx("div",{className:"space-y-4",children:T?e.jsxs(e.Fragment,{children:[e.jsx(Ht,{}),e.jsx(Ht,{}),e.jsx(Ht,{})]}):g?.map(v=>e.jsx(Kt,{plugin:v,onInstall:S,onUninstall:j,onToggleEnable:C,onOpenConfig:k,isLoading:n===v.name},v.name))})}),e.jsx(bt,{value:"installed",className:"mt-6",children:e.jsx("div",{className:"space-y-4",children:g?.filter(v=>v.is_installed).map(v=>e.jsx(Kt,{plugin:v,onInstall:S,onUninstall:j,onToggleEnable:C,onOpenConfig:k,isLoading:n===v.name},v.name))})}),e.jsx(bt,{value:"available",className:"mt-6",children:e.jsx("div",{className:"space-y-4",children:g?.filter(v=>!v.is_installed).map(v=>e.jsx(Kt,{plugin:v,onInstall:S,onUninstall:j,onToggleEnable:C,onOpenConfig:k,isLoading:n===v.name},v.code))})})]})]}),e.jsx(pe,{open:l,onOpenChange:r,children:e.jsxs(fe,{className:"sm:max-w-lg",children:[e.jsxs(be,{children:[e.jsxs(ge,{children:[p?.find(v=>v.code===c)?.name," ",s("config.title")]}),e.jsx(Te,{children:s("config.description")})]}),c&&e.jsx(ou,{pluginName:c,onClose:()=>r(!1),onSuccess:()=>{r(!1),R()}})]})})]})]})}function Kt({plugin:s,onInstall:n,onUninstall:a,onToggleEnable:l,onOpenConfig:r,isLoading:c}){const{t:i}=I("plugin");return e.jsxs(Me,{className:"group relative overflow-hidden transition-all hover:shadow-md",children:[e.jsxs($e,{children:[e.jsx("div",{className:"flex items-center justify-between",children:e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(cs,{children:s.name}),s.is_installed&&e.jsx(K,{variant:s.is_enabled?"success":"secondary",children:s.is_enabled?i("status.enabled"):i("status.disabled")})]}),e.jsxs("div",{className:"flex items-center gap-4 text-sm text-muted-foreground",children:[e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(ia,{className:"h-4 w-4"}),e.jsx("code",{className:"rounded bg-muted px-1 py-0.5",children:s.code})]}),e.jsxs("div",{children:["v",s.version]})]})]})}),e.jsx(Hs,{children:e.jsxs("div",{className:"space-y-2",children:[e.jsx("div",{className:"mt-2",children:s.description}),e.jsx("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:e.jsxs("div",{className:"flex items-center gap-1",children:[i("author"),": ",s.author]})})]})})]}),e.jsx(qe,{children:e.jsx("div",{className:"flex items-center justify-end space-x-2",children:s.is_installed?e.jsxs(e.Fragment,{children:[e.jsxs(V,{variant:"outline",size:"sm",onClick:()=>r(s.code),disabled:!s.is_enabled||c,children:[e.jsx(pi,{className:"mr-2 h-4 w-4"}),i("button.config")]}),e.jsxs(V,{variant:s.is_enabled?"destructive":"default",size:"sm",onClick:()=>l(s.code,s.is_enabled),disabled:c,children:[e.jsx(gi,{className:"mr-2 h-4 w-4"}),s.is_enabled?i("button.disable"):i("button.enable")]}),e.jsx(Ue,{title:i("uninstall.title"),description:i("uninstall.description"),confirmText:i("uninstall.button"),variant:"destructive",onConfirm:()=>a(s.code),children:e.jsx(V,{variant:"ghost",size:"icon",className:"h-8 w-8 text-muted-foreground hover:text-destructive",disabled:c,children:e.jsx(ns,{className:"h-4 w-4"})})})]}):e.jsx(V,{onClick:()=>n(s.code),disabled:c,loading:c,children:i("button.install")})})})]})}function Ht(){return e.jsxs(Me,{children:[e.jsxs($e,{children:[e.jsx("div",{className:"flex items-center justify-between",children:e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(le,{className:"h-6 w-[200px]"}),e.jsx(le,{className:"h-6 w-[80px]"})]}),e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx(le,{className:"h-5 w-[120px]"}),e.jsx(le,{className:"h-5 w-[60px]"})]})]})}),e.jsxs("div",{className:"space-y-2 pt-2",children:[e.jsx(le,{className:"h-4 w-[300px]"}),e.jsx(le,{className:"h-4 w-[150px]"})]})]}),e.jsx(qe,{children:e.jsxs("div",{className:"flex justify-end space-x-2",children:[e.jsx(le,{className:"h-9 w-[100px]"}),e.jsx(le,{className:"h-9 w-[100px]"}),e.jsx(le,{className:"h-8 w-8"})]})})]})}const cu=Object.freeze(Object.defineProperty({__proto__:null,default:iu},Symbol.toStringTag,{value:"Module"})),du=(s,n)=>{let a=null;switch(s.field_type){case"input":a=e.jsx(D,{placeholder:s.placeholder,...n});break;case"textarea":a=e.jsx(ps,{placeholder:s.placeholder,...n});break;case"select":a=e.jsx("select",{className:_(Us({variant:"outline"}),"w-full appearance-none font-normal"),...n,children:s.select_options&&Object.keys(s.select_options).map(l=>e.jsx("option",{value:l,children:s.select_options?.[l]},l))});break;default:a=null;break}return a};function mu({themeKey:s,themeInfo:n}){const{t:a}=I("theme"),[l,r]=m.useState(!1),[c,i]=m.useState(!1),[u,x]=m.useState(!1),o=de({defaultValues:n.configs.reduce((T,R)=>(T[R.field_name]="",T),{})}),d=async()=>{i(!0),Oc(s).then(({data:T})=>{Object.entries(T).forEach(([R,f])=>{o.setValue(R,f)})}).finally(()=>{i(!1)})},p=async T=>{x(!0),zc(s,T).then(()=>{q.success(a("config.success")),r(!1)}).finally(()=>{x(!1)})};return e.jsxs(pe,{open:l,onOpenChange:T=>{r(T),T?d():o.reset()},children:[e.jsx(ze,{asChild:!0,children:e.jsx(V,{variant:"outline",children:a("card.configureTheme")})}),e.jsxs(fe,{className:"max-h-[90vh] overflow-auto sm:max-w-[425px]",children:[e.jsxs(be,{children:[e.jsx(ge,{children:a("config.title",{name:n.name})}),e.jsx(Te,{children:a("config.description")})]}),c?e.jsx("div",{className:"flex h-40 items-center justify-center",children:e.jsx(da,{className:"h-6 w-6 animate-spin"})}):e.jsx(ue,{...o,children:e.jsxs("form",{onSubmit:o.handleSubmit(p),className:"space-y-4",children:[n.configs.map(T=>e.jsx(y,{control:o.control,name:T.field_name,render:({field:R})=>e.jsxs(b,{children:[e.jsx(N,{children:T.label}),e.jsx(w,{children:du(T,R)}),e.jsx(E,{})]})},T.field_name)),e.jsxs(Le,{className:"mt-6 gap-2",children:[e.jsx(V,{type:"button",variant:"secondary",onClick:()=>r(!1),children:a("config.cancel")}),e.jsx(V,{type:"submit",loading:u,children:a("config.save")})]})]})})]})]})}function uu(){const{t:s}=I("theme"),[n,a]=m.useState(null),[l,r]=m.useState(!1),[c,i]=m.useState(!1),[u,x]=m.useState(!1),[o,d]=m.useState(null),p=m.useRef(null),[T,R]=m.useState(0),{data:f,isLoading:g,refetch:S}=se({queryKey:["themeList"],queryFn:async()=>{const{data:$}=await Mc();return $}}),j=async $=>{a($),$c({frontend_theme:$}).then(()=>{q.success("主题切换成功"),S()}).finally(()=>{a(null)})},C=async $=>{if(!$.name.endsWith(".zip")){q.error(s("upload.error.format"));return}r(!0),Lc($).then(()=>{q.success("主题上传成功"),i(!1),S()}).finally(()=>{r(!1),p.current&&(p.current.value="")})},k=$=>{$.preventDefault(),$.stopPropagation(),$.type==="dragenter"||$.type==="dragover"?x(!0):$.type==="dragleave"&&x(!1)},v=$=>{$.preventDefault(),$.stopPropagation(),x(!1),$.dataTransfer.files&&$.dataTransfer.files[0]&&C($.dataTransfer.files[0])},P=()=>{o&&R($=>$===0?o.images.length-1:$-1)},z=()=>{o&&R($=>$===o.images.length-1?0:$+1)},Q=($,X)=>{R(0),d({name:$,images:X})};return e.jsxs(we,{children:[e.jsxs(Ce,{className:"flex items-center justify-between",children:[e.jsx(Ie,{}),e.jsxs("div",{className:"flex items-center space-x-4",children:[e.jsx(Ee,{}),e.jsx(Re,{})]})]}),e.jsxs(Pe,{className:"",children:[e.jsxs("header",{className:"mb-8",children:[e.jsx("div",{className:"mb-2",children:e.jsx("h1",{className:"text-2xl font-bold tracking-tight",children:s("title")})}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("div",{className:"text-muted-foreground",children:s("description")}),e.jsxs(V,{onClick:()=>i(!0),variant:"outline",className:"ml-4 shrink-0",size:"sm",children:[e.jsx(Yt,{className:"mr-2 h-4 w-4"}),s("upload.button")]})]})]}),e.jsx("section",{className:"grid gap-6 md:grid-cols-1 lg:grid-cols-2 xl:grid-cols-3",children:g?e.jsxs(e.Fragment,{children:[e.jsx(Ua,{}),e.jsx(Ua,{})]}):f?.themes&&Object.entries(f.themes).map(([$,X])=>e.jsx(Me,{className:"group relative overflow-hidden transition-all hover:shadow-md",style:{backgroundImage:X.background_url?`url(${X.background_url})`:"none",backgroundSize:"cover",backgroundPosition:"center"},children:e.jsxs("div",{className:_("relative z-10 h-full transition-colors",X.background_url?"group-hover:from-background/98 bg-gradient-to-t from-background/95 via-background/80 to-background/60 backdrop-blur-[1px] group-hover:via-background/90 group-hover:to-background/70":"bg-background"),children:[!!X.can_delete&&e.jsx("div",{className:"absolute right-2 top-2",children:e.jsx(Ue,{title:s("card.delete.title"),description:s("card.delete.description"),confirmText:s("card.delete.button"),variant:"destructive",onConfirm:async()=>{if($===f?.active){q.error(s("card.delete.error.active"));return}a($),Ac($).then(()=>{q.success("主题删除成功"),S()}).finally(()=>{a(null)})},children:e.jsx(V,{disabled:n===$,loading:n===$,variant:"ghost",size:"icon",className:"h-8 w-8 text-muted-foreground hover:text-destructive",children:e.jsx(ns,{className:"h-4 w-4"})})})}),e.jsxs($e,{children:[e.jsx(cs,{children:X.name}),e.jsx(Hs,{children:e.jsxs("div",{className:"space-y-2",children:[e.jsx("div",{children:X.description}),X.version&&e.jsx("div",{className:"text-sm text-muted-foreground",children:s("card.version",{version:X.version})})]})})]}),e.jsxs(qe,{className:"flex items-center justify-end space-x-3",children:[X.images&&Array.isArray(X.images)&&X.images.length>0&&e.jsx(V,{variant:"outline",size:"icon",className:"h-8 w-8",onClick:()=>Q(X.name,X.images),children:e.jsx(ji,{className:"h-4 w-4"})}),e.jsx(mu,{themeKey:$,themeInfo:X}),e.jsx(V,{onClick:()=>j($),disabled:n===$||$===f.active,loading:n===$,variant:$===f.active?"secondary":"default",children:$===f.active?s("card.currentTheme"):s("card.activateTheme")})]})]})},$))}),e.jsx(pe,{open:c,onOpenChange:i,children:e.jsxs(fe,{className:"sm:max-w-md",children:[e.jsxs(be,{children:[e.jsx(ge,{children:s("upload.title")}),e.jsx(Te,{children:s("upload.description")})]}),e.jsxs("div",{className:_("relative mt-4 flex h-64 flex-col items-center justify-center rounded-lg border-2 border-dashed border-muted-foreground/25 px-5 py-10 text-center transition-colors",u&&"border-primary/50 bg-muted/50"),onDragEnter:k,onDragLeave:k,onDragOver:k,onDrop:v,children:[e.jsx("input",{type:"file",ref:p,className:"hidden",accept:".zip",onChange:$=>{const X=$.target.files?.[0];X&&C(X)}}),l?e.jsxs("div",{className:"flex flex-col items-center space-y-2",children:[e.jsx("div",{className:"h-10 w-10 animate-spin rounded-full border-b-2 border-primary"}),e.jsx("div",{className:"text-sm text-muted-foreground",children:s("upload.uploading")})]}):e.jsx(e.Fragment,{children:e.jsxs("div",{className:"flex flex-col items-center space-y-4",children:[e.jsx("div",{className:"rounded-full border-2 border-muted-foreground/25 p-3",children:e.jsx(Yt,{className:"h-6 w-6 text-muted-foreground/50"})}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"text-sm font-medium",children:[s("upload.dragText")," ",e.jsx("button",{type:"button",onClick:()=>p.current?.click(),className:"mx-1 text-primary hover:underline",children:s("upload.clickText")})]}),e.jsx("div",{className:"text-xs text-muted-foreground",children:s("upload.supportText")})]})]})})]})]})}),e.jsx(pe,{open:!!o,onOpenChange:$=>{$||(d(null),R(0))},children:e.jsxs(fe,{className:"max-w-4xl",children:[e.jsxs(be,{children:[e.jsxs(ge,{children:[o?.name," ",s("preview.title")]}),e.jsx(Te,{className:"text-center",children:o&&s("preview.imageCount",{current:T+1,total:o.images.length})})]}),e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"aspect-[16/9] overflow-hidden rounded-lg border bg-muted",children:o?.images[T]&&e.jsx("img",{src:o.images[T],alt:`${o.name} 预览图 ${T+1}`,className:"h-full w-full object-contain"})}),o&&o.images.length>1&&e.jsxs(e.Fragment,{children:[e.jsx(V,{variant:"outline",size:"icon",className:"absolute left-4 top-1/2 h-8 w-8 -translate-y-1/2 rounded-full bg-background/80 hover:bg-background",onClick:P,children:e.jsx(vi,{className:"h-4 w-4"})}),e.jsx(V,{variant:"outline",size:"icon",className:"absolute right-4 top-1/2 h-8 w-8 -translate-y-1/2 rounded-full bg-background/80 hover:bg-background",onClick:z,children:e.jsx(bi,{className:"h-4 w-4"})})]})]}),o&&o.images.length>1&&e.jsx("div",{className:"mt-4 flex gap-2 overflow-x-auto pb-2",children:o.images.map(($,X)=>e.jsx("button",{onClick:()=>R(X),className:_("relative h-16 w-16 flex-shrink-0 overflow-hidden rounded-md border-2",T===X?"border-primary":"border-transparent"),children:e.jsx("img",{src:$,alt:`缩略图 ${X+1}`,className:"h-full w-full object-cover"})},X))})]})})]})]})}function Ua(){return e.jsxs(Me,{children:[e.jsxs($e,{children:[e.jsx(le,{className:"h-6 w-[200px]"}),e.jsx(le,{className:"h-4 w-[300px]"})]}),e.jsxs(qe,{className:"flex items-center justify-end space-x-3",children:[e.jsx(le,{className:"h-10 w-[100px]"}),e.jsx(le,{className:"h-10 w-[100px]"})]})]})}const xu=Object.freeze(Object.defineProperty({__proto__:null,default:uu},Symbol.toStringTag,{value:"Module"})),va=m.forwardRef(({className:s,value:n,onChange:a,...l},r)=>{const[c,i]=m.useState("");m.useEffect(()=>{if(c.includes(",")){const x=new Set([...n,...c.split(",").map(o=>o.trim())]);a(Array.from(x)),i("")}},[c,a,n]);const u=()=>{if(c){const x=new Set([...n,c]);a(Array.from(x)),i("")}};return e.jsxs("div",{className:_(" has-[:focus-visible]:outline-none has-[:focus-visible]:ring-1 has-[:focus-visible]:ring-neutral-950 dark:has-[:focus-visible]:ring-neutral-300 flex w-full flex-wrap gap-2 rounded-md border border-input shadow-sm px-3 py-2 text-sm ring-offset-white disabled:cursor-not-allowed disabled:opacity-50",s),children:[n.map(x=>e.jsxs(K,{variant:"secondary",children:[x,e.jsx(J,{variant:"ghost",size:"icon",className:"ml-2 h-3 w-3",onClick:()=>{a(n.filter(o=>o!==x))},children:e.jsx(Zt,{className:"w-3"})})]},x)),e.jsx("input",{className:"flex-1 outline-none placeholder:text-muted-foreground bg-transparent",value:c,onChange:x=>i(x.target.value),onKeyDown:x=>{x.key==="Enter"||x.key===","?(x.preventDefault(),u()):x.key==="Backspace"&&c.length===0&&n.length>0&&(x.preventDefault(),a(n.slice(0,-1)))},...l,ref:r})]})});va.displayName="InputTags";const hu=h.object({id:h.number().nullable(),title:h.string().min(1).max(250),content:h.string().min(1),show:h.boolean(),tags:h.array(h.string()),img_url:h.string().nullable()}),fu={id:null,show:!1,tags:[],img_url:"",title:"",content:""};function Mr({refetch:s,dialogTrigger:n,type:a="add",defaultFormValues:l=fu}){const{t:r}=I("notice"),[c,i]=m.useState(!1),u=de({resolver:me(hu),defaultValues:l,mode:"onChange",shouldFocusError:!0}),x=new ma({html:!0});return e.jsx(ue,{...u,children:e.jsxs(pe,{onOpenChange:i,open:c,children:[e.jsx(ze,{asChild:!0,children:n||e.jsxs(V,{variant:"outline",size:"sm",className:"space-x-2",children:[e.jsx(Se,{icon:"ion:add"})," ",e.jsx("div",{children:r("form.add.button")})]})}),e.jsxs(fe,{className:"sm:max-w-[1025px]",children:[e.jsxs(be,{children:[e.jsx(ge,{children:r(a==="add"?"form.add.title":"form.edit.title")}),e.jsx(Te,{})]}),e.jsx(y,{control:u.control,name:"title",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{children:r("form.fields.title.label")}),e.jsx("div",{className:"relative ",children:e.jsx(w,{children:e.jsx(D,{placeholder:r("form.fields.title.placeholder"),...o})})}),e.jsx(E,{})]})}),e.jsx(y,{control:u.control,name:"content",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{children:r("form.fields.content.label")}),e.jsx(w,{children:e.jsx(ua,{style:{height:"500px"},value:o.value,renderHTML:d=>x.render(d),onChange:({text:d})=>{o.onChange(d)}})}),e.jsx(E,{})]})}),e.jsx(y,{control:u.control,name:"img_url",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{children:r("form.fields.img_url.label")}),e.jsx("div",{className:"relative",children:e.jsx(w,{children:e.jsx(D,{type:"text",placeholder:r("form.fields.img_url.placeholder"),...o,value:o.value||""})})}),e.jsx(E,{})]})}),e.jsx(y,{control:u.control,name:"show",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{children:r("form.fields.show.label")}),e.jsx("div",{className:"relative py-2",children:e.jsx(w,{children:e.jsx(H,{checked:o.value,onCheckedChange:o.onChange})})}),e.jsx(E,{})]})}),e.jsx(y,{control:u.control,name:"tags",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{children:r("form.fields.tags.label")}),e.jsx(w,{children:e.jsx(va,{value:o.value,onChange:o.onChange,placeholder:r("form.fields.tags.placeholder"),className:"w-full"})}),e.jsx(E,{})]})}),e.jsxs(Le,{children:[e.jsx(mt,{asChild:!0,children:e.jsx(V,{type:"button",variant:"outline",children:r("form.buttons.cancel")})}),e.jsx(V,{type:"submit",onClick:o=>{o.preventDefault(),u.handleSubmit(async d=>{nd(d).then(({data:p})=>{p&&(q.success(r("form.buttons.success")),s(),i(!1))})})()},children:r("form.buttons.submit")})]})]})]})})}function pu({table:s,refetch:n,saveOrder:a,isSortMode:l}){const{t:r}=I("notice"),c=s.getState().columnFilters.length>0;return e.jsxs("div",{className:"flex items-center justify-between space-x-2 ",children:[e.jsxs("div",{className:"flex flex-1 items-center space-x-2",children:[!l&&e.jsx(Mr,{refetch:n}),!l&&e.jsx(D,{placeholder:r("table.toolbar.search"),value:s.getColumn("title")?.getFilterValue()??"",onChange:i=>s.getColumn("title")?.setFilterValue(i.target.value),className:"h-8 w-[150px] lg:w-[250px]"}),c&&!l&&e.jsxs(V,{variant:"ghost",onClick:()=>s.resetColumnFilters(),className:"h-9 px-2 lg:px-3",children:[r("table.toolbar.reset"),e.jsx(Ae,{className:"ml-2 h-4 w-4"})]})]}),s.getRowCount()>0&&e.jsx("div",{className:"flex items-center space-x-2",children:e.jsx(V,{variant:l?"default":"outline",onClick:a,className:"h-8",size:"sm",children:r(l?"table.toolbar.sort.save":"table.toolbar.sort.edit")})})]})}const gu=s=>{const{t:n}=I("notice");return[{id:"drag-handle",header:"",cell:()=>e.jsx("div",{className:"flex items-center justify-center",children:e.jsx(yi,{className:"h-4 w-4 text-muted-foreground cursor-move"})}),size:40,enableSorting:!1},{accessorKey:"id",header:({column:a})=>e.jsx(O,{column:a,title:n("table.columns.id")}),cell:({row:a})=>e.jsx(K,{variant:"outline",className:"font-mono",children:a.getValue("id")}),enableSorting:!0,size:60},{accessorKey:"show",header:({column:a})=>e.jsx(O,{column:a,title:n("table.columns.show")}),cell:({row:a})=>e.jsx("div",{className:"flex items-center",children:e.jsx(H,{defaultChecked:a.getValue("show"),onCheckedChange:async()=>{const{data:l}=await ld({id:a.original.id});l||s()}})}),enableSorting:!1,size:100},{accessorKey:"title",header:({column:a})=>e.jsx(O,{column:a,title:n("table.columns.title")}),cell:({row:a})=>e.jsx("div",{className:"flex max-w-[500px] items-center",children:e.jsx("span",{className:"truncate font-medium",children:a.getValue("title")})}),enableSorting:!1,size:6e3},{id:"actions",header:({column:a})=>e.jsx(O,{className:"justify-end",column:a,title:n("table.columns.actions")}),cell:({row:a})=>e.jsxs("div",{className:"flex items-center justify-end space-x-2",children:[e.jsx(Mr,{refetch:s,dialogTrigger:e.jsxs(V,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-muted",children:[e.jsx(Is,{className:"h-4 w-4 text-muted-foreground hover:text-foreground"}),e.jsx("span",{className:"sr-only",children:n("table.actions.edit")})]}),type:"edit",defaultFormValues:a.original}),e.jsx(Ue,{title:n("table.actions.delete.title"),description:n("table.actions.delete.description"),onConfirm:async()=>{rd({id:a.original.id}).then(()=>{q.success(n("table.actions.delete.success")),s()})},children:e.jsxs(V,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-red-100 dark:hover:bg-red-900",children:[e.jsx(ns,{className:"h-4 w-4 text-muted-foreground hover:text-red-600 dark:hover:text-red-400"}),e.jsx("span",{className:"sr-only",children:n("table.actions.delete.title")})]})})]}),size:100}]};function ju(){const[s,n]=m.useState({}),[a,l]=m.useState({}),[r,c]=m.useState([]),[i,u]=m.useState([]),[x,o]=m.useState(!1),[d,p]=m.useState({}),[T,R]=m.useState({pageSize:50,pageIndex:0}),[f,g]=m.useState([]),{refetch:S}=se({queryKey:["notices"],queryFn:async()=>{const{data:P}=await qa.getList();return g(P),P}});m.useEffect(()=>{l({"drag-handle":x,content:!x,created_at:!x,actions:!x}),R({pageSize:x?99999:50,pageIndex:0})},[x]);const j=(P,z)=>{x&&(P.dataTransfer.setData("text/plain",z.toString()),P.currentTarget.classList.add("opacity-50"))},C=(P,z)=>{if(!x)return;P.preventDefault(),P.currentTarget.classList.remove("bg-muted");const Q=parseInt(P.dataTransfer.getData("text/plain"));if(Q===z)return;const $=[...f],[X]=$.splice(Q,1);$.splice(z,0,X),g($)},k=async()=>{if(!x){o(!0);return}qa.sort(f.map(P=>P.id)).then(()=>{q.success("排序保存成功"),o(!1),S()}).finally(()=>{o(!1)})},v=Ke({data:f??[],columns:gu(S),state:{sorting:i,columnVisibility:a,rowSelection:s,columnFilters:r,columnSizing:d,pagination:T},enableRowSelection:!0,onRowSelectionChange:n,onSortingChange:u,onColumnFiltersChange:c,onColumnVisibilityChange:l,onColumnSizingChange:p,onPaginationChange:R,getCoreRowModel:He(),getFilteredRowModel:Je(),getPaginationRowModel:Qe(),getSortedRowModel:Ze(),getFacetedRowModel:us(),getFacetedUniqueValues:xs(),initialState:{columnPinning:{right:["actions"]}}});return e.jsx("div",{className:"space-y-4",children:e.jsx(es,{table:v,toolbar:P=>e.jsx(pu,{table:P,refetch:S,saveOrder:k,isSortMode:x}),draggable:x,onDragStart:j,onDragEnd:P=>P.currentTarget.classList.remove("opacity-50"),onDragOver:P=>{P.preventDefault(),P.currentTarget.classList.add("bg-muted")},onDragLeave:P=>P.currentTarget.classList.remove("bg-muted"),onDrop:C,showPagination:!x})})}function vu(){const{t:s}=I("notice");return e.jsxs(we,{children:[e.jsxs(Ce,{className:"flex items-center justify-between",children:[e.jsx(Ie,{}),e.jsxs("div",{className:"flex items-center space-x-4",children:[e.jsx(Ee,{}),e.jsx(Re,{})]})]}),e.jsxs(Pe,{className:"flex flex-col",fixedHeight:!0,children:[e.jsx("div",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("div",{className:"mb-2",children:e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:s("title")})}),e.jsx("p",{className:"text-muted-foreground",children:s("description")})]})}),e.jsx("div",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx(ju,{})})]})]})}const bu=Object.freeze(Object.defineProperty({__proto__:null,default:vu},Symbol.toStringTag,{value:"Module"})),yu=h.object({id:h.number().nullable(),language:h.string().max(250),category:h.string().max(250),title:h.string().min(1).max(250),body:h.string().min(1),show:h.boolean()}),Nu={id:null,language:"zh-CN",category:"",title:"",body:"",show:!1};function Or({refreshData:s,dialogTrigger:n,type:a="add",defaultFormValues:l=Nu}){const{t:r}=I("knowledge"),[c,i]=m.useState(!1),u=de({resolver:me(yu),defaultValues:l,mode:"onChange",shouldFocusError:!0}),x=new ma({html:!0});return m.useEffect(()=>{c&&l.id&&id(l.id).then(({data:o})=>{u.reset(o)})},[l.id,u,c]),e.jsxs(pe,{onOpenChange:i,open:c,children:[e.jsx(ze,{asChild:!0,children:n||e.jsxs(V,{variant:"outline",size:"sm",className:"space-x-2",children:[e.jsx(Se,{icon:"ion:add"})," ",e.jsx("div",{children:r("form.add")})]})}),e.jsxs(fe,{className:"sm:max-w-[1025px]",children:[e.jsxs(be,{children:[e.jsx(ge,{children:r(a==="add"?"form.add":"form.edit")}),e.jsx(Te,{})]}),e.jsxs(ue,{...u,children:[e.jsx(y,{control:u.control,name:"title",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{children:r("form.title")}),e.jsx("div",{className:"relative ",children:e.jsx(w,{children:e.jsx(D,{placeholder:r("form.titlePlaceholder"),...o})})}),e.jsx(E,{})]})}),e.jsx(y,{control:u.control,name:"category",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{children:r("form.category")}),e.jsx("div",{className:"relative ",children:e.jsx(w,{children:e.jsx(D,{placeholder:r("form.categoryPlaceholder"),...o})})}),e.jsx(E,{})]})}),e.jsx(y,{control:u.control,name:"language",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{children:r("form.language")}),e.jsx(w,{children:e.jsxs(G,{value:o.value,onValueChange:o.onChange,children:[e.jsx(U,{children:e.jsx(W,{placeholder:r("form.languagePlaceholder")})}),e.jsx(B,{children:[{value:"en-US"},{value:"ja-JP"},{value:"ko-KR"},{value:"vi-VN"},{value:"zh-CN"},{value:"zh-TW"}].map(d=>e.jsx(L,{value:d.value,className:"cursor-pointer",children:r(`languages.${d.value}`)},d.value))})]})})]})}),e.jsx(y,{control:u.control,name:"body",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{children:r("form.content")}),e.jsx(w,{children:e.jsx(ua,{style:{height:"500px"},value:o.value,renderHTML:d=>x.render(d),onChange:({text:d})=>{o.onChange(d)}})}),e.jsx(E,{})]})}),e.jsx(y,{control:u.control,name:"show",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{children:r("form.show")}),e.jsx("div",{className:"relative py-2",children:e.jsx(w,{children:e.jsx(H,{checked:o.value,onCheckedChange:o.onChange})})}),e.jsx(E,{})]})}),e.jsxs(Le,{children:[e.jsx(mt,{asChild:!0,children:e.jsx(V,{type:"button",variant:"outline",children:r("form.cancel")})}),e.jsx(V,{type:"submit",onClick:()=>{u.handleSubmit(o=>{cd(o).then(({data:d})=>{d&&(u.reset(),q.success(r("messages.operationSuccess")),i(!1),s())})})()},children:r("form.submit")})]})]})]})]})}function _u({column:s,title:n,options:a}){const l=s?.getFacetedUniqueValues(),r=new Set(s?.getFilterValue());return e.jsxs(rs,{children:[e.jsx(ls,{asChild:!0,children:e.jsxs(V,{variant:"outline",size:"sm",className:"h-8 border-dashed",children:[e.jsx(dt,{className:"mr-2 h-4 w-4"}),n,r?.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(ye,{orientation:"vertical",className:"mx-2 h-4"}),e.jsx(K,{variant:"secondary",className:"rounded-sm px-1 font-normal lg:hidden",children:r.size}),e.jsx("div",{className:"hidden space-x-1 lg:flex",children:r.size>2?e.jsxs(K,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:[r.size," selected"]}):a.filter(c=>r.has(c.value)).map(c=>e.jsx(K,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:c.label},c.value))})]})]})}),e.jsx(Xe,{className:"w-[200px] p-0",align:"start",children:e.jsxs(Cs,{children:[e.jsx(Fs,{placeholder:n}),e.jsxs(Ss,{children:[e.jsx(Ms,{children:"No results found."}),e.jsx(Oe,{children:a.map(c=>{const i=r.has(c.value);return e.jsxs(ke,{onSelect:()=>{i?r.delete(c.value):r.add(c.value);const u=Array.from(r);s?.setFilterValue(u.length?u:void 0)},children:[e.jsx("div",{className:_("mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary",i?"bg-primary text-primary-foreground":"opacity-50 [&_svg]:invisible"),children:e.jsx(Rs,{className:_("h-4 w-4")})}),c.icon&&e.jsx(c.icon,{className:"mr-2 h-4 w-4 text-muted-foreground"}),e.jsx("span",{children:c.label}),l?.get(c.value)&&e.jsx("span",{className:"ml-auto flex h-4 w-4 items-center justify-center font-mono text-xs",children:l.get(c.value)})]},c.value)})}),r.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(Gs,{}),e.jsx(Oe,{children:e.jsx(ke,{onSelect:()=>s?.setFilterValue(void 0),className:"justify-center text-center",children:"Clear filters"})})]})]})]})})]})}function wu({table:s,refetch:n,saveOrder:a,isSortMode:l}){const r=s.getState().columnFilters.length>0,{t:c}=I("knowledge");return e.jsxs("div",{className:"flex items-center justify-between",children:[l?e.jsx("p",{className:"text-sm text-muted-foreground",children:c("toolbar.sortModeHint")}):e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Or,{refreshData:n}),e.jsx(D,{placeholder:c("toolbar.searchPlaceholder"),value:s.getColumn("title")?.getFilterValue()??"",onChange:i=>s.getColumn("title")?.setFilterValue(i.target.value),className:"h-8 w-[250px]"}),s.getColumn("category")&&e.jsx(_u,{column:s.getColumn("category"),title:c("columns.category"),options:Array.from(new Set(s.getCoreRowModel().rows.map(i=>i.getValue("category")))).map(i=>({label:i,value:i}))}),r&&e.jsxs(V,{variant:"ghost",onClick:()=>s.resetColumnFilters(),children:[c("toolbar.reset"),e.jsx(Ae,{className:"ml-2 h-4 w-4"})]})]}),s.getRowCount()>0&&e.jsx("div",{className:"flex items-center gap-2",children:e.jsx(V,{variant:l?"default":"outline",onClick:a,size:"sm",children:c(l?"toolbar.saveSort":"toolbar.editSort")})})]})}const Cu=({refetch:s,isSortMode:n=!1})=>{const{t:a}=I("knowledge");return[{id:"drag-handle",header:()=>null,cell:()=>e.jsx("div",{className:n?"cursor-move":"opacity-0",children:e.jsx(Rt,{className:"size-4"})}),size:40,enableSorting:!1},{accessorKey:"id",header:({column:l})=>e.jsx(O,{column:l,title:a("columns.id")}),cell:({row:l})=>e.jsx(K,{variant:"outline",className:"justify-center",children:l.getValue("id")}),enableSorting:!0,size:70},{accessorKey:"show",header:({column:l})=>e.jsx(O,{column:l,title:a("columns.status")}),cell:({row:l})=>e.jsx("div",{className:"flex items-center",children:e.jsx(H,{defaultChecked:l.getValue("show"),onCheckedChange:async()=>{md({id:l.original.id}).then(({data:r})=>{r||s()})}})}),enableSorting:!1,size:100},{accessorKey:"title",header:({column:l})=>e.jsx(O,{column:l,title:a("columns.title")}),cell:({row:l})=>e.jsx("div",{className:"flex space-x-2",children:e.jsx("span",{className:"line-clamp-2 font-medium",children:l.getValue("title")})}),enableSorting:!0,size:600},{accessorKey:"category",header:({column:l})=>e.jsx(O,{column:l,title:a("columns.category")}),cell:({row:l})=>e.jsx(K,{variant:"secondary",className:"max-w-[180px] truncate",children:l.getValue("category")}),enableSorting:!0,size:1800},{id:"actions",header:({column:l})=>e.jsx(O,{className:"justify-end",column:l,title:a("columns.actions")}),cell:({row:l})=>e.jsxs("div",{className:"flex items-center justify-end space-x-1",children:[e.jsx(Or,{refreshData:s,dialogTrigger:e.jsxs(V,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-muted",children:[e.jsx(Is,{className:"h-4 w-4 text-muted-foreground hover:text-foreground"}),e.jsx("span",{className:"sr-only",children:a("form.edit")})]}),type:"edit",defaultFormValues:l.original}),e.jsx(Ue,{title:a("messages.deleteConfirm"),description:a("messages.deleteDescription"),confirmText:a("messages.deleteButton"),variant:"destructive",onConfirm:async()=>{dd({id:l.original.id}).then(({data:r})=>{r&&(q.success(a("messages.operationSuccess")),s())})},children:e.jsxs(V,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-red-100 dark:hover:bg-red-900",children:[e.jsx(ns,{className:"h-4 w-4 text-muted-foreground hover:text-red-600 dark:hover:text-red-400"}),e.jsx("span",{className:"sr-only",children:a("messages.deleteButton")})]})})]}),size:100}]};function Su(){const[s,n]=m.useState([]),[a,l]=m.useState([]),[r,c]=m.useState(!1),[i,u]=m.useState([]),[x,o]=m.useState({"drag-handle":!1}),[d,p]=m.useState({pageSize:20,pageIndex:0}),{refetch:T,isLoading:R,data:f}=se({queryKey:["knowledge"],queryFn:async()=>{const{data:k}=await od();return u(k||[]),k}});m.useEffect(()=>{o({"drag-handle":r,actions:!r}),p({pageSize:r?99999:10,pageIndex:0})},[r]);const g=(k,v)=>{r&&(k.dataTransfer.setData("text/plain",v.toString()),k.currentTarget.classList.add("opacity-50"))},S=(k,v)=>{if(!r)return;k.preventDefault(),k.currentTarget.classList.remove("bg-muted");const P=parseInt(k.dataTransfer.getData("text/plain"));if(P===v)return;const z=[...i],[Q]=z.splice(P,1);z.splice(v,0,Q),u(z)},j=async()=>{r?ud({ids:i.map(k=>k.id)}).then(()=>{T(),c(!1),q.success("排序保存成功")}):c(!0)},C=Ke({data:i,columns:Cu({refetch:T,isSortMode:r}),state:{sorting:a,columnFilters:s,columnVisibility:x,pagination:d},onSortingChange:l,onColumnFiltersChange:n,onColumnVisibilityChange:o,getCoreRowModel:He(),getFilteredRowModel:Je(),getPaginationRowModel:Qe(),getSortedRowModel:Ze(),initialState:{columnPinning:{right:["actions"]}}});return e.jsx(es,{table:C,toolbar:k=>e.jsx(wu,{table:k,refetch:T,saveOrder:j,isSortMode:r}),draggable:r,onDragStart:g,onDragEnd:k=>k.currentTarget.classList.remove("opacity-50"),onDragOver:k=>{k.preventDefault(),k.currentTarget.classList.add("bg-muted")},onDragLeave:k=>k.currentTarget.classList.remove("bg-muted"),onDrop:S,showPagination:!r})}function ku(){const{t:s}=I("knowledge");return e.jsxs(we,{children:[e.jsxs(Ce,{children:[e.jsx(Ie,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(Ee,{}),e.jsx(Re,{})]})]}),e.jsxs(Pe,{className:"flex flex-col",fixedHeight:!0,children:[e.jsx("div",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold tracking-tight mb-2",children:s("title")}),e.jsx("p",{className:"text-muted-foreground",children:s("description")})]})}),e.jsx("div",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx(Su,{})})]})]})}const Pu=Object.freeze(Object.defineProperty({__proto__:null,default:ku},Symbol.toStringTag,{value:"Module"}));function Tu(s,n){const[a,l]=m.useState(s);return m.useEffect(()=>{const r=setTimeout(()=>l(s),n);return()=>{clearTimeout(r)}},[s,n]),a}function Ut(s,n){if(s.length===0)return{};if(!n)return{"":s};const a={};return s.forEach(l=>{const r=l[n]||"";a[r]||(a[r]=[]),a[r].push(l)}),a}function Du(s,n){const a=JSON.parse(JSON.stringify(s));for(const[l,r]of Object.entries(a))a[l]=r.filter(c=>!n.find(i=>i.value===c.value));return a}function Eu(s,n){for(const[,a]of Object.entries(s))if(a.some(l=>n.find(r=>r.value===l.value)))return!0;return!1}const zr=m.forwardRef(({className:s,...n},a)=>Ni(r=>r.filtered.count===0)?e.jsx("div",{ref:a,className:_("py-6 text-center text-sm",s),"cmdk-empty":"",role:"presentation",...n}):null);zr.displayName="CommandEmpty";const ot=m.forwardRef(({value:s,onChange:n,placeholder:a,defaultOptions:l=[],options:r,delay:c,onSearch:i,loadingIndicator:u,emptyIndicator:x,maxSelected:o=Number.MAX_SAFE_INTEGER,onMaxSelected:d,hidePlaceholderWhenSelected:p,disabled:T,groupBy:R,className:f,badgeClassName:g,selectFirstItem:S=!0,creatable:j=!1,triggerSearchOnFocus:C=!1,commandProps:k,inputProps:v,hideClearAllButton:P=!1},z)=>{const Q=m.useRef(null),[$,X]=m.useState(!1),Ws=m.useRef(!1),[Ca,Sa]=m.useState(!1),[ee,Ys]=m.useState(s||[]),[ks,ka]=m.useState(Ut(l,R)),[gs,Lt]=m.useState(""),Js=Tu(gs,c||500);m.useImperativeHandle(z,()=>({selectedValue:[...ee],input:Q.current,focus:()=>Q.current?.focus()}),[ee]);const ut=m.useCallback(Y=>{const ae=ee.filter(Ve=>Ve.value!==Y.value);Ys(ae),n?.(ae)},[n,ee]),ol=m.useCallback(Y=>{const ae=Q.current;ae&&((Y.key==="Delete"||Y.key==="Backspace")&&ae.value===""&&ee.length>0&&(ee[ee.length-1].fixed||ut(ee[ee.length-1])),Y.key==="Escape"&&ae.blur())},[ut,ee]);m.useEffect(()=>{s&&Ys(s)},[s]),m.useEffect(()=>{if(!r||i)return;const Y=Ut(r||[],R);JSON.stringify(Y)!==JSON.stringify(ks)&&ka(Y)},[l,r,R,i,ks]),m.useEffect(()=>{const Y=async()=>{Sa(!0);const Ve=await i?.(Js);ka(Ut(Ve||[],R)),Sa(!1)};(async()=>{!i||!$||(C&&await Y(),Js&&await Y())})()},[Js,R,$,C]);const il=()=>{if(!j||Eu(ks,[{value:gs,label:gs}])||ee.find(ae=>ae.value===gs))return;const Y=e.jsx(ke,{value:gs,className:"cursor-pointer",onMouseDown:ae=>{ae.preventDefault(),ae.stopPropagation()},onSelect:ae=>{if(ee.length>=o){d?.(ee.length);return}Lt("");const Ve=[...ee,{value:ae,label:ae}];Ys(Ve),n?.(Ve)},children:`Create "${gs}"`});if(!i&&gs.length>0||i&&Js.length>0&&!Ca)return Y},cl=m.useCallback(()=>{if(x)return i&&!j&&Object.keys(ks).length===0?e.jsx(ke,{value:"-",disabled:!0,children:x}):e.jsx(zr,{children:x})},[j,x,i,ks]),dl=m.useMemo(()=>Du(ks,ee),[ks,ee]),ml=m.useCallback(()=>{if(k?.filter)return k.filter;if(j)return(Y,ae)=>Y.toLowerCase().includes(ae.toLowerCase())?1:-1},[j,k?.filter]),ul=m.useCallback(()=>{const Y=ee.filter(ae=>ae.fixed);Ys(Y),n?.(Y)},[n,ee]);return e.jsxs(Cs,{...k,onKeyDown:Y=>{ol(Y),k?.onKeyDown?.(Y)},className:_("h-auto overflow-visible bg-transparent",k?.className),shouldFilter:k?.shouldFilter!==void 0?k.shouldFilter:!i,filter:ml(),children:[e.jsx("div",{className:_("rounded-md border border-input text-sm ring-offset-background focus-within:ring-1 focus-within:ring-ring ",{"px-3 py-2":ee.length!==0,"cursor-text":!T&&ee.length!==0},f),onClick:()=>{T||Q.current?.focus()},children:e.jsxs("div",{className:"flex flex-wrap gap-1",children:[ee.map(Y=>e.jsxs(K,{className:_("data-[disabled]:bg-muted-foreground data-[disabled]:text-muted data-[disabled]:hover:bg-muted-foreground","data-[fixed]:bg-muted-foreground data-[fixed]:text-muted data-[fixed]:hover:bg-muted-foreground",g),"data-fixed":Y.fixed,"data-disabled":T||void 0,children:[Y.label,e.jsx("button",{className:_("ml-1 rounded-full outline-none ring-offset-background focus:ring-2 focus:ring-ring focus:ring-offset-2",(T||Y.fixed)&&"hidden"),onKeyDown:ae=>{ae.key==="Enter"&&ut(Y)},onMouseDown:ae=>{ae.preventDefault(),ae.stopPropagation()},onClick:()=>ut(Y),children:e.jsx(Zt,{className:"h-3 w-3 text-muted-foreground hover:text-foreground"})})]},Y.value)),e.jsx(De.Input,{...v,ref:Q,value:gs,disabled:T,onValueChange:Y=>{Lt(Y),v?.onValueChange?.(Y)},onBlur:Y=>{Ws.current===!1&&X(!1),v?.onBlur?.(Y)},onFocus:Y=>{X(!0),C&&i?.(Js),v?.onFocus?.(Y)},placeholder:p&&ee.length!==0?"":a,className:_("flex-1 bg-transparent outline-none placeholder:text-muted-foreground",{"w-full":p,"px-3 py-2":ee.length===0,"ml-1":ee.length!==0},v?.className)}),e.jsx("button",{type:"button",onClick:ul,className:_((P||T||ee.length<1||ee.filter(Y=>Y.fixed).length===ee.length)&&"hidden"),children:e.jsx(Zt,{})})]})}),e.jsx("div",{className:"relative",children:$&&e.jsx(Ss,{className:"absolute top-1 z-10 w-full rounded-md border bg-popover text-popover-foreground shadow-md outline-none animate-in",onMouseLeave:()=>{Ws.current=!1},onMouseEnter:()=>{Ws.current=!0},onMouseUp:()=>{Q.current?.focus()},children:Ca?e.jsx(e.Fragment,{children:u}):e.jsxs(e.Fragment,{children:[cl(),il(),!S&&e.jsx(ke,{value:"-",className:"hidden"}),Object.entries(dl).map(([Y,ae])=>e.jsx(Oe,{heading:Y,className:"h-full overflow-auto",children:e.jsx(e.Fragment,{children:ae.map(Ve=>e.jsx(ke,{value:Ve.value,disabled:Ve.disable,onMouseDown:Qs=>{Qs.preventDefault(),Qs.stopPropagation()},onSelect:()=>{if(ee.length>=o){d?.(ee.length);return}Lt("");const Qs=[...ee,Ve];Ys(Qs),n?.(Qs)},className:_("cursor-pointer",Ve.disable&&"cursor-default text-muted-foreground"),children:Ve.label},Ve.value))})},Y))]})})})]})});ot.displayName="MultipleSelector";const Ru=s=>h.object({id:h.number().optional(),name:h.string().min(2,s("messages.nameValidation.min")).max(50,s("messages.nameValidation.max")).regex(/^[a-zA-Z0-9\u4e00-\u9fa5_-]+$/,s("messages.nameValidation.pattern"))});function zt({refetch:s,dialogTrigger:n,defaultValues:a={name:""},type:l="add"}){const{t:r}=I("group"),c=de({resolver:me(Ru(r)),defaultValues:a,mode:"onChange"}),[i,u]=m.useState(!1),[x,o]=m.useState(!1),d=async p=>{o(!0),Gc(p).then(()=>{q.success(r(l==="edit"?"messages.updateSuccess":"messages.createSuccess")),s&&s(),c.reset(),u(!1)}).finally(()=>{o(!1)})};return e.jsxs(pe,{open:i,onOpenChange:u,children:[e.jsx(ze,{asChild:!0,children:n||e.jsxs(V,{variant:"outline",size:"sm",className:"space-x-2",children:[e.jsx(Se,{icon:"ion:add"}),e.jsx("span",{children:r("form.add")})]})}),e.jsxs(fe,{className:"sm:max-w-[425px]",children:[e.jsxs(be,{children:[e.jsx(ge,{children:r(l==="edit"?"form.edit":"form.create")}),e.jsx(Te,{children:r(l==="edit"?"form.editDescription":"form.createDescription")})]}),e.jsx(ue,{...c,children:e.jsxs("form",{onSubmit:c.handleSubmit(d),className:"space-y-4",children:[e.jsx(y,{control:c.control,name:"name",render:({field:p})=>e.jsxs(b,{children:[e.jsx(N,{children:r("form.name")}),e.jsx(w,{children:e.jsx(D,{placeholder:r("form.namePlaceholder"),...p,className:"w-full"})}),e.jsx(M,{children:r("form.nameDescription")}),e.jsx(E,{})]})}),e.jsxs(Le,{className:"gap-2",children:[e.jsx(mt,{asChild:!0,children:e.jsx(V,{type:"button",variant:"outline",children:r("form.cancel")})}),e.jsxs(V,{type:"submit",disabled:x||!c.formState.isValid,children:[x&&e.jsx(da,{className:"mr-2 h-4 w-4 animate-spin"}),r(l==="edit"?"form.update":"form.create")]})]})]})})]})]})}const Lr=m.createContext(void 0);function Vu({children:s,refetch:n}){const[a,l]=m.useState(!1),[r,c]=m.useState(null),[i,u]=m.useState(Ne.Shadowsocks);return e.jsx(Lr.Provider,{value:{isOpen:a,setIsOpen:l,editingServer:r,setEditingServer:c,serverType:i,setServerType:u,refetch:n},children:s})}function Ar(){const s=m.useContext(Lr);if(s===void 0)throw new Error("useServerEdit must be used within a ServerEditProvider");return s}function Bt({dialogTrigger:s,value:n,setValue:a,templateType:l}){const{t:r}=I("server");m.useEffect(()=>{console.log(n)},[n]);const[c,i]=m.useState(!1),[u,x]=m.useState(()=>{if(!n||Object.keys(n).length===0)return"";try{return JSON.stringify(n,null,2)}catch{return""}}),[o,d]=m.useState(null),p=j=>{if(!j)return null;try{const C=JSON.parse(j);return typeof C!="object"||C===null?r("network_settings.validation.must_be_object"):null}catch{return r("network_settings.validation.invalid_json")}},T={tcp:{label:"TCP",content:{acceptProxyProtocol:!1,header:{type:"none"}}},"tcp-http":{label:"TCP + HTTP",content:{acceptProxyProtocol:!1,header:{type:"http",request:{version:"1.1",method:"GET",path:["/"],headers:{Host:["www.example.com"]}},response:{version:"1.1",status:"200",reason:"OK"}}}},grpc:{label:"gRPC",content:{serviceName:"GunService"}},ws:{label:"WebSocket",content:{path:"/",headers:{Host:"v2ray.com"}}}},R=()=>{switch(l){case"tcp":return["tcp","tcp-http"];case"grpc":return["grpc"];case"ws":return["ws"];default:return[]}},f=()=>{const j=p(u||"");if(j){q.error(j);return}try{if(!u){a(null),i(!1);return}a(JSON.parse(u)),i(!1)}catch{q.error(r("network_settings.errors.save_failed"))}},g=j=>{x(j),d(p(j))},S=j=>{const C=T[j];if(C){const k=JSON.stringify(C.content,null,2);x(k),d(null)}};return m.useEffect(()=>{c&&console.log(n)},[c,n]),m.useEffect(()=>{c&&n&&Object.keys(n).length>0&&x(JSON.stringify(n,null,2))},[c,n]),e.jsxs(pe,{open:c,onOpenChange:j=>{!j&&c&&f(),i(j)},children:[e.jsx(ze,{asChild:!0,children:s??e.jsx(J,{variant:"link",children:r("network_settings.edit_protocol")})}),e.jsxs(fe,{className:"sm:max-w-[425px]",children:[e.jsx(be,{children:e.jsx(ge,{children:r("network_settings.edit_protocol_config")})}),e.jsxs("div",{className:"space-y-4",children:[R().length>0&&e.jsx("div",{className:"flex flex-wrap gap-2 pt-2",children:R().map(j=>e.jsx(J,{variant:"outline",size:"sm",onClick:()=>S(j),children:r("network_settings.use_template",{template:T[j].label})},j))}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(ps,{className:`min-h-[200px] font-mono text-sm ${o?"border-red-500 focus-visible:ring-red-500":""}`,value:u,placeholder:R().length>0?r("network_settings.json_config_placeholder_with_template"):r("network_settings.json_config_placeholder"),onChange:j=>g(j.target.value)}),o&&e.jsx("p",{className:"text-sm text-red-500",children:o})]})]}),e.jsxs(Le,{className:"gap-2",children:[e.jsx(J,{variant:"outline",onClick:()=>i(!1),children:r("common.cancel")}),e.jsx(J,{onClick:f,disabled:!!o,children:r("common.confirm")})]})]})]})}function Vh(s){throw new Error('Could not dynamically require "'+s+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}const Iu={},Fu=Object.freeze(Object.defineProperty({__proto__:null,default:Iu},Symbol.toStringTag,{value:"Module"})),Ih=Mi(Fu),Ba=s=>s.replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),Mu=()=>{try{const s=_i.box.keyPair(),n=Ba(Ia.encodeBase64(s.secretKey)),a=Ba(Ia.encodeBase64(s.publicKey));return{privateKey:n,publicKey:a}}catch(s){throw console.error("Error generating x25519 key pair:",s),s}},Ou=()=>{try{return Mu()}catch(s){throw console.error("Error generating key pair:",s),s}},zu=s=>{const n=new Uint8Array(Math.ceil(s/2));return window.crypto.getRandomValues(n),Array.from(n).map(a=>a.toString(16).padStart(2,"0")).join("").substring(0,s)},Lu=()=>{const s=Math.floor(Math.random()*8)*2+2;return zu(s)},Au=h.object({cipher:h.string().default("aes-128-gcm"),obfs:h.string().default("0"),obfs_settings:h.object({path:h.string().default(""),host:h.string().default("")}).default({})}),$u=h.object({tls:h.coerce.number().default(0),tls_settings:h.object({server_name:h.string().default(""),allow_insecure:h.boolean().default(!1)}).default({}),network:h.string().default("tcp"),network_settings:h.record(h.any()).default({})}),qu=h.object({server_name:h.string().default(""),allow_insecure:h.boolean().default(!1),network:h.string().default("tcp"),network_settings:h.record(h.any()).default({})}),Ku=h.object({version:h.coerce.number().default(2),alpn:h.string().default("h2"),obfs:h.object({open:h.coerce.boolean().default(!1),type:h.string().default("salamander"),password:h.string().default("")}).default({}),tls:h.object({server_name:h.string().default(""),allow_insecure:h.boolean().default(!1)}).default({}),bandwidth:h.object({up:h.string().default(""),down:h.string().default("")}).default({})}),Hu=h.object({tls:h.coerce.number().default(0),tls_settings:h.object({server_name:h.string().default(""),allow_insecure:h.boolean().default(!1)}).default({}),reality_settings:h.object({server_port:h.coerce.number().default(443),server_name:h.string().default(""),allow_insecure:h.boolean().default(!1),public_key:h.string().default(""),private_key:h.string().default(""),short_id:h.string().default("")}).default({}),network:h.string().default("tcp"),network_settings:h.record(h.any()).default({}),flow:h.string().default("")}),os={shadowsocks:{schema:Au,ciphers:["aes-128-gcm","aes-192-gcm","aes-256-gcm","chacha20-ietf-poly1305","2022-blake3-aes-128-gcm","2022-blake3-aes-256-gcm"]},vmess:{schema:$u,networkOptions:[{value:"tcp",label:"TCP"},{value:"ws",label:"Websocket"},{value:"grpc",label:"gRPC"}]},trojan:{schema:qu,networkOptions:[{value:"tcp",label:"TCP"},{value:"ws",label:"Websocket"},{value:"grpc",label:"gRPC"}]},hysteria:{schema:Ku,versions:["1","2"],alpnOptions:["hysteria","http/1.1","h2","h3"]},vless:{schema:Hu,networkOptions:[{value:"tcp",label:"TCP"},{value:"ws",label:"Websocket"},{value:"grpc",label:"gRPC"},{value:"kcp",label:"mKCP"},{value:"httpupgrade",label:"HttpUpgrade"},{value:"xhttp",label:"XHTTP"}],flowOptions:["none","xtls-rprx-direct","xtls-rprx-splice","xtls-rprx-vision"]}},Uu=({serverType:s,value:n,onChange:a})=>{const{t:l}=I("server"),r=s?os[s]:null,c=r?.schema||h.record(h.any()),i=s?c.parse({}):{},u=de({resolver:me(c),defaultValues:i,mode:"onChange"});if(m.useEffect(()=>{if(!n||Object.keys(n).length===0){if(s){const f=c.parse({});u.reset(f)}}else u.reset(n)},[s,n,a,u,c]),m.useEffect(()=>{const f=u.watch(g=>{a(g)});return()=>f.unsubscribe()},[u,a]),!s||!r)return null;const R={shadowsocks:()=>e.jsxs(e.Fragment,{children:[e.jsx(y,{control:u.control,name:"cipher",render:({field:f})=>e.jsxs(b,{children:[e.jsx(N,{children:l("dynamic_form.shadowsocks.cipher.label")}),e.jsx(w,{children:e.jsxs(G,{onValueChange:f.onChange,value:f.value,children:[e.jsx(U,{children:e.jsx(W,{placeholder:l("dynamic_form.shadowsocks.cipher.placeholder")})}),e.jsx(B,{children:e.jsx(js,{children:os.shadowsocks.ciphers.map(g=>e.jsx(L,{value:g,children:g},g))})})]})})]})}),e.jsx(y,{control:u.control,name:"obfs",render:({field:f})=>e.jsxs(b,{children:[e.jsx(N,{children:l("dynamic_form.shadowsocks.obfs.label")}),e.jsx(w,{children:e.jsxs(G,{onValueChange:f.onChange,value:f.value,children:[e.jsx(U,{children:e.jsx(W,{placeholder:l("dynamic_form.shadowsocks.obfs.placeholder")})}),e.jsx(B,{children:e.jsxs(js,{children:[e.jsx(L,{value:"0",children:l("dynamic_form.shadowsocks.obfs.none")}),e.jsx(L,{value:"http",children:l("dynamic_form.shadowsocks.obfs.http")})]})})]})})]})}),u.watch("obfs")==="http"&&e.jsxs("div",{className:"flex gap-2",children:[e.jsx(y,{control:u.control,name:"obfs_settings.path",render:({field:f})=>e.jsxs(b,{className:"flex-1",children:[e.jsx(w,{children:e.jsx(D,{type:"text",placeholder:l("dynamic_form.shadowsocks.obfs_settings.path"),...f})}),e.jsx(E,{})]})}),e.jsx(y,{control:u.control,name:"obfs_settings.host",render:({field:f})=>e.jsxs(b,{className:"flex-[2]",children:[e.jsx(w,{children:e.jsx(D,{type:"text",placeholder:l("dynamic_form.shadowsocks.obfs_settings.host"),...f})}),e.jsx(E,{})]})})]})]}),vmess:()=>e.jsxs(e.Fragment,{children:[e.jsx(y,{control:u.control,name:"tls",render:({field:f})=>e.jsxs(b,{children:[e.jsx(N,{children:l("dynamic_form.vmess.tls.label")}),e.jsx(w,{children:e.jsxs(G,{value:f.value?.toString(),onValueChange:g=>f.onChange(Number(g)),children:[e.jsx(U,{children:e.jsx(W,{placeholder:l("dynamic_form.vmess.tls.placeholder")})}),e.jsxs(B,{children:[e.jsx(L,{value:"0",children:l("dynamic_form.vmess.tls.disabled")}),e.jsx(L,{value:"1",children:l("dynamic_form.vmess.tls.enabled")})]})]})})]})}),u.watch("tls")==1&&e.jsxs("div",{className:"flex gap-2",children:[e.jsx(y,{control:u.control,name:"tls_settings.server_name",render:({field:f})=>e.jsxs(b,{className:"flex-[2]",children:[e.jsx(N,{children:l("dynamic_form.vmess.tls_settings.server_name.label")}),e.jsx(w,{children:e.jsx(D,{placeholder:l("dynamic_form.vmess.tls_settings.server_name.placeholder"),...f})})]})}),e.jsx(y,{control:u.control,name:"tls_settings.allow_insecure",render:({field:f})=>e.jsxs(b,{children:[e.jsx(N,{children:l("dynamic_form.vmess.tls_settings.allow_insecure")}),e.jsx("div",{className:"py-2 text-center",children:e.jsx(w,{children:e.jsx(H,{checked:f.value,onCheckedChange:f.onChange})})})]})})]}),e.jsx(y,{control:u.control,name:"network",render:({field:f})=>e.jsxs(b,{children:[e.jsxs(N,{children:[l("dynamic_form.vmess.network.label"),e.jsx(Bt,{value:u.watch("network_settings"),setValue:g=>u.setValue("network_settings",g),templateType:u.watch("network")})]}),e.jsx(w,{children:e.jsxs(G,{onValueChange:f.onChange,value:f.value,children:[e.jsx(U,{children:e.jsx(W,{placeholder:l("dynamic_form.vmess.network.placeholder")})}),e.jsx(B,{children:e.jsx(js,{children:os.vmess.networkOptions.map(g=>e.jsx(L,{value:g.value,className:"cursor-pointer",children:g.label},g.value))})})]})})]})})]}),trojan:()=>e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx(y,{control:u.control,name:"server_name",render:({field:f})=>e.jsxs(b,{className:"flex-[2]",children:[e.jsx(N,{children:l("dynamic_form.trojan.server_name.label")}),e.jsx(w,{children:e.jsx(D,{placeholder:l("dynamic_form.trojan.server_name.placeholder"),...f,value:f.value||""})})]})}),e.jsx(y,{control:u.control,name:"allow_insecure",render:({field:f})=>e.jsxs(b,{children:[e.jsx(N,{children:l("dynamic_form.trojan.allow_insecure")}),e.jsx("div",{className:"py-2 text-center",children:e.jsx(w,{children:e.jsx(H,{checked:f.value||!1,onCheckedChange:f.onChange})})})]})})]}),e.jsx(y,{control:u.control,name:"network",render:({field:f})=>e.jsxs(b,{children:[e.jsxs(N,{children:[l("dynamic_form.trojan.network.label"),e.jsx(Bt,{value:u.watch("network_settings")||{},setValue:g=>u.setValue("network_settings",g),templateType:u.watch("network")||"tcp"})]}),e.jsx(w,{children:e.jsxs(G,{onValueChange:f.onChange,value:f.value||"tcp",children:[e.jsx(U,{children:e.jsx(W,{placeholder:l("dynamic_form.trojan.network.placeholder")})}),e.jsx(B,{children:e.jsx(js,{children:os.trojan.networkOptions.map(g=>e.jsx(L,{value:g.value,className:"cursor-pointer",children:g.label},g.value))})})]})})]})})]}),hysteria:()=>e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx(y,{control:u.control,name:"version",render:({field:f})=>e.jsxs(b,{className:"flex-1",children:[e.jsx(N,{children:l("dynamic_form.hysteria.version.label")}),e.jsx(w,{children:e.jsxs(G,{value:(f.value||2).toString(),onValueChange:g=>f.onChange(Number(g)),children:[e.jsx(U,{children:e.jsx(W,{placeholder:l("dynamic_form.hysteria.version.placeholder")})}),e.jsx(B,{children:e.jsx(js,{children:os.hysteria.versions.map(g=>e.jsxs(L,{value:g,className:"cursor-pointer",children:["V",g]},g))})})]})})]})}),u.watch("version")==1&&e.jsx(y,{control:u.control,name:"alpn",render:({field:f})=>e.jsxs(b,{className:"flex-[2]",children:[e.jsx(N,{children:l("dynamic_form.hysteria.alpn.label")}),e.jsx(w,{children:e.jsxs(G,{value:f.value||"h2",onValueChange:f.onChange,children:[e.jsx(U,{children:e.jsx(W,{placeholder:l("dynamic_form.hysteria.alpn.placeholder")})}),e.jsx(B,{children:e.jsx(js,{children:os.hysteria.alpnOptions.map(g=>e.jsx(L,{value:g,children:g},g))})})]})})]})})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(y,{control:u.control,name:"obfs.open",render:({field:f})=>e.jsxs(b,{children:[e.jsx(N,{children:l("dynamic_form.hysteria.obfs.label")}),e.jsx("div",{className:"py-2 text-center",children:e.jsx(w,{children:e.jsx(H,{checked:f.value||!1,onCheckedChange:f.onChange})})})]})}),!!u.watch("obfs.open")&&e.jsxs(e.Fragment,{children:[u.watch("version")=="2"&&e.jsx(y,{control:u.control,name:"obfs.type",render:({field:f})=>e.jsxs(b,{className:"flex-1",children:[e.jsx(N,{children:l("dynamic_form.hysteria.obfs.type.label")}),e.jsx(w,{children:e.jsxs(G,{value:f.value||"salamander",onValueChange:f.onChange,children:[e.jsx(U,{children:e.jsx(W,{placeholder:l("dynamic_form.hysteria.obfs.type.placeholder")})}),e.jsx(B,{children:e.jsx(js,{children:e.jsx(L,{value:"salamander",children:l("dynamic_form.hysteria.obfs.type.salamander")})})})]})})]})}),e.jsx(y,{control:u.control,name:"obfs.password",render:({field:f})=>e.jsxs(b,{className:u.watch("version")==2?"w-full":"flex-[2]",children:[e.jsx(N,{children:l("dynamic_form.hysteria.obfs.password.label")}),e.jsxs("div",{className:"relative",children:[e.jsx(w,{children:e.jsx(D,{placeholder:l("dynamic_form.hysteria.obfs.password.placeholder"),...f,value:f.value||"",className:"pr-9"})}),e.jsx(J,{type:"button",variant:"ghost",size:"icon",onClick:()=>{const g="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",S=Array.from(crypto.getRandomValues(new Uint8Array(16))).map(j=>g[j%g.length]).join("");u.setValue("obfs.password",S),q.success(l("dynamic_form.hysteria.obfs.password.generate_success"))},className:"absolute right-0 top-0 h-full px-2 active:scale-90 transition-transform duration-150",children:e.jsx(Se,{icon:"ion:refresh-outline",className:"h-4 w-4 transition-transform hover:rotate-180 duration-300"})})]})]})})]})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(y,{control:u.control,name:"tls.server_name",render:({field:f})=>e.jsxs(b,{className:"flex-[2]",children:[e.jsx(N,{children:l("dynamic_form.hysteria.tls.server_name.label")}),e.jsx(w,{children:e.jsx(D,{placeholder:l("dynamic_form.hysteria.tls.server_name.placeholder"),...f,value:f.value||""})})]})}),e.jsx(y,{control:u.control,name:"tls.allow_insecure",render:({field:f})=>e.jsxs(b,{children:[e.jsx(N,{children:l("dynamic_form.hysteria.tls.allow_insecure")}),e.jsx("div",{className:"py-2 text-center",children:e.jsx(w,{children:e.jsx(H,{checked:f.value||!1,onCheckedChange:f.onChange})})})]})})]}),e.jsx(y,{control:u.control,name:"bandwidth.up",render:({field:f})=>e.jsxs(b,{children:[e.jsx(N,{children:l("dynamic_form.hysteria.bandwidth.up.label")}),e.jsxs("div",{className:"relative flex",children:[e.jsx(w,{children:e.jsx(D,{type:"number",placeholder:l("dynamic_form.hysteria.bandwidth.up.placeholder")+(u.watch("version")==2?l("dynamic_form.hysteria.bandwidth.up.bbr_tip"):""),className:"rounded-br-none rounded-tr-none",...f,value:f.value||""})}),e.jsx("div",{className:"pointer-events-none z-[-1] flex items-center rounded-md rounded-bl-none rounded-tl-none border border-l-0 border-input px-3 shadow-sm",children:e.jsx("span",{className:"text-gray-500",children:l("dynamic_form.hysteria.bandwidth.up.suffix")})})]})]})}),e.jsx(y,{control:u.control,name:"bandwidth.down",render:({field:f})=>e.jsxs(b,{children:[e.jsx(N,{children:l("dynamic_form.hysteria.bandwidth.down.label")}),e.jsxs("div",{className:"relative flex",children:[e.jsx(w,{children:e.jsx(D,{type:"number",placeholder:l("dynamic_form.hysteria.bandwidth.down.placeholder")+(u.watch("version")==2?l("dynamic_form.hysteria.bandwidth.down.bbr_tip"):""),className:"rounded-br-none rounded-tr-none",...f,value:f.value||""})}),e.jsx("div",{className:"pointer-events-none z-[-1] flex items-center rounded-md rounded-bl-none rounded-tl-none border border-l-0 border-input px-3 shadow-sm",children:e.jsx("span",{className:"text-gray-500",children:l("dynamic_form.hysteria.bandwidth.down.suffix")})})]})]})})]}),vless:()=>e.jsxs(e.Fragment,{children:[e.jsx(y,{control:u.control,name:"tls",render:({field:f})=>e.jsxs(b,{children:[e.jsx(N,{children:l("dynamic_form.vless.tls.label")}),e.jsx(w,{children:e.jsxs(G,{value:f.value?.toString(),onValueChange:g=>f.onChange(Number(g)),children:[e.jsx(U,{children:e.jsx(W,{placeholder:l("dynamic_form.vless.tls.placeholder")})}),e.jsxs(B,{children:[e.jsx(L,{value:"0",children:l("dynamic_form.vless.tls.none")}),e.jsx(L,{value:"1",children:l("dynamic_form.vless.tls.tls")}),e.jsx(L,{value:"2",children:l("dynamic_form.vless.tls.reality")})]})]})})]})}),u.watch("tls")=="1"&&e.jsxs("div",{className:"flex gap-2",children:[e.jsx(y,{control:u.control,name:"tls_settings.server_name",render:({field:f})=>e.jsxs(b,{className:"flex-[2]",children:[e.jsx(N,{children:l("dynamic_form.vless.tls_settings.server_name.label")}),e.jsx(w,{children:e.jsx(D,{placeholder:l("dynamic_form.vless.tls_settings.server_name.placeholder"),...f})})]})}),e.jsx(y,{control:u.control,name:"tls_settings.allow_insecure",render:({field:f})=>e.jsxs(b,{children:[e.jsx(N,{children:l("dynamic_form.vless.tls_settings.allow_insecure")}),e.jsx("div",{className:"py-2 text-center",children:e.jsx(w,{children:e.jsx(H,{checked:f.value,onCheckedChange:f.onChange})})})]})})]}),u.watch("tls")==2&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx(y,{control:u.control,name:"reality_settings.server_name",render:({field:f})=>e.jsxs(b,{className:"flex-[2]",children:[e.jsx(N,{children:l("dynamic_form.vless.reality_settings.server_name.label")}),e.jsx(w,{children:e.jsx(D,{placeholder:l("dynamic_form.vless.reality_settings.server_name.placeholder"),...f})})]})}),e.jsx(y,{control:u.control,name:"reality_settings.server_port",render:({field:f})=>e.jsxs(b,{className:"flex-1",children:[e.jsx(N,{children:l("dynamic_form.vless.reality_settings.server_port.label")}),e.jsx(w,{children:e.jsx(D,{placeholder:l("dynamic_form.vless.reality_settings.server_port.placeholder"),...f})})]})}),e.jsx(y,{control:u.control,name:"reality_settings.allow_insecure",render:({field:f})=>e.jsxs(b,{children:[e.jsx(N,{children:l("dynamic_form.vless.reality_settings.allow_insecure")}),e.jsx("div",{className:"py-2 text-center",children:e.jsx(w,{children:e.jsx(H,{checked:f.value,onCheckedChange:f.onChange})})})]})})]}),e.jsx("div",{className:"flex items-end gap-2",children:e.jsx(y,{control:u.control,name:"reality_settings.private_key",render:({field:f})=>e.jsxs(b,{className:"flex-1",children:[e.jsx(N,{children:l("dynamic_form.vless.reality_settings.private_key.label")}),e.jsxs("div",{className:"relative",children:[e.jsx(w,{children:e.jsx(D,{...f,className:"pr-9"})}),e.jsxs(oe,{children:[e.jsx(ie,{asChild:!0,children:e.jsx(J,{type:"button",variant:"ghost",size:"icon",onClick:()=>{try{const g=Ou();u.setValue("reality_settings.private_key",g.privateKey),u.setValue("reality_settings.public_key",g.publicKey),q.success(l("dynamic_form.vless.reality_settings.key_pair.success"))}catch{q.error(l("dynamic_form.vless.reality_settings.key_pair.error"))}},className:"absolute right-0 top-0 h-full px-2 active:scale-90 transition-transform duration-150",children:e.jsx(Se,{icon:"ion:key-outline",className:"h-4 w-4 transition-transform hover:rotate-180 duration-300"})})}),e.jsx(_t,{children:e.jsx(te,{children:e.jsx("p",{children:l("dynamic_form.vless.reality_settings.key_pair.generate")})})})]})]})]})})}),e.jsx(y,{control:u.control,name:"reality_settings.public_key",render:({field:f})=>e.jsxs(b,{children:[e.jsx(N,{children:l("dynamic_form.vless.reality_settings.public_key.label")}),e.jsx(w,{children:e.jsx(D,{...f})})]})}),e.jsx(y,{control:u.control,name:"reality_settings.short_id",render:({field:f})=>e.jsxs(b,{children:[e.jsx(N,{children:l("dynamic_form.vless.reality_settings.short_id.label")}),e.jsxs("div",{className:"relative",children:[e.jsx(w,{children:e.jsx(D,{...f,className:"pr-9",placeholder:l("dynamic_form.vless.reality_settings.short_id.placeholder")})}),e.jsxs(oe,{children:[e.jsx(ie,{asChild:!0,children:e.jsx(J,{type:"button",variant:"ghost",size:"icon",onClick:()=>{const g=Lu();u.setValue("reality_settings.short_id",g),q.success(l("dynamic_form.vless.reality_settings.short_id.success"))},className:"absolute right-0 top-0 h-full px-2 active:scale-90 transition-transform duration-150",children:e.jsx(Se,{icon:"ion:refresh-outline",className:"h-4 w-4 transition-transform hover:rotate-180 duration-300"})})}),e.jsx(_t,{children:e.jsx(te,{children:e.jsx("p",{children:l("dynamic_form.vless.reality_settings.short_id.generate")})})})]})]}),e.jsx(M,{className:"text-xs text-muted-foreground",children:l("dynamic_form.vless.reality_settings.short_id.description")})]})})]}),e.jsx(y,{control:u.control,name:"network",render:({field:f})=>e.jsxs(b,{children:[e.jsxs(N,{children:[l("dynamic_form.vless.network.label"),e.jsx(Bt,{value:u.watch("network_settings"),setValue:g=>u.setValue("network_settings",g),templateType:u.watch("network")})]}),e.jsx(w,{children:e.jsxs(G,{onValueChange:f.onChange,value:f.value,children:[e.jsx(U,{children:e.jsx(W,{placeholder:l("dynamic_form.vless.network.placeholder")})}),e.jsx(B,{children:e.jsx(js,{children:os.vless.networkOptions.map(g=>e.jsx(L,{value:g.value,className:"cursor-pointer",children:g.label},g.value))})})]})})]})}),e.jsx(y,{control:u.control,name:"flow",render:({field:f})=>e.jsxs(b,{children:[e.jsx(N,{children:l("dynamic_form.vless.flow.label")}),e.jsx(w,{children:e.jsxs(G,{onValueChange:g=>f.onChange(g==="none"?null:g),value:f.value||"none",children:[e.jsx(U,{children:e.jsx(W,{placeholder:l("dynamic_form.vless.flow.placeholder")})}),e.jsx(B,{children:os.vless.flowOptions.map(g=>e.jsx(L,{value:g,children:g},g))})]})})]})})]})};return e.jsx(ce,{children:R[s]?.()})},Bu=h.object({id:h.number().optional().nullable(),code:h.string().optional(),name:h.string().min(1,"form.name.error"),rate:h.string().min(1,"form.rate.error"),tags:h.array(h.string()).default([]),excludes:h.array(h.string()).default([]),ips:h.array(h.string()).default([]),group_ids:h.array(h.string()).default([]),host:h.string().min(1,"form.host.error"),port:h.string().min(1,"form.port.error"),server_port:h.string().min(1,"form.server_port.error"),parent_id:h.string().default("0").nullable(),route_ids:h.array(h.string()).default([]),protocol_settings:h.record(h.any()).default({}).nullable()}),ft={id:null,code:"",name:"",rate:"1",tags:[],excludes:[],ips:[],group_ids:[],host:"",port:"",server_port:"",parent_id:"0",route_ids:[],protocol_settings:null};function Gu(){const{t:s}=I("server"),{isOpen:n,setIsOpen:a,editingServer:l,setEditingServer:r,serverType:c,setServerType:i,refetch:u}=Ar(),[x,o]=m.useState([]),[d,p]=m.useState([]),[T,R]=m.useState([]),f=de({resolver:me(Bu),defaultValues:ft,mode:"onChange"});m.useEffect(()=>{g()},[n]),m.useEffect(()=>{l?.type&&l.type!==c&&i(l.type)},[l,c,i]),m.useEffect(()=>{l?l.type===c&&f.reset({...ft,...l}):f.reset({...ft,protocol_settings:os[c].schema.parse({})})},[l,f,c]);const g=async()=>{if(!n)return;const[v,P,z]=await Promise.all([Mt(),yr(),br()]);o(v.data?.map(Q=>({label:Q.name,value:Q.id.toString()}))||[]),p(P.data?.map(Q=>({label:Q.remarks,value:Q.id.toString()}))||[]),R(z.data||[])},S=m.useMemo(()=>T?.filter(v=>(v.parent_id===0||v.parent_id===null)&&v.type===c&&v.id!==f.watch("id")),[c,T,f]),j=()=>e.jsxs(_s,{children:[e.jsx(ws,{asChild:!0,children:e.jsxs(V,{variant:"outline",size:"sm",className:"space-x-2",children:[e.jsx(Se,{icon:"ion:add"}),e.jsx("div",{children:s("form.add_node")})]})}),e.jsx(ds,{align:"start",children:e.jsx(pc,{children:Ts.map(({type:v,label:P})=>e.jsx(je,{onClick:()=>{i(v),a(!0)},className:"cursor-pointer",children:e.jsx(K,{variant:"outline",className:"text-white",style:{background:is[v]},children:P})},v))})})]}),C=()=>{a(!1),r(null),f.reset(ft)},k=async()=>{const v=f.getValues();(await qc({...v,type:c})).data&&(C(),q.success(s("form.success")),u())};return e.jsxs(pe,{open:n,onOpenChange:C,children:[j(),e.jsxs(fe,{className:"sm:max-w-[425px]",children:[e.jsxs(be,{children:[e.jsx(ge,{children:s(l?"form.edit_node":"form.new_node")}),e.jsx(Te,{})]}),e.jsxs(ue,{...f,children:[e.jsxs("div",{className:"grid gap-4",children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx(y,{control:f.control,name:"name",render:({field:v})=>e.jsxs(b,{className:"flex-[2]",children:[e.jsx(N,{children:s("form.name.label")}),e.jsx(w,{children:e.jsx(D,{placeholder:s("form.name.placeholder"),...v})}),e.jsx(E,{})]})}),e.jsx(y,{control:f.control,name:"rate",render:({field:v})=>e.jsxs(b,{className:"flex-[1]",children:[e.jsx(N,{children:s("form.rate.label")}),e.jsx("div",{className:"relative flex",children:e.jsx(w,{children:e.jsx(D,{type:"number",min:"0",step:"0.1",...v})})}),e.jsx(E,{})]})})]}),e.jsx(y,{control:f.control,name:"code",render:({field:v})=>e.jsxs(b,{children:[e.jsxs(N,{children:[s("form.code.label"),e.jsx("span",{className:"ml-1 text-xs text-muted-foreground",children:s("form.code.optional")})]}),e.jsx(w,{children:e.jsx(D,{placeholder:s("form.code.placeholder"),...v,value:v.value||""})}),e.jsx(E,{})]})}),e.jsx(y,{control:f.control,name:"tags",render:({field:v})=>e.jsxs(b,{children:[e.jsx(N,{children:s("form.tags.label")}),e.jsx(w,{children:e.jsx(va,{value:v.value,onChange:v.onChange,placeholder:s("form.tags.placeholder"),className:"w-full"})}),e.jsx(E,{})]})}),e.jsx(y,{control:f.control,name:"group_ids",render:({field:v})=>e.jsxs(b,{children:[e.jsxs(N,{className:"flex items-center justify-between",children:[s("form.groups.label"),e.jsx(zt,{dialogTrigger:e.jsx(V,{variant:"link",children:s("form.groups.add")}),refetch:g})]}),e.jsx(w,{children:e.jsx(ot,{options:x,onChange:P=>v.onChange(P.map(z=>z.value)),value:x?.filter(P=>v.value.includes(P.value)),placeholder:s("form.groups.placeholder"),emptyIndicator:e.jsx("p",{className:"text-center text-lg leading-10 text-gray-600 dark:text-gray-400",children:s("form.groups.empty")})})}),e.jsx(E,{})]})}),e.jsxs("div",{className:"space-y-4",children:[e.jsx(y,{control:f.control,name:"host",render:({field:v})=>e.jsxs(b,{children:[e.jsx(N,{children:s("form.host.label")}),e.jsx(w,{children:e.jsx(D,{placeholder:s("form.host.placeholder"),...v})}),e.jsx(E,{})]})}),e.jsxs("div",{className:"flex space-x-2",children:[e.jsx(y,{control:f.control,name:"port",render:({field:v})=>e.jsxs(b,{className:"flex-1",children:[e.jsxs(N,{className:"flex items-center gap-1.5",children:[s("form.port.label"),e.jsx(ce,{delayDuration:100,children:e.jsxs(oe,{children:[e.jsx(ie,{asChild:!0,children:e.jsx(Se,{icon:"ph:info-light",className:"size-3.5 cursor-help text-muted-foreground"})}),e.jsx(_t,{children:e.jsx(te,{side:"top",sideOffset:8,className:"max-w-80 p-3",children:e.jsx("p",{children:s("form.port.tooltip")})})})]})})]}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(w,{children:e.jsx(D,{placeholder:s("form.port.placeholder"),...v})}),e.jsx(ce,{delayDuration:100,children:e.jsxs(oe,{children:[e.jsx(ie,{asChild:!0,children:e.jsx(V,{type:"button",variant:"ghost",size:"icon",className:"size-6 shrink-0 text-muted-foreground/50 hover:text-muted-foreground",onClick:()=>{const P=v.value;P&&f.setValue("server_port",P)},children:e.jsx(Se,{icon:"tabler:arrows-right",className:"size-3"})})}),e.jsx(te,{side:"right",children:e.jsx("p",{children:s("form.port.sync")})})]})})]}),e.jsx(E,{})]})}),e.jsx(y,{control:f.control,name:"server_port",render:({field:v})=>e.jsxs(b,{className:"flex-1",children:[e.jsxs(N,{className:"flex items-center gap-1.5",children:[s("form.server_port.label"),e.jsx(ce,{delayDuration:100,children:e.jsxs(oe,{children:[e.jsx(ie,{asChild:!0,children:e.jsx(Se,{icon:"ph:info-light",className:"size-3.5 cursor-help text-muted-foreground"})}),e.jsx(_t,{children:e.jsx(te,{side:"top",sideOffset:8,className:"max-w-80 p-3",children:e.jsx("p",{children:s("form.server_port.tooltip")})})})]})})]}),e.jsx(w,{children:e.jsx(D,{placeholder:s("form.server_port.placeholder"),...v})}),e.jsx(E,{})]})})]})]}),n&&e.jsx(Uu,{serverType:c,value:f.watch("protocol_settings"),onChange:v=>f.setValue("protocol_settings",v,{shouldDirty:!0,shouldTouch:!0,shouldValidate:!0})}),e.jsx(y,{control:f.control,name:"parent_id",render:({field:v})=>e.jsxs(b,{children:[e.jsx(N,{children:s("form.parent.label")}),e.jsxs(G,{onValueChange:v.onChange,value:v.value?.toString()||"0",children:[e.jsx(w,{children:e.jsx(U,{children:e.jsx(W,{placeholder:s("form.parent.placeholder")})})}),e.jsxs(B,{children:[e.jsx(L,{value:"0",children:s("form.parent.none")}),S?.map(P=>e.jsx(L,{value:P.id.toString(),className:"cursor-pointer",children:P.name},P.id))]})]}),e.jsx(E,{})]})}),e.jsx(y,{control:f.control,name:"route_ids",render:({field:v})=>e.jsxs(b,{children:[e.jsx(N,{children:s("form.route.label")}),e.jsx(w,{children:e.jsx(ot,{options:d,onChange:P=>v.onChange(P.map(z=>z.value)),value:d?.filter(P=>v.value.includes(P.value)),placeholder:s("form.route.placeholder"),emptyIndicator:e.jsx("p",{className:"text-center text-lg leading-10 text-gray-600 dark:text-gray-400",children:s("form.route.empty")})})}),e.jsx(E,{})]})})]}),e.jsxs(Le,{className:"mt-6",children:[e.jsx(V,{type:"button",variant:"outline",onClick:C,children:s("form.cancel")}),e.jsx(V,{type:"submit",onClick:k,children:s("form.submit")})]})]})]})]})}function Ga({column:s,title:n,options:a}){const l=s?.getFacetedUniqueValues(),r=new Set(s?.getFilterValue());return e.jsxs(rs,{children:[e.jsx(ls,{asChild:!0,children:e.jsxs(V,{variant:"outline",size:"sm",className:"h-8 border-dashed",children:[e.jsx(dt,{className:"mr-2 h-4 w-4"}),n,r?.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(ye,{orientation:"vertical",className:"mx-2 h-4"}),e.jsx(K,{variant:"secondary",className:"rounded-sm px-1 font-normal lg:hidden",children:r.size}),e.jsx("div",{className:"hidden space-x-1 lg:flex",children:r.size>2?e.jsxs(K,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:[r.size," selected"]}):a.filter(c=>r.has(c.value)).map(c=>e.jsx(K,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:c.label},c.value))})]})]})}),e.jsx(Xe,{className:"w-[200px] p-0",align:"start",children:e.jsxs(Cs,{children:[e.jsx(Fs,{placeholder:n}),e.jsxs(Ss,{children:[e.jsx(Ms,{children:"No results found."}),e.jsx(Oe,{children:a.map(c=>{const i=r.has(c.value);return e.jsxs(ke,{onSelect:()=>{i?r.delete(c.value):r.add(c.value);const u=Array.from(r);s?.setFilterValue(u.length?u:void 0)},className:"cursor-pointer",children:[e.jsx("div",{className:_("mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary",i?"bg-primary text-primary-foreground":"opacity-50 [&_svg]:invisible"),children:e.jsx(Rs,{className:_("h-4 w-4")})}),c.icon&&e.jsx(c.icon,{className:`mr-2 h-4 w-4 text-muted-foreground text-${c.color}`}),e.jsx("span",{children:c.label}),l?.get(c.value)&&e.jsx("span",{className:"ml-auto flex h-4 w-4 items-center justify-center font-mono text-xs",children:l.get(c.value)})]},c.value)})}),r.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(Gs,{}),e.jsx(Oe,{children:e.jsx(ke,{onSelect:()=>s?.setFilterValue(void 0),className:"justify-center text-center cursor-pointer",children:"Clear filters"})})]})]})]})})]})}const Wu=[{value:Ne.Shadowsocks,label:Ts.find(s=>s.type===Ne.Shadowsocks)?.label,color:is[Ne.Shadowsocks]},{value:Ne.Vmess,label:Ts.find(s=>s.type===Ne.Vmess)?.label,color:is[Ne.Vmess]},{value:Ne.Trojan,label:Ts.find(s=>s.type===Ne.Trojan)?.label,color:is[Ne.Trojan]},{value:Ne.Hysteria,label:Ts.find(s=>s.type===Ne.Hysteria)?.label,color:is[Ne.Hysteria]},{value:Ne.Vless,label:Ts.find(s=>s.type===Ne.Vless)?.label,color:is[Ne.Vless]}];function Yu({table:s,saveOrder:n,isSortMode:a,groups:l}){const r=s.getState().columnFilters.length>0,{t:c}=I("server"),i=l.map(u=>({label:u,value:u}));return e.jsxs("div",{className:"flex items-center justify-between ",children:[e.jsxs("div",{className:"flex flex-1 flex-col-reverse items-start gap-y-2 sm:flex-row sm:items-center sm:space-x-2",children:[!a&&e.jsxs(e.Fragment,{children:[e.jsx(Gu,{}),e.jsx(D,{placeholder:c("toolbar.search"),value:s.getColumn("name")?.getFilterValue()??"",onChange:u=>s.getColumn("name")?.setFilterValue(u.target.value),className:"h-8 w-[150px] lg:w-[250px]"}),e.jsxs("div",{className:"flex gap-x-2",children:[s.getColumn("type")&&e.jsx(Ga,{column:s.getColumn("type"),title:c("toolbar.type"),options:Wu}),s.getColumn("groups")&&e.jsx(Ga,{column:s.getColumn("groups"),title:c("columns.groups.title"),options:i})]}),r&&e.jsxs(V,{variant:"ghost",onClick:()=>s.resetColumnFilters(),className:"h-8 px-2 lg:px-3",children:[c("toolbar.reset"),e.jsx(Ae,{className:"ml-2 h-4 w-4"})]})]}),a&&e.jsx("div",{className:"flex items-center space-x-2",children:e.jsx("p",{className:"text-sm text-muted-foreground",children:c("toolbar.sort.tip")})})]}),s.getRowCount()>0&&e.jsx("div",{className:"flex items-center gap-2",children:e.jsx(V,{variant:a?"default":"outline",onClick:n,size:"sm",children:c(a?"toolbar.sort.save":"toolbar.sort.edit")})})]})}const it=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M15.71 12.71a6 6 0 1 0-7.42 0a10 10 0 0 0-6.22 8.18a1 1 0 0 0 2 .22a8 8 0 0 1 15.9 0a1 1 0 0 0 1 .89h.11a1 1 0 0 0 .88-1.1a10 10 0 0 0-6.25-8.19M12 12a4 4 0 1 1 4-4a4 4 0 0 1-4 4"})}),pt={0:"bg-destructive/80 shadow-sm shadow-destructive/50",1:"bg-yellow-500/80 shadow-sm shadow-yellow-500/50",2:"bg-emerald-500/80 shadow-sm shadow-emerald-500/50"},Ju=s=>{const{t:n}=I("server");return[{id:"drag-handle",header:({column:a})=>e.jsx(O,{column:a,title:n("columns.sort")}),cell:()=>e.jsx("div",{className:"flex items-center justify-center",children:e.jsx(Rt,{className:"size-4 cursor-move text-muted-foreground transition-colors hover:text-primary","aria-hidden":"true"})}),size:50},{accessorKey:"id",header:({column:a})=>e.jsx(O,{column:a,title:n("columns.nodeId")}),cell:({row:a})=>{const l=a.getValue("id"),r=a.original.code;return e.jsx(ce,{delayDuration:100,children:e.jsxs(oe,{children:[e.jsx(ie,{asChild:!0,children:e.jsxs("div",{className:"group/id flex items-center space-x-2",children:[e.jsxs(K,{variant:"outline",className:_("border-2 font-medium transition-all duration-200 hover:opacity-80","flex items-center gap-1.5"),style:{borderColor:is[a.original.type]},children:[e.jsx(Bn,{className:"size-3"}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx("span",{className:"flex items-center gap-0.5",children:r??l}),a.original.parent?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"text-sm text-muted-foreground/30",children:"→"}),e.jsx("span",{children:a.original.parent?.code||a.original.parent?.id})]}):""]})]}),e.jsx(V,{variant:"ghost",size:"icon",className:"size-5 text-muted-foreground/40 opacity-0 transition-all duration-200 hover:text-muted-foreground group-hover/id:opacity-100",onClick:c=>{c.stopPropagation(),St(r||l.toString()).then(()=>{q.success(n("common:copy.success"))})},children:e.jsx(Fa,{className:"size-3"})})]})}),e.jsxs(te,{side:"top",className:"flex flex-col gap-1 p-3",children:[e.jsxs("p",{className:"font-medium",children:[Ts.find(c=>c.type===a.original.type)?.label,a.original.parent_id?" (子节点)":""]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:r?"点击括号内容或复制按钮可复制节点代码":"点击复制按钮可复制节点ID"})]})]})})},size:200,enableSorting:!0},{accessorKey:"show",header:({column:a})=>e.jsx(O,{column:a,title:n("columns.show")}),cell:({row:a})=>{const[l,r]=m.useState(!!a.getValue("show"));return e.jsx(H,{checked:l,onCheckedChange:async c=>{r(c),Uc({id:a.original.id,type:a.original.type,show:c?1:0}).catch(()=>{r(!c),s()})},style:{backgroundColor:l?is[a.original.type]:void 0}})},size:50,enableSorting:!1},{accessorKey:"name",header:({column:a})=>e.jsx("div",{className:"flex items-center",children:e.jsx(O,{column:a,title:n("columns.node"),tooltip:e.jsxs("div",{className:"grid grid-cols-1 gap-3 p-2",children:[e.jsxs("div",{className:"flex items-center space-x-2.5",children:[e.jsx("span",{className:_("h-2.5 w-2.5 rounded-full",pt[0])}),e.jsx("span",{className:"text-sm font-medium",children:n("columns.status.0")})]}),e.jsxs("div",{className:"flex items-center space-x-2.5",children:[e.jsx("span",{className:_("h-2.5 w-2.5 rounded-full",pt[1])}),e.jsx("span",{className:"text-sm font-medium",children:n("columns.status.1")})]}),e.jsxs("div",{className:"flex items-center space-x-2.5",children:[e.jsx("span",{className:_("h-2.5 w-2.5 rounded-full",pt[2])}),e.jsx("span",{className:"text-sm font-medium",children:n("columns.status.2")})]})]})})}),cell:({row:a})=>e.jsx(ce,{delayDuration:100,children:e.jsxs(oe,{children:[e.jsx(ie,{children:e.jsxs("div",{className:"flex items-center space-x-2.5",children:[e.jsx("span",{className:_("size-2.5 flex-shrink-0 rounded-full transition-all duration-200",pt[a.original.available_status])}),e.jsx("span",{className:"text-left font-medium transition-colors hover:text-primary",children:a.getValue("name")})]})}),e.jsx(te,{children:e.jsx("p",{className:"font-medium",children:n(`columns.status.${a.original.available_status}`)})})]})}),enableSorting:!1,size:200},{accessorKey:"host",header:({column:a})=>e.jsx(O,{column:a,title:n("columns.address")}),cell:({row:a})=>{const l=`${a.original.host}:${a.original.port}`,r=a.original.port!==a.original.server_port;return e.jsxs("div",{className:"group relative flex min-w-0 items-start",children:[e.jsxs("div",{className:"flex min-w-0 flex-wrap items-baseline gap-x-1 gap-y-0.5 pr-7",children:[e.jsx("div",{className:"flex items-center ",children:e.jsxs("span",{className:"font-mono text-sm font-medium text-foreground/90",children:[a.original.host,":",a.original.port]})}),r&&e.jsxs("span",{className:"whitespace-nowrap text-[0.7rem] tracking-tight text-muted-foreground/40",children:["(",n("columns.internalPort")," ",a.original.server_port,")"]})]}),e.jsx("div",{className:"absolute right-0 top-0",children:e.jsx(ce,{delayDuration:0,children:e.jsxs(oe,{children:[e.jsx(ie,{asChild:!0,children:e.jsx(V,{variant:"ghost",size:"icon",className:"size-6 text-muted-foreground/40 opacity-0 transition-all duration-200 hover:bg-muted/50 hover:text-muted-foreground group-hover:opacity-100",onClick:c=>{c.stopPropagation(),St(l).then(()=>{q.success(n("common:copy.success"))})},children:e.jsx(Fa,{className:"size-3"})})}),e.jsx(te,{side:"top",sideOffset:10,children:n("columns.copyAddress")})]})})})]})},enableSorting:!1,enableHiding:!0},{accessorKey:"online",header:({column:a})=>e.jsx(O,{column:a,title:n("columns.onlineUsers.title"),tooltip:n("columns.onlineUsers.tooltip")}),cell:({row:a})=>e.jsxs("div",{className:"flex items-center space-x-2 px-4",children:[e.jsx(it,{className:"size-4"}),e.jsx("span",{className:"font-medium",children:a.getValue("online")})]}),size:80,enableSorting:!0,enableHiding:!0},{accessorKey:"rate",header:({column:a})=>e.jsx(O,{column:a,title:n("columns.rate.title"),tooltip:n("columns.rate.tooltip")}),cell:({row:a})=>e.jsxs(K,{variant:"secondary",className:"font-medium",children:[a.getValue("rate")," x"]}),size:80,enableSorting:!1,enableHiding:!0},{accessorKey:"groups",header:({column:a})=>e.jsx(O,{column:a,title:n("columns.groups.title"),tooltip:n("columns.groups.tooltip")}),cell:({row:a})=>{const l=a.getValue("groups")||[];return e.jsx("div",{className:"flex min-w-[300px] max-w-[600px] flex-wrap items-center gap-1.5",children:l.length>0?l.map((r,c)=>e.jsx(K,{variant:"secondary",className:_("px-2 py-0.5 font-medium","bg-secondary/50 hover:bg-secondary/70","border border-border/50","transition-all duration-200","cursor-default select-none","flex items-center gap-1.5"),children:r.name},c)):e.jsx("span",{className:"text-sm text-muted-foreground",children:n("columns.groups.empty")})})},enableSorting:!1,size:600,filterFn:(a,l,r)=>{const c=a.getValue(l);return c?r.some(i=>c.includes(i)):!1}},{accessorKey:"type",header:({column:a})=>e.jsx(O,{column:a,title:n("columns.type")}),cell:({row:a})=>{const l=a.getValue("type");return e.jsx(K,{variant:"outline",className:"border-2 font-medium transition-colors",style:{borderColor:is[l]},children:l})},enableSorting:!1,enableHiding:!0,enableColumnFilter:!1,size:8e3},{id:"actions",header:({column:a})=>e.jsx(O,{className:"justify-end",column:a,title:n("columns.actions")}),cell:({row:a})=>{const{setIsOpen:l,setEditingServer:r,setServerType:c}=Ar();return e.jsx("div",{className:"flex justify-center",children:e.jsxs(_s,{modal:!1,children:[e.jsx(ws,{asChild:!0,children:e.jsx(V,{variant:"ghost",className:"h-8 w-8 p-0 hover:bg-muted","aria-label":n("columns.actions"),children:e.jsx(wt,{className:"size-4"})})}),e.jsxs(ds,{align:"end",className:"w-40",children:[e.jsx(je,{className:"cursor-pointer",onClick:()=>{c(a.original.type),r(a.original),l(!0)},children:e.jsxs("div",{className:"flex w-full items-center",children:[e.jsx(wi,{className:"mr-2 size-4"}),n("columns.actions_dropdown.edit")]})}),e.jsxs(je,{className:"cursor-pointer",onClick:async()=>{Hc({id:a.original.id}).then(({data:i})=>{i&&(q.success(n("columns.actions_dropdown.copy_success")),s())})},children:[e.jsx(Ci,{className:"mr-2 size-4"}),n("columns.actions_dropdown.copy")]}),e.jsx(rt,{}),e.jsx(je,{className:"cursor-pointer text-destructive focus:text-destructive",onSelect:i=>i.preventDefault(),children:e.jsx(Ue,{title:n("columns.actions_dropdown.delete.title"),description:n("columns.actions_dropdown.delete.description"),confirmText:n("columns.actions_dropdown.delete.confirm"),variant:"destructive",onConfirm:async()=>{Kc({id:a.original.id}).then(({data:i})=>{i&&(q.success(n("columns.actions_dropdown.delete_success")),s())})},children:e.jsxs("div",{className:"flex w-full items-center",children:[e.jsx(ns,{className:"mr-2 size-4"}),n("columns.actions_dropdown.delete.confirm")]})})})]})]})})},size:50}]};function Qu(){const[s,n]=m.useState({}),[a,l]=m.useState({"drag-handle":!1}),[r,c]=m.useState([]),[i,u]=m.useState({pageSize:500,pageIndex:0}),[x,o]=m.useState([]),[d,p]=m.useState(!1),[T,R]=m.useState({}),[f,g]=m.useState([]),{refetch:S}=se({queryKey:["nodeList"],queryFn:async()=>{const{data:z}=await br();return g(z),z}}),j=m.useMemo(()=>{const z=new Set;return f.forEach(Q=>{Q.groups&&Q.groups.forEach($=>z.add($.name))}),Array.from(z).sort()},[f]);m.useEffect(()=>{l({"drag-handle":d,show:!d,host:!d,online:!d,rate:!d,groups:!d,type:!1,actions:!d}),R({name:d?2e3:200}),u({pageSize:d?99999:500,pageIndex:0})},[d]);const C=(z,Q)=>{d&&(z.dataTransfer.setData("text/plain",Q.toString()),z.currentTarget.classList.add("opacity-50"))},k=(z,Q)=>{if(!d)return;z.preventDefault(),z.currentTarget.classList.remove("bg-muted");const $=parseInt(z.dataTransfer.getData("text/plain"));if($===Q)return;const X=[...f],[Ws]=X.splice($,1);X.splice(Q,0,Ws),g(X)},v=async()=>{if(!d){p(!0);return}const z=f?.map((Q,$)=>({id:Q.id,order:$+1}));Bc(z).then(()=>{q.success("排序保存成功"),p(!1),S()}).finally(()=>{p(!1)})},P=Ke({data:f||[],columns:Ju(S),state:{sorting:x,columnVisibility:a,rowSelection:s,columnFilters:r,columnSizing:T,pagination:i},enableRowSelection:!0,onRowSelectionChange:n,onSortingChange:o,onColumnFiltersChange:c,onColumnVisibilityChange:l,onColumnSizingChange:R,onPaginationChange:u,getCoreRowModel:He(),getFilteredRowModel:Je(),getPaginationRowModel:Qe(),getSortedRowModel:Ze(),getFacetedRowModel:us(),getFacetedUniqueValues:xs(),initialState:{columnPinning:{right:["actions"]}}});return e.jsx(Vu,{refetch:S,children:e.jsx("div",{className:"space-y-4",children:e.jsx(es,{table:P,toolbar:z=>e.jsx(Yu,{table:z,refetch:S,saveOrder:v,isSortMode:d,groups:j}),draggable:d,onDragStart:C,onDragEnd:z=>z.currentTarget.classList.remove("opacity-50"),onDragOver:z=>{z.preventDefault(),z.currentTarget.classList.add("bg-muted")},onDragLeave:z=>z.currentTarget.classList.remove("bg-muted"),onDrop:k,showPagination:!d})})})}function Zu(){const{t:s}=I("server");return e.jsxs(we,{children:[e.jsxs(Ce,{children:[e.jsx(Ie,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(Ee,{}),e.jsx(Re,{})]})]}),e.jsxs(Pe,{className:"flex flex-col",fixedHeight:!0,children:[e.jsx("div",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:s("manage.title")}),e.jsx("p",{className:"text-muted-foreground mt-2",children:s("manage.description")})]})}),e.jsx("div",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx(Qu,{})})]})]})}const Xu=Object.freeze(Object.defineProperty({__proto__:null,default:Zu},Symbol.toStringTag,{value:"Module"}));function ex({table:s,refetch:n}){const a=s.getState().columnFilters.length>0,{t:l}=I("group");return e.jsx("div",{className:"flex items-center justify-between space-x-4",children:e.jsxs("div",{className:"flex flex-1 items-center space-x-2",children:[e.jsx(zt,{refetch:n}),e.jsx(D,{placeholder:l("toolbar.searchPlaceholder"),value:s.getColumn("name")?.getFilterValue()??"",onChange:r=>s.getColumn("name")?.setFilterValue(r.target.value),className:_("h-8 w-[150px] lg:w-[250px]",a&&"border-primary/50 ring-primary/20")}),a&&e.jsxs(V,{variant:"ghost",onClick:()=>s.resetColumnFilters(),className:"h-8 px-2 lg:px-3",children:[l("toolbar.reset"),e.jsx(Ae,{className:"ml-2 h-4 w-4"})]})]})})}const sx=s=>{const{t:n}=I("group");return[{accessorKey:"id",header:({column:a})=>e.jsx(O,{column:a,title:n("columns.id")}),cell:({row:a})=>e.jsx("div",{className:"flex items-center space-x-2",children:e.jsx(K,{variant:"outline",children:a.getValue("id")})}),enableSorting:!0},{accessorKey:"name",header:({column:a})=>e.jsx(O,{column:a,title:n("columns.name")}),cell:({row:a})=>e.jsx("div",{className:"flex space-x-2",children:e.jsx("span",{className:"max-w-32 truncate font-medium",children:a.getValue("name")})})},{accessorKey:"users_count",header:({column:a})=>e.jsx(O,{column:a,title:n("columns.usersCount")}),cell:({row:a})=>e.jsxs("div",{className:"flex items-center space-x-2 px-4",children:[e.jsx(it,{className:"h-4 w-4"}),e.jsx("span",{className:"font-medium",children:a.getValue("users_count")})]}),enableSorting:!0},{accessorKey:"server_count",header:({column:a})=>e.jsx(O,{column:a,title:n("columns.serverCount")}),cell:({row:a})=>e.jsxs("div",{className:"flex items-center space-x-2 px-4",children:[e.jsx(Bn,{className:"h-4 w-4"}),e.jsx("span",{className:"font-medium",children:a.getValue("server_count")})]}),enableSorting:!0,size:8e3},{id:"actions",header:({column:a})=>e.jsx(O,{className:"justify-end",column:a,title:n("columns.actions")}),cell:({row:a})=>e.jsxs("div",{className:"flex items-center justify-center",children:[e.jsx(zt,{defaultValues:a.original,refetch:s,type:"edit",dialogTrigger:e.jsxs(V,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-muted",children:[e.jsx(Is,{className:"h-4 w-4 text-muted-foreground hover:text-foreground"}),e.jsx("span",{className:"sr-only",children:n("form.edit")})]})}),e.jsx(Ue,{title:n("messages.deleteConfirm"),description:n("messages.deleteDescription"),confirmText:n("messages.deleteButton"),variant:"destructive",onConfirm:async()=>{Wc({id:a.original.id}).then(({data:l})=>{l&&(q.success(n("messages.updateSuccess")),s())})},children:e.jsxs(V,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-red-100 dark:hover:bg-red-900",children:[e.jsx(ns,{className:"h-4 w-4 text-muted-foreground hover:text-red-600 dark:hover:text-red-400"}),e.jsx("span",{className:"sr-only",children:n("messages.deleteButton")})]})})]})}]};function tx(){const[s,n]=m.useState({}),[a,l]=m.useState({}),[r,c]=m.useState([]),[i,u]=m.useState([]),{data:x,refetch:o,isLoading:d}=se({queryKey:["serverGroupList"],queryFn:async()=>{const{data:T}=await Mt();return T}}),p=Ke({data:x||[],columns:sx(o),state:{sorting:i,columnVisibility:a,rowSelection:s,columnFilters:r},enableRowSelection:!0,onRowSelectionChange:n,onSortingChange:u,onColumnFiltersChange:c,onColumnVisibilityChange:l,getCoreRowModel:He(),getFilteredRowModel:Je(),getPaginationRowModel:Qe(),getSortedRowModel:Ze(),getFacetedRowModel:us(),getFacetedUniqueValues:xs(),initialState:{columnPinning:{right:["actions"]}}});return e.jsx(es,{table:p,toolbar:T=>e.jsx(ex,{table:T,refetch:o}),isLoading:d})}function ax(){const{t:s}=I("group");return e.jsxs(we,{children:[e.jsxs(Ce,{children:[e.jsx(Ie,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(Ee,{}),e.jsx(Re,{})]})]}),e.jsxs(Pe,{className:"flex flex-col",fixedHeight:!0,children:[e.jsx("div",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:s("title")}),e.jsx("p",{className:"mt-2 text-muted-foreground",children:s("description")})]})}),e.jsx("div",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx(tx,{})})]})]})}const nx=Object.freeze(Object.defineProperty({__proto__:null,default:ax},Symbol.toStringTag,{value:"Module"})),rx=s=>h.object({remarks:h.string().min(1,s("form.validation.remarks")),match:h.array(h.string()),action:h.enum(["block","dns"]),action_value:h.string().optional()});function $r({refetch:s,dialogTrigger:n,defaultValues:a={remarks:"",match:[],action:"block",action_value:""},type:l="add"}){const{t:r}=I("route"),c=de({resolver:me(rx(r)),defaultValues:a,mode:"onChange"}),[i,u]=m.useState(!1);return e.jsxs(pe,{open:i,onOpenChange:u,children:[e.jsx(ze,{asChild:!0,children:n||e.jsxs(V,{variant:"outline",size:"sm",className:"space-x-2",children:[e.jsx(Se,{icon:"ion:add"})," ",e.jsx("div",{children:r("form.add")})]})}),e.jsxs(fe,{className:"sm:max-w-[425px]",children:[e.jsxs(be,{children:[e.jsx(ge,{children:r(l==="edit"?"form.edit":"form.create")}),e.jsx(Te,{})]}),e.jsxs(ue,{...c,children:[e.jsx(y,{control:c.control,name:"remarks",render:({field:x})=>e.jsxs(b,{className:"flex-[2]",children:[e.jsx(N,{children:r("form.remarks")}),e.jsx("div",{className:"relative",children:e.jsx(w,{children:e.jsx(D,{type:"text",placeholder:r("form.remarksPlaceholder"),...x})})}),e.jsx(E,{})]})}),e.jsx(y,{control:c.control,name:"match",render:({field:x})=>e.jsxs(b,{className:"flex-[2]",children:[e.jsx(N,{children:r("form.match")}),e.jsx("div",{className:"relative",children:e.jsx(w,{children:e.jsx(ps,{className:"min-h-[120px]",placeholder:r("form.matchPlaceholder"),value:x.value.join(` +`),onChange:o=>{x.onChange(o.target.value.split(` +`))}})})}),e.jsx(E,{})]})}),e.jsx(y,{control:c.control,name:"action",render:({field:x})=>e.jsxs(b,{children:[e.jsx(N,{children:r("form.action")}),e.jsx("div",{className:"relative",children:e.jsx(w,{children:e.jsxs(G,{onValueChange:x.onChange,defaultValue:x.value,children:[e.jsx(U,{children:e.jsx(W,{placeholder:r("form.actionPlaceholder")})}),e.jsxs(B,{children:[e.jsx(L,{value:"block",children:r("actions.block")}),e.jsx(L,{value:"dns",children:r("actions.dns")})]})]})})}),e.jsx(E,{})]})}),c.watch("action")==="dns"&&e.jsx(y,{control:c.control,name:"action_value",render:({field:x})=>e.jsxs(b,{children:[e.jsx(N,{children:r("form.dns")}),e.jsx("div",{className:"relative",children:e.jsx(w,{children:e.jsx(D,{type:"text",placeholder:r("form.dnsPlaceholder"),...x})})})]})}),e.jsxs(Le,{children:[e.jsx(mt,{asChild:!0,children:e.jsx(V,{variant:"outline",children:r("form.cancel")})}),e.jsx(V,{type:"submit",onClick:()=>{Yc(c.getValues()).then(({data:x})=>{x&&(u(!1),s&&s(),toast.success(r(l==="edit"?"messages.updateSuccess":"messages.createSuccess")),c.reset())})},children:r("form.submit")})]})]})]})]})}function lx({table:s,refetch:n}){const a=s.getState().columnFilters.length>0,{t:l}=I("route");return e.jsx("div",{className:"flex items-center justify-between ",children:e.jsxs("div",{className:"flex flex-1 flex-col-reverse items-start gap-y-2 sm:flex-row sm:items-center sm:space-x-2",children:[e.jsx($r,{refetch:n}),e.jsx(D,{placeholder:l("toolbar.searchPlaceholder"),value:s.getColumn("remarks")?.getFilterValue()??"",onChange:r=>s.getColumn("remarks")?.setFilterValue(r.target.value),className:"h-8 w-[150px] lg:w-[250px]"}),a&&e.jsxs(V,{variant:"ghost",onClick:()=>s.resetColumnFilters(),className:"h-8 px-2 lg:px-3",children:[l("toolbar.reset"),e.jsx(Ae,{className:"ml-2 h-4 w-4"})]})]})})}function ox({columns:s,data:n,refetch:a}){const[l,r]=m.useState({}),[c,i]=m.useState({}),[u,x]=m.useState([]),[o,d]=m.useState([]),p=Ke({data:n,columns:s,state:{sorting:o,columnVisibility:c,rowSelection:l,columnFilters:u},enableRowSelection:!0,onRowSelectionChange:r,onSortingChange:d,onColumnFiltersChange:x,onColumnVisibilityChange:i,getCoreRowModel:He(),getFilteredRowModel:Je(),getPaginationRowModel:Qe(),getSortedRowModel:Ze(),getFacetedRowModel:us(),getFacetedUniqueValues:xs(),initialState:{columnPinning:{right:["actions"]}}});return e.jsx(es,{table:p,toolbar:T=>e.jsx(lx,{table:T,refetch:a})})}const ix=s=>{const{t:n}=I("route"),a={block:{icon:Si,variant:"destructive",className:"bg-red-100 text-red-700 dark:bg-red-900 dark:text-red-400 hover:bg-red-200 dark:hover:bg-red-800"},dns:{icon:ki,variant:"secondary",className:"bg-blue-100 text-blue-700 dark:bg-blue-900 dark:text-blue-400 hover:bg-blue-200 dark:hover:bg-blue-800"}};return[{accessorKey:"id",header:({column:l})=>e.jsx(O,{column:l,title:n("columns.id")}),cell:({row:l})=>e.jsx("div",{className:"flex items-center space-x-2",children:e.jsx(K,{variant:"outline",children:l.getValue("id")})}),enableSorting:!0,enableHiding:!1},{accessorKey:"remarks",header:({column:l})=>e.jsx(O,{column:l,title:n("columns.remarks")}),cell:({row:l})=>{const r=l.original.match?.length||0;return e.jsx("div",{className:"flex space-x-2",children:e.jsx("span",{className:"max-w-32 truncate font-medium sm:max-w-72 md:max-w-[31rem]",children:n("columns.matchRules",{count:r})})})},enableHiding:!1,enableSorting:!1},{accessorKey:"action",header:({column:l})=>e.jsx(O,{column:l,title:n("columns.action")}),cell:({row:l})=>{const r=l.getValue("action"),c=a[r]?.icon;return e.jsx("div",{className:"flex items-center space-x-2",children:e.jsxs(K,{variant:a[r]?.variant||"default",className:_("flex items-center gap-1.5 px-3 py-1 capitalize",a[r]?.className),children:[c&&e.jsx(c,{className:"h-3.5 w-3.5"}),n(`actions.${r}`)]})})},enableSorting:!1,size:9e3},{id:"actions",header:()=>e.jsx("div",{className:"text-right",children:n("columns.actions")}),cell:({row:l})=>e.jsxs("div",{className:"flex items-center justify-center",children:[e.jsx($r,{defaultValues:l.original,refetch:s,type:"edit",dialogTrigger:e.jsxs(V,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-muted",children:[e.jsx(Is,{className:"h-4 w-4 text-muted-foreground hover:text-foreground"}),e.jsx("span",{className:"sr-only",children:n("form.edit")})]})}),e.jsx(Ue,{title:n("messages.deleteConfirm"),description:n("messages.deleteDescription"),confirmText:n("messages.deleteButton"),variant:"destructive",onConfirm:async()=>{Jc({id:l.original.id}).then(({data:r})=>{r&&(q.success(n("messages.deleteSuccess")),s())})},children:e.jsxs(V,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-red-100 dark:hover:bg-red-900",children:[e.jsx(ns,{className:"h-4 w-4 text-muted-foreground hover:text-red-600 dark:hover:text-red-400"}),e.jsx("span",{className:"sr-only",children:n("messages.deleteButton")})]})})]})}]};function cx(){const{t:s}=I("route"),[n,a]=m.useState([]);function l(){yr().then(({data:r})=>{a(r)})}return m.useEffect(()=>{l()},[]),e.jsxs(we,{children:[e.jsxs(Ce,{children:[e.jsx(Ie,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(Ee,{}),e.jsx(Re,{})]})]}),e.jsxs(Pe,{className:"flex flex-col",fixedHeight:!0,children:[e.jsx("div",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:s("title")}),e.jsx("p",{className:"mt-2 text-muted-foreground",children:s("description")})]})}),e.jsx("div",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx(ox,{data:n,columns:ix(l),refetch:l})})]})]})}const dx=Object.freeze(Object.defineProperty({__proto__:null,default:cx},Symbol.toStringTag,{value:"Module"})),qr=m.createContext(void 0);function mx({children:s,refreshData:n}){const[a,l]=m.useState(!1),[r,c]=m.useState(null);return e.jsx(qr.Provider,{value:{isOpen:a,setIsOpen:l,editingPlan:r,setEditingPlan:c,refreshData:n},children:s})}function ba(){const s=m.useContext(qr);if(s===void 0)throw new Error("usePlanEdit must be used within a PlanEditProvider");return s}function ux({table:s,saveOrder:n,isSortMode:a}){const{setIsOpen:l}=ba(),{t:r}=I("subscribe");return e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex flex-1 items-center space-x-2",children:[e.jsxs(V,{variant:"outline",className:"space-x-2",size:"sm",onClick:()=>l(!0),children:[e.jsx(Se,{icon:"ion:add"}),e.jsx("div",{children:r("plan.add")})]}),e.jsx(D,{placeholder:r("plan.search"),value:s.getColumn("name")?.getFilterValue()??"",onChange:c=>s.getColumn("name")?.setFilterValue(c.target.value),className:"h-8 w-[150px] lg:w-[250px]"})]}),s.getRowCount()>0&&e.jsx("div",{className:"flex items-center gap-2",children:e.jsx(V,{variant:a?"default":"outline",onClick:n,size:"sm",children:r(a?"plan.sort.save":"plan.sort.edit")})})]})}const Wa={monthly:{color:"text-slate-700",bgColor:"bg-slate-100/80"},quarterly:{color:"text-slate-700",bgColor:"bg-slate-100/80"},half_yearly:{color:"text-slate-700",bgColor:"bg-slate-100/80"},yearly:{color:"text-slate-700",bgColor:"bg-slate-100/80"},two_yearly:{color:"text-slate-700",bgColor:"bg-slate-100/80"},three_yearly:{color:"text-slate-700",bgColor:"bg-slate-100/80"},onetime:{color:"text-slate-700",bgColor:"bg-slate-100/80"},reset_traffic:{color:"text-slate-700",bgColor:"bg-slate-100/80"}},xx=s=>{const{t:n}=I("subscribe");return[{id:"drag-handle",header:()=>null,cell:()=>e.jsx("div",{className:"cursor-move",children:e.jsx(Rt,{className:"size-4"})}),size:40,enableSorting:!1},{accessorKey:"id",header:({column:a})=>e.jsx(O,{column:a,title:n("plan.columns.id")}),cell:({row:a})=>e.jsx("div",{className:"flex items-center space-x-2",children:e.jsx(K,{variant:"outline",children:a.getValue("id")})}),enableSorting:!0,enableHiding:!1},{accessorKey:"show",header:({column:a})=>e.jsx(O,{column:a,title:n("plan.columns.show")}),cell:({row:a})=>e.jsx(H,{defaultChecked:a.getValue("show"),onCheckedChange:l=>{qt({id:a.original.id,show:l}).then(({data:r})=>{!r&&s()})}}),enableSorting:!1,enableHiding:!1},{accessorKey:"sell",header:({column:a})=>e.jsx(O,{column:a,title:n("plan.columns.sell")}),cell:({row:a})=>e.jsx(H,{defaultChecked:a.getValue("sell"),onCheckedChange:l=>{qt({id:a.original.id,sell:l}).then(({data:r})=>{!r&&s()})}}),enableSorting:!1,enableHiding:!1},{accessorKey:"renew",header:({column:a})=>e.jsx(O,{column:a,title:n("plan.columns.renew"),tooltip:n("plan.columns.renew_tooltip")}),cell:({row:a})=>e.jsx(H,{defaultChecked:a.getValue("renew"),onCheckedChange:l=>{qt({id:a.original.id,renew:l}).then(({data:r})=>{!r&&s()})}}),enableSorting:!1,enableHiding:!1},{accessorKey:"name",header:({column:a})=>e.jsx(O,{column:a,title:n("plan.columns.name")}),cell:({row:a})=>e.jsx("div",{className:"flex space-x-2",children:e.jsx("span",{className:"max-w-32 truncate font-medium sm:max-w-72 md:max-w-[31rem]",children:a.getValue("name")})}),enableSorting:!1,enableHiding:!1,size:900},{accessorKey:"users_count",header:({column:a})=>e.jsx(O,{column:a,title:n("plan.columns.stats")}),cell:({row:a})=>e.jsxs("div",{className:"flex items-center space-x-2 px-2",children:[e.jsx(it,{}),e.jsx("span",{className:"max-w-32 truncate font-medium sm:max-w-72 md:max-w-[31rem]",children:a.getValue("users_count")})]}),enableSorting:!0},{accessorKey:"group",header:({column:a})=>e.jsx(O,{column:a,title:n("plan.columns.group")}),cell:({row:a})=>e.jsx("div",{className:"flex max-w-[600px] flex-wrap items-center gap-1.5 text-nowrap",children:e.jsx(K,{variant:"secondary",className:_("px-2 py-0.5 font-medium","bg-secondary/50 hover:bg-secondary/70","border border-border/50","transition-all duration-200","cursor-default select-none","flex items-center gap-1.5"),children:a.getValue("group")?.name})}),enableSorting:!1,enableHiding:!1},{accessorKey:"prices",header:({column:a})=>e.jsx(O,{column:a,title:n("plan.columns.price")}),cell:({row:a})=>{const l=a.getValue("prices"),r=[{period:n("plan.columns.price_period.monthly"),key:"monthly",unit:n("plan.columns.price_period.unit.month")},{period:n("plan.columns.price_period.quarterly"),key:"quarterly",unit:n("plan.columns.price_period.unit.quarter")},{period:n("plan.columns.price_period.half_yearly"),key:"half_yearly",unit:n("plan.columns.price_period.unit.half_year")},{period:n("plan.columns.price_period.yearly"),key:"yearly",unit:n("plan.columns.price_period.unit.year")},{period:n("plan.columns.price_period.two_yearly"),key:"two_yearly",unit:n("plan.columns.price_period.unit.two_year")},{period:n("plan.columns.price_period.three_yearly"),key:"three_yearly",unit:n("plan.columns.price_period.unit.three_year")},{period:n("plan.columns.price_period.onetime"),key:"onetime",unit:""},{period:n("plan.columns.price_period.reset_traffic"),key:"reset_traffic",unit:n("plan.columns.price_period.unit.times")}];return e.jsx("div",{className:"flex flex-wrap items-center gap-2",children:r.map(({period:c,key:i,unit:u})=>l[i]!=null&&e.jsxs(K,{variant:"secondary",className:_("px-2 py-0.5 font-medium transition-colors text-nowrap",Wa[i].color,Wa[i].bgColor,"border border-border/50","hover:bg-slate-200/80"),children:[c," ¥",l[i],u]},i))})},enableSorting:!1,size:9e3},{id:"actions",header:({column:a})=>e.jsx(O,{className:"justify-end",column:a,title:n("plan.columns.actions")}),cell:({row:a})=>{const{setIsOpen:l,setEditingPlan:r}=ba();return e.jsxs("div",{className:"flex items-center justify-center",children:[e.jsxs(V,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-muted",onClick:()=>{r(a.original),l(!0)},children:[e.jsx(Is,{className:"h-4 w-4 text-muted-foreground hover:text-foreground"}),e.jsx("span",{className:"sr-only",children:n("plan.columns.edit")})]}),e.jsx(Ue,{title:n("plan.columns.delete_confirm.title"),description:n("plan.columns.delete_confirm.description"),confirmText:n("plan.columns.delete"),variant:"destructive",onConfirm:async()=>{hd({id:a.original.id}).then(({data:c})=>{c&&(q.success(n("plan.columns.delete_confirm.success")),s())})},children:e.jsxs(V,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-red-100 dark:hover:bg-red-900",children:[e.jsx(ns,{className:"h-4 w-4 text-muted-foreground hover:text-red-600 dark:hover:text-red-400"}),e.jsx("span",{className:"sr-only",children:n("plan.columns.delete")})]})})]})}}]},hx=h.object({id:h.number().nullable(),group_id:h.union([h.number(),h.string()]).nullable().optional(),name:h.string().min(1).max(250),content:h.string().nullable().optional(),transfer_enable:h.union([h.number().min(0),h.string().min(1)]),prices:h.object({monthly:h.union([h.number(),h.string()]).nullable().optional(),quarterly:h.union([h.number(),h.string()]).nullable().optional(),half_yearly:h.union([h.number(),h.string()]).nullable().optional(),yearly:h.union([h.number(),h.string()]).nullable().optional(),two_yearly:h.union([h.number(),h.string()]).nullable().optional(),three_yearly:h.union([h.number(),h.string()]).nullable().optional(),onetime:h.union([h.number(),h.string()]).nullable().optional(),reset_traffic:h.union([h.number(),h.string()]).nullable().optional()}).default({}),speed_limit:h.union([h.number(),h.string()]).nullable().optional(),capacity_limit:h.union([h.number(),h.string()]).nullable().optional(),device_limit:h.union([h.number(),h.string()]).nullable().optional(),force_update:h.boolean().optional(),reset_traffic_method:h.number().nullable(),users_count:h.number().optional()}),Kr=m.forwardRef(({className:s,...n},a)=>e.jsx(Gn,{ref:a,className:_("peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",s),...n,children:e.jsx(Pi,{className:_("flex items-center justify-center text-current"),children:e.jsx(Rs,{className:"h-4 w-4"})})}));Kr.displayName=Gn.displayName;const gt={id:null,group_id:null,name:"",content:"",transfer_enable:"",prices:{monthly:"",quarterly:"",half_yearly:"",yearly:"",two_yearly:"",three_yearly:"",onetime:"",reset_traffic:""},speed_limit:"",capacity_limit:"",device_limit:"",force_update:!1,reset_traffic_method:null},jt={monthly:{label:"月付",months:1,discount:1},quarterly:{label:"季付",months:3,discount:.95},half_yearly:{label:"半年付",months:6,discount:.9},yearly:{label:"年付",months:12,discount:.85},two_yearly:{label:"两年付",months:24,discount:.8},three_yearly:{label:"三年付",months:36,discount:.75},onetime:{label:"流量包",months:1,discount:1},reset_traffic:{label:"重置包",months:1,discount:1}},fx=[{value:null,label:"follow_system"},{value:0,label:"monthly_first"},{value:1,label:"monthly_reset"},{value:2,label:"no_reset"},{value:3,label:"yearly_first"},{value:4,label:"yearly_reset"}];function px(){const{isOpen:s,setIsOpen:n,editingPlan:a,setEditingPlan:l,refreshData:r}=ba(),[c,i]=m.useState(!1),{t:u}=I("subscribe"),x=de({resolver:me(hx),defaultValues:{...gt,...a||{}},mode:"onChange"});m.useEffect(()=>{a?x.reset({...gt,...a}):x.reset(gt)},[a,x]);const o=new ma({html:!0}),[d,p]=m.useState();async function T(){Mt().then(({data:g})=>{p(g)})}m.useEffect(()=>{s&&T()},[s]);const R=g=>{if(isNaN(g))return;const S=Object.entries(jt).reduce((j,[C,k])=>{const v=g*k.months*k.discount;return{...j,[C]:v.toFixed(2)}},{});x.setValue("prices",S,{shouldDirty:!0})},f=()=>{n(!1),l(null),x.reset(gt)};return e.jsx(pe,{open:s,onOpenChange:f,children:e.jsxs(fe,{children:[e.jsxs(be,{children:[e.jsx(ge,{children:u(a?"plan.form.edit_title":"plan.form.add_title")}),e.jsx(Te,{})]}),e.jsxs(ue,{...x,children:[e.jsxs("div",{className:"space-y-4",children:[e.jsx(y,{control:x.control,name:"name",render:({field:g})=>e.jsxs(b,{children:[e.jsx(N,{children:u("plan.form.name.label")}),e.jsx(w,{children:e.jsx(D,{placeholder:u("plan.form.name.placeholder"),...g})}),e.jsx(E,{})]})}),e.jsx(y,{control:x.control,name:"group_id",render:({field:g})=>e.jsxs(b,{children:[e.jsxs(N,{className:"flex items-center justify-between",children:[u("plan.form.group.label"),e.jsx(zt,{dialogTrigger:e.jsx(V,{variant:"link",children:u("plan.form.group.add")}),refetch:T})]}),e.jsxs(G,{value:g.value?.toString()??"",onValueChange:S=>g.onChange(S?Number(S):null),children:[e.jsx(w,{children:e.jsx(U,{children:e.jsx(W,{placeholder:u("plan.form.group.placeholder")})})}),e.jsx(B,{children:d?.map(S=>e.jsx(L,{value:S.id.toString(),children:S.name},S.id))})]}),e.jsx(E,{})]})}),e.jsx(y,{control:x.control,name:"transfer_enable",render:({field:g})=>e.jsxs(b,{className:"flex-1",children:[e.jsx(N,{children:u("plan.form.transfer.label")}),e.jsxs("div",{className:"relative flex",children:[e.jsx(w,{children:e.jsx(D,{type:"number",min:0,placeholder:u("plan.form.transfer.placeholder"),className:"rounded-r-none",...g})}),e.jsx("div",{className:"flex items-center rounded-r-md border border-l-0 border-input bg-muted px-3 text-sm text-muted-foreground",children:u("plan.form.transfer.unit")})]}),e.jsx(E,{})]})}),e.jsx(y,{control:x.control,name:"speed_limit",render:({field:g})=>e.jsxs(b,{className:"flex-1",children:[e.jsx(N,{children:u("plan.form.speed.label")}),e.jsxs("div",{className:"relative flex",children:[e.jsx(w,{children:e.jsx(D,{type:"number",min:0,placeholder:u("plan.form.speed.placeholder"),className:"rounded-r-none",...g,value:g.value??""})}),e.jsx("div",{className:"flex items-center rounded-r-md border border-l-0 border-input bg-muted px-3 text-sm text-muted-foreground",children:u("plan.form.speed.unit")})]}),e.jsx(E,{})]})}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex flex-1 items-center",children:[e.jsx("div",{className:"flex-grow border-t border-gray-200 dark:border-gray-700"}),e.jsx("h3",{className:"mx-4 text-sm font-medium text-gray-500 dark:text-gray-400",children:u("plan.form.price.title")}),e.jsx("div",{className:"flex-grow border-t border-gray-200 dark:border-gray-700"})]}),e.jsxs("div",{className:"ml-4 flex items-center gap-2",children:[e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"pointer-events-none absolute inset-y-0 left-0 flex items-center pl-2",children:e.jsx("span",{className:"text-sm font-medium text-gray-400",children:"¥"})}),e.jsx(D,{type:"number",placeholder:u("plan.form.price.base_price"),className:"h-7 w-32 border-0 bg-gray-50 pl-6 pr-2 text-sm shadow-none ring-1 ring-gray-200 transition-shadow focus-visible:ring-2 focus-visible:ring-primary dark:bg-gray-800/50 dark:ring-gray-700 dark:placeholder:text-gray-500",onChange:g=>{const S=parseFloat(g.target.value);R(S)}})]}),e.jsx(ce,{children:e.jsxs(oe,{children:[e.jsx(ie,{asChild:!0,children:e.jsx(V,{variant:"outline",size:"sm",className:"h-7 text-xs",onClick:()=>{const g=Object.keys(jt).reduce((S,j)=>({...S,[j]:""}),{});x.setValue("prices",g,{shouldDirty:!0})},children:u("plan.form.price.clear.button")})}),e.jsx(te,{side:"top",align:"end",children:e.jsx("p",{className:"text-xs",children:u("plan.form.price.clear.tooltip")})})]})})]})]}),e.jsx("div",{className:"grid grid-cols-2 gap-3 lg:grid-cols-3",children:Object.entries(jt).filter(([g])=>!["onetime","reset_traffic"].includes(g)).map(([g,S])=>e.jsx("div",{className:"group relative rounded-md bg-card p-2 ring-1 ring-gray-200 transition-all hover:ring-primary dark:ring-gray-800",children:e.jsx(y,{control:x.control,name:`prices.${g}`,render:({field:j})=>e.jsxs(b,{children:[e.jsxs(N,{className:"text-xs font-medium text-muted-foreground",children:[u(`plan.columns.price_period.${g}`),e.jsxs("span",{className:"ml-1 text-[10px] text-gray-400",children:["(",S.months===1?u("plan.form.price.period.monthly"):u("plan.form.price.period.months",{count:S.months}),")"]})]}),e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"pointer-events-none absolute inset-y-0 left-0 flex items-center pl-2",children:e.jsx("span",{className:"text-sm font-medium text-gray-400",children:"¥"})}),e.jsx(w,{children:e.jsx(D,{type:"number",placeholder:"0.00",min:0,...j,value:j.value??"",onChange:C=>j.onChange(C.target.value),className:"h-7 border-0 bg-gray-50 pl-6 pr-2 text-sm shadow-none ring-1 ring-gray-200 transition-shadow focus-visible:ring-2 focus-visible:ring-primary dark:bg-gray-800/50 dark:ring-gray-700 dark:placeholder:text-gray-500"})})]})]})})},g))}),e.jsx("div",{className:"grid grid-cols-1 gap-3 md:grid-cols-2",children:Object.entries(jt).filter(([g])=>["onetime","reset_traffic"].includes(g)).map(([g,S])=>e.jsx("div",{className:"rounded-md border border-dashed border-gray-200 bg-muted/30 p-3 dark:border-gray-700",children:e.jsx(y,{control:x.control,name:`prices.${g}`,render:({field:j})=>e.jsx(b,{children:e.jsxs("div",{className:"flex flex-col gap-2 md:flex-row md:items-center md:justify-between",children:[e.jsxs("div",{className:"space-y-0",children:[e.jsx(N,{className:"text-xs font-medium",children:u(`plan.columns.price_period.${g}`)}),e.jsx("p",{className:"text-[10px] text-muted-foreground",children:u(g==="onetime"?"plan.form.price.onetime_desc":"plan.form.price.reset_desc")})]}),e.jsxs("div",{className:"relative w-full md:w-32",children:[e.jsx("div",{className:"pointer-events-none absolute inset-y-0 left-0 flex items-center pl-2",children:e.jsx("span",{className:"text-sm font-medium text-gray-400",children:"¥"})}),e.jsx(w,{children:e.jsx(D,{type:"number",placeholder:"0.00",min:0,...j,className:"h-7 border-0 bg-gray-50 pl-6 pr-2 text-sm shadow-none ring-1 ring-gray-200 transition-shadow focus-visible:ring-2 focus-visible:ring-primary dark:bg-gray-800/50 dark:ring-gray-700 dark:placeholder:text-gray-500"})})]})]})})})},g))})]}),e.jsxs("div",{className:"flex gap-4",children:[e.jsx(y,{control:x.control,name:"device_limit",render:({field:g})=>e.jsxs(b,{className:"flex-1",children:[e.jsx(N,{children:u("plan.form.device.label")}),e.jsxs("div",{className:"relative flex",children:[e.jsx(w,{children:e.jsx(D,{type:"number",min:0,placeholder:u("plan.form.device.placeholder"),className:"rounded-r-none",...g,value:g.value??""})}),e.jsx("div",{className:"flex items-center rounded-r-md border border-l-0 border-input bg-muted px-3 text-sm text-muted-foreground",children:u("plan.form.device.unit")})]}),e.jsx(E,{})]})}),e.jsx(y,{control:x.control,name:"capacity_limit",render:({field:g})=>e.jsxs(b,{className:"flex-1",children:[e.jsx(N,{children:u("plan.form.capacity.label")}),e.jsxs("div",{className:"relative flex",children:[e.jsx(w,{children:e.jsx(D,{type:"number",min:0,placeholder:u("plan.form.capacity.placeholder"),className:"rounded-r-none",...g,value:g.value??""})}),e.jsx("div",{className:"flex items-center rounded-r-md border border-l-0 border-input bg-muted px-3 text-sm text-muted-foreground",children:u("plan.form.capacity.unit")})]}),e.jsx(E,{})]})})]}),e.jsx(y,{control:x.control,name:"reset_traffic_method",render:({field:g})=>e.jsxs(b,{children:[e.jsx(N,{children:u("plan.form.reset_method.label")}),e.jsxs(G,{value:g.value?.toString()??"null",onValueChange:S=>g.onChange(S=="null"?null:Number(S)),children:[e.jsx(w,{children:e.jsx(U,{children:e.jsx(W,{placeholder:u("plan.form.reset_method.placeholder")})})}),e.jsx(B,{children:fx.map(S=>e.jsx(L,{value:S.value?.toString()??"null",children:u(`plan.form.reset_method.options.${S.label}`)},S.value))})]}),e.jsx(M,{className:"text-xs",children:u("plan.form.reset_method.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:x.control,name:"content",render:({field:g})=>{const[S,j]=m.useState(!1);return e.jsxs(b,{className:"space-y-2",children:[e.jsxs(N,{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[u("plan.form.content.label"),e.jsx(ce,{children:e.jsxs(oe,{children:[e.jsx(ie,{asChild:!0,children:e.jsx(V,{variant:"ghost",size:"sm",className:"h-6 w-6 p-0",onClick:()=>j(!S),children:S?e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:"h-4 w-4",children:[e.jsx("path",{d:"M10 12.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5z"}),e.jsx("path",{fillRule:"evenodd",d:"M.664 10.59a1.651 1.651 0 010-1.186A10.004 10.004 0 0110 3c4.257 0 7.893 2.66 9.336 6.41.147.381.146.804 0 1.186A10.004 10.004 0 0110 17c-4.257 0-7.893-2.66-9.336-6.41zM14 10a4 4 0 11-8 0 4 4 0 018 0z",clipRule:"evenodd"})]}):e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:"h-4 w-4",children:[e.jsx("path",{fillRule:"evenodd",d:"M3.28 2.22a.75.75 0 00-1.06 1.06l14.5 14.5a.75.75 0 101.06-1.06l-1.745-1.745a10.029 10.029 0 003.3-4.38 1.651 1.651 0 000-1.185A10.004 10.004 0 009.999 3a9.956 9.956 0 00-4.744 1.194L3.28 2.22zM7.752 6.69l1.092 1.092a2.5 2.5 0 013.374 3.373l1.091 1.092a4 4 0 00-5.557-5.557z",clipRule:"evenodd"}),e.jsx("path",{d:"M10.748 13.93l2.523 2.523a9.987 9.987 0 01-3.27.547c-4.258 0-7.894-2.66-9.337-6.41a1.651 1.651 0 010-1.186A10.007 10.007 0 012.839 6.02L6.07 9.252a4 4 0 004.678 4.678z"})]})})}),e.jsx(te,{side:"top",children:e.jsx("p",{className:"text-xs",children:u(S?"plan.form.content.preview_button.hide":"plan.form.content.preview_button.show")})})]})})]}),e.jsx(ce,{children:e.jsxs(oe,{children:[e.jsx(ie,{asChild:!0,children:e.jsx(V,{variant:"outline",size:"sm",onClick:()=>{g.onChange(u("plan.form.content.template.content"))},children:u("plan.form.content.template.button")})}),e.jsx(te,{side:"left",align:"center",children:e.jsx("p",{className:"text-xs",children:u("plan.form.content.template.tooltip")})})]})})]}),e.jsxs("div",{className:`grid gap-4 ${S?"grid-cols-1 lg:grid-cols-2":"grid-cols-1"}`,children:[e.jsx("div",{className:"space-y-2",children:e.jsx(w,{children:e.jsx(ua,{style:{height:"400px"},value:g.value||"",renderHTML:C=>o.render(C),onChange:({text:C})=>g.onChange(C),config:{view:{menu:!0,md:!0,html:!1},canView:{menu:!0,md:!0,html:!1,fullScreen:!1,hideMenu:!1}},placeholder:u("plan.form.content.placeholder"),className:"rounded-md border"})})}),S&&e.jsxs("div",{className:"space-y-2",children:[e.jsx("div",{className:"text-sm text-muted-foreground",children:u("plan.form.content.preview")}),e.jsx("div",{className:"prose prose-sm dark:prose-invert h-[400px] max-w-none overflow-y-auto rounded-md border p-4",children:e.jsx("div",{dangerouslySetInnerHTML:{__html:o.render(g.value||"")}})})]})]}),e.jsx(M,{className:"text-xs",children:u("plan.form.content.description")}),e.jsx(E,{})]})}})]}),e.jsx(Le,{className:"mt-6",children:e.jsxs("div",{className:"flex w-full items-center justify-between",children:[e.jsx("div",{className:"flex-shrink-0",children:a&&e.jsx(y,{control:x.control,name:"force_update",render:({field:g})=>e.jsxs(b,{className:"flex flex-row items-center space-x-2 space-y-0",children:[e.jsx(w,{children:e.jsx(Kr,{checked:g.value,onCheckedChange:g.onChange})}),e.jsx("div",{className:"",children:e.jsx(N,{className:"text-sm",children:u("plan.form.force_update.label")})})]})})}),e.jsxs("div",{className:"flex space-x-2",children:[e.jsx(V,{type:"button",variant:"outline",onClick:f,children:u("plan.form.submit.cancel")}),e.jsx(V,{type:"submit",disabled:c,onClick:()=>{x.handleSubmit(async g=>{i(!0),(await xd(g)).data&&(q.success(u(a?"plan.form.submit.success.update":"plan.form.submit.success.add")),f(),r()),i(!1)})()},children:u(c?"plan.form.submit.submitting":"plan.form.submit.submit")})]})]})})]})]})})}function gx(){const[s,n]=m.useState({}),[a,l]=m.useState({"drag-handle":!1}),[r,c]=m.useState([]),[i,u]=m.useState([]),[x,o]=m.useState(!1),[d,p]=m.useState({pageSize:20,pageIndex:0}),[T,R]=m.useState([]),{refetch:f}=se({queryKey:["planList"],queryFn:async()=>{const{data:k}=await Os();return R(k),k}});m.useEffect(()=>{l({"drag-handle":x}),p({pageSize:x?99999:10,pageIndex:0})},[x]);const g=(k,v)=>{x&&(k.dataTransfer.setData("text/plain",v.toString()),k.currentTarget.classList.add("opacity-50"))},S=(k,v)=>{if(!x)return;k.preventDefault(),k.currentTarget.classList.remove("bg-muted");const P=parseInt(k.dataTransfer.getData("text/plain"));if(P===v)return;const z=[...T],[Q]=z.splice(P,1);z.splice(v,0,Q),R(z)},j=async()=>{if(!x){o(!0);return}const k=T?.map(v=>v.id);fd(k).then(()=>{q.success("排序保存成功"),o(!1),f()}).finally(()=>{o(!1)})},C=Ke({data:T||[],columns:xx(f),state:{sorting:i,columnVisibility:a,rowSelection:s,columnFilters:r,pagination:d},enableRowSelection:!0,onPaginationChange:p,onRowSelectionChange:n,onSortingChange:u,onColumnFiltersChange:c,onColumnVisibilityChange:l,getCoreRowModel:He(),getFilteredRowModel:Je(),getPaginationRowModel:Qe(),getSortedRowModel:Ze(),getFacetedRowModel:us(),getFacetedUniqueValues:xs(),initialState:{columnPinning:{right:["actions"]}},pageCount:x?1:void 0});return e.jsx(mx,{refreshData:f,children:e.jsxs("div",{className:"space-y-4",children:[e.jsx(es,{table:C,toolbar:k=>e.jsx(ux,{table:k,refetch:f,saveOrder:j,isSortMode:x}),draggable:x,onDragStart:g,onDragEnd:k=>k.currentTarget.classList.remove("opacity-50"),onDragOver:k=>{k.preventDefault(),k.currentTarget.classList.add("bg-muted")},onDragLeave:k=>k.currentTarget.classList.remove("bg-muted"),onDrop:S,showPagination:!x}),e.jsx(px,{})]})})}function jx(){const{t:s}=I("subscribe");return e.jsxs(we,{children:[e.jsxs(Ce,{children:[e.jsx(Ie,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(Ee,{}),e.jsx(Re,{})]})]}),e.jsxs(Pe,{className:"flex flex-col",fixedHeight:!0,children:[e.jsx("div",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:s("plan.title")}),e.jsx("p",{className:"mt-2 text-muted-foreground",children:s("plan.page.description")})]})}),e.jsx("div",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx(gx,{})})]})]})}const vx=Object.freeze(Object.defineProperty({__proto__:null,default:jx},Symbol.toStringTag,{value:"Module"})),$s=[{value:Z.PENDING,label:Zs[Z.PENDING],icon:Ti,color:Xs[Z.PENDING]},{value:Z.PROCESSING,label:Zs[Z.PROCESSING],icon:Wn,color:Xs[Z.PROCESSING]},{value:Z.COMPLETED,label:Zs[Z.COMPLETED],icon:Xt,color:Xs[Z.COMPLETED]},{value:Z.CANCELLED,label:Zs[Z.CANCELLED],icon:Yn,color:Xs[Z.CANCELLED]},{value:Z.DISCOUNTED,label:Zs[Z.DISCOUNTED],icon:Xt,color:Xs[Z.DISCOUNTED]}],st=[{value:re.PENDING,label:xt[re.PENDING],icon:Di,color:ht[re.PENDING]},{value:re.PROCESSING,label:xt[re.PROCESSING],icon:Wn,color:ht[re.PROCESSING]},{value:re.VALID,label:xt[re.VALID],icon:Xt,color:ht[re.VALID]},{value:re.INVALID,label:xt[re.INVALID],icon:Yn,color:ht[re.INVALID]}];function vt({column:s,title:n,options:a}){const l=s?.getFacetedUniqueValues(),r=s?.getFilterValue(),c=Array.isArray(r)?new Set(r):r!==void 0?new Set([r]):new Set;return e.jsxs(rs,{children:[e.jsx(ls,{asChild:!0,children:e.jsxs(V,{variant:"outline",size:"sm",className:"h-8 border-dashed",children:[e.jsx(dt,{className:"mr-2 h-4 w-4"}),n,c?.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(ye,{orientation:"vertical",className:"mx-2 h-4"}),e.jsx(K,{variant:"secondary",className:"rounded-sm px-1 font-normal lg:hidden",children:c.size}),e.jsx("div",{className:"hidden space-x-1 lg:flex",children:c.size>2?e.jsxs(K,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:[c.size," selected"]}):a.filter(i=>c.has(i.value)).map(i=>e.jsx(K,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:i.label},i.value))})]})]})}),e.jsx(Xe,{className:"w-[200px] p-0",align:"start",children:e.jsxs(Cs,{children:[e.jsx(Fs,{placeholder:n}),e.jsxs(Ss,{children:[e.jsx(Ms,{children:"No results found."}),e.jsx(Oe,{children:a.map(i=>{const u=c.has(i.value);return e.jsxs(ke,{onSelect:()=>{const x=new Set(c);u?x.delete(i.value):x.add(i.value);const o=Array.from(x);s?.setFilterValue(o.length?o:void 0)},children:[e.jsx("div",{className:_("mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary",u?"bg-primary text-primary-foreground":"opacity-50 [&_svg]:invisible"),children:e.jsx(Rs,{className:_("h-4 w-4")})}),i.icon&&e.jsx(i.icon,{className:`mr-2 h-4 w-4 text-muted-foreground text-${i.color}`}),e.jsx("span",{children:i.label}),l?.get(i.value)&&e.jsx("span",{className:"ml-auto flex h-4 w-4 items-center justify-center font-mono text-xs",children:l.get(i.value)})]},i.value)})}),c.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(Gs,{}),e.jsx(Oe,{children:e.jsx(ke,{onSelect:()=>s?.setFilterValue(void 0),className:"justify-center text-center",children:"Clear filters"})})]})]})]})})]})}const bx=h.object({email:h.string().min(1),plan_id:h.number(),period:h.string(),total_amount:h.number()}),yx={email:"",plan_id:0,total_amount:0,period:""};function Hr({refetch:s,trigger:n,defaultValues:a}){const{t:l}=I("order"),[r,c]=m.useState(!1),i=de({resolver:me(bx),defaultValues:{...yx,...a},mode:"onChange"}),[u,x]=m.useState([]);return m.useEffect(()=>{r&&Os().then(({data:o})=>{x(o)})},[r]),e.jsxs(pe,{open:r,onOpenChange:c,children:[e.jsx(ze,{asChild:!0,children:n||e.jsxs(V,{variant:"outline",size:"sm",className:"h-8 space-x-2",children:[e.jsx(Se,{icon:"ion:add"}),e.jsx("div",{children:l("dialog.addOrder")})]})}),e.jsxs(fe,{className:"sm:max-w-[425px]",children:[e.jsxs(be,{children:[e.jsx(ge,{children:l("dialog.assignOrder")}),e.jsx(Te,{})]}),e.jsxs(ue,{...i,children:[e.jsx(y,{control:i.control,name:"email",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{children:l("dialog.fields.userEmail")}),e.jsx(w,{children:e.jsx(D,{placeholder:l("dialog.placeholders.email"),...o})})]})}),e.jsx(y,{control:i.control,name:"plan_id",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{children:l("dialog.fields.subscriptionPlan")}),e.jsx(w,{children:e.jsxs(G,{value:o.value?o.value?.toString():void 0,onValueChange:d=>o.onChange(parseInt(d)),children:[e.jsx(U,{children:e.jsx(W,{placeholder:l("dialog.placeholders.plan")})}),e.jsx(B,{children:u.map(d=>e.jsx(L,{value:d.id.toString(),children:d.name},d.id))})]})})]})}),e.jsx(y,{control:i.control,name:"period",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{children:l("dialog.fields.orderPeriod")}),e.jsx(w,{children:e.jsxs(G,{value:o.value,onValueChange:o.onChange,children:[e.jsx(U,{children:e.jsx(W,{placeholder:l("dialog.placeholders.period")})}),e.jsx(B,{children:Object.keys(Hd).map(d=>e.jsx(L,{value:d,children:l(`period.${d}`)},d))})]})})]})}),e.jsx(y,{control:i.control,name:"total_amount",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{children:l("dialog.fields.paymentAmount")}),e.jsx(w,{children:e.jsx(D,{type:"number",placeholder:l("dialog.placeholders.amount"),value:o.value/100,onChange:d=>o.onChange(parseFloat(d.currentTarget.value)*100)})}),e.jsx(E,{})]})}),e.jsxs(Le,{children:[e.jsx(V,{variant:"outline",onClick:()=>c(!1),children:l("dialog.actions.cancel")}),e.jsx(V,{type:"submit",onClick:()=>{i.handleSubmit(o=>{bd(o).then(({data:d})=>{d&&(s&&s(),i.reset(),c(!1),q.success(l("dialog.messages.addSuccess")))})})()},children:l("dialog.actions.confirm")})]})]})]})]})}function Nx({table:s,refetch:n}){const{t:a}=I("order"),l=s.getState().columnFilters.length>0,r=Object.values(Ye).filter(x=>typeof x=="number").map(x=>({label:a(`type.${Ye[x]}`),value:x,color:x===Ye.NEW?"green-500":x===Ye.RENEWAL?"blue-500":x===Ye.UPGRADE?"purple-500":"orange-500"})),c=Object.values(xe).map(x=>({label:a(`period.${x}`),value:x,color:x===xe.MONTH_PRICE?"slate-500":x===xe.QUARTER_PRICE?"cyan-500":x===xe.HALF_YEAR_PRICE?"indigo-500":x===xe.YEAR_PRICE?"violet-500":x===xe.TWO_YEAR_PRICE?"fuchsia-500":x===xe.THREE_YEAR_PRICE?"pink-500":x===xe.ONETIME_PRICE?"rose-500":"orange-500"})),i=Object.values(Z).filter(x=>typeof x=="number").map(x=>({label:a(`status.${Z[x]}`),value:x,icon:x===Z.PENDING?$s[0].icon:x===Z.PROCESSING?$s[1].icon:x===Z.COMPLETED?$s[2].icon:x===Z.CANCELLED?$s[3].icon:$s[4].icon,color:x===Z.PENDING?"yellow-500":x===Z.PROCESSING?"blue-500":x===Z.COMPLETED?"green-500":x===Z.CANCELLED?"red-500":"green-500"})),u=Object.values(re).filter(x=>typeof x=="number").map(x=>({label:a(`commission.${re[x]}`),value:x,icon:x===re.PENDING?st[0].icon:x===re.PROCESSING?st[1].icon:x===re.VALID?st[2].icon:st[3].icon,color:x===re.PENDING?"yellow-500":x===re.PROCESSING?"blue-500":x===re.VALID?"green-500":"red-500"}));return e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(Hr,{refetch:n}),e.jsx(D,{placeholder:a("search.placeholder"),value:s.getColumn("trade_no")?.getFilterValue()??"",onChange:x=>s.getColumn("trade_no")?.setFilterValue(x.target.value),className:"h-8 w-[150px] lg:w-[250px]"}),e.jsxs("div",{className:"flex flex-wrap gap-x-2",children:[s.getColumn("type")&&e.jsx(vt,{column:s.getColumn("type"),title:a("table.columns.type"),options:r}),s.getColumn("period")&&e.jsx(vt,{column:s.getColumn("period"),title:a("table.columns.period"),options:c}),s.getColumn("status")&&e.jsx(vt,{column:s.getColumn("status"),title:a("table.columns.status"),options:i}),s.getColumn("commission_status")&&e.jsx(vt,{column:s.getColumn("commission_status"),title:a("table.columns.commissionStatus"),options:u})]}),l&&e.jsxs(V,{variant:"ghost",onClick:()=>s.resetColumnFilters(),className:"h-8 px-2 lg:px-3",children:[a("actions.reset"),e.jsx(Ae,{className:"ml-2 h-4 w-4"})]})]})}function Be({label:s,value:n,className:a,valueClassName:l}){return e.jsxs("div",{className:_("flex items-center py-1.5",a),children:[e.jsx("div",{className:"w-28 shrink-0 text-sm text-muted-foreground",children:s}),e.jsx("div",{className:_("text-sm",l),children:n||"-"})]})}function _x({status:s}){const{t:n}=I("order"),a={[Z.PENDING]:"bg-yellow-100 text-yellow-800 hover:bg-yellow-100",[Z.PROCESSING]:"bg-blue-100 text-blue-800 hover:bg-blue-100",[Z.CANCELLED]:"bg-red-100 text-red-800 hover:bg-red-100",[Z.COMPLETED]:"bg-green-100 text-green-800 hover:bg-green-100",[Z.DISCOUNTED]:"bg-gray-100 text-gray-800 hover:bg-gray-100"};return e.jsx(K,{variant:"secondary",className:_("font-medium",a[s]),children:n(`status.${Z[s]}`)})}function wx({id:s,trigger:n}){const[a,l]=m.useState(!1),[r,c]=m.useState(),{t:i}=I("order");return m.useEffect(()=>{(async()=>{if(a){const{data:x}=await gd({id:s});c(x)}})()},[a,s]),e.jsxs(pe,{onOpenChange:l,open:a,children:[e.jsx(ze,{asChild:!0,children:n}),e.jsxs(fe,{className:"max-w-xl",children:[e.jsxs(be,{className:"space-y-2",children:[e.jsx(ge,{className:"text-lg font-medium",children:i("dialog.title")}),e.jsx("div",{className:"flex items-center justify-between text-sm",children:e.jsxs("div",{className:"flex items-center space-x-6",children:[e.jsxs("div",{className:"text-muted-foreground",children:[i("table.columns.tradeNo"),":",r?.trade_no]}),r?.status&&e.jsx(_x,{status:r.status})]})})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"rounded-lg border p-4",children:[e.jsx("div",{className:"mb-2 text-sm font-medium",children:i("dialog.basicInfo")}),e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(Be,{label:i("dialog.fields.userEmail"),value:r?.user?.email?e.jsxs(Vs,{to:`/user/manage?email=${r.user.email}`,className:"group inline-flex items-center gap-1 text-primary hover:underline",children:[r.user.email,e.jsx(Jn,{className:"h-3.5 w-3.5 opacity-0 transition-opacity group-hover:opacity-100"})]}):"-"}),e.jsx(Be,{label:i("dialog.fields.orderPeriod"),value:r&&i(`period.${r.period}`)}),e.jsx(Be,{label:i("dialog.fields.subscriptionPlan"),value:r?.plan?.name,valueClassName:"font-medium"}),e.jsx(Be,{label:i("dialog.fields.callbackNo"),value:r?.callback_no,valueClassName:"font-mono text-xs"})]})]}),e.jsxs("div",{className:"rounded-lg border p-4",children:[e.jsx("div",{className:"mb-2 text-sm font-medium",children:i("dialog.amountInfo")}),e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(Be,{label:i("dialog.fields.paymentAmount"),value:Ps(r?.total_amount||0),valueClassName:"font-medium text-primary"}),e.jsx(ye,{className:"my-2"}),e.jsx(Be,{label:i("dialog.fields.balancePayment"),value:Ps(r?.balance_amount||0)}),e.jsx(Be,{label:i("dialog.fields.discountAmount"),value:Ps(r?.discount_amount||0),valueClassName:"text-green-600"}),e.jsx(Be,{label:i("dialog.fields.refundAmount"),value:Ps(r?.refund_amount||0),valueClassName:"text-red-600"}),e.jsx(Be,{label:i("dialog.fields.deductionAmount"),value:Ps(r?.surplus_amount||0)})]})]}),e.jsxs("div",{className:"rounded-lg border p-4",children:[e.jsx("div",{className:"mb-2 text-sm font-medium",children:i("dialog.timeInfo")}),e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(Be,{label:i("dialog.fields.createdAt"),value:he(r?.created_at),valueClassName:"font-mono text-xs"}),e.jsx(Be,{label:i("dialog.fields.updatedAt"),value:he(r?.updated_at),valueClassName:"font-mono text-xs"})]})]})]})]})]})}const Cx={[Ye.NEW]:{color:"text-slate-700",bgColor:"bg-slate-100/80"},[Ye.RENEWAL]:{color:"text-slate-700",bgColor:"bg-slate-100/80"},[Ye.UPGRADE]:{color:"text-slate-700",bgColor:"bg-slate-100/80"},[Ye.RESET_FLOW]:{color:"text-slate-700",bgColor:"bg-slate-100/80"}},Sx={[xe.MONTH_PRICE]:{color:"text-slate-700",bgColor:"bg-slate-100/80"},[xe.QUARTER_PRICE]:{color:"text-slate-700",bgColor:"bg-slate-100/80"},[xe.HALF_YEAR_PRICE]:{color:"text-slate-700",bgColor:"bg-slate-100/80"},[xe.YEAR_PRICE]:{color:"text-slate-700",bgColor:"bg-slate-100/80"},[xe.TWO_YEAR_PRICE]:{color:"text-slate-700",bgColor:"bg-slate-100/80"},[xe.THREE_YEAR_PRICE]:{color:"text-slate-700",bgColor:"bg-slate-100/80"},[xe.ONETIME_PRICE]:{color:"text-slate-700",bgColor:"bg-slate-100/80"},[xe.RESET_PRICE]:{color:"text-slate-700",bgColor:"bg-slate-100/80"}},kx=s=>Z[s],Px=s=>re[s],Tx=s=>Ye[s],Dx=s=>{const{t:n}=I("order");return[{accessorKey:"trade_no",header:({column:a})=>e.jsx(O,{column:a,title:n("table.columns.tradeNo")}),cell:({row:a})=>{const l=a.original.trade_no,r=l.length>6?`${l.slice(0,3)}...${l.slice(-3)}`:l;return e.jsx("div",{className:"flex items-center",children:e.jsx(wx,{trigger:e.jsxs(J,{variant:"ghost",size:"sm",className:"flex h-8 items-center gap-1.5 px-2 font-medium text-primary transition-colors hover:bg-primary/10 hover:text-primary/80",children:[e.jsx("span",{className:"font-mono",children:r}),e.jsx(Jn,{className:"h-3.5 w-3.5 opacity-70"})]}),id:a.original.id})})},enableSorting:!1,enableHiding:!1},{accessorKey:"type",header:({column:a})=>e.jsx(O,{column:a,title:n("table.columns.type")}),cell:({row:a})=>{const l=a.getValue("type"),r=Cx[l];return e.jsx(K,{variant:"secondary",className:_("font-medium transition-colors text-nowrap",r.color,r.bgColor,"border border-border/50","hover:bg-slate-200/80"),children:n(`type.${Tx(l)}`)})},enableSorting:!1,enableHiding:!1},{accessorKey:"plan.name",header:({column:a})=>e.jsx(O,{column:a,title:n("table.columns.plan")}),cell:({row:a})=>e.jsx("div",{className:"flex space-x-2",children:e.jsx("span",{className:"max-w-32 truncate font-medium text-foreground/90 sm:max-w-72 md:max-w-[31rem]",children:a.original.plan?.name||"-"})}),enableSorting:!1,enableHiding:!1},{accessorKey:"period",header:({column:a})=>e.jsx(O,{column:a,title:n("table.columns.period")}),cell:({row:a})=>{const l=a.getValue("period"),r=Sx[l];return e.jsx(K,{variant:"secondary",className:_("font-medium transition-colors text-nowrap",r.color,r.bgColor,"hover:bg-opacity-80"),children:n(`period.${l}`)})},enableSorting:!1,enableHiding:!1},{accessorKey:"total_amount",header:({column:a})=>e.jsx(O,{column:a,title:n("table.columns.amount")}),cell:({row:a})=>{const l=a.getValue("total_amount"),r=typeof l=="number"?(l/100).toFixed(2):"N/A";return e.jsxs("div",{className:"flex items-center font-mono text-foreground/90",children:["¥",r]})},enableSorting:!0,enableHiding:!1},{accessorKey:"status",header:({column:a})=>e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(O,{column:a,title:n("table.columns.status")}),e.jsx(ce,{delayDuration:100,children:e.jsxs(oe,{children:[e.jsx(ie,{children:e.jsx(Fr,{className:"h-4 w-4 text-muted-foreground/70 transition-colors hover:text-muted-foreground"})}),e.jsx(te,{side:"top",className:"max-w-[200px] text-sm",children:n("status.tooltip")})]})})]}),cell:({row:a})=>{const l=$s.find(r=>r.value===a.getValue("status"));return l?e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[l.icon&&e.jsx(l.icon,{className:`h-4 w-4 text-${l.color}`}),e.jsx("span",{className:"text-sm font-medium",children:n(`status.${kx(l.value)}`)})]}),l.value===Z.PENDING&&e.jsxs(_s,{modal:!0,children:[e.jsx(ws,{asChild:!0,children:e.jsxs(J,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0 hover:bg-muted/60",children:[e.jsx(wt,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:n("actions.openMenu")})]})}),e.jsxs(ds,{align:"end",className:"w-[140px]",children:[e.jsx(je,{className:"cursor-pointer",onClick:async()=>{await jd({trade_no:a.original.trade_no}),s()},children:n("actions.markAsPaid")}),e.jsx(je,{className:"cursor-pointer text-destructive focus:text-destructive",onClick:async()=>{await vd({trade_no:a.original.trade_no}),s()},children:n("actions.cancel")})]})]})]}):null},enableSorting:!0,enableHiding:!1},{accessorKey:"commission_balance",header:({column:a})=>e.jsx(O,{column:a,title:n("table.columns.commission")}),cell:({row:a})=>{const l=a.getValue("commission_balance"),r=l?(l/100).toFixed(2):"-";return e.jsx("div",{className:"flex items-center font-mono text-foreground/90",children:l?`¥${r}`:"-"})},enableSorting:!0,enableHiding:!1},{accessorKey:"commission_status",header:({column:a})=>e.jsx(O,{column:a,title:n("table.columns.commissionStatus")}),cell:({row:a})=>{const l=a.original.status,r=a.original.commission_balance,c=st.find(i=>i.value===a.getValue("commission_status"));return r==0||!c?e.jsx("span",{className:"text-muted-foreground",children:"-"}):e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[c.icon&&e.jsx(c.icon,{className:`h-4 w-4 text-${c.color}`}),e.jsx("span",{className:"text-sm font-medium",children:n(`commission.${Px(c.value)}`)})]}),c.value===re.PENDING&&l===Z.COMPLETED&&e.jsxs(_s,{modal:!0,children:[e.jsx(ws,{asChild:!0,children:e.jsxs(J,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0 hover:bg-muted/60",children:[e.jsx(wt,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:n("actions.openMenu")})]})}),e.jsxs(ds,{align:"end",className:"w-[120px]",children:[e.jsx(je,{className:"cursor-pointer",onClick:async()=>{await Aa({trade_no:a.original.trade_no,commission_status:re.PROCESSING}),s()},children:n("commission.PROCESSING")}),e.jsx(je,{className:"cursor-pointer text-destructive focus:text-destructive",onClick:async()=>{await Aa({trade_no:a.original.trade_no,commission_status:re.INVALID}),s()},children:n("commission.INVALID")})]})]})]})},enableSorting:!0,enableHiding:!1},{accessorKey:"created_at",header:({column:a})=>e.jsx(O,{column:a,title:n("table.columns.createdAt")}),cell:({row:a})=>e.jsx("div",{className:"text-nowrap font-mono text-sm text-muted-foreground",children:he(a.getValue("created_at"),"YYYY/MM/DD HH:mm:ss")}),enableSorting:!0,enableHiding:!1}]};function Ex(){const[s]=Qn(),[n,a]=m.useState({}),[l,r]=m.useState({}),[c,i]=m.useState([]),[u,x]=m.useState([]),[o,d]=m.useState({pageIndex:0,pageSize:20});m.useEffect(()=>{const S=Object.entries({user_id:"string",order_id:"string",commission_status:"number",status:"number",commission_balance:"string"}).map(([j,C])=>{const k=s.get(j);return k?{id:j,value:C==="number"?parseInt(k):k}:null}).filter(Boolean);S.length>0&&i(S)},[s]);const{refetch:p,data:T,isLoading:R}=se({queryKey:["orderList",o,c,u],queryFn:()=>pd({pageSize:o.pageSize,current:o.pageIndex+1,filter:c,sort:u})}),f=Ke({data:T?.data??[],columns:Dx(p),state:{sorting:u,columnVisibility:l,rowSelection:n,columnFilters:c,pagination:o},rowCount:T?.total??0,manualPagination:!0,manualFiltering:!0,manualSorting:!0,enableRowSelection:!0,onRowSelectionChange:a,onSortingChange:x,onColumnFiltersChange:i,onColumnVisibilityChange:r,getCoreRowModel:He(),getFilteredRowModel:Je(),getPaginationRowModel:Qe(),onPaginationChange:d,getSortedRowModel:Ze(),getFacetedRowModel:us(),getFacetedUniqueValues:xs(),initialState:{columnPinning:{right:["actions"]}}});return e.jsx(es,{table:f,toolbar:e.jsx(Nx,{table:f,refetch:p}),showPagination:!0})}function Rx(){const{t:s}=I("order");return e.jsxs(we,{children:[e.jsxs(Ce,{children:[e.jsx(Ie,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(Ee,{}),e.jsx(Re,{})]})]}),e.jsxs(Pe,{className:"flex flex-col",fixedHeight:!0,children:[e.jsx("div",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:s("title")}),e.jsx("p",{className:"text-muted-foreground mt-2",children:s("description")})]})}),e.jsx("div",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx(Ex,{})})]})]})}const Vx=Object.freeze(Object.defineProperty({__proto__:null,default:Rx},Symbol.toStringTag,{value:"Module"}));function Ix({column:s,title:n,options:a}){const l=s?.getFacetedUniqueValues(),r=new Set(s?.getFilterValue());return e.jsxs(rs,{children:[e.jsx(ls,{asChild:!0,children:e.jsxs(V,{variant:"outline",size:"sm",className:"h-8 border-dashed",children:[e.jsx(dt,{className:"mr-2 h-4 w-4"}),n,r?.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(ye,{orientation:"vertical",className:"mx-2 h-4"}),e.jsx(K,{variant:"secondary",className:"rounded-sm px-1 font-normal lg:hidden",children:r.size}),e.jsx("div",{className:"hidden space-x-1 lg:flex",children:r.size>2?e.jsxs(K,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:[r.size," selected"]}):a.filter(c=>r.has(c.value)).map(c=>e.jsx(K,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:c.label},c.value))})]})]})}),e.jsx(Xe,{className:"w-[200px] p-0",align:"start",children:e.jsxs(Cs,{children:[e.jsx(Fs,{placeholder:n}),e.jsxs(Ss,{children:[e.jsx(Ms,{children:"No results found."}),e.jsx(Oe,{children:a.map(c=>{const i=r.has(c.value);return e.jsxs(ke,{onSelect:()=>{i?r.delete(c.value):r.add(c.value);const u=Array.from(r);s?.setFilterValue(u.length?u:void 0)},children:[e.jsx("div",{className:_("mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary",i?"bg-primary text-primary-foreground":"opacity-50 [&_svg]:invisible"),children:e.jsx(Rs,{className:_("h-4 w-4")})}),c.icon&&e.jsx(c.icon,{className:`mr-2 h-4 w-4 text-muted-foreground text-${c.color}`}),e.jsx("span",{children:c.label}),l?.get(c.value)&&e.jsx("span",{className:"ml-auto flex h-4 w-4 items-center justify-center font-mono text-xs",children:l.get(c.value)})]},c.value)})}),r.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(Gs,{}),e.jsx(Oe,{children:e.jsx(ke,{onSelect:()=>s?.setFilterValue(void 0),className:"justify-center text-center",children:"Clear filters"})})]})]})]})})]})}const Fx=h.object({id:h.coerce.number().nullable().optional(),name:h.string().min(1,"请输入优惠券名称"),code:h.string().nullable(),type:h.coerce.number(),value:h.coerce.number(),started_at:h.coerce.number(),ended_at:h.coerce.number(),limit_use:h.union([h.string(),h.number()]).nullable(),limit_use_with_user:h.union([h.string(),h.number()]).nullable(),generate_count:h.coerce.number().nullable().optional(),limit_plan_ids:h.array(h.number()).default([]).nullable(),limit_period:h.array(h.nativeEnum(xe)).default([]).nullable()}).refine(s=>s.ended_at>s.started_at,{message:"结束时间必须晚于开始时间",path:["ended_at"]}),Ya={name:"",code:"",type:Fe.AMOUNT,value:0,started_at:Math.floor(Date.now()/1e3),ended_at:Math.floor(Date.now()/1e3)+7*24*60*60,limit_use:"",limit_use_with_user:"",limit_plan_ids:[],limit_period:[],generate_count:""};function Ur({defaultValues:s,refetch:n,type:a="create",dialogTrigger:l=null,open:r,onOpenChange:c}){const{t:i}=I("coupon"),[u,x]=m.useState(!1),o=r??u,d=c??x,[p,T]=m.useState([]),R=de({resolver:me(Fx),defaultValues:s||Ya});m.useEffect(()=>{s&&R.reset(s)},[s,R]),m.useEffect(()=>{Os().then(({data:j})=>T(j))},[]);const f=j=>{if(!j)return;const C=(k,v)=>{const P=new Date(v*1e3);return k.setHours(P.getHours(),P.getMinutes(),P.getSeconds()),Math.floor(k.getTime()/1e3)};j.from&&R.setValue("started_at",C(j.from,R.watch("started_at"))),j.to&&R.setValue("ended_at",C(j.to,R.watch("ended_at")))},g=async j=>{Nd(j).then(()=>{d(!1),a==="create"&&R.reset(Ya),n()})},S=(j,C)=>e.jsxs("div",{className:"flex-1 space-y-1.5",children:[e.jsx("div",{className:"text-sm font-medium text-muted-foreground",children:C}),e.jsx(D,{type:"datetime-local",step:"1",value:he(R.watch(j),"YYYY-MM-DDTHH:mm:ss"),onChange:k=>{const v=new Date(k.target.value);R.setValue(j,Math.floor(v.getTime()/1e3))},className:"h-8 [&::-webkit-calendar-picker-indicator]:hidden"})]});return e.jsxs(pe,{open:o,onOpenChange:d,children:[l&&e.jsx(ze,{asChild:!0,children:l}),e.jsxs(fe,{className:"sm:max-w-[425px]",children:[e.jsx(be,{children:e.jsx(ge,{children:i(a==="create"?"form.add":"form.edit")})}),e.jsx(ue,{...R,children:e.jsxs("form",{onSubmit:R.handleSubmit(g),className:"space-y-4",children:[e.jsx(y,{control:R.control,name:"name",render:({field:j})=>e.jsxs(b,{children:[e.jsx(N,{children:i("form.name.label")}),e.jsx(D,{placeholder:i("form.name.placeholder"),...j}),e.jsx(E,{})]})}),e.jsx(y,{control:R.control,name:"code",render:({field:j})=>e.jsxs(b,{children:[e.jsx(N,{children:i("form.code.label")}),e.jsx(D,{placeholder:i("form.code.placeholder"),...j,className:"h-9"}),e.jsx(M,{className:"text-xs",children:i("form.code.description")}),e.jsx(E,{})]})}),e.jsxs(b,{children:[e.jsx(N,{children:i("form.type.label")}),e.jsxs("div",{className:"flex",children:[e.jsx(y,{control:R.control,name:"type",render:({field:j})=>e.jsxs(G,{value:j.value.toString(),onValueChange:C=>{const k=j.value,v=parseInt(C);j.onChange(v);const P=R.getValues("value");P&&(k===Fe.AMOUNT&&v===Fe.PERCENT?R.setValue("value",P/100):k===Fe.PERCENT&&v===Fe.AMOUNT&&R.setValue("value",P*100))},children:[e.jsx(U,{className:"flex-[1.2] rounded-r-none border-r-0 focus:z-10",children:e.jsx(W,{placeholder:i("form.type.placeholder")})}),e.jsx(B,{children:Object.entries(Ud).map(([C,k])=>e.jsx(L,{value:C,children:i(`table.toolbar.types.${C}`)},C))})]})}),e.jsx(y,{control:R.control,name:"value",render:({field:j})=>{const C=j.value===""?"":R.watch("type")===Fe.AMOUNT&&typeof j.value=="number"?(j.value/100).toString():j.value.toString();return e.jsx(D,{type:"number",placeholder:i("form.value.placeholder"),...j,value:C,onChange:k=>{const v=k.target.value;if(v===""){j.onChange("");return}const P=parseFloat(v);isNaN(P)||j.onChange(R.watch("type")===Fe.AMOUNT?Math.round(P*100):P)},step:"any",min:0,className:"flex-[2] rounded-none border-x-0 text-left"})}}),e.jsx("div",{className:"flex min-w-[40px] items-center justify-center rounded-md rounded-l-none border border-l-0 border-input bg-muted/50 px-3 font-medium text-muted-foreground",children:e.jsx("span",{children:R.watch("type")==Fe.AMOUNT?"¥":"%"})})]})]}),e.jsxs(b,{children:[e.jsx(N,{children:i("form.validity.label")}),e.jsxs(rs,{children:[e.jsx(ls,{asChild:!0,children:e.jsxs(V,{variant:"outline",className:_("w-full justify-start text-left font-normal",!R.watch("started_at")&&"text-muted-foreground"),children:[e.jsx(ct,{className:"mr-2 h-4 w-4"}),he(R.watch("started_at"),"YYYY-MM-DD HH:mm:ss")," ",i("form.validity.to")," ",he(R.watch("ended_at"),"YYYY-MM-DD HH:mm:ss")]})}),e.jsxs(Xe,{className:"w-auto p-0",align:"start",children:[e.jsx("div",{className:"border-b border-border",children:e.jsx(zs,{mode:"range",selected:{from:new Date(R.watch("started_at")*1e3),to:new Date(R.watch("ended_at")*1e3)},onSelect:f,numberOfMonths:2})}),e.jsx("div",{className:"p-3",children:e.jsxs("div",{className:"flex items-center gap-4",children:[S("started_at",i("table.validity.startTime")),e.jsx("div",{className:"mt-6 text-sm text-muted-foreground",children:i("form.validity.to")}),S("ended_at",i("table.validity.endTime"))]})})]})]}),e.jsx(E,{})]}),e.jsx(y,{control:R.control,name:"limit_use",render:({field:j})=>e.jsxs(b,{children:[e.jsx(N,{children:i("form.limitUse.label")}),e.jsx(D,{type:"number",min:0,placeholder:i("form.limitUse.placeholder"),...j,value:j.value===void 0?"":j.value,onChange:C=>j.onChange(C.target.value===""?"":C.target.value),className:"h-9"}),e.jsx(M,{className:"text-xs",children:i("form.limitUse.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:R.control,name:"limit_use_with_user",render:({field:j})=>e.jsxs(b,{children:[e.jsx(N,{children:i("form.limitUseWithUser.label")}),e.jsx(D,{type:"number",min:0,placeholder:i("form.limitUseWithUser.placeholder"),...j,value:j.value===void 0?"":j.value,onChange:C=>j.onChange(C.target.value===""?"":C.target.value),className:"h-9"}),e.jsx(M,{className:"text-xs",children:i("form.limitUseWithUser.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:R.control,name:"limit_period",render:({field:j})=>e.jsxs(b,{children:[e.jsx(N,{children:i("form.limitPeriod.label")}),e.jsx(ot,{options:Object.entries(xe).filter(([C])=>isNaN(Number(C))).map(([C,k])=>({label:k,value:C})),onChange:C=>{if(C.length===0){j.onChange([]);return}const k=C.map(v=>xe[v.value]);j.onChange(k)},value:(j.value||[]).map(C=>({label:Object.entries(xe).find(([k,v])=>v===C)?.[1]||"",value:Object.entries(xe).find(([k,v])=>v===C)?.[0]||""})),placeholder:i("form.limitPeriod.placeholder"),emptyIndicator:e.jsx("p",{className:"text-center text-sm text-muted-foreground",children:i("form.limitPeriod.empty")})}),e.jsx(M,{className:"text-xs",children:i("form.limitPeriod.description")}),e.jsx(E,{})]})}),e.jsx(y,{control:R.control,name:"limit_plan_ids",render:({field:j})=>e.jsxs(b,{children:[e.jsx(N,{children:i("form.limitPlan.label")}),e.jsx(ot,{options:p?.map(C=>({label:C.name,value:C.id.toString()}))||[],onChange:C=>j.onChange(C.map(k=>Number(k.value))),value:(p||[]).filter(C=>(j.value||[]).includes(C.id)).map(C=>({label:C.name,value:C.id.toString()})),placeholder:i("form.limitPlan.placeholder"),emptyIndicator:e.jsx("p",{className:"text-center text-sm text-muted-foreground",children:i("form.limitPlan.empty")})}),e.jsx(E,{})]})}),a==="create"&&e.jsx(e.Fragment,{children:e.jsx(y,{control:R.control,name:"generate_count",render:({field:j})=>e.jsxs(b,{children:[e.jsx(N,{children:i("form.generateCount.label")}),e.jsx(D,{type:"number",min:0,placeholder:i("form.generateCount.placeholder"),...j,value:j.value===void 0?"":j.value,onChange:C=>j.onChange(C.target.value===""?"":C.target.value),className:"h-9"}),e.jsx(M,{className:"text-xs",children:i("form.generateCount.description")}),e.jsx(E,{})]})})}),e.jsx(Le,{children:e.jsx(V,{type:"submit",disabled:R.formState.isSubmitting,children:R.formState.isSubmitting?i("form.submit.saving"):i("form.submit.save")})})]})})]})]})}function Mx({table:s,refetch:n}){const a=s.getState().columnFilters.length>0,{t:l}=I("coupon");return e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(Ur,{refetch:n,dialogTrigger:e.jsxs(V,{variant:"outline",size:"sm",className:"h-8 space-x-2",children:[e.jsx(Se,{icon:"ion:add"}),e.jsx("div",{children:l("form.add")})]})}),e.jsx(D,{placeholder:l("table.toolbar.search"),value:s.getColumn("name")?.getFilterValue()??"",onChange:r=>s.getColumn("name")?.setFilterValue(r.target.value),className:"h-8 w-[150px] lg:w-[250px]"}),s.getColumn("type")&&e.jsx(Ix,{column:s.getColumn("type"),title:l("table.toolbar.type"),options:[{value:Fe.AMOUNT,label:l(`table.toolbar.types.${Fe.AMOUNT}`)},{value:Fe.PERCENTAGE,label:l(`table.toolbar.types.${Fe.PERCENTAGE}`)}]}),a&&e.jsxs(V,{variant:"ghost",onClick:()=>s.resetColumnFilters(),className:"h-8 px-2 lg:px-3",children:[l("table.toolbar.reset"),e.jsx(Ae,{className:"ml-2 h-4 w-4"})]})]})}const Br=m.createContext(void 0);function Ox({children:s,refetch:n}){const[a,l]=m.useState(!1),[r,c]=m.useState(null),i=x=>{c(x),l(!0)},u=()=>{l(!1),c(null)};return e.jsxs(Br.Provider,{value:{isOpen:a,currentCoupon:r,openEdit:i,closeEdit:u},children:[s,r&&e.jsx(Ur,{defaultValues:r,refetch:n,type:"edit",open:a,onOpenChange:l})]})}function zx(){const s=m.useContext(Br);if(s===void 0)throw new Error("useCouponEdit must be used within a CouponEditProvider");return s}const Lx=s=>{const{t:n}=I("coupon");return[{accessorKey:"id",header:({column:a})=>e.jsx(O,{column:a,title:n("table.columns.id")}),cell:({row:a})=>e.jsx(K,{children:a.original.id}),enableSorting:!0},{accessorKey:"show",header:({column:a})=>e.jsx(O,{column:a,title:n("table.columns.show")}),cell:({row:a})=>e.jsx(H,{defaultChecked:a.original.show,onCheckedChange:l=>{wd({id:a.original.id,show:l}).then(({data:r})=>!r&&s())}}),enableSorting:!1},{accessorKey:"name",header:({column:a})=>e.jsx(O,{column:a,title:n("table.columns.name")}),cell:({row:a})=>e.jsx("div",{className:"flex items-center",children:e.jsx("span",{children:a.original.name})}),enableSorting:!1,size:800},{accessorKey:"type",header:({column:a})=>e.jsx(O,{column:a,title:n("table.columns.type")}),cell:({row:a})=>e.jsx(K,{variant:"outline",children:n(`table.toolbar.types.${a.original.type}`)}),enableSorting:!0},{accessorKey:"code",header:({column:a})=>e.jsx(O,{column:a,title:n("table.columns.code")}),cell:({row:a})=>e.jsx(K,{variant:"secondary",children:a.original.code}),enableSorting:!0},{accessorKey:"limit_use",header:({column:a})=>e.jsx(O,{column:a,title:n("table.columns.limitUse")}),cell:({row:a})=>e.jsx(K,{variant:"outline",children:a.original.limit_use===null?n("table.validity.unlimited"):a.original.limit_use}),enableSorting:!0},{accessorKey:"limit_use_with_user",header:({column:a})=>e.jsx(O,{column:a,title:n("table.columns.limitUseWithUser")}),cell:({row:a})=>e.jsx(K,{variant:"outline",children:a.original.limit_use_with_user===null?n("table.validity.noLimit"):a.original.limit_use_with_user}),enableSorting:!0},{accessorKey:"#",header:({column:a})=>e.jsx(O,{column:a,title:n("table.columns.validity")}),cell:({row:a})=>{const[l,r]=m.useState(!1),c=Date.now(),i=a.original.started_at*1e3,u=a.original.ended_at*1e3,x=c>u,o=ce.jsx(O,{className:"justify-end",column:a,title:n("table.columns.actions")}),cell:({row:a})=>{const{openEdit:l}=zx();return e.jsxs("div",{className:"flex items-center justify-center",children:[e.jsxs(V,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-muted",onClick:()=>l(a.original),children:[e.jsx(Is,{className:"h-4 w-4 text-muted-foreground hover:text-foreground"}),e.jsx("span",{className:"sr-only",children:n("table.actions.edit")})]}),e.jsx(Ue,{title:n("table.actions.deleteConfirm.title"),description:n("table.actions.deleteConfirm.description"),confirmText:n("table.actions.deleteConfirm.confirmText"),variant:"destructive",onConfirm:async()=>{_d({id:a.original.id}).then(({data:r})=>{r&&(q.success("删除成功"),s())})},children:e.jsxs(V,{variant:"ghost",size:"icon",className:"h-8 w-8 hover:bg-red-100 dark:hover:bg-red-900",children:[e.jsx(ns,{className:"h-4 w-4 text-muted-foreground hover:text-red-600 dark:hover:text-red-400"}),e.jsx("span",{className:"sr-only",children:n("table.actions.delete")})]})})]})}}]};function Ax(){const[s,n]=m.useState({}),[a,l]=m.useState({}),[r,c]=m.useState([]),[i,u]=m.useState([]),[x,o]=m.useState({pageIndex:0,pageSize:20}),{refetch:d,data:p}=se({queryKey:["couponList",x,r,i],queryFn:()=>yd({pageSize:x.pageSize,current:x.pageIndex+1,filter:r,sort:i})}),T=Ke({data:p?.data??[],columns:Lx(d),state:{sorting:i,columnVisibility:a,rowSelection:s,columnFilters:r,pagination:x},pageCount:Math.ceil((p?.total??0)/x.pageSize),rowCount:p?.total??0,manualPagination:!0,manualFiltering:!0,manualSorting:!0,enableRowSelection:!0,onRowSelectionChange:n,onSortingChange:u,onColumnFiltersChange:c,onColumnVisibilityChange:l,onPaginationChange:o,getCoreRowModel:He(),getFilteredRowModel:Je(),getPaginationRowModel:Qe(),getSortedRowModel:Ze(),getFacetedRowModel:us(),getFacetedUniqueValues:xs(),initialState:{columnPinning:{right:["actions"]}}});return e.jsx(Ox,{refetch:d,children:e.jsx("div",{className:"space-y-4",children:e.jsx(es,{table:T,toolbar:e.jsx(Mx,{table:T,refetch:d})})})})}function $x(){const{t:s}=I("coupon");return e.jsxs(we,{children:[e.jsxs(Ce,{children:[e.jsx(Ie,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(Ee,{}),e.jsx(Re,{})]})]}),e.jsxs(Pe,{className:"flex flex-col",fixedHeight:!0,children:[e.jsx("div",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:s("title")}),e.jsx("p",{className:"text-muted-foreground mt-2",children:s("description")})]})}),e.jsx("div",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx(Ax,{})})]})]})}const qx=Object.freeze(Object.defineProperty({__proto__:null,default:$x},Symbol.toStringTag,{value:"Module"})),Kx=h.object({email_prefix:h.string().optional(),email_suffix:h.string().min(1),password:h.string().optional(),expired_at:h.number().optional().nullable(),plan_id:h.number().nullable(),generate_count:h.number().optional().nullable()}).refine(s=>s.generate_count===null?s.email_prefix!==void 0&&s.email_prefix!=="":!0,{message:"Email prefix is required when generate_count is null",path:["email_prefix"]}),Hx={email_prefix:"",email_suffix:"",password:"",expired_at:null,plan_id:null,generate_count:void 0};function Ux({refetch:s}){const{t:n}=I("user"),[a,l]=m.useState(!1),r=de({resolver:me(Kx),defaultValues:Hx,mode:"onChange"}),[c,i]=m.useState([]);return m.useEffect(()=>{a&&Os().then(({data:u})=>{u&&i(u)})},[a]),e.jsxs(pe,{open:a,onOpenChange:l,children:[e.jsx(ze,{asChild:!0,children:e.jsxs(J,{size:"sm",variant:"outline",className:"space-x-2 gap-0",children:[e.jsx(Se,{icon:"ion:add"}),e.jsx("div",{children:n("generate.button")})]})}),e.jsxs(fe,{className:"sm:max-w-[425px]",children:[e.jsxs(be,{children:[e.jsx(ge,{children:n("generate.title")}),e.jsx(Te,{})]}),e.jsxs(ue,{...r,children:[e.jsxs(b,{children:[e.jsx(N,{children:n("generate.form.email")}),e.jsxs("div",{className:"flex",children:[!r.watch("generate_count")&&e.jsx(y,{control:r.control,name:"email_prefix",render:({field:u})=>e.jsx(D,{className:"flex-[5] rounded-r-none",placeholder:n("generate.form.email_prefix"),...u})}),e.jsx("div",{className:`z-[-1] border border-r-0 border-input px-3 py-1 shadow-sm ${r.watch("generate_count")?"rounded-l-md":"border-l-0"}`,children:"@"}),e.jsx(y,{control:r.control,name:"email_suffix",render:({field:u})=>e.jsx(D,{className:"flex-[4] rounded-l-none",placeholder:n("generate.form.email_domain"),...u})})]})]}),e.jsx(y,{control:r.control,name:"password",render:({field:u})=>e.jsxs(b,{children:[e.jsx(N,{children:n("generate.form.password")}),e.jsx(D,{placeholder:n("generate.form.password_placeholder"),...u}),e.jsx(E,{})]})}),e.jsx(y,{control:r.control,name:"expired_at",render:({field:u})=>e.jsxs(b,{className:"flex flex-col",children:[e.jsx(N,{children:n("generate.form.expire_time")}),e.jsxs(rs,{children:[e.jsx(ls,{asChild:!0,children:e.jsx(w,{children:e.jsxs(J,{variant:"outline",className:_("w-full pl-3 text-left font-normal",!u.value&&"text-muted-foreground"),children:[u.value?he(u.value):e.jsx("span",{children:n("generate.form.expire_time_placeholder")}),e.jsx(ct,{className:"ml-auto h-4 w-4 opacity-50"})]})})}),e.jsxs(Xe,{className:"flex w-auto flex-col space-y-2 p-2",children:[e.jsx(Ri,{asChild:!0,children:e.jsx(J,{variant:"outline",className:"w-full",onClick:()=>{u.onChange(null)},children:n("generate.form.permanent")})}),e.jsx("div",{className:"rounded-md border",children:e.jsx(zs,{mode:"single",selected:u.value?new Date(u.value*1e3):void 0,onSelect:x=>{x&&u.onChange(x?.getTime()/1e3)}})})]})]})]})}),e.jsx(y,{control:r.control,name:"plan_id",render:({field:u})=>e.jsxs(b,{children:[e.jsx(N,{children:n("generate.form.subscription")}),e.jsx(w,{children:e.jsxs(G,{value:u.value?u.value.toString():"null",onValueChange:x=>u.onChange(x==="null"?null:parseInt(x)),children:[e.jsx(U,{children:e.jsx(W,{placeholder:n("generate.form.subscription_none")})}),e.jsxs(B,{children:[e.jsx(L,{value:"null",children:n("generate.form.subscription_none")}),c.map(x=>e.jsx(L,{value:x.id.toString(),children:x.name},x.id))]})]})})]})}),!r.watch("email_prefix")&&e.jsx(y,{control:r.control,name:"generate_count",render:({field:u})=>e.jsxs(b,{children:[e.jsx(N,{children:n("generate.form.generate_count")}),e.jsx(D,{type:"number",placeholder:n("generate.form.generate_count_placeholder"),value:u.value||"",onChange:x=>u.onChange(x.target.value?parseInt(x.target.value):null)})]})})]}),e.jsxs(Le,{children:[e.jsx(J,{variant:"outline",onClick:()=>l(!1),children:n("generate.form.cancel")}),e.jsx(J,{onClick:()=>r.handleSubmit(u=>{Pd(u).then(({data:x})=>{x&&(q.success(n("generate.form.success")),r.reset(),s(),l(!1))})})(),children:n("generate.form.submit")})]})]})]})}const Gr=Za,Wr=Xa,Bx=en,Yr=m.forwardRef(({className:s,...n},a)=>e.jsx(Pt,{className:_("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",s),...n,ref:a}));Yr.displayName=Pt.displayName;const Gx=Es("fixed overflow-y-scroll z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-300 data-[state=open]:animate-in data-[state=closed]:animate-out",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-md",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-md"}},defaultVariants:{side:"right"}}),ya=m.forwardRef(({side:s="right",className:n,children:a,...l},r)=>e.jsxs(Bx,{children:[e.jsx(Yr,{}),e.jsxs(Tt,{ref:r,className:_(Gx({side:s}),n),...l,children:[e.jsxs(la,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[e.jsx(Ae,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:"Close"})]}),a]})]}));ya.displayName=Tt.displayName;const Na=({className:s,...n})=>e.jsx("div",{className:_("flex flex-col space-y-2 text-center sm:text-left",s),...n});Na.displayName="SheetHeader";const Jr=({className:s,...n})=>e.jsx("div",{className:_("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",s),...n});Jr.displayName="SheetFooter";const _a=m.forwardRef(({className:s,...n},a)=>e.jsx(Dt,{ref:a,className:_("text-lg font-semibold text-foreground",s),...n}));_a.displayName=Dt.displayName;const wa=m.forwardRef(({className:s,...n},a)=>e.jsx(Et,{ref:a,className:_("text-sm text-muted-foreground",s),...n}));wa.displayName=Et.displayName;function Wx({table:s,refetch:n,permissionGroups:a=[],subscriptionPlans:l=[]}){const{t:r}=I("user"),c=s.getState().columnFilters.length>0,[i,u]=m.useState([]),[x,o]=m.useState(!1),d=[{label:r("filter.fields.email"),value:"email",type:"text",operators:[{label:r("filter.operators.contains"),value:"contains"},{label:r("filter.operators.eq"),value:"eq"}]},{label:r("filter.fields.id"),value:"id",type:"number",operators:[{label:r("filter.operators.eq"),value:"eq"}]},{label:r("filter.fields.plan_id"),value:"plan_id",type:"select",operators:[{label:r("filter.operators.eq"),value:"eq"}],useOptions:!0},{label:r("filter.fields.transfer_enable"),value:"transfer_enable",type:"number",unit:"GB",operators:[{label:r("filter.operators.gt"),value:"gt"},{label:r("filter.operators.lt"),value:"lt"},{label:r("filter.operators.eq"),value:"eq"}]},{label:r("filter.fields.total_used"),value:"total_used",type:"number",unit:"GB",operators:[{label:r("filter.operators.gt"),value:"gt"},{label:r("filter.operators.lt"),value:"lt"},{label:r("filter.operators.eq"),value:"eq"}]},{label:r("filter.fields.online_count"),value:"online_count",type:"number",operators:[{label:r("filter.operators.eq"),value:"eq"},{label:r("filter.operators.gt"),value:"gt"},{label:r("filter.operators.lt"),value:"lt"}]},{label:r("filter.fields.expired_at"),value:"expired_at",type:"date",operators:[{label:r("filter.operators.lt"),value:"lt"},{label:r("filter.operators.gt"),value:"gt"},{label:r("filter.operators.eq"),value:"eq"}]},{label:r("filter.fields.uuid"),value:"uuid",type:"text",operators:[{label:r("filter.operators.eq"),value:"eq"}]},{label:r("filter.fields.token"),value:"token",type:"text",operators:[{label:r("filter.operators.eq"),value:"eq"}]},{label:r("filter.fields.banned"),value:"banned",type:"select",operators:[{label:r("filter.operators.eq"),value:"eq"}],options:[{label:r("filter.status.normal"),value:"0"},{label:r("filter.status.banned"),value:"1"}]},{label:r("filter.fields.remark"),value:"remark",type:"text",operators:[{label:r("filter.operators.contains"),value:"contains"},{label:r("filter.operators.eq"),value:"eq"}]},{label:r("filter.fields.inviter_email"),value:"inviter_email",type:"text",operators:[{label:r("filter.operators.contains"),value:"contains"},{label:r("filter.operators.eq"),value:"eq"}]},{label:r("filter.fields.invite_user_id"),value:"invite_user_id",type:"number",operators:[{label:r("filter.operators.eq"),value:"eq"}]},{label:r("filter.fields.is_admin"),value:"is_admin",type:"boolean",operators:[{label:r("filter.operators.eq"),value:"eq"}]},{label:r("filter.fields.is_staff"),value:"is_staff",type:"boolean",operators:[{label:r("filter.operators.eq"),value:"eq"}]}],p=C=>C*1024*1024*1024,T=C=>C/(1024*1024*1024),R=()=>{u([...i,{field:"",operator:"",value:""}])},f=C=>{u(i.filter((k,v)=>v!==C))},g=(C,k,v)=>{const P=[...i];if(P[C]={...P[C],[k]:v},k==="field"){const z=d.find(Q=>Q.value===v);z&&(P[C].operator=z.operators[0].value,P[C].value=z.type==="boolean"?!1:"")}u(P)},S=(C,k)=>{const v=d.find(P=>P.value===C.field);if(!v)return null;switch(v.type){case"text":return e.jsx(D,{placeholder:r("filter.sheet.value"),value:C.value,onChange:P=>g(k,"value",P.target.value)});case"number":return e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(D,{type:"number",placeholder:r("filter.sheet.value_number",{unit:v.unit}),value:v.unit==="GB"?T(C.value||0):C.value,onChange:P=>{const z=Number(P.target.value);g(k,"value",v.unit==="GB"?p(z):z)}}),v.unit&&e.jsx("span",{className:"text-sm text-muted-foreground",children:v.unit})]});case"date":return e.jsx(zs,{mode:"single",selected:C.value,onSelect:P=>g(k,"value",P),className:"rounded-md border"});case"select":return e.jsxs(G,{value:C.value,onValueChange:P=>g(k,"value",P),children:[e.jsx(U,{children:e.jsx(W,{placeholder:r("filter.sheet.value")})}),e.jsx(B,{children:v.useOptions?l.map(P=>e.jsx(L,{value:P.value.toString(),children:P.label},P.value)):v.options?.map(P=>e.jsx(L,{value:P.value.toString(),children:P.label},P.value))})]});case"boolean":return e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(H,{checked:C.value,onCheckedChange:P=>g(k,"value",P)}),e.jsx(Ct,{children:C.value?r("filter.boolean.true"):r("filter.boolean.false")})]});default:return null}},j=()=>{const C=i.filter(k=>k.field&&k.operator&&k.value!=="").map(k=>{const v=d.find(z=>z.value===k.field);let P=k.value;return k.operator==="contains"?{id:k.field,value:P}:(v?.type==="date"&&P instanceof Date&&(P=Math.floor(P.getTime()/1e3)),v?.type==="boolean"&&(P=P?1:0),{id:k.field,value:`${k.operator}:${P}`})});s.setColumnFilters(C),o(!1)};return e.jsx("div",{className:"flex flex-wrap items-center justify-between gap-2",children:e.jsxs("div",{className:"flex flex-1 flex-wrap items-center gap-2",children:[e.jsx(Ux,{refetch:n}),e.jsx(D,{placeholder:r("filter.email_search"),value:s.getColumn("email")?.getFilterValue()??"",onChange:C=>s.getColumn("email")?.setFilterValue(C.target.value),className:"h-8 w-[150px] lg:w-[250px]"}),e.jsxs(Gr,{open:x,onOpenChange:o,children:[e.jsx(Wr,{asChild:!0,children:e.jsxs(V,{variant:"outline",size:"sm",className:"h-8 border-dashed",children:[e.jsx(Vi,{className:"mr-2 h-4 w-4"}),r("filter.advanced"),i.length>0&&e.jsx(K,{variant:"secondary",className:"ml-2 rounded-sm px-1",children:i.length})]})}),e.jsxs(ya,{className:"w-[400px] sm:w-[540px]",children:[e.jsxs(Na,{children:[e.jsx(_a,{children:r("filter.sheet.title")}),e.jsx(wa,{children:r("filter.sheet.description")})]}),e.jsxs("div",{className:"mt-6 space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("h4",{className:"font-medium",children:r("filter.sheet.conditions")}),e.jsx(V,{variant:"outline",size:"sm",onClick:R,children:r("filter.sheet.add")})]}),e.jsx(lt,{className:"h-[calc(100vh-280px)] pr-4",children:e.jsx("div",{className:"space-y-4",children:i.map((C,k)=>e.jsxs("div",{className:"space-y-3 rounded-lg border p-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx(Ct,{children:r("filter.sheet.condition",{number:k+1})}),e.jsx(V,{variant:"ghost",size:"sm",onClick:()=>f(k),children:e.jsx(Ae,{className:"h-4 w-4"})})]}),e.jsxs(G,{value:C.field,onValueChange:v=>g(k,"field",v),children:[e.jsx(U,{children:e.jsx(W,{placeholder:r("filter.sheet.field")})}),e.jsx(B,{children:d.map(v=>e.jsx(L,{value:v.value,children:v.label},v.value))})]}),C.field&&e.jsxs(G,{value:C.operator,onValueChange:v=>g(k,"operator",v),children:[e.jsx(U,{children:e.jsx(W,{placeholder:r("filter.sheet.operator")})}),e.jsx(B,{children:d.find(v=>v.value===C.field)?.operators.map(v=>e.jsx(L,{value:v.value,children:v.label},v.value))})]}),C.field&&C.operator&&S(C,k)]},k))})}),e.jsxs("div",{className:"flex justify-end space-x-2",children:[e.jsx(V,{variant:"outline",onClick:()=>{u([]),o(!1)},children:r("filter.sheet.reset")}),e.jsx(V,{onClick:j,children:r("filter.sheet.apply")})]})]})]})]}),c&&e.jsxs(V,{variant:"ghost",onClick:()=>{s.resetColumnFilters(),u([])},className:"h-8 px-2 lg:px-3",children:[r("filter.reset"),e.jsx(Ae,{className:"ml-2 h-4 w-4"})]})]})})}const Yx=h.object({id:h.number(),email:h.string().email(),invite_user_email:h.string().email().nullable().optional(),password:h.string().optional().nullable(),balance:h.coerce.number(),commission_balance:h.coerce.number(),u:h.number(),d:h.number(),transfer_enable:h.number(),expired_at:h.number().nullable(),plan_id:h.number().nullable(),banned:h.number(),commission_type:h.number(),commission_rate:h.number().nullable(),discount:h.number().nullable(),speed_limit:h.number().nullable(),device_limit:h.number().nullable(),is_admin:h.number(),is_staff:h.number(),remarks:h.string().nullable()}),Qr=m.createContext(void 0);function Jx({children:s,defaultValues:n,open:a,onOpenChange:l}){const[r,c]=m.useState(!1),[i,u]=m.useState(!1),[x,o]=m.useState([]),d=de({resolver:me(Yx),defaultValues:n,mode:"onChange"});m.useEffect(()=>{a!==void 0&&c(a)},[a]);const p=T=>{c(T),l?.(T)};return e.jsx(Qr.Provider,{value:{form:d,formOpen:r,setFormOpen:p,datePickerOpen:i,setDatePickerOpen:u,planList:x,setPlanList:o},children:s})}function Qx(){const s=m.useContext(Qr);if(!s)throw new Error("useUserForm must be used within a UserFormProvider");return s}function Zx({refetch:s}){const{t:n}=I("user"),{form:a,formOpen:l,setFormOpen:r,datePickerOpen:c,setDatePickerOpen:i,planList:u,setPlanList:x}=Qx();return m.useEffect(()=>{l&&Os().then(({data:o})=>{x(o)})},[l,x]),e.jsxs(ue,{...a,children:[e.jsx(y,{control:a.control,name:"email",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{children:n("edit.form.email")}),e.jsx(w,{children:e.jsx(D,{...o,placeholder:n("edit.form.email_placeholder")})}),e.jsx(E,{...o})]})}),e.jsx(y,{control:a.control,name:"invite_user_email",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{children:n("edit.form.inviter_email")}),e.jsx(w,{children:e.jsx(D,{value:o.value||"",onChange:d=>o.onChange(d.target.value?d.target.value:null),placeholder:n("edit.form.inviter_email_placeholder")})}),e.jsx(E,{...o})]})}),e.jsx(y,{control:a.control,name:"password",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{children:n("edit.form.password")}),e.jsx(w,{children:e.jsx(D,{value:o.value||"",onChange:o.onChange,placeholder:n("edit.form.password_placeholder")})}),e.jsx(E,{...o})]})}),e.jsxs("div",{className:"grid gap-2 md:grid-cols-2",children:[e.jsx(y,{control:a.control,name:"balance",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{children:n("edit.form.balance")}),e.jsx(w,{children:e.jsxs("div",{className:"flex",children:[e.jsx(D,{type:"number",value:o.value||"",onChange:o.onChange,placeholder:n("edit.form.balance_placeholder"),className:"rounded-r-none"}),e.jsx("div",{className:"z-[-1] rounded-md rounded-l-none border border-l-0 border-input px-3 py-1 shadow-sm",children:"¥"})]})}),e.jsx(E,{...o})]})}),e.jsx(y,{control:a.control,name:"commission_balance",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{children:n("edit.form.commission_balance")}),e.jsx(w,{children:e.jsxs("div",{className:"flex",children:[e.jsx(D,{type:"number",value:o.value||"",onChange:o.onChange,placeholder:n("edit.form.commission_balance_placeholder"),className:"rounded-r-none"}),e.jsx("div",{className:"z-[-1] rounded-md rounded-l-none border border-l-0 border-input px-3 py-1 shadow-sm",children:"¥"})]})}),e.jsx(E,{...o})]})}),e.jsx(y,{control:a.control,name:"u",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{children:n("edit.form.upload")}),e.jsx(w,{children:e.jsxs("div",{className:"flex",children:[e.jsx(D,{value:o.value/1024/1024/1024||"",onChange:d=>o.onChange(parseInt(d.target.value)*1024*1024*1024),placeholder:n("edit.form.upload_placeholder"),className:"rounded-r-none"}),e.jsx("div",{className:"z-[-1] rounded-md rounded-l-none border border-l-0 border-input px-3 py-1 shadow-sm",children:"GB"})]})}),e.jsx(E,{...o})]})}),e.jsx(y,{control:a.control,name:"d",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{children:n("edit.form.download")}),e.jsx(w,{children:e.jsxs("div",{className:"flex",children:[e.jsx(D,{type:"number",value:o.value/1024/1024/1024||"",onChange:d=>o.onChange(parseInt(d.target.value)*1024*1024*1024),placeholder:n("edit.form.download_placeholder"),className:"rounded-r-none"}),e.jsx("div",{className:"z-[-1] rounded-md rounded-l-none border border-l-0 border-input px-3 py-1 shadow-sm",children:"GB"})]})}),e.jsx(E,{...o})]})})]}),e.jsx(y,{control:a.control,name:"transfer_enable",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{children:n("edit.form.total_traffic")}),e.jsx(w,{children:e.jsxs("div",{className:"flex",children:[e.jsx(D,{type:"number",value:o.value/1024/1024/1024||"",onChange:d=>o.onChange(parseInt(d.target.value)*1024*1024*1024),placeholder:n("edit.form.total_traffic_placeholder"),className:"rounded-r-none"}),e.jsx("div",{className:"z-[-1] rounded-md rounded-l-none border border-l-0 border-input px-3 py-1 shadow-sm",children:"GB"})]})}),e.jsx(E,{})]})}),e.jsx(y,{control:a.control,name:"expired_at",render:({field:o})=>e.jsxs(b,{className:"flex flex-col",children:[e.jsx(N,{children:n("edit.form.expire_time")}),e.jsxs(rs,{open:c,onOpenChange:i,children:[e.jsx(ls,{asChild:!0,children:e.jsx(w,{children:e.jsxs(V,{type:"button",variant:"outline",className:_("w-full pl-3 text-left font-normal",!o.value&&"text-muted-foreground"),onClick:()=>i(!0),children:[o.value?he(o.value):e.jsx("span",{children:n("edit.form.expire_time_placeholder")}),e.jsx(ct,{className:"ml-auto h-4 w-4 opacity-50"})]})})}),e.jsx(Xe,{className:"w-auto p-0",align:"start",side:"top",sideOffset:4,onInteractOutside:d=>{d.preventDefault()},onEscapeKeyDown:d=>{d.preventDefault()},children:e.jsxs("div",{className:"flex flex-col space-y-3 p-3",children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx(V,{type:"button",variant:"outline",className:"flex-1",onClick:()=>{o.onChange(null),i(!1)},children:n("edit.form.expire_time_permanent")}),e.jsx(V,{type:"button",variant:"outline",className:"flex-1",onClick:()=>{const d=new Date;d.setMonth(d.getMonth()+1),d.setHours(23,59,59,999),o.onChange(Math.floor(d.getTime()/1e3)),i(!1)},children:n("edit.form.expire_time_1month")}),e.jsx(V,{type:"button",variant:"outline",className:"flex-1",onClick:()=>{const d=new Date;d.setMonth(d.getMonth()+3),d.setHours(23,59,59,999),o.onChange(Math.floor(d.getTime()/1e3)),i(!1)},children:n("edit.form.expire_time_3months")})]}),e.jsx("div",{className:"rounded-md border",children:e.jsx(zs,{mode:"single",selected:o.value?new Date(o.value*1e3):void 0,onSelect:d=>{if(d){const p=new Date(o.value?o.value*1e3:Date.now());d.setHours(p.getHours(),p.getMinutes(),p.getSeconds()),o.onChange(Math.floor(d.getTime()/1e3))}},disabled:d=>d{const d=new Date;d.setHours(23,59,59,999),o.onChange(Math.floor(d.getTime()/1e3))},className:"h-6 px-2 text-xs",children:n("edit.form.expire_time_today")})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(D,{type:"datetime-local",step:"1",value:he(o.value,"YYYY-MM-DDTHH:mm:ss"),onChange:d=>{const p=new Date(d.target.value);isNaN(p.getTime())||o.onChange(Math.floor(p.getTime()/1e3))},className:"flex-1"}),e.jsx(V,{type:"button",variant:"outline",onClick:()=>i(!1),children:n("edit.form.expire_time_confirm")})]})]})]})})]}),e.jsx(E,{})]})}),e.jsx(y,{control:a.control,name:"plan_id",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{children:n("edit.form.subscription")}),e.jsx(w,{children:e.jsxs(G,{value:o.value?o.value.toString():"null",onValueChange:d=>o.onChange(d==="null"?null:parseInt(d)),children:[e.jsx(U,{children:e.jsx(W,{placeholder:n("edit.form.subscription_none")})}),e.jsxs(B,{children:[e.jsx(L,{value:"null",children:n("edit.form.subscription_none")}),u.map(d=>e.jsx(L,{value:d.id.toString(),children:d.name},d.id))]})]})})]})}),e.jsx(y,{control:a.control,name:"banned",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{children:n("edit.form.account_status")}),e.jsx(w,{children:e.jsxs(G,{value:o.value.toString(),onValueChange:d=>o.onChange(parseInt(d)),children:[e.jsx(U,{children:e.jsx(W,{})}),e.jsxs(B,{children:[e.jsx(L,{value:"1",children:n("columns.status_text.banned")}),e.jsx(L,{value:"0",children:n("columns.status_text.normal")})]})]})})]})}),e.jsx(y,{control:a.control,name:"commission_type",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{children:n("edit.form.commission_type")}),e.jsx(w,{children:e.jsxs(G,{value:o.value.toString(),onValueChange:d=>o.onChange(parseInt(d)),children:[e.jsx(U,{children:e.jsx(W,{placeholder:n("edit.form.subscription_none")})}),e.jsxs(B,{children:[e.jsx(L,{value:"0",children:n("edit.form.commission_type_system")}),e.jsx(L,{value:"1",children:n("edit.form.commission_type_cycle")}),e.jsx(L,{value:"2",children:n("edit.form.commission_type_onetime")})]})]})})]})}),e.jsx(y,{control:a.control,name:"commission_rate",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{children:n("edit.form.commission_rate")}),e.jsx(w,{children:e.jsxs("div",{className:"flex",children:[e.jsx(D,{type:"number",value:o.value||"",onChange:d=>o.onChange(parseInt(d.currentTarget.value)||null),placeholder:n("edit.form.commission_rate_placeholder"),className:"rounded-r-none"}),e.jsx("div",{className:"z-[-1] rounded-md rounded-l-none border border-l-0 border-input px-3 py-1 shadow-sm",children:"%"})]})})]})}),e.jsx(y,{control:a.control,name:"discount",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{children:n("edit.form.discount")}),e.jsx(w,{children:e.jsxs("div",{className:"flex",children:[e.jsx(D,{type:"number",value:o.value||"",onChange:d=>o.onChange(parseInt(d.currentTarget.value)||null),placeholder:n("edit.form.discount_placeholder"),className:"rounded-r-none"}),e.jsx("div",{className:"z-[-1] rounded-md rounded-l-none border border-l-0 border-input px-3 py-1 shadow-sm",children:"%"})]})}),e.jsx(E,{})]})}),e.jsx(y,{control:a.control,name:"speed_limit",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{children:n("edit.form.speed_limit")}),e.jsx(w,{children:e.jsxs("div",{className:"flex",children:[e.jsx(D,{type:"number",value:o.value||"",onChange:d=>o.onChange(parseInt(d.currentTarget.value)||null),placeholder:n("edit.form.speed_limit_placeholder"),className:"rounded-r-none"}),e.jsx("div",{className:"z-[-1] rounded-md rounded-l-none border border-l-0 border-input px-3 py-1 shadow-sm",children:"Mbps"})]})}),e.jsx(E,{})]})}),e.jsx(y,{control:a.control,name:"device_limit",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{children:n("edit.form.device_limit")}),e.jsx(w,{children:e.jsxs("div",{className:"flex",children:[e.jsx(D,{type:"number",value:o.value||"",onChange:d=>o.onChange(parseInt(d.currentTarget.value)||null),placeholder:n("edit.form.device_limit_placeholder"),className:"rounded-r-none"}),e.jsx("div",{className:"z-[-1] rounded-md rounded-l-none border border-l-0 border-input px-3 py-1 shadow-sm",children:"台"})]})}),e.jsx(E,{})]})}),e.jsx(y,{control:a.control,name:"is_admin",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{children:n("edit.form.is_admin")}),e.jsx("div",{className:"py-2",children:e.jsx(w,{children:e.jsx(H,{checked:o.value===1,onCheckedChange:d=>o.onChange(d?1:0)})})})]})}),e.jsx(y,{control:a.control,name:"is_staff",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{children:n("edit.form.is_staff")}),e.jsx("div",{className:"py-2",children:e.jsx(w,{children:e.jsx(H,{checked:o.value===1,onCheckedChange:d=>o.onChange(d?1:0)})})})]})}),e.jsx(y,{control:a.control,name:"remarks",render:({field:o})=>e.jsxs(b,{children:[e.jsx(N,{children:n("edit.form.remarks")}),e.jsx(w,{children:e.jsx(ps,{className:"h-24",value:o.value||"",onChange:d=>o.onChange(d.currentTarget.value??null),placeholder:n("edit.form.remarks_placeholder")})}),e.jsx(E,{})]})}),e.jsxs(Jr,{children:[e.jsx(V,{variant:"outline",onClick:()=>r(!1),children:n("edit.form.cancel")}),e.jsx(V,{type:"submit",onClick:()=>{a.handleSubmit(o=>{Sd(o).then(({data:d})=>{d&&(q.success(n("edit.form.success")),r(!1),s())})})()},children:n("edit.form.submit")})]})]})}function Zr({refetch:s,defaultValues:n,dialogTrigger:a=e.jsxs(V,{variant:"outline",size:"sm",className:"ml-auto hidden h-8 lg:flex",children:[e.jsx(dt,{className:"mr-2 h-4 w-4"}),t("edit.button")]})}){const{t:l}=I("user"),[r,c]=m.useState(!1);return e.jsx(Jx,{defaultValues:n,open:r,onOpenChange:c,children:e.jsxs(Gr,{open:r,onOpenChange:c,children:[e.jsx(Wr,{asChild:!0,children:a}),e.jsxs(ya,{className:"max-w-[90%] space-y-4",children:[e.jsxs(Na,{children:[e.jsx(_a,{children:l("edit.title")}),e.jsx(wa,{})]}),e.jsx(Zx,{refetch:s})]})]})})}const Xr=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"m17.71 11.29l-5-5a1 1 0 0 0-.33-.21a1 1 0 0 0-.76 0a1 1 0 0 0-.33.21l-5 5a1 1 0 0 0 1.42 1.42L11 9.41V17a1 1 0 0 0 2 0V9.41l3.29 3.3a1 1 0 0 0 1.42 0a1 1 0 0 0 0-1.42"})}),el=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M17.71 11.29a1 1 0 0 0-1.42 0L13 14.59V7a1 1 0 0 0-2 0v7.59l-3.29-3.3a1 1 0 0 0-1.42 1.42l5 5a1 1 0 0 0 .33.21a.94.94 0 0 0 .76 0a1 1 0 0 0 .33-.21l5-5a1 1 0 0 0 0-1.42"})}),Xx=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M17 11H9.41l3.3-3.29a1 1 0 1 0-1.42-1.42l-5 5a1 1 0 0 0-.21.33a1 1 0 0 0 0 .76a1 1 0 0 0 .21.33l5 5a1 1 0 0 0 1.42 0a1 1 0 0 0 0-1.42L9.41 13H17a1 1 0 0 0 0-2"})}),eh=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M17.92 11.62a1 1 0 0 0-.21-.33l-5-5a1 1 0 0 0-1.42 1.42l3.3 3.29H7a1 1 0 0 0 0 2h7.59l-3.3 3.29a1 1 0 0 0 0 1.42a1 1 0 0 0 1.42 0l5-5a1 1 0 0 0 .21-.33a1 1 0 0 0 0-.76"})}),Gt=[{accessorKey:"record_at",header:"时间",cell:({row:s})=>e.jsx("div",{className:"flex items-center space-x-2",children:e.jsx("time",{className:"text-sm text-muted-foreground",children:mc(s.original.record_at)})})},{accessorKey:"u",header:"上行流量",cell:({row:s})=>e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(Xr,{className:"h-4 w-4 text-emerald-500"}),e.jsx("span",{className:"font-mono text-sm",children:ss(s.original.u)})]})},{accessorKey:"d",header:"下行流量",cell:({row:s})=>e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(el,{className:"h-4 w-4 text-blue-500"}),e.jsx("span",{className:"font-mono text-sm",children:ss(s.original.d)})]})},{accessorKey:"server_rate",header:"倍率",cell:({row:s})=>{const n=s.original.server_rate;return e.jsx("div",{className:"flex items-center space-x-2",children:e.jsxs(K,{variant:"outline",className:"font-mono",children:[n,"x"]})})}},{id:"total",header:"总计",cell:({row:s})=>{const n=s.original.u+s.original.d;return e.jsx("div",{className:"flex items-center justify-end font-mono text-sm",children:ss(n)})}}];function sl({user_id:s,dialogTrigger:n}){const{t:a}=I(["traffic"]),[l,r]=m.useState(!1),[c,i]=m.useState({pageIndex:0,pageSize:20}),{data:u,isLoading:x}=se({queryKey:["userStats",s,c,l],queryFn:()=>l?Td({user_id:s,pageSize:c.pageSize,page:c.pageIndex+1}):null}),o=Ke({data:u?.data??[],columns:Gt,pageCount:Math.ceil((u?.total??0)/c.pageSize),state:{pagination:c},manualPagination:!0,getCoreRowModel:He(),onPaginationChange:i});return e.jsxs(pe,{open:l,onOpenChange:r,children:[e.jsx(ze,{asChild:!0,children:n}),e.jsxs(fe,{className:"sm:max-w-[700px]",children:[e.jsx(be,{children:e.jsx(ge,{children:a("trafficRecord.title")})}),e.jsxs("div",{className:"space-y-4",children:[e.jsx("div",{className:"rounded-md border",children:e.jsxs(fa,{children:[e.jsx(pa,{children:o.getHeaderGroups().map(d=>e.jsx(ys,{children:d.headers.map(p=>e.jsx(ja,{className:_("h-10 px-2 text-xs",p.id==="total"&&"text-right"),children:p.isPlaceholder?null:Nt(p.column.columnDef.header,p.getContext())},p.id))},d.id))}),e.jsx(ga,{children:x?Array.from({length:c.pageSize}).map((d,p)=>e.jsx(ys,{children:Array.from({length:Gt.length}).map((T,R)=>e.jsx(Ks,{className:"p-2",children:e.jsx(le,{className:"h-6 w-full"})},R))},p)):o.getRowModel().rows?.length?o.getRowModel().rows.map(d=>e.jsx(ys,{"data-state":d.getIsSelected()&&"selected",className:"h-10",children:d.getVisibleCells().map(p=>e.jsx(Ks,{className:"px-2",children:Nt(p.column.columnDef.cell,p.getContext())},p.id))},d.id)):e.jsx(ys,{children:e.jsx(Ks,{colSpan:Gt.length,className:"h-24 text-center",children:a("trafficRecord.noRecords")})})})]})}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx("p",{className:"text-sm font-medium",children:a("trafficRecord.perPage")}),e.jsxs(G,{value:`${o.getState().pagination.pageSize}`,onValueChange:d=>{o.setPageSize(Number(d))},children:[e.jsx(U,{className:"h-8 w-[70px]",children:e.jsx(W,{placeholder:o.getState().pagination.pageSize})}),e.jsx(B,{side:"top",children:[10,20,30,40,50].map(d=>e.jsx(L,{value:`${d}`,children:d},d))})]}),e.jsx("p",{className:"text-sm font-medium",children:a("trafficRecord.records")})]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx("div",{className:"flex w-[100px] items-center justify-center text-sm",children:a("trafficRecord.page",{current:o.getState().pagination.pageIndex+1,total:o.getPageCount()})}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(J,{variant:"outline",size:"icon",className:"h-8 w-8",onClick:()=>o.previousPage(),disabled:!o.getCanPreviousPage()||x,children:e.jsx(Xx,{className:"h-4 w-4"})}),e.jsx(J,{variant:"outline",size:"icon",className:"h-8 w-8",onClick:()=>o.nextPage(),disabled:!o.getCanNextPage()||x,children:e.jsx(eh,{className:"h-4 w-4"})})]})]})]})]})]})]})}const sh=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M5 18h4.24a1 1 0 0 0 .71-.29l6.92-6.93L19.71 8a1 1 0 0 0 0-1.42l-4.24-4.29a1 1 0 0 0-1.42 0l-2.82 2.83l-6.94 6.93a1 1 0 0 0-.29.71V17a1 1 0 0 0 1 1m9.76-13.59l2.83 2.83l-1.42 1.42l-2.83-2.83ZM6 13.17l5.93-5.93l2.83 2.83L8.83 16H6ZM21 20H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2"})}),th=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M19 11h-6V5a1 1 0 0 0-2 0v6H5a1 1 0 0 0 0 2h6v6a1 1 0 0 0 2 0v-6h6a1 1 0 0 0 0-2"})}),ah=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M21 8.94a1.3 1.3 0 0 0-.06-.27v-.09a1 1 0 0 0-.19-.28l-6-6a1 1 0 0 0-.28-.19a.3.3 0 0 0-.09 0a.9.9 0 0 0-.33-.11H10a3 3 0 0 0-3 3v1H6a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3v-1h1a3 3 0 0 0 3-3zm-6-3.53L17.59 8H16a1 1 0 0 1-1-1ZM15 19a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h1v7a3 3 0 0 0 3 3h5Zm4-4a1 1 0 0 1-1 1h-8a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h3v3a3 3 0 0 0 3 3h3Z"})}),nh=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M21 11a1 1 0 0 0-1 1a8.05 8.05 0 1 1-2.22-5.5h-2.4a1 1 0 0 0 0 2h4.53a1 1 0 0 0 1-1V3a1 1 0 0 0-2 0v1.77A10 10 0 1 0 22 12a1 1 0 0 0-1-1"})}),rh=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M9.5 10.5H12a1 1 0 0 0 0-2h-1V8a1 1 0 0 0-2 0v.55a2.5 2.5 0 0 0 .5 4.95h1a.5.5 0 0 1 0 1H8a1 1 0 0 0 0 2h1v.5a1 1 0 0 0 2 0v-.55a2.5 2.5 0 0 0-.5-4.95h-1a.5.5 0 0 1 0-1M21 12h-3V3a1 1 0 0 0-.5-.87a1 1 0 0 0-1 0l-3 1.72l-3-1.72a1 1 0 0 0-1 0l-3 1.72l-3-1.72a1 1 0 0 0-1 0A1 1 0 0 0 2 3v16a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-6a1 1 0 0 0-1-1M5 20a1 1 0 0 1-1-1V4.73l2 1.14a1.08 1.08 0 0 0 1 0l3-1.72l3 1.72a1.08 1.08 0 0 0 1 0l2-1.14V19a3 3 0 0 0 .18 1Zm15-1a1 1 0 0 1-2 0v-5h2Z"})}),lh=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M12.3 12.22A4.92 4.92 0 0 0 14 8.5a5 5 0 0 0-10 0a4.92 4.92 0 0 0 1.7 3.72A8 8 0 0 0 1 19.5a1 1 0 0 0 2 0a6 6 0 0 1 12 0a1 1 0 0 0 2 0a8 8 0 0 0-4.7-7.28M9 11.5a3 3 0 1 1 3-3a3 3 0 0 1-3 3m9.74.32A5 5 0 0 0 15 3.5a1 1 0 0 0 0 2a3 3 0 0 1 3 3a3 3 0 0 1-1.5 2.59a1 1 0 0 0-.5.84a1 1 0 0 0 .45.86l.39.26l.13.07a7 7 0 0 1 4 6.38a1 1 0 0 0 2 0a9 9 0 0 0-4.23-7.68"})}),oh=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M12 2a10 10 0 0 0-6.88 2.77V3a1 1 0 0 0-2 0v4.5a1 1 0 0 0 1 1h4.5a1 1 0 0 0 0-2h-2.4A8 8 0 1 1 4 12a1 1 0 0 0-2 0A10 10 0 1 0 12 2m0 6a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h2a1 1 0 0 0 0-2h-1V9a1 1 0 0 0-1-1"})}),ih=(s,n)=>{const{t:a}=I("user");return[{accessorKey:"is_admin",header:({column:l})=>e.jsx(O,{column:l,title:a("columns.is_admin")}),enableSorting:!1,enableHiding:!0,filterFn:(l,r,c)=>c.includes(l.getValue(r)),size:0},{accessorKey:"is_staff",header:({column:l})=>e.jsx(O,{column:l,title:a("columns.is_staff")}),enableSorting:!1,enableHiding:!0,filterFn:(l,r,c)=>c.includes(l.getValue(r)),size:0},{accessorKey:"id",header:({column:l})=>e.jsx(O,{column:l,title:a("columns.id")}),cell:({row:l})=>e.jsx(K,{variant:"outline",children:l.original.id}),enableSorting:!0,enableHiding:!1},{accessorKey:"email",header:({column:l})=>e.jsx(O,{column:l,title:a("columns.email")}),cell:({row:l})=>{const r=l.original.t||0,c=Date.now()/1e3-r<120,i=Math.floor(Date.now()/1e3-r);let u=c?a("columns.online_status.online"):r===0?a("columns.online_status.never"):a("columns.online_status.last_online",{time:he(r)});if(!c&&r!==0){const x=Math.floor(i/60),o=Math.floor(x/60),d=Math.floor(o/24);d>0?u+=` +`+a("columns.online_status.offline_duration.days",{count:d}):o>0?u+=` +`+a("columns.online_status.offline_duration.hours",{count:o}):x>0?u+=` +`+a("columns.online_status.offline_duration.minutes",{count:x}):u+=` +`+a("columns.online_status.offline_duration.seconds",{count:i})}return e.jsx(ce,{delayDuration:100,children:e.jsxs(oe,{children:[e.jsx(ie,{children:e.jsxs("div",{className:"flex items-center gap-2.5",children:[e.jsx("div",{className:_("size-2.5 rounded-full ring-2 ring-offset-2",c?"bg-green-500 ring-green-500/20":"bg-gray-300 ring-gray-300/20","transition-all duration-300")}),e.jsx("span",{className:"font-medium text-foreground/90",children:l.original.email})]})}),e.jsx(te,{side:"bottom",className:"max-w-[280px]",children:e.jsx("p",{className:"whitespace-pre-line text-sm",children:u})})]})})},enableSorting:!1,enableHiding:!1},{accessorKey:"online_count",header:({column:l})=>e.jsx(O,{column:l,title:a("columns.online_count")}),cell:({row:l})=>{const r=l.original.device_limit,c=l.original.online_count||0;return e.jsx(ce,{delayDuration:100,children:e.jsxs(oe,{children:[e.jsx(ie,{children:e.jsx("div",{className:"flex items-center gap-1.5",children:e.jsxs(K,{variant:"outline",className:_("min-w-[4rem] justify-center",r!==null&&c>=r?"border-destructive/50 bg-destructive/10 text-destructive":"border-primary/40 bg-primary/5 text-primary/90"),children:[c," / ",r===null?"∞":r]})})}),e.jsx(te,{side:"bottom",children:e.jsx("p",{className:"text-sm",children:r===null?a("columns.device_limit.unlimited"):a("columns.device_limit.limited",{count:r})})})]})})},enableSorting:!0,enableHiding:!1},{accessorKey:"banned",header:({column:l})=>e.jsx(O,{column:l,title:a("columns.status")}),cell:({row:l})=>{const r=l.original.banned;return e.jsx("div",{className:"flex justify-center",children:e.jsx(K,{className:_("min-w-20 justify-center transition-colors",r?"bg-destructive/15 text-destructive hover:bg-destructive/25":"bg-success/15 text-success hover:bg-success/25"),children:a(r?"columns.status_text.banned":"columns.status_text.normal")})})},enableSorting:!0,filterFn:(l,r,c)=>c.includes(l.getValue(r))},{accessorKey:"plan_id",header:({column:l})=>e.jsx(O,{column:l,title:a("columns.subscription")}),cell:({row:l})=>e.jsx("div",{className:"min-w-[10em] break-all",children:l.original?.plan?.name||"-"}),enableSorting:!1,enableHiding:!1},{accessorKey:"group_id",header:({column:l})=>e.jsx(O,{column:l,title:a("columns.group")}),cell:({row:l})=>e.jsx("div",{className:"flex flex-wrap gap-1",children:e.jsx(K,{variant:"outline",className:_("px-2 py-0.5 font-medium","bg-secondary/50 hover:bg-secondary/70","border border-border/50","transition-all duration-200","cursor-default select-none","flex items-center gap-1.5 whitespace-nowrap"),children:l.original?.group?.name||"-"})}),enableSorting:!1},{accessorKey:"total_used",header:({column:l})=>e.jsx(O,{column:l,title:a("columns.used_traffic")}),cell:({row:l})=>{const r=ss(l.original?.total_used),c=ss(l.original?.transfer_enable),i=l.original?.total_used/l.original?.transfer_enable*100||0;return e.jsx(ce,{delayDuration:100,children:e.jsxs(oe,{children:[e.jsx(ie,{className:"w-full",children:e.jsxs("div",{className:"w-full space-y-1",children:[e.jsxs("div",{className:"flex justify-between text-sm",children:[e.jsx("span",{className:"text-muted-foreground",children:r}),e.jsxs("span",{className:"text-xs text-muted-foreground",children:[i.toFixed(1),"%"]})]}),e.jsx("div",{className:"h-1.5 w-full rounded-full bg-secondary",children:e.jsx("div",{className:_("h-full rounded-full transition-all",i>90?"bg-destructive":"bg-primary"),style:{width:`${Math.min(i,100)}%`}})})]})}),e.jsx(te,{side:"bottom",children:e.jsxs("p",{className:"text-sm",children:[a("columns.total_traffic"),": ",c]})})]})})}},{accessorKey:"transfer_enable",header:({column:l})=>e.jsx(O,{column:l,title:a("columns.total_traffic")}),cell:({row:l})=>e.jsx("div",{className:"font-medium text-muted-foreground",children:ss(l.original?.transfer_enable)})},{accessorKey:"expired_at",header:({column:l})=>e.jsx(O,{column:l,title:a("columns.expire_time")}),cell:({row:l})=>{const r=l.original.expired_at,c=Date.now()/1e3,i=r!=null&&re.jsx(O,{column:l,title:a("columns.balance")}),cell:({row:l})=>{const r=qs(l.original?.balance);return e.jsxs("div",{className:"flex items-center gap-1 font-medium",children:[e.jsx("span",{className:"text-sm text-muted-foreground",children:"¥"}),e.jsx("span",{className:"tabular-nums text-foreground",children:r})]})}},{accessorKey:"commission_balance",header:({column:l})=>e.jsx(O,{column:l,title:a("columns.commission")}),cell:({row:l})=>{const r=qs(l.original?.commission_balance);return e.jsxs("div",{className:"flex items-center gap-1 font-medium",children:[e.jsx("span",{className:"text-sm text-muted-foreground",children:"¥"}),e.jsx("span",{className:"tabular-nums text-foreground",children:r})]})}},{accessorKey:"created_at",header:({column:l})=>e.jsx(O,{column:l,title:a("columns.register_time")}),cell:({row:l})=>e.jsx("div",{className:"truncate",children:he(l.original?.created_at)}),size:1e3},{id:"actions",header:({column:l})=>e.jsx(O,{column:l,className:"justify-end",title:a("columns.actions")}),cell:({row:l,table:r})=>e.jsxs(_s,{modal:!0,children:[e.jsx(ws,{asChild:!0,children:e.jsx("div",{className:"text-center",children:e.jsx(J,{variant:"ghost",className:"h-8 w-8 p-0 hover:bg-muted","aria-label":a("columns.actions"),children:e.jsx(wt,{className:"size-4"})})})}),e.jsxs(ds,{align:"end",className:"min-w-[40px]",children:[e.jsx(je,{onSelect:c=>{c.preventDefault()},className:"p-0",children:e.jsx(Zr,{defaultValues:{...l.original,invite_user_email:l.original.invite_user?.email},refetch:s,dialogTrigger:e.jsxs(J,{variant:"ghost",className:"w-full justify-start px-2 py-1.5",children:[e.jsx(sh,{className:"mr-2"}),a("columns.actions_menu.edit")]})})}),e.jsx(je,{onSelect:c=>c.preventDefault(),className:"p-0",children:e.jsx(Hr,{defaultValues:{email:l.original.email},trigger:e.jsxs(J,{variant:"ghost",className:"w-full justify-start px-2 py-1.5",children:[e.jsx(th,{className:"mr-2 "}),a("columns.actions_menu.assign_order")]})})}),e.jsx(je,{onSelect:()=>{St(l.original.subscribe_url).then(()=>{q.success(a("common:copy.success"))})},className:"p-0",children:e.jsxs(J,{variant:"ghost",className:"w-full justify-start px-2 py-1.5",children:[e.jsx(ah,{className:"mr-2"}),a("columns.actions_menu.copy_url")]})}),e.jsx(je,{onSelect:()=>{kd({id:l.original.id}).then(({data:c})=>{c&&q.success("重置成功")})},children:e.jsxs("div",{className:"flex items-center",children:[e.jsx(nh,{className:"mr-2 "}),a("columns.actions_menu.reset_secret")]})}),e.jsx(je,{onSelect:()=>{},className:"p-0",children:e.jsxs(Vs,{className:"flex items-center px-2 py-1.5",to:`/finance/order?user_id=${l.original?.id}`,children:[e.jsx(rh,{className:"mr-2"}),a("columns.actions_menu.orders")]})}),e.jsx(je,{onSelect:()=>{r.setColumnFilters([{id:"invite_user_id",value:l.original?.id}])},children:e.jsxs("div",{className:"flex items-center",children:[e.jsx(lh,{className:"mr-2 "}),a("columns.actions_menu.invites")]})}),e.jsx(je,{onSelect:c=>c.preventDefault(),className:"p-0",children:e.jsx(sl,{user_id:l.original?.id,dialogTrigger:e.jsxs(J,{variant:"ghost",className:"w-full justify-start px-2 py-1.5",children:[e.jsx(oh,{className:"mr-2 "}),a("columns.actions_menu.traffic_records")]})})})]})]})}]};function ch(){const[s]=Qn(),[n,a]=m.useState({}),[l,r]=m.useState({is_admin:!1,is_staff:!1}),[c,i]=m.useState([]),[u,x]=m.useState([]),[o,d]=m.useState({pageIndex:0,pageSize:20});m.useEffect(()=>{const P=s.get("email");P&&i(z=>z.some($=>$.id==="email")?z:[...z,{id:"email",value:P}])},[s]);const{refetch:p,data:T,isLoading:R}=se({queryKey:["userList",o,c,u],queryFn:()=>Cd({pageSize:o.pageSize,current:o.pageIndex+1,filter:c,sort:u})}),[f,g]=m.useState([]),[S,j]=m.useState([]);m.useEffect(()=>{Mt().then(({data:P})=>{g(P)}),Os().then(({data:P})=>{j(P)})},[]);const C=f.map(P=>({label:P.name,value:P.id})),k=S.map(P=>({label:P.name,value:P.id})),v=Ke({data:T?.data??[],columns:ih(p),state:{sorting:u,columnVisibility:l,rowSelection:n,columnFilters:c,pagination:o},rowCount:T?.total??0,manualPagination:!0,manualFiltering:!0,manualSorting:!0,enableRowSelection:!0,onRowSelectionChange:a,onSortingChange:x,onColumnFiltersChange:i,onColumnVisibilityChange:r,getCoreRowModel:He(),getFilteredRowModel:Je(),getPaginationRowModel:Qe(),onPaginationChange:d,getSortedRowModel:Ze(),getFacetedRowModel:us(),getFacetedUniqueValues:xs(),initialState:{columnVisibility:{commission_balance:!1,created_at:!1,is_admin:!1,is_staff:!1,permission_group:!1,plan_id:!1},columnPinning:{right:["actions"]}}});return e.jsx(es,{table:v,toolbar:e.jsx(Wx,{table:v,refetch:p,serverGroupList:f,permissionGroups:C,subscriptionPlans:k})})}function dh(){const{t:s}=I("user");return e.jsxs(we,{children:[e.jsxs(Ce,{children:[e.jsx(Ie,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(Ee,{}),e.jsx(Re,{})]})]}),e.jsxs(Pe,{className:"flex flex-col",fixedHeight:!0,children:[e.jsx("div",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:s("manage.title")}),e.jsx("p",{className:"mt-2 text-muted-foreground",children:s("manage.description")})]})}),e.jsx("div",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx("div",{className:"w-full",children:e.jsx(ch,{})})})]})]})}const mh=Object.freeze(Object.defineProperty({__proto__:null,default:dh},Symbol.toStringTag,{value:"Module"}));function uh({column:s,title:n,options:a}){const l=new Set(s?.getFilterValue());return e.jsxs(rs,{children:[e.jsx(ls,{asChild:!0,children:e.jsxs(J,{variant:"outline",size:"sm",className:"h-8 border-dashed",children:[e.jsx(Ii,{className:"mr-2 h-4 w-4"}),n,l?.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(ye,{orientation:"vertical",className:"mx-2 h-4"}),e.jsx(K,{variant:"secondary",className:"rounded-sm px-1 font-normal lg:hidden",children:l.size}),e.jsx("div",{className:"hidden space-x-1 lg:flex",children:l.size>2?e.jsxs(K,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:[l.size," selected"]}):a.filter(r=>l.has(r.value)).map(r=>e.jsx(K,{variant:"secondary",className:"rounded-sm px-1 font-normal",children:r.label},`selected-${r.value}`))})]})]})}),e.jsx(Xe,{className:"w-[200px] p-0",align:"start",children:e.jsxs(Cs,{children:[e.jsx(Fs,{placeholder:n}),e.jsxs(Ss,{children:[e.jsx(Ms,{children:"No results found."}),e.jsx(Oe,{children:a.map(r=>{const c=l.has(r.value);return e.jsxs(ke,{onSelect:()=>{c?l.delete(r.value):l.add(r.value);const i=Array.from(l);s?.setFilterValue(i.length?i:void 0)},children:[e.jsx("div",{className:_("mr-2 flex h-4 w-4 items-center justify-center rounded-sm border border-primary",c?"bg-primary text-primary-foreground":"opacity-50 [&_svg]:invisible"),children:e.jsx(Fi,{className:_("h-4 w-4")})}),r.icon&&e.jsx(r.icon,{className:"mr-2 h-4 w-4 text-muted-foreground"}),e.jsx("span",{children:r.label})]},`option-${r.value}`)})}),l.size>0&&e.jsxs(e.Fragment,{children:[e.jsx(Gs,{}),e.jsx(Oe,{children:e.jsx(ke,{onSelect:()=>s?.setFilterValue(void 0),className:"justify-center text-center",children:"Clear filters"})})]})]})]})})]})}const xh=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M19 11H5a1 1 0 0 0 0 2h14a1 1 0 0 0 0-2"})});function hh({table:s}){const{t:n}=I("ticket");return e.jsx("div",{className:"flex items-center justify-between",children:e.jsxs("div",{className:"flex flex-1 flex-col-reverse items-start gap-y-2 sm:flex-row sm:items-center sm:space-x-4",children:[e.jsx(ha,{defaultValue:s.getColumn("status")?.getFilterValue(),onValueChange:a=>s.getColumn("status")?.setFilterValue(a),children:e.jsxs(Ot,{className:"grid w-full grid-cols-2",children:[e.jsx(Ns,{value:"0",children:n("status.pending")}),e.jsx(Ns,{value:"1",children:n("status.closed")})]})}),s.getColumn("level")&&e.jsx(uh,{column:s.getColumn("level"),title:n("columns.level"),options:[{label:n("level.low"),value:ts.LOW,icon:xh,color:"gray"},{label:n("level.medium"),value:ts.MIDDLE,icon:Xr,color:"yellow"},{label:n("level.high"),value:ts.HIGH,icon:el,color:"red"}]})]})})}function fh(){return e.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",className:"text-foreground",children:[e.jsx("circle",{cx:"4",cy:"12",r:"2",fill:"currentColor",children:e.jsx("animate",{id:"spinner_qFRN",begin:"0;spinner_OcgL.end+0.25s",attributeName:"cy",calcMode:"spline",dur:"0.6s",values:"12;6;12",keySplines:".33,.66,.66,1;.33,0,.66,.33"})}),e.jsx("circle",{cx:"12",cy:"12",r:"2",fill:"currentColor",children:e.jsx("animate",{begin:"spinner_qFRN.begin+0.1s",attributeName:"cy",calcMode:"spline",dur:"0.6s",values:"12;6;12",keySplines:".33,.66,.66,1;.33,0,.66,.33"})}),e.jsx("circle",{cx:"20",cy:"12",r:"2",fill:"currentColor",children:e.jsx("animate",{id:"spinner_OcgL",begin:"spinner_qFRN.begin+0.2s",attributeName:"cy",calcMode:"spline",dur:"0.6s",values:"12;6;12",keySplines:".33,.66,.66,1;.33,0,.66,.33"})})]})}const ph=Es("flex gap-2 max-w-[60%] items-end relative group",{variants:{variant:{received:"self-start",sent:"self-end flex-row-reverse"},layout:{default:"",ai:"max-w-full w-full items-center"}},defaultVariants:{variant:"received",layout:"default"}}),tl=m.forwardRef(({className:s,variant:n,layout:a,children:l,...r},c)=>e.jsx("div",{className:_(ph({variant:n,layout:a,className:s}),"relative group"),ref:c,...r,children:m.Children.map(l,i=>m.isValidElement(i)&&typeof i.type!="string"?m.cloneElement(i,{variant:n,layout:a}):i)}));tl.displayName="ChatBubble";const gh=Es("p-4",{variants:{variant:{received:"bg-secondary text-secondary-foreground rounded-r-lg rounded-tl-lg",sent:"bg-primary text-primary-foreground rounded-l-lg rounded-tr-lg"},layout:{default:"",ai:"border-t w-full rounded-none bg-transparent"}},defaultVariants:{variant:"received",layout:"default"}}),al=m.forwardRef(({className:s,variant:n,layout:a,isLoading:l=!1,children:r,...c},i)=>e.jsx("div",{className:_(gh({variant:n,layout:a,className:s}),"break-words max-w-full whitespace-pre-wrap"),ref:i,...c,children:l?e.jsx("div",{className:"flex items-center space-x-2",children:e.jsx(fh,{})}):r}));al.displayName="ChatBubbleMessage";const jh=m.forwardRef(({variant:s,className:n,children:a,...l},r)=>e.jsx("div",{ref:r,className:_("absolute top-1/2 -translate-y-1/2 flex opacity-0 group-hover:opacity-100 transition-opacity duration-200",s==="sent"?"-left-1 -translate-x-full flex-row-reverse":"-right-1 translate-x-full",n),...l,children:a}));jh.displayName="ChatBubbleActionWrapper";const nl=m.forwardRef(({className:s,...n},a)=>e.jsx(ps,{autoComplete:"off",ref:a,name:"message",className:_("max-h-12 px-4 py-3 bg-background text-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 w-full rounded-md flex items-center h-16 resize-none",s),...n}));nl.displayName="ChatInput";const rl=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"m13.41 12l4.3-4.29a1 1 0 1 0-1.42-1.42L12 10.59l-4.29-4.3a1 1 0 0 0-1.42 1.42l4.3 4.29l-4.3 4.29a1 1 0 0 0 0 1.42a1 1 0 0 0 1.42 0l4.29-4.3l4.29 4.3a1 1 0 0 0 1.42 0a1 1 0 0 0 0-1.42Z"})}),ll=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M15.098 12.634L13 11.423V7a1 1 0 0 0-2 0v5a1 1 0 0 0 .5.866l2.598 1.5a1 1 0 1 0 1-1.732M12 2a10 10 0 1 0 10 10A10.01 10.01 0 0 0 12 2m0 18a8 8 0 1 1 8-8a8.01 8.01 0 0 1-8 8"})}),vh=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M3.71 16.29a1 1 0 0 0-.33-.21a1 1 0 0 0-.76 0a1 1 0 0 0-.33.21a1 1 0 0 0-.21.33a1 1 0 0 0 .21 1.09a1.2 1.2 0 0 0 .33.21a.94.94 0 0 0 .76 0a1.2 1.2 0 0 0 .33-.21a1 1 0 0 0 .21-1.09a1 1 0 0 0-.21-.33M7 8h14a1 1 0 0 0 0-2H7a1 1 0 0 0 0 2m-3.29 3.29a1 1 0 0 0-1.09-.21a1.2 1.2 0 0 0-.33.21a1 1 0 0 0-.21.33a.94.94 0 0 0 0 .76a1.2 1.2 0 0 0 .21.33a1.2 1.2 0 0 0 .33.21a.94.94 0 0 0 .76 0a1.2 1.2 0 0 0 .33-.21a1.2 1.2 0 0 0 .21-.33a.94.94 0 0 0 0-.76a1 1 0 0 0-.21-.33M21 11H7a1 1 0 0 0 0 2h14a1 1 0 0 0 0-2M3.71 6.29a1 1 0 0 0-.33-.21a1 1 0 0 0-1.09.21a1.2 1.2 0 0 0-.21.33a.94.94 0 0 0 0 .76a1.2 1.2 0 0 0 .21.33a1.2 1.2 0 0 0 .33.21a1 1 0 0 0 1.09-.21a1.2 1.2 0 0 0 .21-.33a.94.94 0 0 0 0-.76a1.2 1.2 0 0 0-.21-.33M21 16H7a1 1 0 0 0 0 2h14a1 1 0 0 0 0-2"})}),bh=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M9 12H7a1 1 0 0 0 0 2h2a1 1 0 0 0 0-2m-1-2h4a1 1 0 0 0 0-2H8a1 1 0 0 0 0 2m1 6H7a1 1 0 0 0 0 2h2a1 1 0 0 0 0-2m12-4h-3V3a1 1 0 0 0-.5-.87a1 1 0 0 0-1 0l-3 1.72l-3-1.72a1 1 0 0 0-1 0l-3 1.72l-3-1.72a1 1 0 0 0-1 0A1 1 0 0 0 2 3v16a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-6a1 1 0 0 0-1-1M5 20a1 1 0 0 1-1-1V4.73l2 1.14a1.08 1.08 0 0 0 1 0l3-1.72l3 1.72a1.08 1.08 0 0 0 1 0l2-1.14V19a3 3 0 0 0 .18 1Zm15-1a1 1 0 0 1-2 0v-5h2Zm-6.44-2.83a.8.8 0 0 0-.18-.09a.6.6 0 0 0-.19-.06a1 1 0 0 0-.9.27A1.05 1.05 0 0 0 12 17a1 1 0 0 0 .07.38a1.2 1.2 0 0 0 .22.33a1.2 1.2 0 0 0 .33.21a.94.94 0 0 0 .76 0a1.2 1.2 0 0 0 .33-.21A1 1 0 0 0 14 17a1.05 1.05 0 0 0-.29-.71a2 2 0 0 0-.15-.12m.14-3.88a1 1 0 0 0-1.62.33A1 1 0 0 0 13 14a1 1 0 0 0 1-1a1 1 0 0 0-.08-.38a.9.9 0 0 0-.22-.33"})});function yh(){return e.jsxs("div",{className:"flex h-full flex-col space-y-4 p-6",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(le,{className:"h-8 w-3/4"}),e.jsx(le,{className:"h-4 w-1/2"})]}),e.jsx("div",{className:"flex-1 space-y-4",children:[1,2,3].map(s=>e.jsx(le,{className:"h-20 w-2/3"},s))})]})}function Nh({ticketId:s,dialogTrigger:n}){const{t:a}=I("ticket"),l=ms(),r=m.useRef(null),[c,i]=m.useState(!1),[u,x]=m.useState(""),[o,d]=m.useState(!1),{data:p,refetch:T,isLoading:R}=se({queryKey:["ticket",s,c],queryFn:()=>c?Ed(s):Promise.resolve(null),refetchInterval:c?5e3:!1,retry:3}),f=p?.data,g=(v="smooth")=>{if(r.current){const{scrollHeight:P,clientHeight:z}=r.current;r.current.scrollTo({top:P-z,behavior:v})}};m.useEffect(()=>{if(!c)return;const v=requestAnimationFrame(()=>{g("instant"),setTimeout(()=>g(),1e3)});return()=>{cancelAnimationFrame(v)}},[c,f?.messages]);const S=async()=>{const v=u.trim();!v||o||(d(!0),Rd({id:s,message:v}).then(()=>{x(""),T(),g()}).finally(()=>{d(!1)}))},j=async()=>{Nr(s).then(()=>{q.success(a("actions.close_success")),T()})},C=()=>{f?.user&&l("/finance/order?user_id="+f.user.id)},k=f?.status===at.CLOSED;return e.jsxs(pe,{open:c,onOpenChange:i,children:[e.jsx(ze,{asChild:!0,children:n??e.jsx(J,{variant:"outline",children:a("actions.view_ticket")})}),e.jsxs(fe,{className:"flex h-[90vh] max-w-4xl flex-col gap-0 p-0",children:[e.jsx(ge,{}),R?e.jsx(yh,{}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"flex flex-col space-y-4 border-b p-6",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx("h2",{className:"text-2xl font-semibold",children:f?.subject}),e.jsx(K,{variant:k?"secondary":"default",children:a(k?"status.closed":"status.processing")}),!k&&e.jsx(Ue,{title:a("actions.close_confirm_title"),description:a("actions.close_confirm_description"),confirmText:a("actions.close_confirm_button"),variant:"destructive",onConfirm:j,children:e.jsxs(J,{variant:"ghost",size:"sm",className:"gap-1 text-muted-foreground hover:text-destructive",children:[e.jsx(rl,{className:"h-4 w-4"}),a("actions.close_ticket")]})})]}),e.jsxs("div",{className:"flex items-center space-x-4 text-sm text-muted-foreground",children:[e.jsxs("div",{className:"flex items-center space-x-1",children:[e.jsx(it,{className:"h-4 w-4"}),e.jsx("span",{children:f?.user?.email})]}),e.jsx(ye,{orientation:"vertical",className:"h-4"}),e.jsxs("div",{className:"flex items-center space-x-1",children:[e.jsx(ll,{className:"h-4 w-4"}),e.jsxs("span",{children:[a("detail.created_at")," ",he(f?.created_at)]})]}),e.jsx(ye,{orientation:"vertical",className:"h-4"}),e.jsx(K,{variant:"outline",children:f?.level!=null&&a(`level.${f.level===ts.LOW?"low":f.level===ts.MIDDLE?"medium":"high"}`)})]})]}),f?.user&&e.jsxs("div",{className:"flex space-x-2",children:[e.jsx(Zr,{defaultValues:f.user,refetch:T,dialogTrigger:e.jsx(J,{variant:"outline",size:"icon",className:"h-8 w-8",title:a("detail.user_info"),children:e.jsx(it,{className:"h-4 w-4"})})}),e.jsx(sl,{user_id:f.user.id,dialogTrigger:e.jsx(J,{variant:"outline",size:"icon",className:"h-8 w-8",title:a("detail.traffic_records"),children:e.jsx(vh,{className:"h-4 w-4"})})}),e.jsx(J,{variant:"outline",size:"icon",className:"h-8 w-8",title:a("detail.order_records"),onClick:C,children:e.jsx(bh,{className:"h-4 w-4"})})]})]})}),e.jsx("div",{className:"flex-1 overflow-hidden",children:e.jsx("div",{ref:r,className:"h-full space-y-4 overflow-y-auto p-6",children:f?.messages?.length===0?e.jsx("div",{className:"flex h-full items-center justify-center text-muted-foreground",children:a("detail.no_messages")}):f?.messages?.map(v=>e.jsx(tl,{variant:v.is_me?"sent":"received",className:v.is_me?"ml-auto":"mr-auto",children:e.jsx(al,{children:e.jsxs("div",{className:"space-y-1",children:[e.jsx("div",{className:"whitespace-pre-wrap break-words",children:v.message}),e.jsx("div",{className:"text-right",children:e.jsx("time",{className:"text-[10px] text-muted-foreground",children:he(v.created_at)})})]})})},v.id))})}),e.jsx("div",{className:"border-t p-4",children:e.jsxs("div",{className:"relative flex items-center space-x-2",children:[e.jsx(nl,{disabled:k||o,placeholder:a(k?"detail.input.closed_placeholder":"detail.input.reply_placeholder"),className:"flex-1 resize-none rounded-lg border bg-background p-3 focus-visible:ring-1",value:u,onChange:v=>x(v.target.value),onKeyDown:v=>{v.key==="Enter"&&!v.shiftKey&&(v.preventDefault(),S())}}),e.jsx(J,{disabled:k||o||!u.trim(),onClick:S,children:a(o?"detail.input.sending":"detail.input.send")})]})})]})]})]})}const _h=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M19 4H5a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3m-.41 2l-5.88 5.88a1 1 0 0 1-1.42 0L5.41 6ZM20 17a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7.41l5.88 5.88a3 3 0 0 0 4.24 0L20 7.41Z"})}),wh=s=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...s,children:e.jsx("path",{fill:"currentColor",d:"M21.92 11.6C19.9 6.91 16.1 4 12 4s-7.9 2.91-9.92 7.6a1 1 0 0 0 0 .8C4.1 17.09 7.9 20 12 20s7.9-2.91 9.92-7.6a1 1 0 0 0 0-.8M12 18c-3.17 0-6.17-2.29-7.9-6C5.83 8.29 8.83 6 12 6s6.17 2.29 7.9 6c-1.73 3.71-4.73 6-7.9 6m0-10a4 4 0 1 0 4 4a4 4 0 0 0-4-4m0 6a2 2 0 1 1 2-2a2 2 0 0 1-2 2"})}),Ch=s=>{const{t:n}=I("ticket");return[{accessorKey:"id",header:({column:a})=>e.jsx(O,{column:a,title:n("columns.id")}),cell:({row:a})=>e.jsx(K,{variant:"outline",children:a.getValue("id")}),enableSorting:!1,enableHiding:!1},{accessorKey:"subject",header:({column:a})=>e.jsx(O,{column:a,title:n("columns.subject")}),cell:({row:a})=>e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(_h,{className:"h-4 w-4 text-muted-foreground"}),e.jsx("span",{className:"max-w-[500px] truncate font-medium",children:a.getValue("subject")})]}),enableSorting:!1,enableHiding:!1,size:4e3},{accessorKey:"level",header:({column:a})=>e.jsx(O,{column:a,title:n("columns.level")}),cell:({row:a})=>{const l=a.getValue("level"),r=l===ts.LOW?"default":l===ts.MIDDLE?"secondary":"destructive";return e.jsx(K,{variant:r,className:"whitespace-nowrap",children:n(`level.${l===ts.LOW?"low":l===ts.MIDDLE?"medium":"high"}`)})},filterFn:(a,l,r)=>r.includes(a.getValue(l))},{accessorKey:"status",header:({column:a})=>e.jsx(O,{column:a,title:n("columns.status")}),cell:({row:a})=>{const l=a.getValue("status"),r=a.original.reply_status,c=l===at.CLOSED?n("status.closed"):n(r===0?"status.replied":"status.pending"),i=l===at.CLOSED?"default":r===0?"secondary":"destructive";return e.jsx(K,{variant:i,className:"whitespace-nowrap",children:c})}},{accessorKey:"updated_at",header:({column:a})=>e.jsx(O,{column:a,title:n("columns.updated_at")}),cell:({row:a})=>e.jsxs("div",{className:"flex items-center space-x-2 text-muted-foreground",children:[e.jsx(ll,{className:"h-4 w-4"}),e.jsx("span",{className:"text-sm",children:he(a.getValue("updated_at"))})]}),enableSorting:!0},{accessorKey:"created_at",header:({column:a})=>e.jsx(O,{column:a,title:n("columns.created_at")}),cell:({row:a})=>e.jsx("div",{className:"text-sm text-muted-foreground",children:he(a.getValue("created_at"))}),enableSorting:!0,meta:{isFlexGrow:!0}},{id:"actions",header:({column:a})=>e.jsx(O,{className:"justify-end",column:a,title:n("columns.actions")}),cell:({row:a})=>{const l=a.original.status!==at.CLOSED;return e.jsxs("div",{className:"flex items-center justify-center",children:[e.jsx(Nh,{ticketId:a.original.id,dialogTrigger:e.jsx(J,{variant:"ghost",size:"icon",className:"h-8 w-8",title:n("actions.view_details"),children:e.jsx(wh,{className:"h-4 w-4"})})}),l&&e.jsx(Ue,{title:n("actions.close_confirm_title"),description:n("actions.close_confirm_description"),confirmText:n("actions.close_confirm_button"),variant:"destructive",onConfirm:async()=>{Nr(a.original.id).then(()=>{q.success(n("actions.close_success")),s()})},children:e.jsx(J,{variant:"ghost",size:"icon",className:"h-8 w-8",title:n("actions.close_ticket"),children:e.jsx(rl,{className:"h-4 w-4"})})})]})}}]};function Sh(){const[s,n]=m.useState({}),[a,l]=m.useState({}),[r,c]=m.useState([{id:"status",value:"0"}]),[i,u]=m.useState([]),[x,o]=m.useState({pageIndex:0,pageSize:20}),{refetch:d,data:p,isLoading:T}=se({queryKey:["orderList",x,r,i],queryFn:()=>Dd({pageSize:x.pageSize,current:x.pageIndex+1,filter:r,sort:i})}),R=Ke({data:p?.data??[],columns:Ch(d),state:{sorting:i,columnVisibility:a,rowSelection:s,columnFilters:r,pagination:x},rowCount:p?.total??0,manualPagination:!0,manualFiltering:!0,manualSorting:!0,enableRowSelection:!0,onRowSelectionChange:n,onSortingChange:u,onColumnFiltersChange:c,onColumnVisibilityChange:l,getCoreRowModel:He(),getFilteredRowModel:Je(),getPaginationRowModel:Qe(),onPaginationChange:o,getSortedRowModel:Ze(),getFacetedRowModel:us(),getFacetedUniqueValues:xs(),initialState:{columnPinning:{right:["actions"]}}});return e.jsxs("div",{className:"space-y-4",children:[e.jsx(hh,{table:R,refetch:d}),e.jsx(es,{table:R,showPagination:!0})]})}function kh(){const{t:s}=I("ticket");return e.jsxs(we,{children:[e.jsxs(Ce,{children:[e.jsx(Ie,{}),e.jsxs("div",{className:"ml-auto flex items-center space-x-4",children:[e.jsx(Ee,{}),e.jsx(Re,{})]})]}),e.jsxs(Pe,{className:"flex flex-col",fixedHeight:!0,children:[e.jsx("div",{className:"mb-2 flex items-center justify-between space-y-2",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:s("title")}),e.jsx("p",{className:"mt-2 text-muted-foreground",children:s("description")})]})}),e.jsx("div",{className:"-mx-4 flex-1 overflow-auto px-4 py-1 lg:flex-row lg:space-x-12 lg:space-y-0",children:e.jsx(Sh,{})})]})]})}const Ph=Object.freeze(Object.defineProperty({__proto__:null,default:kh},Symbol.toStringTag,{value:"Module"}));export{Vh as a,Eh as c,Rh as g,Ih as r}; diff --git a/public/assets/admin/assets/input-d0vtE30O.js b/public/assets/admin/assets/input-d0vtE30O.js deleted file mode 100644 index 7ea39204e..000000000 --- a/public/assets/admin/assets/input-d0vtE30O.js +++ /dev/null @@ -1 +0,0 @@ -import{r as o,j as i,a as n}from"./index-_xd8OyP8.js";const a=o.forwardRef(({className:e,type:r,...s},t)=>i.jsx("input",{type:r,className:n("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",e),ref:t,...s}));a.displayName="Input";export{a as I}; diff --git a/public/assets/admin/assets/loader-circle-BgRqqHyr.js b/public/assets/admin/assets/loader-circle-BgRqqHyr.js deleted file mode 100644 index 9f07e3df5..000000000 --- a/public/assets/admin/assets/loader-circle-BgRqqHyr.js +++ /dev/null @@ -1,6 +0,0 @@ -import{c as e}from"./user-nav-BBmBVa03.js";/** - * @license lucide-react v0.399.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const r=e("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);export{r as L}; diff --git a/public/assets/admin/assets/multiple-selector-CeO_loUo.js b/public/assets/admin/assets/multiple-selector-CeO_loUo.js deleted file mode 100644 index 14122fb6c..000000000 --- a/public/assets/admin/assets/multiple-selector-CeO_loUo.js +++ /dev/null @@ -1,6 +0,0 @@ -import{r,j as s,a as x}from"./index-_xd8OyP8.js";import{c as ee,L as te,f as E,C as ne,w as se,b as re,e as le}from"./user-nav-BBmBVa03.js";import{B as ue}from"./column-header-BLyyjrhJ.js";/** - * @license lucide-react v0.399.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const G=ee("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);function oe(l,u){const[o,f]=r.useState(l);return r.useEffect(()=>{const a=setTimeout(()=>f(l),u);return()=>{clearTimeout(a)}},[l,u]),o}function I(l,u){if(l.length===0)return{};if(!u)return{"":l};const o={};return l.forEach(f=>{const a=f[u]||"";o[a]||(o[a]=[]),o[a].push(f)}),o}function ae(l,u){const o=JSON.parse(JSON.stringify(l));for(const[f,a]of Object.entries(o))o[f]=a.filter(y=>!u.find(c=>c.value===y.value));return o}function ie(l,u){for(const[,o]of Object.entries(l))if(o.some(f=>u.find(a=>a.value===f.value)))return!0;return!1}const X=r.forwardRef(({className:l,...u},o)=>te(a=>a.filtered.count===0)?s.jsx("div",{ref:o,className:x("py-6 text-center text-sm",l),"cmdk-empty":"",role:"presentation",...u}):null);X.displayName="CommandEmpty";const fe=r.forwardRef(({value:l,onChange:u,placeholder:o,defaultOptions:f=[],options:a,delay:y,onSearch:c,loadingIndicator:U,emptyIndicator:O,maxSelected:R=Number.MAX_SAFE_INTEGER,onMaxSelected:V,hidePlaceholderWhenSelected:S,disabled:h,groupBy:v,className:_,badgeClassName:z,selectFirstItem:H=!0,creatable:b=!1,triggerSearchOnFocus:D=!1,commandProps:d,inputProps:w,hideClearAllButton:$=!1},q)=>{const p=r.useRef(null),[M,T]=r.useState(!1),F=r.useRef(!1),[J,K]=r.useState(!1),[t,j]=r.useState(l||[]),[g,A]=r.useState(I(f,v)),[m,L]=r.useState(""),N=oe(m,y||500);r.useImperativeHandle(q,()=>({selectedValue:[...t],input:p.current,focus:()=>p.current?.focus()}),[t]);const C=r.useCallback(e=>{const n=t.filter(i=>i.value!==e.value);j(n),u?.(n)},[u,t]),B=r.useCallback(e=>{const n=p.current;n&&((e.key==="Delete"||e.key==="Backspace")&&n.value===""&&t.length>0&&(t[t.length-1].fixed||C(t[t.length-1])),e.key==="Escape"&&n.blur())},[C,t]);r.useEffect(()=>{l&&j(l)},[l]),r.useEffect(()=>{if(!a||c)return;const e=I(a||[],v);JSON.stringify(e)!==JSON.stringify(g)&&A(e)},[f,a,v,c,g]),r.useEffect(()=>{const e=async()=>{K(!0);const i=await c?.(N);A(I(i||[],v)),K(!1)};(async()=>{!c||!M||(D&&await e(),N&&await e())})()},[N,v,M,D]);const Q=()=>{if(!b||ie(g,[{value:m,label:m}])||t.find(n=>n.value===m))return;const e=s.jsx(E,{value:m,className:"cursor-pointer",onMouseDown:n=>{n.preventDefault(),n.stopPropagation()},onSelect:n=>{if(t.length>=R){V?.(t.length);return}L("");const i=[...t,{value:n,label:n}];j(i),u?.(i)},children:`Create "${m}"`});if(!c&&m.length>0||c&&N.length>0&&!J)return e},Y=r.useCallback(()=>{if(O)return c&&!b&&Object.keys(g).length===0?s.jsx(E,{value:"-",disabled:!0,children:O}):s.jsx(X,{children:O})},[b,O,c,g]),Z=r.useMemo(()=>ae(g,t),[g,t]),W=r.useCallback(()=>{if(d?.filter)return d.filter;if(b)return(e,n)=>e.toLowerCase().includes(n.toLowerCase())?1:-1},[b,d?.filter]),P=r.useCallback(()=>{const e=t.filter(n=>n.fixed);j(e),u?.(e)},[u,t]);return s.jsxs(ne,{...d,onKeyDown:e=>{B(e),d?.onKeyDown?.(e)},className:x("h-auto overflow-visible bg-transparent",d?.className),shouldFilter:d?.shouldFilter!==void 0?d.shouldFilter:!c,filter:W(),children:[s.jsx("div",{className:x("rounded-md border border-input text-sm ring-offset-background focus-within:ring-1 focus-within:ring-ring ",{"px-3 py-2":t.length!==0,"cursor-text":!h&&t.length!==0},_),onClick:()=>{h||p.current?.focus()},children:s.jsxs("div",{className:"flex flex-wrap gap-1",children:[t.map(e=>s.jsxs(ue,{className:x("data-[disabled]:bg-muted-foreground data-[disabled]:text-muted data-[disabled]:hover:bg-muted-foreground","data-[fixed]:bg-muted-foreground data-[fixed]:text-muted data-[fixed]:hover:bg-muted-foreground",z),"data-fixed":e.fixed,"data-disabled":h||void 0,children:[e.label,s.jsx("button",{className:x("ml-1 rounded-full outline-none ring-offset-background focus:ring-2 focus:ring-ring focus:ring-offset-2",(h||e.fixed)&&"hidden"),onKeyDown:n=>{n.key==="Enter"&&C(e)},onMouseDown:n=>{n.preventDefault(),n.stopPropagation()},onClick:()=>C(e),children:s.jsx(G,{className:"h-3 w-3 text-muted-foreground hover:text-foreground"})})]},e.value)),s.jsx(se.Input,{...w,ref:p,value:m,disabled:h,onValueChange:e=>{L(e),w?.onValueChange?.(e)},onBlur:e=>{F.current===!1&&T(!1),w?.onBlur?.(e)},onFocus:e=>{T(!0),D&&c?.(N),w?.onFocus?.(e)},placeholder:S&&t.length!==0?"":o,className:x("flex-1 bg-transparent outline-none placeholder:text-muted-foreground",{"w-full":S,"px-3 py-2":t.length===0,"ml-1":t.length!==0},w?.className)}),s.jsx("button",{type:"button",onClick:P,className:x(($||h||t.length<1||t.filter(e=>e.fixed).length===t.length)&&"hidden"),children:s.jsx(G,{})})]})}),s.jsx("div",{className:"relative",children:M&&s.jsx(re,{className:"absolute top-1 z-10 w-full rounded-md border bg-popover text-popover-foreground shadow-md outline-none animate-in",onMouseLeave:()=>{F.current=!1},onMouseEnter:()=>{F.current=!0},onMouseUp:()=>{p.current?.focus()},children:J?s.jsx(s.Fragment,{children:U}):s.jsxs(s.Fragment,{children:[Y(),Q(),!H&&s.jsx(E,{value:"-",className:"hidden"}),Object.entries(Z).map(([e,n])=>s.jsx(le,{heading:e,className:"h-full overflow-auto",children:s.jsx(s.Fragment,{children:n.map(i=>s.jsx(E,{value:i.value,disabled:i.disable,onMouseDown:k=>{k.preventDefault(),k.stopPropagation()},onSelect:()=>{if(t.length>=R){V?.(t.length);return}L("");const k=[...t,i];j(k),u?.(k)},className:x("cursor-pointer",i.disable&&"cursor-default text-muted-foreground"),children:i.label},i.value))})},e))]})})})]})});fe.displayName="MultipleSelector";export{fe as M,G as X}; diff --git a/public/assets/admin/assets/order-assign-form-D2gTIMis.js b/public/assets/admin/assets/order-assign-form-D2gTIMis.js deleted file mode 100644 index 198c7a2f0..000000000 --- a/public/assets/admin/assets/order-assign-form-D2gTIMis.js +++ /dev/null @@ -1 +0,0 @@ -import{r as d,j as e,B as h,t as O}from"./index-_xd8OyP8.js";import{D as I,e as V,a as _,b as T,c as L,d as P,f as k}from"./button-DhrtVlOa.js";import{z as n,t as y}from"./zod-x_8lkCGK.js";import{u as E,F as N,a as o,b as l,c as t,d as i,e as w}from"./form-DIzSOdtk.js";import{I as j}from"./input-d0vtE30O.js";import{b as z}from"./react-icons.esm-rZq2pt7A.js";import{V as A,a7 as B}from"./index-BycJudEO.js";import{S as u,a as p,b as g,c as f,d as C}from"./select-Cqkdx-UJ.js";import{e as F}from"./index-ngg4RcvF.js";const M=n.object({email:n.string().min(1),plan_id:n.number(),period:n.string(),total_amount:n.number()}),H={email:"",plan_id:0,total_amount:0,period:""};function Y({refetch:x,trigger:v,defaultValues:b}){const[c,m]=d.useState(!1),a=E({resolver:y(M),defaultValues:{...H,...b},mode:"onChange"}),[S,D]=d.useState([]);return d.useEffect(()=>{c&&A().then(({data:s})=>{D(s)})},[c]),e.jsxs(I,{open:c,onOpenChange:m,children:[e.jsx(V,{asChild:!0,children:v||e.jsxs(h,{variant:"outline",size:"sm",className:"ml-auto hidden h-8 lg:flex",children:[e.jsx(z,{className:"mr-2 h-4 w-4"}),"添加订单"]})}),e.jsxs(_,{className:"sm:max-w-[425px]",children:[e.jsxs(T,{children:[e.jsx(L,{children:"订单分配"}),e.jsx(P,{})]}),e.jsxs(N,{...a,children:[e.jsx(o,{control:a.control,name:"email",render:({field:s})=>e.jsxs(l,{children:[e.jsx(t,{children:"用户邮箱"}),e.jsx(i,{children:e.jsx(j,{placeholder:"请输入用户邮箱",...s})})]})}),e.jsx(o,{control:a.control,name:"plan_id",render:({field:s})=>e.jsxs(l,{children:[e.jsx(t,{children:"订阅计划"}),e.jsx(i,{children:e.jsxs(u,{value:s.value?s.value?.toString():void 0,onValueChange:r=>s.onChange(parseInt(r)),children:[e.jsx(p,{children:e.jsx(g,{placeholder:"请选择订阅计划"})}),e.jsx(f,{children:S.map(r=>e.jsx(C,{value:r.id.toString(),children:r.name},r.id))})]})})]})}),e.jsx(o,{control:a.control,name:"period",render:({field:s})=>e.jsxs(l,{children:[e.jsx(t,{children:"订阅时长"}),e.jsx(i,{children:e.jsxs(u,{value:s.value,onValueChange:s.onChange,children:[e.jsx(p,{children:e.jsx(g,{placeholder:"请选择购买时长"})}),e.jsx(f,{children:Object.keys(F).map(r=>e.jsx(C,{value:r,children:F[r]},r))})]})})]})}),e.jsx(o,{control:a.control,name:"total_amount",render:({field:s})=>e.jsxs(l,{children:[e.jsx(t,{children:"支付金额"}),e.jsx(i,{children:e.jsx(j,{type:"number",placeholder:"请输入需要支付的金额",value:s.value/100,onChange:r=>s.onChange(parseFloat(r.currentTarget.value)*100)})}),e.jsx(w,{})]})}),e.jsxs(k,{children:[e.jsx(h,{variant:"outline",onClick:()=>m(!1),children:"取消"}),e.jsx(h,{type:"submit",onClick:()=>{a.handleSubmit(s=>{B(s).then(({data:r})=>{r&&(x&&x(),a.reset(),m(!1),O.success("添加成功"))})})()},children:"确定"})]})]})]})]})}export{Y as O}; diff --git a/public/assets/admin/assets/popover-C5eiPdqD.js b/public/assets/admin/assets/popover-C5eiPdqD.js deleted file mode 100644 index e9da9ce91..000000000 --- a/public/assets/admin/assets/popover-C5eiPdqD.js +++ /dev/null @@ -1 +0,0 @@ -import{r as c,j as s,v as A,z as $,a as z}from"./index-_xd8OyP8.js";import{c as L,a as P,u as G}from"./index-BwSRHYe4.js";import{P as O,h as H,R as K,a as U,F as V,D as W,b as Z,u as q}from"./index-CcyXqhZ9.js";import{j as _,A as w,C as B,k as J,l as Q}from"./sidelinks-DLs_k-Mk.js";import{P as b}from"./index-CX6PQ3zO.js";var x="Popover",[j,ge]=L(x,[_]),g=_(),[X,u]=j(x),E=e=>{const{__scopePopover:n,children:t,open:a,defaultOpen:o,onOpenChange:r,modal:i=!1}=e,p=g(n),f=c.useRef(null),[v,h]=c.useState(!1),[m=!1,l]=G({prop:a,defaultProp:o,onChange:r});return s.jsx(Q,{...p,children:s.jsx(X,{scope:n,contentId:q(),triggerRef:f,open:m,onOpenChange:l,onOpenToggle:c.useCallback(()=>l(C=>!C),[l]),hasCustomAnchor:v,onCustomAnchorAdd:c.useCallback(()=>h(!0),[]),onCustomAnchorRemove:c.useCallback(()=>h(!1),[]),modal:i,children:t})})};E.displayName=x;var N="PopoverAnchor",Y=c.forwardRef((e,n)=>{const{__scopePopover:t,...a}=e,o=u(N,t),r=g(t),{onCustomAnchorAdd:i,onCustomAnchorRemove:p}=o;return c.useEffect(()=>(i(),()=>p()),[i,p]),s.jsx(w,{...r,...a,ref:n})});Y.displayName=N;var F="PopoverTrigger",y=c.forwardRef((e,n)=>{const{__scopePopover:t,...a}=e,o=u(F,t),r=g(t),i=A(n,o.triggerRef),p=s.jsx(b.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":T(o.open),...a,ref:i,onClick:P(e.onClick,o.onOpenToggle)});return o.hasCustomAnchor?p:s.jsx(w,{asChild:!0,...r,children:p})});y.displayName=F;var R="PopoverPortal",[ee,oe]=j(R,{forceMount:void 0}),S=e=>{const{__scopePopover:n,forceMount:t,children:a,container:o}=e,r=u(R,n);return s.jsx(ee,{scope:n,forceMount:t,children:s.jsx(O,{present:t||r.open,children:s.jsx(Z,{asChild:!0,container:o,children:a})})})};S.displayName=R;var d="PopoverContent",D=c.forwardRef((e,n)=>{const t=oe(d,e.__scopePopover),{forceMount:a=t.forceMount,...o}=e,r=u(d,e.__scopePopover);return s.jsx(O,{present:a||r.open,children:r.modal?s.jsx(te,{...o,ref:n}):s.jsx(re,{...o,ref:n})})});D.displayName=d;var te=c.forwardRef((e,n)=>{const t=u(d,e.__scopePopover),a=c.useRef(null),o=A(n,a),r=c.useRef(!1);return c.useEffect(()=>{const i=a.current;if(i)return H(i)},[]),s.jsx(K,{as:$,allowPinchZoom:!0,children:s.jsx(M,{...e,ref:o,trapFocus:t.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:P(e.onCloseAutoFocus,i=>{i.preventDefault(),r.current||t.triggerRef.current?.focus()}),onPointerDownOutside:P(e.onPointerDownOutside,i=>{const p=i.detail.originalEvent,f=p.button===0&&p.ctrlKey===!0,v=p.button===2||f;r.current=v},{checkForDefaultPrevented:!1}),onFocusOutside:P(e.onFocusOutside,i=>i.preventDefault(),{checkForDefaultPrevented:!1})})})}),re=c.forwardRef((e,n)=>{const t=u(d,e.__scopePopover),a=c.useRef(!1),o=c.useRef(!1);return s.jsx(M,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:r=>{e.onCloseAutoFocus?.(r),r.defaultPrevented||(a.current||t.triggerRef.current?.focus(),r.preventDefault()),a.current=!1,o.current=!1},onInteractOutside:r=>{e.onInteractOutside?.(r),r.defaultPrevented||(a.current=!0,r.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const i=r.target;t.triggerRef.current?.contains(i)&&r.preventDefault(),r.detail.originalEvent.type==="focusin"&&o.current&&r.preventDefault()}})}),M=c.forwardRef((e,n)=>{const{__scopePopover:t,trapFocus:a,onOpenAutoFocus:o,onCloseAutoFocus:r,disableOutsidePointerEvents:i,onEscapeKeyDown:p,onPointerDownOutside:f,onFocusOutside:v,onInteractOutside:h,...m}=e,l=u(d,t),C=g(t);return U(),s.jsx(V,{asChild:!0,loop:!0,trapped:a,onMountAutoFocus:o,onUnmountAutoFocus:r,children:s.jsx(W,{asChild:!0,disableOutsidePointerEvents:i,onInteractOutside:h,onEscapeKeyDown:p,onPointerDownOutside:f,onFocusOutside:v,onDismiss:()=>l.onOpenChange(!1),children:s.jsx(B,{"data-state":T(l.open),role:"dialog",id:l.contentId,...C,...m,ref:n,style:{...m.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),k="PopoverClose",ne=c.forwardRef((e,n)=>{const{__scopePopover:t,...a}=e,o=u(k,t);return s.jsx(b.button,{type:"button",...a,ref:n,onClick:P(e.onClick,()=>o.onOpenChange(!1))})});ne.displayName=k;var ae="PopoverArrow",se=c.forwardRef((e,n)=>{const{__scopePopover:t,...a}=e,o=g(t);return s.jsx(J,{...o,...a,ref:n})});se.displayName=ae;function T(e){return e?"open":"closed"}var ce=E,ie=y,pe=S,I=D;const he=ce,me=ie,ue=c.forwardRef(({className:e,align:n="center",sideOffset:t=4,...a},o)=>s.jsx(pe,{children:s.jsx(I,{ref:o,align:n,sideOffset:t,className:z("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...a})}));ue.displayName=I.displayName;export{he as P,me as a,ue as b,ne as c}; diff --git a/public/assets/admin/assets/question-circle-qmgAd7XP.js b/public/assets/admin/assets/question-circle-qmgAd7XP.js deleted file mode 100644 index f790d51eb..000000000 --- a/public/assets/admin/assets/question-circle-qmgAd7XP.js +++ /dev/null @@ -1 +0,0 @@ -import{j as a}from"./index-_xd8OyP8.js";const s=e=>a.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...e,children:a.jsx("path",{fill:"currentColor",d:"M11.29 15.29a2 2 0 0 0-.12.15a.8.8 0 0 0-.09.18a.6.6 0 0 0-.06.18a1.4 1.4 0 0 0 0 .2a.84.84 0 0 0 .08.38a.9.9 0 0 0 .54.54a.94.94 0 0 0 .76 0a.9.9 0 0 0 .54-.54A1 1 0 0 0 13 16a1 1 0 0 0-.29-.71a1 1 0 0 0-1.42 0M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2m0 18a8 8 0 1 1 8-8a8 8 0 0 1-8 8m0-13a3 3 0 0 0-2.6 1.5a1 1 0 1 0 1.73 1A1 1 0 0 1 12 9a1 1 0 0 1 0 2a1 1 0 0 0-1 1v1a1 1 0 0 0 2 0v-.18A3 3 0 0 0 12 7"})});export{s as u}; diff --git a/public/assets/admin/assets/react-icons.esm-rZq2pt7A.js b/public/assets/admin/assets/react-icons.esm-rZq2pt7A.js deleted file mode 100644 index 465003e03..000000000 --- a/public/assets/admin/assets/react-icons.esm-rZq2pt7A.js +++ /dev/null @@ -1 +0,0 @@ -import{r}from"./index-_xd8OyP8.js";function n(e,t){if(e==null)return{};var o={},C=Object.keys(e),l,c;for(c=0;c=0)&&(o[l]=e[l]);return o}var i=["color"],b=r.forwardRef(function(e,t){var o=e.color,C=o===void 0?"currentColor":o,l=n(e,i);return r.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},l,{ref:t}),r.createElement("path",{d:"M11.4669 3.72684C11.7558 3.91574 11.8369 4.30308 11.648 4.59198L7.39799 11.092C7.29783 11.2452 7.13556 11.3467 6.95402 11.3699C6.77247 11.3931 6.58989 11.3355 6.45446 11.2124L3.70446 8.71241C3.44905 8.48022 3.43023 8.08494 3.66242 7.82953C3.89461 7.57412 4.28989 7.55529 4.5453 7.78749L6.75292 9.79441L10.6018 3.90792C10.7907 3.61902 11.178 3.53795 11.4669 3.72684Z",fill:C,fillRule:"evenodd",clipRule:"evenodd"}))}),d=["color"],j=r.forwardRef(function(e,t){var o=e.color,C=o===void 0?"currentColor":o,l=n(e,d);return r.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},l,{ref:t}),r.createElement("path",{d:"M7.49991 0.877045C3.84222 0.877045 0.877075 3.84219 0.877075 7.49988C0.877075 11.1575 3.84222 14.1227 7.49991 14.1227C11.1576 14.1227 14.1227 11.1575 14.1227 7.49988C14.1227 3.84219 11.1576 0.877045 7.49991 0.877045ZM1.82708 7.49988C1.82708 4.36686 4.36689 1.82704 7.49991 1.82704C10.6329 1.82704 13.1727 4.36686 13.1727 7.49988C13.1727 10.6329 10.6329 13.1727 7.49991 13.1727C4.36689 13.1727 1.82708 10.6329 1.82708 7.49988ZM10.1589 5.53774C10.3178 5.31191 10.2636 5.00001 10.0378 4.84109C9.81194 4.68217 9.50004 4.73642 9.34112 4.96225L6.51977 8.97154L5.35681 7.78706C5.16334 7.59002 4.84677 7.58711 4.64973 7.78058C4.45268 7.97404 4.44978 8.29061 4.64325 8.48765L6.22658 10.1003C6.33054 10.2062 6.47617 10.2604 6.62407 10.2483C6.77197 10.2363 6.90686 10.1591 6.99226 10.0377L10.1589 5.53774Z",fill:C,fillRule:"evenodd",clipRule:"evenodd"}))}),a=["color"],O=r.forwardRef(function(e,t){var o=e.color,C=o===void 0?"currentColor":o,l=n(e,a);return r.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},l,{ref:t}),r.createElement("path",{d:"M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z",fill:C,fillRule:"evenodd",clipRule:"evenodd"}))}),v=["color"],_=r.forwardRef(function(e,t){var o=e.color,C=o===void 0?"currentColor":o,l=n(e,v);return r.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},l,{ref:t}),r.createElement("path",{d:"M8.84182 3.13514C9.04327 3.32401 9.05348 3.64042 8.86462 3.84188L5.43521 7.49991L8.86462 11.1579C9.05348 11.3594 9.04327 11.6758 8.84182 11.8647C8.64036 12.0535 8.32394 12.0433 8.13508 11.8419L4.38508 7.84188C4.20477 7.64955 4.20477 7.35027 4.38508 7.15794L8.13508 3.15794C8.32394 2.95648 8.64036 2.94628 8.84182 3.13514Z",fill:C,fillRule:"evenodd",clipRule:"evenodd"}))}),s=["color"],I=r.forwardRef(function(e,t){var o=e.color,C=o===void 0?"currentColor":o,l=n(e,s);return r.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},l,{ref:t}),r.createElement("path",{d:"M6.1584 3.13508C6.35985 2.94621 6.67627 2.95642 6.86514 3.15788L10.6151 7.15788C10.7954 7.3502 10.7954 7.64949 10.6151 7.84182L6.86514 11.8418C6.67627 12.0433 6.35985 12.0535 6.1584 11.8646C5.95694 11.6757 5.94673 11.3593 6.1356 11.1579L9.565 7.49985L6.1356 3.84182C5.94673 3.64036 5.95694 3.32394 6.1584 3.13508Z",fill:C,fillRule:"evenodd",clipRule:"evenodd"}))}),f=["color"],B=r.forwardRef(function(e,t){var o=e.color,C=o===void 0?"currentColor":o,l=n(e,f);return r.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},l,{ref:t}),r.createElement("path",{d:"M3.13523 8.84197C3.3241 9.04343 3.64052 9.05363 3.84197 8.86477L7.5 5.43536L11.158 8.86477C11.3595 9.05363 11.6759 9.04343 11.8648 8.84197C12.0536 8.64051 12.0434 8.32409 11.842 8.13523L7.84197 4.38523C7.64964 4.20492 7.35036 4.20492 7.15803 4.38523L3.15803 8.13523C2.95657 8.32409 2.94637 8.64051 3.13523 8.84197Z",fill:C,fillRule:"evenodd",clipRule:"evenodd"}))}),w=["color"],V=r.forwardRef(function(e,t){var o=e.color,C=o===void 0?"currentColor":o,l=n(e,w);return r.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},l,{ref:t}),r.createElement("path",{d:"M0.877075 7.49991C0.877075 3.84222 3.84222 0.877075 7.49991 0.877075C11.1576 0.877075 14.1227 3.84222 14.1227 7.49991C14.1227 11.1576 11.1576 14.1227 7.49991 14.1227C3.84222 14.1227 0.877075 11.1576 0.877075 7.49991ZM7.49991 1.82708C4.36689 1.82708 1.82708 4.36689 1.82708 7.49991C1.82708 10.6329 4.36689 13.1727 7.49991 13.1727C10.6329 13.1727 13.1727 10.6329 13.1727 7.49991C13.1727 4.36689 10.6329 1.82708 7.49991 1.82708Z",fill:C,fillRule:"evenodd",clipRule:"evenodd"}))}),u=["color"],H=r.forwardRef(function(e,t){var o=e.color,C=o===void 0?"currentColor":o,l=n(e,u);return r.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},l,{ref:t}),r.createElement("path",{d:"M11.7816 4.03157C12.0062 3.80702 12.0062 3.44295 11.7816 3.2184C11.5571 2.99385 11.193 2.99385 10.9685 3.2184L7.50005 6.68682L4.03164 3.2184C3.80708 2.99385 3.44301 2.99385 3.21846 3.2184C2.99391 3.44295 2.99391 3.80702 3.21846 4.03157L6.68688 7.49999L3.21846 10.9684C2.99391 11.193 2.99391 11.557 3.21846 11.7816C3.44301 12.0061 3.80708 12.0061 4.03164 11.7816L7.50005 8.31316L10.9685 11.7816C11.193 12.0061 11.5571 12.0061 11.7816 11.7816C12.0062 11.557 12.0062 11.193 11.7816 10.9684L8.31322 7.49999L11.7816 4.03157Z",fill:C,fillRule:"evenodd",clipRule:"evenodd"}))}),h=["color"],D=r.forwardRef(function(e,t){var o=e.color,C=o===void 0?"currentColor":o,l=n(e,h);return r.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},l,{ref:t}),r.createElement("path",{d:"M0.877075 7.49988C0.877075 3.84219 3.84222 0.877045 7.49991 0.877045C11.1576 0.877045 14.1227 3.84219 14.1227 7.49988C14.1227 11.1575 11.1576 14.1227 7.49991 14.1227C3.84222 14.1227 0.877075 11.1575 0.877075 7.49988ZM7.49991 1.82704C4.36689 1.82704 1.82708 4.36686 1.82708 7.49988C1.82708 10.6329 4.36689 13.1727 7.49991 13.1727C10.6329 13.1727 13.1727 10.6329 13.1727 7.49988C13.1727 4.36686 10.6329 1.82704 7.49991 1.82704ZM9.85358 5.14644C10.0488 5.3417 10.0488 5.65829 9.85358 5.85355L8.20713 7.49999L9.85358 9.14644C10.0488 9.3417 10.0488 9.65829 9.85358 9.85355C9.65832 10.0488 9.34173 10.0488 9.14647 9.85355L7.50002 8.2071L5.85358 9.85355C5.65832 10.0488 5.34173 10.0488 5.14647 9.85355C4.95121 9.65829 4.95121 9.3417 5.14647 9.14644L6.79292 7.49999L5.14647 5.85355C4.95121 5.65829 4.95121 5.3417 5.14647 5.14644C5.34173 4.95118 5.65832 4.95118 5.85358 5.14644L7.50002 6.79289L9.14647 5.14644C9.34173 4.95118 9.65832 4.95118 9.85358 5.14644Z",fill:C,fillRule:"evenodd",clipRule:"evenodd"}))}),g=["color"],k=r.forwardRef(function(e,t){var o=e.color,C=o===void 0?"currentColor":o,l=n(e,g);return r.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},l,{ref:t}),r.createElement("path",{d:"M9.875 7.5C9.875 8.81168 8.81168 9.875 7.5 9.875C6.18832 9.875 5.125 8.81168 5.125 7.5C5.125 6.18832 6.18832 5.125 7.5 5.125C8.81168 5.125 9.875 6.18832 9.875 7.5Z",fill:C}))}),p=["color"],y=r.forwardRef(function(e,t){var o=e.color,C=o===void 0?"currentColor":o,l=n(e,p);return r.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},l,{ref:t}),r.createElement("path",{d:"M6.85355 3.85355C7.04882 3.65829 7.04882 3.34171 6.85355 3.14645C6.65829 2.95118 6.34171 2.95118 6.14645 3.14645L2.14645 7.14645C1.95118 7.34171 1.95118 7.65829 2.14645 7.85355L6.14645 11.8536C6.34171 12.0488 6.65829 12.0488 6.85355 11.8536C7.04882 11.6583 7.04882 11.3417 6.85355 11.1464L3.20711 7.5L6.85355 3.85355ZM12.8536 3.85355C13.0488 3.65829 13.0488 3.34171 12.8536 3.14645C12.6583 2.95118 12.3417 2.95118 12.1464 3.14645L8.14645 7.14645C7.95118 7.34171 7.95118 7.65829 8.14645 7.85355L12.1464 11.8536C12.3417 12.0488 12.6583 12.0488 12.8536 11.8536C13.0488 11.6583 13.0488 11.3417 12.8536 11.1464L9.20711 7.5L12.8536 3.85355Z",fill:C,fillRule:"evenodd",clipRule:"evenodd"}))}),L=["color"],P=r.forwardRef(function(e,t){var o=e.color,C=o===void 0?"currentColor":o,l=n(e,L);return r.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},l,{ref:t}),r.createElement("path",{d:"M2.14645 11.1464C1.95118 11.3417 1.95118 11.6583 2.14645 11.8536C2.34171 12.0488 2.65829 12.0488 2.85355 11.8536L6.85355 7.85355C7.04882 7.65829 7.04882 7.34171 6.85355 7.14645L2.85355 3.14645C2.65829 2.95118 2.34171 2.95118 2.14645 3.14645C1.95118 3.34171 1.95118 3.65829 2.14645 3.85355L5.79289 7.5L2.14645 11.1464ZM8.14645 11.1464C7.95118 11.3417 7.95118 11.6583 8.14645 11.8536C8.34171 12.0488 8.65829 12.0488 8.85355 11.8536L12.8536 7.85355C13.0488 7.65829 13.0488 7.34171 12.8536 7.14645L8.85355 3.14645C8.65829 2.95118 8.34171 2.95118 8.14645 3.14645C7.95118 3.34171 7.95118 3.65829 8.14645 3.85355L11.7929 7.5L8.14645 11.1464Z",fill:C,fillRule:"evenodd",clipRule:"evenodd"}))}),x=["color"],A=r.forwardRef(function(e,t){var o=e.color,C=o===void 0?"currentColor":o,l=n(e,x);return r.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},l,{ref:t}),r.createElement("path",{d:"M5.5 4.625C6.12132 4.625 6.625 4.12132 6.625 3.5C6.625 2.87868 6.12132 2.375 5.5 2.375C4.87868 2.375 4.375 2.87868 4.375 3.5C4.375 4.12132 4.87868 4.625 5.5 4.625ZM9.5 4.625C10.1213 4.625 10.625 4.12132 10.625 3.5C10.625 2.87868 10.1213 2.375 9.5 2.375C8.87868 2.375 8.375 2.87868 8.375 3.5C8.375 4.12132 8.87868 4.625 9.5 4.625ZM10.625 7.5C10.625 8.12132 10.1213 8.625 9.5 8.625C8.87868 8.625 8.375 8.12132 8.375 7.5C8.375 6.87868 8.87868 6.375 9.5 6.375C10.1213 6.375 10.625 6.87868 10.625 7.5ZM5.5 8.625C6.12132 8.625 6.625 8.12132 6.625 7.5C6.625 6.87868 6.12132 6.375 5.5 6.375C4.87868 6.375 4.375 6.87868 4.375 7.5C4.375 8.12132 4.87868 8.625 5.5 8.625ZM10.625 11.5C10.625 12.1213 10.1213 12.625 9.5 12.625C8.87868 12.625 8.375 12.1213 8.375 11.5C8.375 10.8787 8.87868 10.375 9.5 10.375C10.1213 10.375 10.625 10.8787 10.625 11.5ZM5.5 12.625C6.12132 12.625 6.625 12.1213 6.625 11.5C6.625 10.8787 6.12132 10.375 5.5 10.375C4.87868 10.375 4.375 10.8787 4.375 11.5C4.375 12.1213 4.87868 12.625 5.5 12.625Z",fill:C,fillRule:"evenodd",clipRule:"evenodd"}))}),m=["color"],Q=r.forwardRef(function(e,t){var o=e.color,C=o===void 0?"currentColor":o,l=n(e,m);return r.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},l,{ref:t}),r.createElement("path",{d:"M10 6.5C10 8.433 8.433 10 6.5 10C4.567 10 3 8.433 3 6.5C3 4.567 4.567 3 6.5 3C8.433 3 10 4.567 10 6.5ZM9.30884 10.0159C8.53901 10.6318 7.56251 11 6.5 11C4.01472 11 2 8.98528 2 6.5C2 4.01472 4.01472 2 6.5 2C8.98528 2 11 4.01472 11 6.5C11 7.56251 10.6318 8.53901 10.0159 9.30884L12.8536 12.1464C13.0488 12.3417 13.0488 12.6583 12.8536 12.8536C12.6583 13.0488 12.3417 13.0488 12.1464 12.8536L9.30884 10.0159Z",fill:C,fillRule:"evenodd",clipRule:"evenodd"}))}),R=["color"],S=r.forwardRef(function(e,t){var o=e.color,C=o===void 0?"currentColor":o,l=n(e,R);return r.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},l,{ref:t}),r.createElement("path",{d:"M12.1464 1.14645C12.3417 0.951184 12.6583 0.951184 12.8535 1.14645L14.8535 3.14645C15.0488 3.34171 15.0488 3.65829 14.8535 3.85355L10.9109 7.79618C10.8349 7.87218 10.7471 7.93543 10.651 7.9835L6.72359 9.94721C6.53109 10.0435 6.29861 10.0057 6.14643 9.85355C5.99425 9.70137 5.95652 9.46889 6.05277 9.27639L8.01648 5.34897C8.06455 5.25283 8.1278 5.16507 8.2038 5.08907L12.1464 1.14645ZM12.5 2.20711L8.91091 5.79618L7.87266 7.87267L8.12731 8.12732L10.2038 7.08907L13.7929 3.5L12.5 2.20711ZM9.99998 2L8.99998 3H4.9C4.47171 3 4.18056 3.00039 3.95552 3.01877C3.73631 3.03668 3.62421 3.06915 3.54601 3.10899C3.35785 3.20487 3.20487 3.35785 3.10899 3.54601C3.06915 3.62421 3.03669 3.73631 3.01878 3.95552C3.00039 4.18056 3 4.47171 3 4.9V11.1C3 11.5283 3.00039 11.8194 3.01878 12.0445C3.03669 12.2637 3.06915 12.3758 3.10899 12.454C3.20487 12.6422 3.35785 12.7951 3.54601 12.891C3.62421 12.9309 3.73631 12.9633 3.95552 12.9812C4.18056 12.9996 4.47171 13 4.9 13H11.1C11.5283 13 11.8194 12.9996 12.0445 12.9812C12.2637 12.9633 12.3758 12.9309 12.454 12.891C12.6422 12.7951 12.7951 12.6422 12.891 12.454C12.9309 12.3758 12.9633 12.2637 12.9812 12.0445C12.9996 11.8194 13 11.5283 13 11.1V6.99998L14 5.99998V11.1V11.1207C14 11.5231 14 11.8553 13.9779 12.1259C13.9549 12.407 13.9057 12.6653 13.782 12.908C13.5903 13.2843 13.2843 13.5903 12.908 13.782C12.6653 13.9057 12.407 13.9549 12.1259 13.9779C11.8553 14 11.5231 14 11.1207 14H11.1H4.9H4.87934C4.47686 14 4.14468 14 3.87409 13.9779C3.59304 13.9549 3.33469 13.9057 3.09202 13.782C2.7157 13.5903 2.40973 13.2843 2.21799 12.908C2.09434 12.6653 2.04506 12.407 2.0221 12.1259C1.99999 11.8553 1.99999 11.5231 2 11.1207V11.1206V11.1V4.9V4.87935V4.87932V4.87931C1.99999 4.47685 1.99999 4.14468 2.0221 3.87409C2.04506 3.59304 2.09434 3.33469 2.21799 3.09202C2.40973 2.71569 2.7157 2.40973 3.09202 2.21799C3.33469 2.09434 3.59304 2.04506 3.87409 2.0221C4.14468 1.99999 4.47685 1.99999 4.87932 2H4.87935H4.9H9.99998Z",fill:C,fillRule:"evenodd",clipRule:"evenodd"}))}),M=["color"],U=r.forwardRef(function(e,t){var o=e.color,C=o===void 0?"currentColor":o,l=n(e,M);return r.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},l,{ref:t}),r.createElement("path",{d:"M7.49991 0.876892C3.84222 0.876892 0.877075 3.84204 0.877075 7.49972C0.877075 11.1574 3.84222 14.1226 7.49991 14.1226C11.1576 14.1226 14.1227 11.1574 14.1227 7.49972C14.1227 3.84204 11.1576 0.876892 7.49991 0.876892ZM1.82707 7.49972C1.82707 4.36671 4.36689 1.82689 7.49991 1.82689C10.6329 1.82689 13.1727 4.36671 13.1727 7.49972C13.1727 10.6327 10.6329 13.1726 7.49991 13.1726C4.36689 13.1726 1.82707 10.6327 1.82707 7.49972ZM7.50003 4C7.77617 4 8.00003 4.22386 8.00003 4.5V7H10.5C10.7762 7 11 7.22386 11 7.5C11 7.77614 10.7762 8 10.5 8H8.00003V10.5C8.00003 10.7761 7.77617 11 7.50003 11C7.22389 11 7.00003 10.7761 7.00003 10.5V8H4.50003C4.22389 8 4.00003 7.77614 4.00003 7.5C4.00003 7.22386 4.22389 7 4.50003 7H7.00003V4.5C7.00003 4.22386 7.22389 4 7.50003 4Z",fill:C,fillRule:"evenodd",clipRule:"evenodd"}))}),Z=["color"],W=r.forwardRef(function(e,t){var o=e.color,C=o===void 0?"currentColor":o,l=n(e,Z);return r.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},l,{ref:t}),r.createElement("path",{d:"M0.877075 7.49972C0.877075 3.84204 3.84222 0.876892 7.49991 0.876892C11.1576 0.876892 14.1227 3.84204 14.1227 7.49972C14.1227 11.1574 11.1576 14.1226 7.49991 14.1226C3.84222 14.1226 0.877075 11.1574 0.877075 7.49972ZM7.49991 1.82689C4.36689 1.82689 1.82708 4.36671 1.82708 7.49972C1.82708 10.6327 4.36689 13.1726 7.49991 13.1726C10.6329 13.1726 13.1727 10.6327 13.1727 7.49972C13.1727 4.36671 10.6329 1.82689 7.49991 1.82689ZM8.24993 10.5C8.24993 10.9142 7.91414 11.25 7.49993 11.25C7.08571 11.25 6.74993 10.9142 6.74993 10.5C6.74993 10.0858 7.08571 9.75 7.49993 9.75C7.91414 9.75 8.24993 10.0858 8.24993 10.5ZM6.05003 6.25C6.05003 5.57211 6.63511 4.925 7.50003 4.925C8.36496 4.925 8.95003 5.57211 8.95003 6.25C8.95003 6.74118 8.68002 6.99212 8.21447 7.27494C8.16251 7.30651 8.10258 7.34131 8.03847 7.37854L8.03841 7.37858C7.85521 7.48497 7.63788 7.61119 7.47449 7.73849C7.23214 7.92732 6.95003 8.23198 6.95003 8.7C6.95004 9.00376 7.19628 9.25 7.50004 9.25C7.8024 9.25 8.04778 9.00601 8.05002 8.70417L8.05056 8.7033C8.05924 8.6896 8.08493 8.65735 8.15058 8.6062C8.25207 8.52712 8.36508 8.46163 8.51567 8.37436L8.51571 8.37433C8.59422 8.32883 8.68296 8.27741 8.78559 8.21506C9.32004 7.89038 10.05 7.35382 10.05 6.25C10.05 4.92789 8.93511 3.825 7.50003 3.825C6.06496 3.825 4.95003 4.92789 4.95003 6.25C4.95003 6.55376 5.19628 6.8 5.50003 6.8C5.80379 6.8 6.05003 6.55376 6.05003 6.25Z",fill:C,fillRule:"evenodd",clipRule:"evenodd"}))}),E=["color"],F=r.forwardRef(function(e,t){var o=e.color,C=o===void 0?"currentColor":o,l=n(e,E);return r.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},l,{ref:t}),r.createElement("path",{d:"M5.49998 0.5C5.49998 0.223858 5.72383 0 5.99998 0H7.49998H8.99998C9.27612 0 9.49998 0.223858 9.49998 0.5C9.49998 0.776142 9.27612 1 8.99998 1H7.99998V2.11922C9.09832 2.20409 10.119 2.56622 10.992 3.13572C11.0116 3.10851 11.0336 3.08252 11.058 3.05806L11.858 2.25806C12.1021 2.01398 12.4978 2.01398 12.7419 2.25806C12.986 2.50214 12.986 2.89786 12.7419 3.14194L11.967 3.91682C13.1595 5.07925 13.9 6.70314 13.9 8.49998C13.9 12.0346 11.0346 14.9 7.49998 14.9C3.96535 14.9 1.09998 12.0346 1.09998 8.49998C1.09998 5.13362 3.69904 2.3743 6.99998 2.11922V1H5.99998C5.72383 1 5.49998 0.776142 5.49998 0.5ZM2.09998 8.49998C2.09998 5.51764 4.51764 3.09998 7.49998 3.09998C10.4823 3.09998 12.9 5.51764 12.9 8.49998C12.9 11.4823 10.4823 13.9 7.49998 13.9C4.51764 13.9 2.09998 11.4823 2.09998 8.49998ZM7.99998 4.5C7.99998 4.22386 7.77612 4 7.49998 4C7.22383 4 6.99998 4.22386 6.99998 4.5V9.5C6.99998 9.77614 7.22383 10 7.49998 10C7.77612 10 7.99998 9.77614 7.99998 9.5V4.5Z",fill:C,fillRule:"evenodd",clipRule:"evenodd"}))});export{O as C,A as D,Q as M,S as P,W as Q,F as S,H as a,U as b,b as c,V as d,j as e,D as f,_ as g,I as h,y as i,P as j,B as k,k as l}; diff --git a/public/assets/admin/assets/select-Cqkdx-UJ.js b/public/assets/admin/assets/select-Cqkdx-UJ.js deleted file mode 100644 index bfc0041fd..000000000 --- a/public/assets/admin/assets/select-Cqkdx-UJ.js +++ /dev/null @@ -1 +0,0 @@ -import{r as o,v as L,j as r,M as Pe,z as mt,a as G}from"./index-_xd8OyP8.js";import{c as ht,a as N,b as z,d as vt,u as be}from"./index-BwSRHYe4.js";import{m as gt,j as Re,A as xt,C as St,k as wt,u as yt,l as Ct}from"./sidelinks-DLs_k-Mk.js";import{h as It,a as Tt,R as bt,F as Nt,D as Pt,u as Ie,b as Rt}from"./index-CcyXqhZ9.js";import{P as j}from"./index-CX6PQ3zO.js";import{u as Et}from"./index-CRh0M8qI.js";import{V as _t}from"./index-kwEAqj-e.js";import{C as Ee,k as jt,c as Mt}from"./react-icons.esm-rZq2pt7A.js";function Ne(t,[n,e]){return Math.min(e,Math.max(n,t))}var At=[" ","Enter","ArrowUp","ArrowDown"],Ot=[" ","Enter"],se="Select",[ie,de,Dt]=gt(se),[te,So]=ht(se,[Dt,Re]),ue=Re(),[Lt,Y]=te(se),[kt,Vt]=te(se),_e=t=>{const{__scopeSelect:n,children:e,open:l,defaultOpen:a,onOpenChange:u,value:s,defaultValue:c,onValueChange:i,dir:f,name:g,autoComplete:w,disabled:P,required:T,form:C}=t,d=ue(n),[h,x]=o.useState(null),[m,v]=o.useState(null),[W,M]=o.useState(!1),oe=yt(f),[R=!1,O]=be({prop:l,defaultProp:a,onChange:u}),[U,X]=be({prop:s,defaultProp:c,onChange:i}),k=o.useRef(null),V=h?C||!!h.closest("form"):!0,[K,B]=o.useState(new Set),H=Array.from(K).map(E=>E.props.value).join(";");return r.jsx(Ct,{...d,children:r.jsxs(Lt,{required:T,scope:n,trigger:h,onTriggerChange:x,valueNode:m,onValueNodeChange:v,valueNodeHasChildren:W,onValueNodeHasChildrenChange:M,contentId:Ie(),value:U,onValueChange:X,open:R,onOpenChange:O,dir:oe,triggerPointerDownPosRef:k,disabled:P,children:[r.jsx(ie.Provider,{scope:n,children:r.jsx(kt,{scope:t.__scopeSelect,onNativeOptionAdd:o.useCallback(E=>{B(D=>new Set(D).add(E))},[]),onNativeOptionRemove:o.useCallback(E=>{B(D=>{const F=new Set(D);return F.delete(E),F})},[]),children:e})}),V?r.jsxs(ot,{"aria-hidden":!0,required:T,tabIndex:-1,name:g,autoComplete:w,value:U,onChange:E=>X(E.target.value),disabled:P,form:C,children:[U===void 0?r.jsx("option",{value:""}):null,Array.from(K)]},H):null]})})};_e.displayName=se;var je="SelectTrigger",Me=o.forwardRef((t,n)=>{const{__scopeSelect:e,disabled:l=!1,...a}=t,u=ue(e),s=Y(je,e),c=s.disabled||l,i=L(n,s.onTriggerChange),f=de(e),g=o.useRef("touch"),[w,P,T]=nt(d=>{const h=f().filter(v=>!v.disabled),x=h.find(v=>v.value===s.value),m=rt(h,d,x);m!==void 0&&s.onValueChange(m.value)}),C=d=>{c||(s.onOpenChange(!0),T()),d&&(s.triggerPointerDownPosRef.current={x:Math.round(d.pageX),y:Math.round(d.pageY)})};return r.jsx(xt,{asChild:!0,...u,children:r.jsx(j.button,{type:"button",role:"combobox","aria-controls":s.contentId,"aria-expanded":s.open,"aria-required":s.required,"aria-autocomplete":"none",dir:s.dir,"data-state":s.open?"open":"closed",disabled:c,"data-disabled":c?"":void 0,"data-placeholder":tt(s.value)?"":void 0,...a,ref:i,onClick:N(a.onClick,d=>{d.currentTarget.focus(),g.current!=="mouse"&&C(d)}),onPointerDown:N(a.onPointerDown,d=>{g.current=d.pointerType;const h=d.target;h.hasPointerCapture(d.pointerId)&&h.releasePointerCapture(d.pointerId),d.button===0&&d.ctrlKey===!1&&d.pointerType==="mouse"&&(C(d),d.preventDefault())}),onKeyDown:N(a.onKeyDown,d=>{const h=w.current!=="";!(d.ctrlKey||d.altKey||d.metaKey)&&d.key.length===1&&P(d.key),!(h&&d.key===" ")&&At.includes(d.key)&&(C(),d.preventDefault())})})})});Me.displayName=je;var Ae="SelectValue",Oe=o.forwardRef((t,n)=>{const{__scopeSelect:e,className:l,style:a,children:u,placeholder:s="",...c}=t,i=Y(Ae,e),{onValueNodeHasChildrenChange:f}=i,g=u!==void 0,w=L(n,i.onValueNodeChange);return z(()=>{f(g)},[f,g]),r.jsx(j.span,{...c,ref:w,style:{pointerEvents:"none"},children:tt(i.value)?r.jsx(r.Fragment,{children:s}):u})});Oe.displayName=Ae;var Bt="SelectIcon",De=o.forwardRef((t,n)=>{const{__scopeSelect:e,children:l,...a}=t;return r.jsx(j.span,{"aria-hidden":!0,...a,ref:n,children:l||"▼"})});De.displayName=Bt;var Ht="SelectPortal",Le=t=>r.jsx(Rt,{asChild:!0,...t});Le.displayName=Ht;var Q="SelectContent",ke=o.forwardRef((t,n)=>{const e=Y(Q,t.__scopeSelect),[l,a]=o.useState();if(z(()=>{a(new DocumentFragment)},[]),!e.open){const u=l;return u?Pe.createPortal(r.jsx(Ve,{scope:t.__scopeSelect,children:r.jsx(ie.Slot,{scope:t.__scopeSelect,children:r.jsx("div",{children:t.children})})}),u):null}return r.jsx(Be,{...t,ref:n})});ke.displayName=Q;var A=10,[Ve,q]=te(Q),Ft="SelectContentImpl",Be=o.forwardRef((t,n)=>{const{__scopeSelect:e,position:l="item-aligned",onCloseAutoFocus:a,onEscapeKeyDown:u,onPointerDownOutside:s,side:c,sideOffset:i,align:f,alignOffset:g,arrowPadding:w,collisionBoundary:P,collisionPadding:T,sticky:C,hideWhenDetached:d,avoidCollisions:h,...x}=t,m=Y(Q,e),[v,W]=o.useState(null),[M,oe]=o.useState(null),R=L(n,p=>W(p)),[O,U]=o.useState(null),[X,k]=o.useState(null),V=de(e),[K,B]=o.useState(!1),H=o.useRef(!1);o.useEffect(()=>{if(v)return It(v)},[v]),Tt();const E=o.useCallback(p=>{const[I,..._]=V().map(b=>b.ref.current),[S]=_.slice(-1),y=document.activeElement;for(const b of p)if(b===y||(b?.scrollIntoView({block:"nearest"}),b===I&&M&&(M.scrollTop=0),b===S&&M&&(M.scrollTop=M.scrollHeight),b?.focus(),document.activeElement!==y))return},[V,M]),D=o.useCallback(()=>E([O,v]),[E,O,v]);o.useEffect(()=>{K&&D()},[K,D]);const{onOpenChange:F,triggerPointerDownPosRef:$}=m;o.useEffect(()=>{if(v){let p={x:0,y:0};const I=S=>{p={x:Math.abs(Math.round(S.pageX)-($.current?.x??0)),y:Math.abs(Math.round(S.pageY)-($.current?.y??0))}},_=S=>{p.x<=10&&p.y<=10?S.preventDefault():v.contains(S.target)||F(!1),document.removeEventListener("pointermove",I),$.current=null};return $.current!==null&&(document.addEventListener("pointermove",I),document.addEventListener("pointerup",_,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",I),document.removeEventListener("pointerup",_,{capture:!0})}}},[v,F,$]),o.useEffect(()=>{const p=()=>F(!1);return window.addEventListener("blur",p),window.addEventListener("resize",p),()=>{window.removeEventListener("blur",p),window.removeEventListener("resize",p)}},[F]);const[pe,ae]=nt(p=>{const I=V().filter(y=>!y.disabled),_=I.find(y=>y.ref.current===document.activeElement),S=rt(I,p,_);S&&setTimeout(()=>S.ref.current.focus())}),fe=o.useCallback((p,I,_)=>{const S=!H.current&&!_;(m.value!==void 0&&m.value===I||S)&&(U(p),S&&(H.current=!0))},[m.value]),me=o.useCallback(()=>v?.focus(),[v]),ee=o.useCallback((p,I,_)=>{const S=!H.current&&!_;(m.value!==void 0&&m.value===I||S)&&k(p)},[m.value]),le=l==="popper"?xe:He,ne=le===xe?{side:c,sideOffset:i,align:f,alignOffset:g,arrowPadding:w,collisionBoundary:P,collisionPadding:T,sticky:C,hideWhenDetached:d,avoidCollisions:h}:{};return r.jsx(Ve,{scope:e,content:v,viewport:M,onViewportChange:oe,itemRefCallback:fe,selectedItem:O,onItemLeave:me,itemTextRefCallback:ee,focusSelectedItem:D,selectedItemText:X,position:l,isPositioned:K,searchRef:pe,children:r.jsx(bt,{as:mt,allowPinchZoom:!0,children:r.jsx(Nt,{asChild:!0,trapped:m.open,onMountAutoFocus:p=>{p.preventDefault()},onUnmountAutoFocus:N(a,p=>{m.trigger?.focus({preventScroll:!0}),p.preventDefault()}),children:r.jsx(Pt,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:u,onPointerDownOutside:s,onFocusOutside:p=>p.preventDefault(),onDismiss:()=>m.onOpenChange(!1),children:r.jsx(le,{role:"listbox",id:m.contentId,"data-state":m.open?"open":"closed",dir:m.dir,onContextMenu:p=>p.preventDefault(),...x,...ne,onPlaced:()=>B(!0),ref:R,style:{display:"flex",flexDirection:"column",outline:"none",...x.style},onKeyDown:N(x.onKeyDown,p=>{const I=p.ctrlKey||p.altKey||p.metaKey;if(p.key==="Tab"&&p.preventDefault(),!I&&p.key.length===1&&ae(p.key),["ArrowUp","ArrowDown","Home","End"].includes(p.key)){let S=V().filter(y=>!y.disabled).map(y=>y.ref.current);if(["ArrowUp","End"].includes(p.key)&&(S=S.slice().reverse()),["ArrowUp","ArrowDown"].includes(p.key)){const y=p.target,b=S.indexOf(y);S=S.slice(b+1)}setTimeout(()=>E(S)),p.preventDefault()}})})})})})})});Be.displayName=Ft;var Wt="SelectItemAlignedPosition",He=o.forwardRef((t,n)=>{const{__scopeSelect:e,onPlaced:l,...a}=t,u=Y(Q,e),s=q(Q,e),[c,i]=o.useState(null),[f,g]=o.useState(null),w=L(n,R=>g(R)),P=de(e),T=o.useRef(!1),C=o.useRef(!0),{viewport:d,selectedItem:h,selectedItemText:x,focusSelectedItem:m}=s,v=o.useCallback(()=>{if(u.trigger&&u.valueNode&&c&&f&&d&&h&&x){const R=u.trigger.getBoundingClientRect(),O=f.getBoundingClientRect(),U=u.valueNode.getBoundingClientRect(),X=x.getBoundingClientRect();if(u.dir!=="rtl"){const y=X.left-O.left,b=U.left-y,Z=R.left-b,J=R.width+Z,he=Math.max(J,O.width),ve=window.innerWidth-A,ge=Ne(b,[A,Math.max(A,ve-he)]);c.style.minWidth=J+"px",c.style.left=ge+"px"}else{const y=O.right-X.right,b=window.innerWidth-U.right-y,Z=window.innerWidth-R.right-b,J=R.width+Z,he=Math.max(J,O.width),ve=window.innerWidth-A,ge=Ne(b,[A,Math.max(A,ve-he)]);c.style.minWidth=J+"px",c.style.right=ge+"px"}const k=P(),V=window.innerHeight-A*2,K=d.scrollHeight,B=window.getComputedStyle(f),H=parseInt(B.borderTopWidth,10),E=parseInt(B.paddingTop,10),D=parseInt(B.borderBottomWidth,10),F=parseInt(B.paddingBottom,10),$=H+E+K+F+D,pe=Math.min(h.offsetHeight*5,$),ae=window.getComputedStyle(d),fe=parseInt(ae.paddingTop,10),me=parseInt(ae.paddingBottom,10),ee=R.top+R.height/2-A,le=V-ee,ne=h.offsetHeight/2,p=h.offsetTop+ne,I=H+E+p,_=$-I;if(I<=ee){const y=k.length>0&&h===k[k.length-1].ref.current;c.style.bottom="0px";const b=f.clientHeight-d.offsetTop-d.offsetHeight,Z=Math.max(le,ne+(y?me:0)+b+D),J=I+Z;c.style.height=J+"px"}else{const y=k.length>0&&h===k[0].ref.current;c.style.top="0px";const Z=Math.max(ee,H+d.offsetTop+(y?fe:0)+ne)+_;c.style.height=Z+"px",d.scrollTop=I-ee+d.offsetTop}c.style.margin=`${A}px 0`,c.style.minHeight=pe+"px",c.style.maxHeight=V+"px",l?.(),requestAnimationFrame(()=>T.current=!0)}},[P,u.trigger,u.valueNode,c,f,d,h,x,u.dir,l]);z(()=>v(),[v]);const[W,M]=o.useState();z(()=>{f&&M(window.getComputedStyle(f).zIndex)},[f]);const oe=o.useCallback(R=>{R&&C.current===!0&&(v(),m?.(),C.current=!1)},[v,m]);return r.jsx(Kt,{scope:e,contentWrapper:c,shouldExpandOnScrollRef:T,onScrollButtonChange:oe,children:r.jsx("div",{ref:i,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:W},children:r.jsx(j.div,{...a,ref:w,style:{boxSizing:"border-box",maxHeight:"100%",...a.style}})})})});He.displayName=Wt;var Ut="SelectPopperPosition",xe=o.forwardRef((t,n)=>{const{__scopeSelect:e,align:l="start",collisionPadding:a=A,...u}=t,s=ue(e);return r.jsx(St,{...s,...u,ref:n,align:l,collisionPadding:a,style:{boxSizing:"border-box",...u.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});xe.displayName=Ut;var[Kt,Te]=te(Q,{}),Se="SelectViewport",Fe=o.forwardRef((t,n)=>{const{__scopeSelect:e,nonce:l,...a}=t,u=q(Se,e),s=Te(Se,e),c=L(n,u.onViewportChange),i=o.useRef(0);return r.jsxs(r.Fragment,{children:[r.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:l}),r.jsx(ie.Slot,{scope:e,children:r.jsx(j.div,{"data-radix-select-viewport":"",role:"presentation",...a,ref:c,style:{position:"relative",flex:1,overflow:"hidden auto",...a.style},onScroll:N(a.onScroll,f=>{const g=f.currentTarget,{contentWrapper:w,shouldExpandOnScrollRef:P}=s;if(P?.current&&w){const T=Math.abs(i.current-g.scrollTop);if(T>0){const C=window.innerHeight-A*2,d=parseFloat(w.style.minHeight),h=parseFloat(w.style.height),x=Math.max(d,h);if(x0?W:0,w.style.justifyContent="flex-end")}}}i.current=g.scrollTop})})})]})});Fe.displayName=Se;var We="SelectGroup",[$t,Gt]=te(We),Ue=o.forwardRef((t,n)=>{const{__scopeSelect:e,...l}=t,a=Ie();return r.jsx($t,{scope:e,id:a,children:r.jsx(j.div,{role:"group","aria-labelledby":a,...l,ref:n})})});Ue.displayName=We;var Ke="SelectLabel",$e=o.forwardRef((t,n)=>{const{__scopeSelect:e,...l}=t,a=Gt(Ke,e);return r.jsx(j.div,{id:a.id,...l,ref:n})});$e.displayName=Ke;var ce="SelectItem",[zt,Ge]=te(ce),ze=o.forwardRef((t,n)=>{const{__scopeSelect:e,value:l,disabled:a=!1,textValue:u,...s}=t,c=Y(ce,e),i=q(ce,e),f=c.value===l,[g,w]=o.useState(u??""),[P,T]=o.useState(!1),C=L(n,m=>i.itemRefCallback?.(m,l,a)),d=Ie(),h=o.useRef("touch"),x=()=>{a||(c.onValueChange(l),c.onOpenChange(!1))};if(l==="")throw new Error("A must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return r.jsx(zt,{scope:e,value:l,disabled:a,textId:d,isSelected:f,onItemTextChange:o.useCallback(m=>{w(v=>v||(m?.textContent??"").trim())},[]),children:r.jsx(ie.ItemSlot,{scope:e,value:l,disabled:a,textValue:g,children:r.jsx(j.div,{role:"option","aria-labelledby":d,"data-highlighted":P?"":void 0,"aria-selected":f&&P,"data-state":f?"checked":"unchecked","aria-disabled":a||void 0,"data-disabled":a?"":void 0,tabIndex:a?void 0:-1,...s,ref:C,onFocus:N(s.onFocus,()=>T(!0)),onBlur:N(s.onBlur,()=>T(!1)),onClick:N(s.onClick,()=>{h.current!=="mouse"&&x()}),onPointerUp:N(s.onPointerUp,()=>{h.current==="mouse"&&x()}),onPointerDown:N(s.onPointerDown,m=>{h.current=m.pointerType}),onPointerMove:N(s.onPointerMove,m=>{h.current=m.pointerType,a?i.onItemLeave?.():h.current==="mouse"&&m.currentTarget.focus({preventScroll:!0})}),onPointerLeave:N(s.onPointerLeave,m=>{m.currentTarget===document.activeElement&&i.onItemLeave?.()}),onKeyDown:N(s.onKeyDown,m=>{i.searchRef?.current!==""&&m.key===" "||(Ot.includes(m.key)&&x(),m.key===" "&&m.preventDefault())})})})})});ze.displayName=ce;var re="SelectItemText",Ye=o.forwardRef((t,n)=>{const{__scopeSelect:e,className:l,style:a,...u}=t,s=Y(re,e),c=q(re,e),i=Ge(re,e),f=Vt(re,e),[g,w]=o.useState(null),P=L(n,x=>w(x),i.onItemTextChange,x=>c.itemTextRefCallback?.(x,i.value,i.disabled)),T=g?.textContent,C=o.useMemo(()=>r.jsx("option",{value:i.value,disabled:i.disabled,children:T},i.value),[i.disabled,i.value,T]),{onNativeOptionAdd:d,onNativeOptionRemove:h}=f;return z(()=>(d(C),()=>h(C)),[d,h,C]),r.jsxs(r.Fragment,{children:[r.jsx(j.span,{id:i.textId,...u,ref:P}),i.isSelected&&s.valueNode&&!s.valueNodeHasChildren?Pe.createPortal(u.children,s.valueNode):null]})});Ye.displayName=re;var qe="SelectItemIndicator",Xe=o.forwardRef((t,n)=>{const{__scopeSelect:e,...l}=t;return Ge(qe,e).isSelected?r.jsx(j.span,{"aria-hidden":!0,...l,ref:n}):null});Xe.displayName=qe;var we="SelectScrollUpButton",Ze=o.forwardRef((t,n)=>{const e=q(we,t.__scopeSelect),l=Te(we,t.__scopeSelect),[a,u]=o.useState(!1),s=L(n,l.onScrollButtonChange);return z(()=>{if(e.viewport&&e.isPositioned){let c=function(){const f=i.scrollTop>0;u(f)};const i=e.viewport;return c(),i.addEventListener("scroll",c),()=>i.removeEventListener("scroll",c)}},[e.viewport,e.isPositioned]),a?r.jsx(Qe,{...t,ref:s,onAutoScroll:()=>{const{viewport:c,selectedItem:i}=e;c&&i&&(c.scrollTop=c.scrollTop-i.offsetHeight)}}):null});Ze.displayName=we;var ye="SelectScrollDownButton",Je=o.forwardRef((t,n)=>{const e=q(ye,t.__scopeSelect),l=Te(ye,t.__scopeSelect),[a,u]=o.useState(!1),s=L(n,l.onScrollButtonChange);return z(()=>{if(e.viewport&&e.isPositioned){let c=function(){const f=i.scrollHeight-i.clientHeight,g=Math.ceil(i.scrollTop)i.removeEventListener("scroll",c)}},[e.viewport,e.isPositioned]),a?r.jsx(Qe,{...t,ref:s,onAutoScroll:()=>{const{viewport:c,selectedItem:i}=e;c&&i&&(c.scrollTop=c.scrollTop+i.offsetHeight)}}):null});Je.displayName=ye;var Qe=o.forwardRef((t,n)=>{const{__scopeSelect:e,onAutoScroll:l,...a}=t,u=q("SelectScrollButton",e),s=o.useRef(null),c=de(e),i=o.useCallback(()=>{s.current!==null&&(window.clearInterval(s.current),s.current=null)},[]);return o.useEffect(()=>()=>i(),[i]),z(()=>{c().find(g=>g.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[c]),r.jsx(j.div,{"aria-hidden":!0,...a,ref:n,style:{flexShrink:0,...a.style},onPointerDown:N(a.onPointerDown,()=>{s.current===null&&(s.current=window.setInterval(l,50))}),onPointerMove:N(a.onPointerMove,()=>{u.onItemLeave?.(),s.current===null&&(s.current=window.setInterval(l,50))}),onPointerLeave:N(a.onPointerLeave,()=>{i()})})}),Yt="SelectSeparator",et=o.forwardRef((t,n)=>{const{__scopeSelect:e,...l}=t;return r.jsx(j.div,{"aria-hidden":!0,...l,ref:n})});et.displayName=Yt;var Ce="SelectArrow",qt=o.forwardRef((t,n)=>{const{__scopeSelect:e,...l}=t,a=ue(e),u=Y(Ce,e),s=q(Ce,e);return u.open&&s.position==="popper"?r.jsx(wt,{...a,...l,ref:n}):null});qt.displayName=Ce;function tt(t){return t===""||t===void 0}var ot=o.forwardRef((t,n)=>{const{value:e,...l}=t,a=o.useRef(null),u=L(n,a),s=Et(e);return o.useEffect(()=>{const c=a.current,i=window.HTMLSelectElement.prototype,g=Object.getOwnPropertyDescriptor(i,"value").set;if(s!==e&&g){const w=new Event("change",{bubbles:!0});g.call(c,e),c.dispatchEvent(w)}},[s,e]),r.jsx(_t,{asChild:!0,children:r.jsx("select",{...l,ref:u,defaultValue:e})})});ot.displayName="BubbleSelect";function nt(t){const n=vt(t),e=o.useRef(""),l=o.useRef(0),a=o.useCallback(s=>{const c=e.current+s;n(c),function i(f){e.current=f,window.clearTimeout(l.current),f!==""&&(l.current=window.setTimeout(()=>i(""),1e3))}(c)},[n]),u=o.useCallback(()=>{e.current="",window.clearTimeout(l.current)},[]);return o.useEffect(()=>()=>window.clearTimeout(l.current),[]),[e,a,u]}function rt(t,n,e){const a=n.length>1&&Array.from(n).every(f=>f===n[0])?n[0]:n,u=e?t.indexOf(e):-1;let s=Xt(t,Math.max(u,0));a.length===1&&(s=s.filter(f=>f!==e));const i=s.find(f=>f.textValue.toLowerCase().startsWith(a.toLowerCase()));return i!==e?i:void 0}function Xt(t,n){return t.map((e,l)=>t[(n+l)%t.length])}var Zt=_e,st=Me,Jt=Oe,Qt=De,eo=Le,at=ke,to=Fe,oo=Ue,lt=$e,ct=ze,no=Ye,ro=Xe,it=Ze,dt=Je,ut=et;const wo=Zt,yo=oo,Co=Jt,so=o.forwardRef(({className:t,children:n,...e},l)=>r.jsxs(st,{ref:l,className:G("flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",t),...e,children:[n,r.jsx(Qt,{asChild:!0,children:r.jsx(Ee,{className:"h-4 w-4 opacity-50"})})]}));so.displayName=st.displayName;const pt=o.forwardRef(({className:t,...n},e)=>r.jsx(it,{ref:e,className:G("flex cursor-default items-center justify-center py-1",t),...n,children:r.jsx(jt,{className:"h-4 w-4"})}));pt.displayName=it.displayName;const ft=o.forwardRef(({className:t,...n},e)=>r.jsx(dt,{ref:e,className:G("flex cursor-default items-center justify-center py-1",t),...n,children:r.jsx(Ee,{className:"h-4 w-4"})}));ft.displayName=dt.displayName;const ao=o.forwardRef(({className:t,children:n,position:e="popper",...l},a)=>r.jsx(eo,{children:r.jsxs(at,{ref:a,className:G("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:e,...l,children:[r.jsx(pt,{}),r.jsx(to,{className:G("p-1",e==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:n}),r.jsx(ft,{})]})}));ao.displayName=at.displayName;const lo=o.forwardRef(({className:t,...n},e)=>r.jsx(lt,{ref:e,className:G("px-2 py-1.5 text-sm font-semibold",t),...n}));lo.displayName=lt.displayName;const co=o.forwardRef(({className:t,children:n,...e},l)=>r.jsxs(ct,{ref:l,className:G("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...e,children:[r.jsx("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:r.jsx(ro,{children:r.jsx(Mt,{className:"h-4 w-4"})})}),r.jsx(no,{children:n})]}));co.displayName=ct.displayName;const io=o.forwardRef(({className:t,...n},e)=>r.jsx(ut,{ref:e,className:G("-mx-1 my-1 h-px bg-muted",t),...n}));io.displayName=ut.displayName;export{wo as S,so as a,Co as b,ao as c,co as d,yo as e}; diff --git a/public/assets/admin/assets/separator-lX8UNwTG.js b/public/assets/admin/assets/separator-lX8UNwTG.js deleted file mode 100644 index f2513f583..000000000 --- a/public/assets/admin/assets/separator-lX8UNwTG.js +++ /dev/null @@ -1 +0,0 @@ -import{r as s,j as l,a as m}from"./index-_xd8OyP8.js";import{P as v}from"./index-CX6PQ3zO.js";var f="Separator",n="horizontal",N=["horizontal","vertical"],p=s.forwardRef((r,a)=>{const{decorative:t,orientation:o=n,...i}=r,e=u(o)?o:n,d=t?{role:"none"}:{"aria-orientation":e==="vertical"?e:void 0,role:"separator"};return l.jsx(v.div,{"data-orientation":e,...d,...i,ref:a})});p.displayName=f;function u(r){return N.includes(r)}var c=p;const x=s.forwardRef(({className:r,orientation:a="horizontal",decorative:t=!0,...o},i)=>l.jsx(c,{ref:i,decorative:t,orientation:a,className:m("shrink-0 bg-border",a==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",r),...o}));x.displayName=c.displayName;export{x as S}; diff --git a/public/assets/admin/assets/server-Igd-p88k.js b/public/assets/admin/assets/server-Igd-p88k.js deleted file mode 100644 index 506a2e7a2..000000000 --- a/public/assets/admin/assets/server-Igd-p88k.js +++ /dev/null @@ -1,6 +0,0 @@ -import{c as e}from"./user-nav-BBmBVa03.js";/** - * @license lucide-react v0.399.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const y=e("Server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]);export{y as S}; diff --git a/public/assets/admin/assets/server-group-form-JiCHpkCJ.js b/public/assets/admin/assets/server-group-form-JiCHpkCJ.js deleted file mode 100644 index 921af3b83..000000000 --- a/public/assets/admin/assets/server-group-form-JiCHpkCJ.js +++ /dev/null @@ -1 +0,0 @@ -import{r as d,j as s,B as o,t as x}from"./index-_xd8OyP8.js";import{D as f,e as g,a as b,b as F,c as S,d as D,f as C,g as v}from"./button-DhrtVlOa.js";import{u as N,F as I,a as w,b as y,c as z,d as G,f as L,e as B}from"./form-DIzSOdtk.js";import{I as E}from"./input-d0vtE30O.js";import{z as i,t as O}from"./zod-x_8lkCGK.js";import{I as T}from"./iconify-Dsf6bxB2.js";import{X as A}from"./index-BycJudEO.js";import{L as H}from"./loader-circle-BgRqqHyr.js";const M=i.object({id:i.number().optional(),name:i.string().min(2,"组名至少需要2个字符").max(50,"组名不能超过50个字符").regex(/^[a-zA-Z0-9\u4e00-\u9fa5_-]+$/,"组名只能包含字母、数字、中文、下划线和连字符")});function J({refetch:t,dialogTrigger:u,defaultValues:h={name:""},type:a="add"}){const e=N({resolver:O(M),defaultValues:h,mode:"onChange"}),[p,n]=d.useState(!1),[l,m]=d.useState(!1),j=async r=>{try{m(!0);const{data:c}=await A(r);c&&(x.success(a==="edit"?"更新成功":"创建成功"),t&&t(),e.reset(),n(!1))}catch{x.error("操作失败,请重试")}finally{m(!1)}};return s.jsxs(f,{open:p,onOpenChange:n,children:[s.jsx(g,{asChild:!0,children:u||s.jsxs(o,{variant:"outline",size:"sm",className:"space-x-2",children:[s.jsx(T,{icon:"ion:add",className:"h-4 w-4"}),s.jsx("span",{children:"添加权限组"})]})}),s.jsxs(b,{className:"sm:max-w-[425px]",children:[s.jsxs(F,{children:[s.jsx(S,{children:a==="edit"?"编辑权限组":"创建权限组"}),s.jsx(D,{children:a==="edit"?"修改权限组信息,更新后会立即生效。":"创建新的权限组,可以为不同的用户分配不同的权限。"})]}),s.jsx(I,{...e,children:s.jsxs("form",{onSubmit:e.handleSubmit(j),className:"space-y-4",children:[s.jsx(w,{control:e.control,name:"name",render:({field:r})=>s.jsxs(y,{children:[s.jsx(z,{children:"组名称"}),s.jsx(G,{children:s.jsx(E,{placeholder:"请输入权限组名称",...r,className:"w-full"})}),s.jsx(L,{children:"权限组名称用于标识不同的用户组,建议使用有意义的名称。"}),s.jsx(B,{})]})}),s.jsxs(C,{className:"gap-2",children:[s.jsx(v,{asChild:!0,children:s.jsx(o,{type:"button",variant:"outline",children:"取消"})}),s.jsxs(o,{type:"submit",disabled:l||!e.formState.isValid,children:[l&&s.jsx(H,{className:"mr-2 h-4 w-4 animate-spin"}),a==="edit"?"更新":"创建"]})]})]})})]})]})}export{J as S}; diff --git a/public/assets/admin/assets/sidelinks-DLs_k-Mk.js b/public/assets/admin/assets/sidelinks-DLs_k-Mk.js deleted file mode 100644 index 8d5300d1c..000000000 --- a/public/assets/admin/assets/sidelinks-DLs_k-Mk.js +++ /dev/null @@ -1 +0,0 @@ -import{c as K,r as d,j as f,a as W,R as ae,v as X,z as Ue,M as to,X as At}from"./index-_xd8OyP8.js";import{c as Ce,d as Fe,b as pt,u as St,a as E}from"./index-BwSRHYe4.js";import{P as V,d as no}from"./index-CX6PQ3zO.js";import{u as We,P as Le,h as oo,a as ro,F as so,D as io,R as ao,b as co}from"./index-CcyXqhZ9.js";import{u as lo}from"./index-BlMNiBlp.js";import{h as uo,c as fo,l as po}from"./react-icons.esm-rZq2pt7A.js";import{c as mo,b as ho,I as go,a as vo}from"./IconTicket-COhvkaJH.js";var xo=K("building-store","IconBuildingStore",[["path",{d:"M3 21l18 0",key:"svg-0"}],["path",{d:"M3 7v1a3 3 0 0 0 6 0v-1m0 1a3 3 0 0 0 6 0v-1m0 1a3 3 0 0 0 6 0v-1h-18l2 -4h14l2 4",key:"svg-1"}],["path",{d:"M5 21l0 -10.15",key:"svg-2"}],["path",{d:"M19 21l0 -10.15",key:"svg-3"}],["path",{d:"M9 21v-4a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v4",key:"svg-4"}]]),wo=K("cash","IconCash",[["path",{d:"M7 9m0 2a2 2 0 0 1 2 -2h10a2 2 0 0 1 2 2v6a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2z",key:"svg-0"}],["path",{d:"M14 14m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0",key:"svg-1"}],["path",{d:"M17 9v-2a2 2 0 0 0 -2 -2h-10a2 2 0 0 0 -2 2v6a2 2 0 0 0 2 2h2",key:"svg-2"}]]),mt=K("credit-card","IconCreditCard",[["path",{d:"M3 5m0 3a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v8a3 3 0 0 1 -3 3h-12a3 3 0 0 1 -3 -3z",key:"svg-0"}],["path",{d:"M3 10l18 0",key:"svg-1"}],["path",{d:"M7 15l.01 0",key:"svg-2"}],["path",{d:"M11 15l2 0",key:"svg-3"}]]),yo=K("dashboard","IconDashboard",[["path",{d:"M12 13m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0",key:"svg-0"}],["path",{d:"M13.45 11.55l2.05 -2.05",key:"svg-1"}],["path",{d:"M6.4 20a9 9 0 1 1 11.2 0z",key:"svg-2"}]]),Mo=K("device-desktop","IconDeviceDesktop",[["path",{d:"M3 5a1 1 0 0 1 1 -1h16a1 1 0 0 1 1 1v10a1 1 0 0 1 -1 1h-16a1 1 0 0 1 -1 -1v-10z",key:"svg-0"}],["path",{d:"M7 20h10",key:"svg-1"}],["path",{d:"M9 16v4",key:"svg-2"}],["path",{d:"M15 16v4",key:"svg-3"}]]),bo=K("discount-check","IconDiscountCheck",[["path",{d:"M5 7.2a2.2 2.2 0 0 1 2.2 -2.2h1a2.2 2.2 0 0 0 1.55 -.64l.7 -.7a2.2 2.2 0 0 1 3.12 0l.7 .7c.412 .41 .97 .64 1.55 .64h1a2.2 2.2 0 0 1 2.2 2.2v1c0 .58 .23 1.138 .64 1.55l.7 .7a2.2 2.2 0 0 1 0 3.12l-.7 .7a2.2 2.2 0 0 0 -.64 1.55v1a2.2 2.2 0 0 1 -2.2 2.2h-1a2.2 2.2 0 0 0 -1.55 .64l-.7 .7a2.2 2.2 0 0 1 -3.12 0l-.7 -.7a2.2 2.2 0 0 0 -1.55 -.64h-1a2.2 2.2 0 0 1 -2.2 -2.2v-1a2.2 2.2 0 0 0 -.64 -1.55l-.7 -.7a2.2 2.2 0 0 1 0 -3.12l.7 -.7a2.2 2.2 0 0 0 .64 -1.55v-1",key:"svg-0"}],["path",{d:"M9 12l2 2l4 -4",key:"svg-1"}]]),Co=K("file-text","IconFileText",[["path",{d:"M14 3v4a1 1 0 0 0 1 1h4",key:"svg-0"}],["path",{d:"M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2z",key:"svg-1"}],["path",{d:"M9 9l1 0",key:"svg-2"}],["path",{d:"M9 13l6 0",key:"svg-3"}],["path",{d:"M9 17l6 0",key:"svg-4"}]]),Ro=K("news","IconNews",[["path",{d:"M16 6h3a1 1 0 0 1 1 1v11a2 2 0 0 1 -4 0v-13a1 1 0 0 0 -1 -1h-10a1 1 0 0 0 -1 1v12a3 3 0 0 0 3 3h11",key:"svg-0"}],["path",{d:"M8 8l4 0",key:"svg-1"}],["path",{d:"M8 12l4 0",key:"svg-2"}],["path",{d:"M8 16l4 0",key:"svg-3"}]]),Ao=K("route","IconRoute",[["path",{d:"M3 19a2 2 0 1 0 4 0a2 2 0 0 0 -4 0",key:"svg-0"}],["path",{d:"M19 7a2 2 0 1 0 0 -4a2 2 0 0 0 0 4z",key:"svg-1"}],["path",{d:"M11 19h5.5a3.5 3.5 0 0 0 0 -7h-8a3.5 3.5 0 0 1 0 -7h4.5",key:"svg-2"}]]),So=K("server-bolt","IconServerBolt",[["path",{d:"M3 4m0 3a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v2a3 3 0 0 1 -3 3h-12a3 3 0 0 1 -3 -3z",key:"svg-0"}],["path",{d:"M15 20h-9a3 3 0 0 1 -3 -3v-2a3 3 0 0 1 3 -3h12",key:"svg-1"}],["path",{d:"M7 8v.01",key:"svg-2"}],["path",{d:"M7 16v.01",key:"svg-3"}],["path",{d:"M20 15l-2 3h3l-2 3",key:"svg-4"}]]),Io=K("settings","IconSettings",[["path",{d:"M10.325 4.317c.426 -1.756 2.924 -1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543 -.94 3.31 .826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756 .426 1.756 2.924 0 3.35a1.724 1.724 0 0 0 -1.066 2.573c.94 1.543 -.826 3.31 -2.37 2.37a1.724 1.724 0 0 0 -2.572 1.065c-.426 1.756 -2.924 1.756 -3.35 0a1.724 1.724 0 0 0 -2.573 -1.066c-1.543 .94 -3.31 -.826 -2.37 -2.37a1.724 1.724 0 0 0 -1.065 -2.572c-1.756 -.426 -1.756 -2.924 0 -3.35a1.724 1.724 0 0 0 1.066 -2.573c-.94 -1.543 .826 -3.31 2.37 -2.37c1 .608 2.296 .07 2.572 -1.065z",key:"svg-0"}],["path",{d:"M9 12a3 3 0 1 0 6 0a3 3 0 0 0 -6 0",key:"svg-1"}]]),Eo=K("user","IconUser",[["path",{d:"M8 7a4 4 0 1 0 8 0a4 4 0 0 0 -8 0",key:"svg-0"}],["path",{d:"M6 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2",key:"svg-1"}]]),Po=K("users","IconUsers",[["path",{d:"M9 7m-4 0a4 4 0 1 0 8 0a4 4 0 1 0 -8 0",key:"svg-0"}],["path",{d:"M3 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2",key:"svg-1"}],["path",{d:"M16 3.13a4 4 0 0 1 0 7.75",key:"svg-2"}],["path",{d:"M21 21v-2a4 4 0 0 0 -3 -3.85",key:"svg-3"}]]);const _o=d.forwardRef(({className:e,fadedBelow:t=!1,fixedHeight:n=!1,...o},r)=>f.jsx("div",{ref:r,className:W("relative flex h-full w-full flex-col",t&&"after:pointer-events-none after:absolute after:bottom-0 after:left-0 after:hidden after:h-32 after:w-full after:bg-[linear-gradient(180deg,_transparent_10%,_hsl(var(--background))_70%)] after:md:block",n&&"md:h-svh",e),...o}));_o.displayName="Layout";const Do=d.forwardRef(({className:e,...t},n)=>f.jsx("div",{ref:n,className:W("flex h-[var(--header-height)] flex-none items-center gap-4 bg-background p-4 md:px-8",e),...t}));Do.displayName="LayoutHeader";const Oo=d.forwardRef(({className:e,fixedHeight:t,...n},o)=>f.jsx("div",{ref:o,className:W("flex-1 overflow-hidden px-4 py-6 md:px-8",t&&"h-[calc(100%-var(--header-height))]",e),...n}));Oo.displayName="LayoutBody";function It(e){const t=e+"CollectionProvider",[n,o]=Ce(t),[r,s]=n(t,{collectionRef:{current:null},itemMap:new Map}),i=h=>{const{scope:m,children:v}=h,w=ae.useRef(null),x=ae.useRef(new Map).current;return f.jsx(r,{scope:m,itemMap:x,collectionRef:w,children:v})};i.displayName=t;const c=e+"CollectionSlot",a=ae.forwardRef((h,m)=>{const{scope:v,children:w}=h,x=s(c,v),y=X(m,x.collectionRef);return f.jsx(Ue,{ref:y,children:w})});a.displayName=c;const u=e+"CollectionItemSlot",p="data-radix-collection-item",l=ae.forwardRef((h,m)=>{const{scope:v,children:w,...x}=h,y=ae.useRef(null),C=X(m,y),M=s(u,v);return ae.useEffect(()=>(M.itemMap.set(y,{ref:y,...x}),()=>void M.itemMap.delete(y))),f.jsx(Ue,{[p]:"",ref:C,children:w})});l.displayName=u;function g(h){const m=s(e+"CollectionConsumer",h);return ae.useCallback(()=>{const w=m.collectionRef.current;if(!w)return[];const x=Array.from(w.querySelectorAll(`[${p}]`));return Array.from(m.itemMap.values()).sort((M,R)=>x.indexOf(M.ref.current)-x.indexOf(R.ref.current))},[m.collectionRef,m.itemMap])}return[{Provider:i,Slot:a,ItemSlot:l},g,o]}var No=d.createContext(void 0);function Et(e){const t=d.useContext(No);return e||t||"ltr"}const To=["top","right","bottom","left"],ne=Math.min,G=Math.max,De=Math.round,Pe=Math.floor,oe=e=>({x:e,y:e}),ko={left:"right",right:"left",bottom:"top",top:"bottom"},jo={start:"end",end:"start"};function Ve(e,t,n){return G(e,ne(t,n))}function Z(e,t){return typeof e=="function"?e(t):e}function J(e){return e.split("-")[0]}function pe(e){return e.split("-")[1]}function Ze(e){return e==="x"?"y":"x"}function Je(e){return e==="y"?"height":"width"}function me(e){return["top","bottom"].includes(J(e))?"y":"x"}function Qe(e){return Ze(me(e))}function Fo(e,t,n){n===void 0&&(n=!1);const o=pe(e),r=Qe(e),s=Je(r);let i=r==="x"?o===(n?"end":"start")?"right":"left":o==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(i=Oe(i)),[i,Oe(i)]}function Lo(e){const t=Oe(e);return[Ye(e),t,Ye(t)]}function Ye(e){return e.replace(/start|end/g,t=>jo[t])}function $o(e,t,n){const o=["left","right"],r=["right","left"],s=["top","bottom"],i=["bottom","top"];switch(e){case"top":case"bottom":return n?t?r:o:t?o:r;case"left":case"right":return t?s:i;default:return[]}}function zo(e,t,n,o){const r=pe(e);let s=$o(J(e),n==="start",o);return r&&(s=s.map(i=>i+"-"+r),t&&(s=s.concat(s.map(Ye)))),s}function Oe(e){return e.replace(/left|right|bottom|top/g,t=>ko[t])}function Go(e){return{top:0,right:0,bottom:0,left:0,...e}}function Pt(e){return typeof e!="number"?Go(e):{top:e,right:e,bottom:e,left:e}}function Ne(e){return{...e,top:e.y,left:e.x,right:e.x+e.width,bottom:e.y+e.height}}function ht(e,t,n){let{reference:o,floating:r}=e;const s=me(t),i=Qe(t),c=Je(i),a=J(t),u=s==="y",p=o.x+o.width/2-r.width/2,l=o.y+o.height/2-r.height/2,g=o[c]/2-r[c]/2;let h;switch(a){case"top":h={x:p,y:o.y-r.height};break;case"bottom":h={x:p,y:o.y+o.height};break;case"right":h={x:o.x+o.width,y:l};break;case"left":h={x:o.x-r.width,y:l};break;default:h={x:o.x,y:o.y}}switch(pe(t)){case"start":h[i]-=g*(n&&u?-1:1);break;case"end":h[i]+=g*(n&&u?-1:1);break}return h}const Bo=async(e,t,n)=>{const{placement:o="bottom",strategy:r="absolute",middleware:s=[],platform:i}=n,c=s.filter(Boolean),a=await(i.isRTL==null?void 0:i.isRTL(t));let u=await i.getElementRects({reference:e,floating:t,strategy:r}),{x:p,y:l}=ht(u,o,a),g=o,h={},m=0;for(let v=0;v({name:"arrow",options:e,async fn(t){const{x:n,y:o,placement:r,rects:s,platform:i,elements:c,middlewareData:a}=t,{element:u,padding:p=0}=Z(e,t)||{};if(u==null)return{};const l=Pt(p),g={x:n,y:o},h=Qe(r),m=Je(h),v=await i.getDimensions(u),w=h==="y",x=w?"top":"left",y=w?"bottom":"right",C=w?"clientHeight":"clientWidth",M=s.reference[m]+s.reference[h]-g[h]-s.floating[m],R=g[h]-s.reference[h],A=await(i.getOffsetParent==null?void 0:i.getOffsetParent(u));let P=A?A[C]:0;(!P||!await(i.isElement==null?void 0:i.isElement(A)))&&(P=c.floating[C]||s.floating[m]);const S=M/2-R/2,k=P/2-v[m]/2-1,j=ne(l[x],k),$=ne(l[y],k),_=j,F=P-v[m]-$,N=P/2-v[m]/2+S,D=Ve(_,N,F),O=!a.arrow&&pe(r)!=null&&N!==D&&s.reference[m]/2-(N<_?j:$)-v[m]/2<0,I=O?N<_?N-_:N-F:0;return{[h]:g[h]+I,data:{[h]:D,centerOffset:N-D-I,...O&&{alignmentOffset:I}},reset:O}}}),Ho=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,o;const{placement:r,middlewareData:s,rects:i,initialPlacement:c,platform:a,elements:u}=t,{mainAxis:p=!0,crossAxis:l=!0,fallbackPlacements:g,fallbackStrategy:h="bestFit",fallbackAxisSideDirection:m="none",flipAlignment:v=!0,...w}=Z(e,t);if((n=s.arrow)!=null&&n.alignmentOffset)return{};const x=J(r),y=J(c)===c,C=await(a.isRTL==null?void 0:a.isRTL(u.floating)),M=g||(y||!v?[Oe(c)]:Lo(c));!g&&m!=="none"&&M.push(...zo(c,v,m,C));const R=[c,...M],A=await we(t,w),P=[];let S=((o=s.flip)==null?void 0:o.overflows)||[];if(p&&P.push(A[x]),l){const _=Fo(r,i,C);P.push(A[_[0]],A[_[1]])}if(S=[...S,{placement:r,overflows:P}],!P.every(_=>_<=0)){var k,j;const _=(((k=s.flip)==null?void 0:k.index)||0)+1,F=R[_];if(F)return{data:{index:_,overflows:S},reset:{placement:F}};let N=(j=S.filter(D=>D.overflows[0]<=0).sort((D,O)=>D.overflows[1]-O.overflows[1])[0])==null?void 0:j.placement;if(!N)switch(h){case"bestFit":{var $;const D=($=S.map(O=>[O.placement,O.overflows.filter(I=>I>0).reduce((I,T)=>I+T,0)]).sort((O,I)=>O[1]-I[1])[0])==null?void 0:$[0];D&&(N=D);break}case"initialPlacement":N=c;break}if(r!==N)return{reset:{placement:N}}}return{}}}};function gt(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function vt(e){return To.some(t=>e[t]>=0)}const Uo=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n}=t,{strategy:o="referenceHidden",...r}=Z(e,t);switch(o){case"referenceHidden":{const s=await we(t,{...r,elementContext:"reference"}),i=gt(s,n.reference);return{data:{referenceHiddenOffsets:i,referenceHidden:vt(i)}}}case"escaped":{const s=await we(t,{...r,altBoundary:!0}),i=gt(s,n.floating);return{data:{escapedOffsets:i,escaped:vt(i)}}}default:return{}}}}};async function Wo(e,t){const{placement:n,platform:o,elements:r}=e,s=await(o.isRTL==null?void 0:o.isRTL(r.floating)),i=J(n),c=pe(n),a=me(n)==="y",u=["left","top"].includes(i)?-1:1,p=s&&a?-1:1,l=Z(t,e);let{mainAxis:g,crossAxis:h,alignmentAxis:m}=typeof l=="number"?{mainAxis:l,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...l};return c&&typeof m=="number"&&(h=c==="end"?m*-1:m),a?{x:h*p,y:g*u}:{x:g*u,y:h*p}}const Vo=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,o;const{x:r,y:s,placement:i,middlewareData:c}=t,a=await Wo(t,e);return i===((n=c.offset)==null?void 0:n.placement)&&(o=c.arrow)!=null&&o.alignmentOffset?{}:{x:r+a.x,y:s+a.y,data:{...a,placement:i}}}}},Yo=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:o,placement:r}=t,{mainAxis:s=!0,crossAxis:i=!1,limiter:c={fn:w=>{let{x,y}=w;return{x,y}}},...a}=Z(e,t),u={x:n,y:o},p=await we(t,a),l=me(J(r)),g=Ze(l);let h=u[g],m=u[l];if(s){const w=g==="y"?"top":"left",x=g==="y"?"bottom":"right",y=h+p[w],C=h-p[x];h=Ve(y,h,C)}if(i){const w=l==="y"?"top":"left",x=l==="y"?"bottom":"right",y=m+p[w],C=m-p[x];m=Ve(y,m,C)}const v=c.fn({...t,[g]:h,[l]:m});return{...v,data:{x:v.x-n,y:v.y-o}}}}},Xo=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:o,placement:r,rects:s,middlewareData:i}=t,{offset:c=0,mainAxis:a=!0,crossAxis:u=!0}=Z(e,t),p={x:n,y:o},l=me(r),g=Ze(l);let h=p[g],m=p[l];const v=Z(c,t),w=typeof v=="number"?{mainAxis:v,crossAxis:0}:{mainAxis:0,crossAxis:0,...v};if(a){const C=g==="y"?"height":"width",M=s.reference[g]-s.floating[C]+w.mainAxis,R=s.reference[g]+s.reference[C]-w.mainAxis;hR&&(h=R)}if(u){var x,y;const C=g==="y"?"width":"height",M=["top","left"].includes(J(r)),R=s.reference[l]-s.floating[C]+(M&&((x=i.offset)==null?void 0:x[l])||0)+(M?0:w.crossAxis),A=s.reference[l]+s.reference[C]+(M?0:((y=i.offset)==null?void 0:y[l])||0)-(M?w.crossAxis:0);mA&&(m=A)}return{[g]:h,[l]:m}}}},qo=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){const{placement:n,rects:o,platform:r,elements:s}=t,{apply:i=()=>{},...c}=Z(e,t),a=await we(t,c),u=J(n),p=pe(n),l=me(n)==="y",{width:g,height:h}=o.floating;let m,v;u==="top"||u==="bottom"?(m=u,v=p===(await(r.isRTL==null?void 0:r.isRTL(s.floating))?"start":"end")?"left":"right"):(v=u,m=p==="end"?"top":"bottom");const w=h-a[m],x=g-a[v],y=!t.middlewareData.shift;let C=w,M=x;if(l){const A=g-a.left-a.right;M=p||y?ne(x,A):A}else{const A=h-a.top-a.bottom;C=p||y?ne(w,A):A}if(y&&!p){const A=G(a.left,0),P=G(a.right,0),S=G(a.top,0),k=G(a.bottom,0);l?M=g-2*(A!==0||P!==0?A+P:G(a.left,a.right)):C=h-2*(S!==0||k!==0?S+k:G(a.top,a.bottom))}await i({...t,availableWidth:M,availableHeight:C});const R=await r.getDimensions(s.floating);return g!==R.width||h!==R.height?{reset:{rects:!0}}:{}}}};function re(e){return _t(e)?(e.nodeName||"").toLowerCase():"#document"}function B(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function ee(e){var t;return(t=(_t(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function _t(e){return e instanceof Node||e instanceof B(e).Node}function Q(e){return e instanceof Element||e instanceof B(e).Element}function q(e){return e instanceof HTMLElement||e instanceof B(e).HTMLElement}function xt(e){return typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof B(e).ShadowRoot}function Re(e){const{overflow:t,overflowX:n,overflowY:o,display:r}=U(e);return/auto|scroll|overlay|hidden|clip/.test(t+o+n)&&!["inline","contents"].includes(r)}function Zo(e){return["table","td","th"].includes(re(e))}function et(e){const t=tt(),n=U(e);return n.transform!=="none"||n.perspective!=="none"||(n.containerType?n.containerType!=="normal":!1)||!t&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!t&&(n.filter?n.filter!=="none":!1)||["transform","perspective","filter"].some(o=>(n.willChange||"").includes(o))||["paint","layout","strict","content"].some(o=>(n.contain||"").includes(o))}function Jo(e){let t=fe(e);for(;q(t)&&!$e(t);){if(et(t))return t;t=fe(t)}return null}function tt(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}function $e(e){return["html","body","#document"].includes(re(e))}function U(e){return B(e).getComputedStyle(e)}function ze(e){return Q(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function fe(e){if(re(e)==="html")return e;const t=e.assignedSlot||e.parentNode||xt(e)&&e.host||ee(e);return xt(t)?t.host:t}function Dt(e){const t=fe(e);return $e(t)?e.ownerDocument?e.ownerDocument.body:e.body:q(t)&&Re(t)?t:Dt(t)}function ye(e,t,n){var o;t===void 0&&(t=[]),n===void 0&&(n=!0);const r=Dt(e),s=r===((o=e.ownerDocument)==null?void 0:o.body),i=B(r);return s?t.concat(i,i.visualViewport||[],Re(r)?r:[],i.frameElement&&n?ye(i.frameElement):[]):t.concat(r,ye(r,[],n))}function Ot(e){const t=U(e);let n=parseFloat(t.width)||0,o=parseFloat(t.height)||0;const r=q(e),s=r?e.offsetWidth:n,i=r?e.offsetHeight:o,c=De(n)!==s||De(o)!==i;return c&&(n=s,o=i),{width:n,height:o,$:c}}function nt(e){return Q(e)?e:e.contextElement}function de(e){const t=nt(e);if(!q(t))return oe(1);const n=t.getBoundingClientRect(),{width:o,height:r,$:s}=Ot(t);let i=(s?De(n.width):n.width)/o,c=(s?De(n.height):n.height)/r;return(!i||!Number.isFinite(i))&&(i=1),(!c||!Number.isFinite(c))&&(c=1),{x:i,y:c}}const Qo=oe(0);function Nt(e){const t=B(e);return!tt()||!t.visualViewport?Qo:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function er(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==B(e)?!1:t}function ce(e,t,n,o){t===void 0&&(t=!1),n===void 0&&(n=!1);const r=e.getBoundingClientRect(),s=nt(e);let i=oe(1);t&&(o?Q(o)&&(i=de(o)):i=de(e));const c=er(s,n,o)?Nt(s):oe(0);let a=(r.left+c.x)/i.x,u=(r.top+c.y)/i.y,p=r.width/i.x,l=r.height/i.y;if(s){const g=B(s),h=o&&Q(o)?B(o):o;let m=g,v=m.frameElement;for(;v&&o&&h!==m;){const w=de(v),x=v.getBoundingClientRect(),y=U(v),C=x.left+(v.clientLeft+parseFloat(y.paddingLeft))*w.x,M=x.top+(v.clientTop+parseFloat(y.paddingTop))*w.y;a*=w.x,u*=w.y,p*=w.x,l*=w.y,a+=C,u+=M,m=B(v),v=m.frameElement}}return Ne({width:p,height:l,x:a,y:u})}const tr=[":popover-open",":modal"];function Tt(e){return tr.some(t=>{try{return e.matches(t)}catch{return!1}})}function nr(e){let{elements:t,rect:n,offsetParent:o,strategy:r}=e;const s=r==="fixed",i=ee(o),c=t?Tt(t.floating):!1;if(o===i||c&&s)return n;let a={scrollLeft:0,scrollTop:0},u=oe(1);const p=oe(0),l=q(o);if((l||!l&&!s)&&((re(o)!=="body"||Re(i))&&(a=ze(o)),q(o))){const g=ce(o);u=de(o),p.x=g.x+o.clientLeft,p.y=g.y+o.clientTop}return{width:n.width*u.x,height:n.height*u.y,x:n.x*u.x-a.scrollLeft*u.x+p.x,y:n.y*u.y-a.scrollTop*u.y+p.y}}function or(e){return Array.from(e.getClientRects())}function kt(e){return ce(ee(e)).left+ze(e).scrollLeft}function rr(e){const t=ee(e),n=ze(e),o=e.ownerDocument.body,r=G(t.scrollWidth,t.clientWidth,o.scrollWidth,o.clientWidth),s=G(t.scrollHeight,t.clientHeight,o.scrollHeight,o.clientHeight);let i=-n.scrollLeft+kt(e);const c=-n.scrollTop;return U(o).direction==="rtl"&&(i+=G(t.clientWidth,o.clientWidth)-r),{width:r,height:s,x:i,y:c}}function sr(e,t){const n=B(e),o=ee(e),r=n.visualViewport;let s=o.clientWidth,i=o.clientHeight,c=0,a=0;if(r){s=r.width,i=r.height;const u=tt();(!u||u&&t==="fixed")&&(c=r.offsetLeft,a=r.offsetTop)}return{width:s,height:i,x:c,y:a}}function ir(e,t){const n=ce(e,!0,t==="fixed"),o=n.top+e.clientTop,r=n.left+e.clientLeft,s=q(e)?de(e):oe(1),i=e.clientWidth*s.x,c=e.clientHeight*s.y,a=r*s.x,u=o*s.y;return{width:i,height:c,x:a,y:u}}function wt(e,t,n){let o;if(t==="viewport")o=sr(e,n);else if(t==="document")o=rr(ee(e));else if(Q(t))o=ir(t,n);else{const r=Nt(e);o={...t,x:t.x-r.x,y:t.y-r.y}}return Ne(o)}function jt(e,t){const n=fe(e);return n===t||!Q(n)||$e(n)?!1:U(n).position==="fixed"||jt(n,t)}function ar(e,t){const n=t.get(e);if(n)return n;let o=ye(e,[],!1).filter(c=>Q(c)&&re(c)!=="body"),r=null;const s=U(e).position==="fixed";let i=s?fe(e):e;for(;Q(i)&&!$e(i);){const c=U(i),a=et(i);!a&&c.position==="fixed"&&(r=null),(s?!a&&!r:!a&&c.position==="static"&&!!r&&["absolute","fixed"].includes(r.position)||Re(i)&&!a&&jt(e,i))?o=o.filter(p=>p!==i):r=c,i=fe(i)}return t.set(e,o),o}function cr(e){let{element:t,boundary:n,rootBoundary:o,strategy:r}=e;const i=[...n==="clippingAncestors"?ar(t,this._c):[].concat(n),o],c=i[0],a=i.reduce((u,p)=>{const l=wt(t,p,r);return u.top=G(l.top,u.top),u.right=ne(l.right,u.right),u.bottom=ne(l.bottom,u.bottom),u.left=G(l.left,u.left),u},wt(t,c,r));return{width:a.right-a.left,height:a.bottom-a.top,x:a.left,y:a.top}}function lr(e){const{width:t,height:n}=Ot(e);return{width:t,height:n}}function ur(e,t,n){const o=q(t),r=ee(t),s=n==="fixed",i=ce(e,!0,s,t);let c={scrollLeft:0,scrollTop:0};const a=oe(0);if(o||!o&&!s)if((re(t)!=="body"||Re(r))&&(c=ze(t)),o){const l=ce(t,!0,s,t);a.x=l.x+t.clientLeft,a.y=l.y+t.clientTop}else r&&(a.x=kt(r));const u=i.left+c.scrollLeft-a.x,p=i.top+c.scrollTop-a.y;return{x:u,y:p,width:i.width,height:i.height}}function yt(e,t){return!q(e)||U(e).position==="fixed"?null:t?t(e):e.offsetParent}function Ft(e,t){const n=B(e);if(!q(e)||Tt(e))return n;let o=yt(e,t);for(;o&&Zo(o)&&U(o).position==="static";)o=yt(o,t);return o&&(re(o)==="html"||re(o)==="body"&&U(o).position==="static"&&!et(o))?n:o||Jo(e)||n}const dr=async function(e){const t=this.getOffsetParent||Ft,n=this.getDimensions;return{reference:ur(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,...await n(e.floating)}}};function fr(e){return U(e).direction==="rtl"}const pr={convertOffsetParentRelativeRectToViewportRelativeRect:nr,getDocumentElement:ee,getClippingRect:cr,getOffsetParent:Ft,getElementRects:dr,getClientRects:or,getDimensions:lr,getScale:de,isElement:Q,isRTL:fr};function mr(e,t){let n=null,o;const r=ee(e);function s(){var c;clearTimeout(o),(c=n)==null||c.disconnect(),n=null}function i(c,a){c===void 0&&(c=!1),a===void 0&&(a=1),s();const{left:u,top:p,width:l,height:g}=e.getBoundingClientRect();if(c||t(),!l||!g)return;const h=Pe(p),m=Pe(r.clientWidth-(u+l)),v=Pe(r.clientHeight-(p+g)),w=Pe(u),y={rootMargin:-h+"px "+-m+"px "+-v+"px "+-w+"px",threshold:G(0,ne(1,a))||1};let C=!0;function M(R){const A=R[0].intersectionRatio;if(A!==a){if(!C)return i();A?i(!1,A):o=setTimeout(()=>{i(!1,1e-7)},100)}C=!1}try{n=new IntersectionObserver(M,{...y,root:r.ownerDocument})}catch{n=new IntersectionObserver(M,y)}n.observe(e)}return i(!0),s}function hr(e,t,n,o){o===void 0&&(o={});const{ancestorScroll:r=!0,ancestorResize:s=!0,elementResize:i=typeof ResizeObserver=="function",layoutShift:c=typeof IntersectionObserver=="function",animationFrame:a=!1}=o,u=nt(e),p=r||s?[...u?ye(u):[],...ye(t)]:[];p.forEach(x=>{r&&x.addEventListener("scroll",n,{passive:!0}),s&&x.addEventListener("resize",n)});const l=u&&c?mr(u,n):null;let g=-1,h=null;i&&(h=new ResizeObserver(x=>{let[y]=x;y&&y.target===u&&h&&(h.unobserve(t),cancelAnimationFrame(g),g=requestAnimationFrame(()=>{var C;(C=h)==null||C.observe(t)})),n()}),u&&!a&&h.observe(u),h.observe(t));let m,v=a?ce(e):null;a&&w();function w(){const x=ce(e);v&&(x.x!==v.x||x.y!==v.y||x.width!==v.width||x.height!==v.height)&&n(),v=x,m=requestAnimationFrame(w)}return n(),()=>{var x;p.forEach(y=>{r&&y.removeEventListener("scroll",n),s&&y.removeEventListener("resize",n)}),l?.(),(x=h)==null||x.disconnect(),h=null,a&&cancelAnimationFrame(m)}}const gr=Yo,vr=Ho,xr=qo,wr=Uo,Mt=Ko,yr=Xo,Mr=(e,t,n)=>{const o=new Map,r={platform:pr,...n},s={...r.platform,_c:o};return Bo(e,t,{...r,platform:s})},br=e=>{function t(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:e,fn(n){const{element:o,padding:r}=typeof e=="function"?e(n):e;return o&&t(o)?o.current!=null?Mt({element:o.current,padding:r}).fn(n):{}:o?Mt({element:o,padding:r}).fn(n):{}}}};var _e=typeof document<"u"?d.useLayoutEffect:d.useEffect;function Te(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,o,r;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(o=n;o--!==0;)if(!Te(e[o],t[o]))return!1;return!0}if(r=Object.keys(e),n=r.length,n!==Object.keys(t).length)return!1;for(o=n;o--!==0;)if(!{}.hasOwnProperty.call(t,r[o]))return!1;for(o=n;o--!==0;){const s=r[o];if(!(s==="_owner"&&e.$$typeof)&&!Te(e[s],t[s]))return!1}return!0}return e!==e&&t!==t}function Lt(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function bt(e,t){const n=Lt(e);return Math.round(t*n)/n}function Ct(e){const t=d.useRef(e);return _e(()=>{t.current=e}),t}function Cr(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:o=[],platform:r,elements:{reference:s,floating:i}={},transform:c=!0,whileElementsMounted:a,open:u}=e,[p,l]=d.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[g,h]=d.useState(o);Te(g,o)||h(o);const[m,v]=d.useState(null),[w,x]=d.useState(null),y=d.useCallback(I=>{I!==A.current&&(A.current=I,v(I))},[]),C=d.useCallback(I=>{I!==P.current&&(P.current=I,x(I))},[]),M=s||m,R=i||w,A=d.useRef(null),P=d.useRef(null),S=d.useRef(p),k=a!=null,j=Ct(a),$=Ct(r),_=d.useCallback(()=>{if(!A.current||!P.current)return;const I={placement:t,strategy:n,middleware:g};$.current&&(I.platform=$.current),Mr(A.current,P.current,I).then(T=>{const b={...T,isPositioned:!0};F.current&&!Te(S.current,b)&&(S.current=b,to.flushSync(()=>{l(b)}))})},[g,t,n,$]);_e(()=>{u===!1&&S.current.isPositioned&&(S.current.isPositioned=!1,l(I=>({...I,isPositioned:!1})))},[u]);const F=d.useRef(!1);_e(()=>(F.current=!0,()=>{F.current=!1}),[]),_e(()=>{if(M&&(A.current=M),R&&(P.current=R),M&&R){if(j.current)return j.current(M,R,_);_()}},[M,R,_,j,k]);const N=d.useMemo(()=>({reference:A,floating:P,setReference:y,setFloating:C}),[y,C]),D=d.useMemo(()=>({reference:M,floating:R}),[M,R]),O=d.useMemo(()=>{const I={position:n,left:0,top:0};if(!D.floating)return I;const T=bt(D.floating,p.x),b=bt(D.floating,p.y);return c?{...I,transform:"translate("+T+"px, "+b+"px)",...Lt(D.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:T,top:b}},[n,c,D.floating,p.x,p.y]);return d.useMemo(()=>({...p,update:_,refs:N,elements:D,floatingStyles:O}),[p,_,N,D,O])}var Rr="Arrow",$t=d.forwardRef((e,t)=>{const{children:n,width:o=10,height:r=5,...s}=e;return f.jsx(V.svg,{...s,ref:t,width:o,height:r,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:f.jsx("polygon",{points:"0,0 30,0 15,10"})})});$t.displayName=Rr;var Ar=$t,ot="Popper",[zt,Gt]=Ce(ot),[Sr,Bt]=zt(ot),Kt=e=>{const{__scopePopper:t,children:n}=e,[o,r]=d.useState(null);return f.jsx(Sr,{scope:t,anchor:o,onAnchorChange:r,children:n})};Kt.displayName=ot;var Ht="PopperAnchor",Ut=d.forwardRef((e,t)=>{const{__scopePopper:n,virtualRef:o,...r}=e,s=Bt(Ht,n),i=d.useRef(null),c=X(t,i);return d.useEffect(()=>{s.onAnchorChange(o?.current||i.current)}),o?null:f.jsx(V.div,{...r,ref:c})});Ut.displayName=Ht;var rt="PopperContent",[Ir,Er]=zt(rt),Wt=d.forwardRef((e,t)=>{const{__scopePopper:n,side:o="bottom",sideOffset:r=0,align:s="center",alignOffset:i=0,arrowPadding:c=0,avoidCollisions:a=!0,collisionBoundary:u=[],collisionPadding:p=0,sticky:l="partial",hideWhenDetached:g=!1,updatePositionStrategy:h="optimized",onPlaced:m,...v}=e,w=Bt(rt,n),[x,y]=d.useState(null),C=X(t,L=>y(L)),[M,R]=d.useState(null),A=lo(M),P=A?.width??0,S=A?.height??0,k=o+(s!=="center"?"-"+s:""),j=typeof p=="number"?p:{top:0,right:0,bottom:0,left:0,...p},$=Array.isArray(u)?u:[u],_=$.length>0,F={padding:j,boundary:$.filter(_r),altBoundary:_},{refs:N,floatingStyles:D,placement:O,isPositioned:I,middlewareData:T}=Cr({strategy:"fixed",placement:k,whileElementsMounted:(...L)=>hr(...L,{animationFrame:h==="always"}),elements:{reference:w.anchor},middleware:[Vo({mainAxis:r+S,alignmentAxis:i}),a&&gr({mainAxis:!0,crossAxis:!1,limiter:l==="partial"?yr():void 0,...F}),a&&vr({...F}),xr({...F,apply:({elements:L,rects:ve,availableWidth:Zn,availableHeight:Jn})=>{const{width:Qn,height:eo}=ve.reference,Ee=L.floating.style;Ee.setProperty("--radix-popper-available-width",`${Zn}px`),Ee.setProperty("--radix-popper-available-height",`${Jn}px`),Ee.setProperty("--radix-popper-anchor-width",`${Qn}px`),Ee.setProperty("--radix-popper-anchor-height",`${eo}px`)}}),M&&br({element:M,padding:c}),Dr({arrowWidth:P,arrowHeight:S}),g&&wr({strategy:"referenceHidden",...F})]}),[b,te]=Xt(O),Y=Fe(m);pt(()=>{I&&Y?.()},[I,Y]);const se=T.arrow?.x,he=T.arrow?.y,ge=T.arrow?.centerOffset!==0,[Ie,ie]=d.useState();return pt(()=>{x&&ie(window.getComputedStyle(x).zIndex)},[x]),f.jsx("div",{ref:N.setFloating,"data-radix-popper-content-wrapper":"",style:{...D,transform:I?D.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:Ie,"--radix-popper-transform-origin":[T.transformOrigin?.x,T.transformOrigin?.y].join(" "),...T.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:f.jsx(Ir,{scope:n,placedSide:b,onArrowChange:R,arrowX:se,arrowY:he,shouldHideArrow:ge,children:f.jsx(V.div,{"data-side":b,"data-align":te,...v,ref:C,style:{...v.style,animation:I?void 0:"none"}})})})});Wt.displayName=rt;var Vt="PopperArrow",Pr={top:"bottom",right:"left",bottom:"top",left:"right"},Yt=d.forwardRef(function(t,n){const{__scopePopper:o,...r}=t,s=Er(Vt,o),i=Pr[s.placedSide];return f.jsx("span",{ref:s.onArrowChange,style:{position:"absolute",left:s.arrowX,top:s.arrowY,[i]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[s.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[s.placedSide],visibility:s.shouldHideArrow?"hidden":void 0},children:f.jsx(Ar,{...r,ref:n,style:{...r.style,display:"block"}})})});Yt.displayName=Vt;function _r(e){return e!==null}var Dr=e=>({name:"transformOrigin",options:e,fn(t){const{placement:n,rects:o,middlewareData:r}=t,i=r.arrow?.centerOffset!==0,c=i?0:e.arrowWidth,a=i?0:e.arrowHeight,[u,p]=Xt(n),l={start:"0%",center:"50%",end:"100%"}[p],g=(r.arrow?.x??0)+c/2,h=(r.arrow?.y??0)+a/2;let m="",v="";return u==="bottom"?(m=i?l:`${g}px`,v=`${-a}px`):u==="top"?(m=i?l:`${g}px`,v=`${o.floating.height+a}px`):u==="right"?(m=`${-a}px`,v=i?l:`${h}px`):u==="left"&&(m=`${o.floating.width+a}px`,v=i?l:`${h}px`),{data:{x:m,y:v}}}});function Xt(e){const[t,n="center"]=e.split("-");return[t,n]}var Or=Kt,Nr=Ut,Tr=Wt,kr=Yt,He="rovingFocusGroup.onEntryFocus",jr={bubbles:!1,cancelable:!0},Ge="RovingFocusGroup",[Xe,qt,Fr]=It(Ge),[Lr,Zt]=Ce(Ge,[Fr]),[$r,zr]=Lr(Ge),Jt=d.forwardRef((e,t)=>f.jsx(Xe.Provider,{scope:e.__scopeRovingFocusGroup,children:f.jsx(Xe.Slot,{scope:e.__scopeRovingFocusGroup,children:f.jsx(Gr,{...e,ref:t})})}));Jt.displayName=Ge;var Gr=d.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:o,loop:r=!1,dir:s,currentTabStopId:i,defaultCurrentTabStopId:c,onCurrentTabStopIdChange:a,onEntryFocus:u,preventScrollOnEntryFocus:p=!1,...l}=e,g=d.useRef(null),h=X(t,g),m=Et(s),[v=null,w]=St({prop:i,defaultProp:c,onChange:a}),[x,y]=d.useState(!1),C=Fe(u),M=qt(n),R=d.useRef(!1),[A,P]=d.useState(0);return d.useEffect(()=>{const S=g.current;if(S)return S.addEventListener(He,C),()=>S.removeEventListener(He,C)},[C]),f.jsx($r,{scope:n,orientation:o,dir:m,loop:r,currentTabStopId:v,onItemFocus:d.useCallback(S=>w(S),[w]),onItemShiftTab:d.useCallback(()=>y(!0),[]),onFocusableItemAdd:d.useCallback(()=>P(S=>S+1),[]),onFocusableItemRemove:d.useCallback(()=>P(S=>S-1),[]),children:f.jsx(V.div,{tabIndex:x||A===0?-1:0,"data-orientation":o,...l,ref:h,style:{outline:"none",...e.style},onMouseDown:E(e.onMouseDown,()=>{R.current=!0}),onFocus:E(e.onFocus,S=>{const k=!R.current;if(S.target===S.currentTarget&&k&&!x){const j=new CustomEvent(He,jr);if(S.currentTarget.dispatchEvent(j),!j.defaultPrevented){const $=M().filter(O=>O.focusable),_=$.find(O=>O.active),F=$.find(O=>O.id===v),D=[_,F,...$].filter(Boolean).map(O=>O.ref.current);tn(D,p)}}R.current=!1}),onBlur:E(e.onBlur,()=>y(!1))})})}),Qt="RovingFocusGroupItem",en=d.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:o=!0,active:r=!1,tabStopId:s,...i}=e,c=We(),a=s||c,u=zr(Qt,n),p=u.currentTabStopId===a,l=qt(n),{onFocusableItemAdd:g,onFocusableItemRemove:h}=u;return d.useEffect(()=>{if(o)return g(),()=>h()},[o,g,h]),f.jsx(Xe.ItemSlot,{scope:n,id:a,focusable:o,active:r,children:f.jsx(V.span,{tabIndex:p?0:-1,"data-orientation":u.orientation,...i,ref:t,onMouseDown:E(e.onMouseDown,m=>{o?u.onItemFocus(a):m.preventDefault()}),onFocus:E(e.onFocus,()=>u.onItemFocus(a)),onKeyDown:E(e.onKeyDown,m=>{if(m.key==="Tab"&&m.shiftKey){u.onItemShiftTab();return}if(m.target!==m.currentTarget)return;const v=Hr(m,u.orientation,u.dir);if(v!==void 0){if(m.metaKey||m.ctrlKey||m.altKey||m.shiftKey)return;m.preventDefault();let x=l().filter(y=>y.focusable).map(y=>y.ref.current);if(v==="last")x.reverse();else if(v==="prev"||v==="next"){v==="prev"&&x.reverse();const y=x.indexOf(m.currentTarget);x=u.loop?Ur(x,y+1):x.slice(y+1)}setTimeout(()=>tn(x))}})})})});en.displayName=Qt;var Br={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function Kr(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function Hr(e,t,n){const o=Kr(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(o))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(o)))return Br[o]}function tn(e,t=!1){const n=document.activeElement;for(const o of e)if(o===n||(o.focus({preventScroll:t}),document.activeElement!==n))return}function Ur(e,t){return e.map((n,o)=>e[(t+o)%e.length])}var Wr=Jt,Vr=en,qe=["Enter"," "],Yr=["ArrowDown","PageUp","Home"],nn=["ArrowUp","PageDown","End"],Xr=[...Yr,...nn],qr={ltr:[...qe,"ArrowRight"],rtl:[...qe,"ArrowLeft"]},Zr={ltr:["ArrowLeft"],rtl:["ArrowRight"]},Ae="Menu",[Me,Jr,Qr]=It(Ae),[le,on]=Ce(Ae,[Qr,Gt,Zt]),Be=Gt(),rn=Zt(),[es,ue]=le(Ae),[ts,Se]=le(Ae),sn=e=>{const{__scopeMenu:t,open:n=!1,children:o,dir:r,onOpenChange:s,modal:i=!0}=e,c=Be(t),[a,u]=d.useState(null),p=d.useRef(!1),l=Fe(s),g=Et(r);return d.useEffect(()=>{const h=()=>{p.current=!0,document.addEventListener("pointerdown",m,{capture:!0,once:!0}),document.addEventListener("pointermove",m,{capture:!0,once:!0})},m=()=>p.current=!1;return document.addEventListener("keydown",h,{capture:!0}),()=>{document.removeEventListener("keydown",h,{capture:!0}),document.removeEventListener("pointerdown",m,{capture:!0}),document.removeEventListener("pointermove",m,{capture:!0})}},[]),f.jsx(Or,{...c,children:f.jsx(es,{scope:t,open:n,onOpenChange:l,content:a,onContentChange:u,children:f.jsx(ts,{scope:t,onClose:d.useCallback(()=>l(!1),[l]),isUsingKeyboardRef:p,dir:g,modal:i,children:o})})})};sn.displayName=Ae;var ns="MenuAnchor",st=d.forwardRef((e,t)=>{const{__scopeMenu:n,...o}=e,r=Be(n);return f.jsx(Nr,{...r,...o,ref:t})});st.displayName=ns;var it="MenuPortal",[os,an]=le(it,{forceMount:void 0}),cn=e=>{const{__scopeMenu:t,forceMount:n,children:o,container:r}=e,s=ue(it,t);return f.jsx(os,{scope:t,forceMount:n,children:f.jsx(Le,{present:n||s.open,children:f.jsx(co,{asChild:!0,container:r,children:o})})})};cn.displayName=it;var H="MenuContent",[rs,at]=le(H),ln=d.forwardRef((e,t)=>{const n=an(H,e.__scopeMenu),{forceMount:o=n.forceMount,...r}=e,s=ue(H,e.__scopeMenu),i=Se(H,e.__scopeMenu);return f.jsx(Me.Provider,{scope:e.__scopeMenu,children:f.jsx(Le,{present:o||s.open,children:f.jsx(Me.Slot,{scope:e.__scopeMenu,children:i.modal?f.jsx(ss,{...r,ref:t}):f.jsx(is,{...r,ref:t})})})})}),ss=d.forwardRef((e,t)=>{const n=ue(H,e.__scopeMenu),o=d.useRef(null),r=X(t,o);return d.useEffect(()=>{const s=o.current;if(s)return oo(s)},[]),f.jsx(ct,{...e,ref:r,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:E(e.onFocusOutside,s=>s.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),is=d.forwardRef((e,t)=>{const n=ue(H,e.__scopeMenu);return f.jsx(ct,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),ct=d.forwardRef((e,t)=>{const{__scopeMenu:n,loop:o=!1,trapFocus:r,onOpenAutoFocus:s,onCloseAutoFocus:i,disableOutsidePointerEvents:c,onEntryFocus:a,onEscapeKeyDown:u,onPointerDownOutside:p,onFocusOutside:l,onInteractOutside:g,onDismiss:h,disableOutsideScroll:m,...v}=e,w=ue(H,n),x=Se(H,n),y=Be(n),C=rn(n),M=Jr(n),[R,A]=d.useState(null),P=d.useRef(null),S=X(t,P,w.onContentChange),k=d.useRef(0),j=d.useRef(""),$=d.useRef(0),_=d.useRef(null),F=d.useRef("right"),N=d.useRef(0),D=m?ao:d.Fragment,O=m?{as:Ue,allowPinchZoom:!0}:void 0,I=b=>{const te=j.current+b,Y=M().filter(L=>!L.disabled),se=document.activeElement,he=Y.find(L=>L.ref.current===se)?.textValue,ge=Y.map(L=>L.textValue),Ie=xs(ge,te,he),ie=Y.find(L=>L.textValue===Ie)?.ref.current;(function L(ve){j.current=ve,window.clearTimeout(k.current),ve!==""&&(k.current=window.setTimeout(()=>L(""),1e3))})(te),ie&&setTimeout(()=>ie.focus())};d.useEffect(()=>()=>window.clearTimeout(k.current),[]),ro();const T=d.useCallback(b=>F.current===_.current?.side&&ys(b,_.current?.area),[]);return f.jsx(rs,{scope:n,searchRef:j,onItemEnter:d.useCallback(b=>{T(b)&&b.preventDefault()},[T]),onItemLeave:d.useCallback(b=>{T(b)||(P.current?.focus(),A(null))},[T]),onTriggerLeave:d.useCallback(b=>{T(b)&&b.preventDefault()},[T]),pointerGraceTimerRef:$,onPointerGraceIntentChange:d.useCallback(b=>{_.current=b},[]),children:f.jsx(D,{...O,children:f.jsx(so,{asChild:!0,trapped:r,onMountAutoFocus:E(s,b=>{b.preventDefault(),P.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:i,children:f.jsx(io,{asChild:!0,disableOutsidePointerEvents:c,onEscapeKeyDown:u,onPointerDownOutside:p,onFocusOutside:l,onInteractOutside:g,onDismiss:h,children:f.jsx(Wr,{asChild:!0,...C,dir:x.dir,orientation:"vertical",loop:o,currentTabStopId:R,onCurrentTabStopIdChange:A,onEntryFocus:E(a,b=>{x.isUsingKeyboardRef.current||b.preventDefault()}),preventScrollOnEntryFocus:!0,children:f.jsx(Tr,{role:"menu","aria-orientation":"vertical","data-state":An(w.open),"data-radix-menu-content":"",dir:x.dir,...y,...v,ref:S,style:{outline:"none",...v.style},onKeyDown:E(v.onKeyDown,b=>{const Y=b.target.closest("[data-radix-menu-content]")===b.currentTarget,se=b.ctrlKey||b.altKey||b.metaKey,he=b.key.length===1;Y&&(b.key==="Tab"&&b.preventDefault(),!se&&he&&I(b.key));const ge=P.current;if(b.target!==ge||!Xr.includes(b.key))return;b.preventDefault();const ie=M().filter(L=>!L.disabled).map(L=>L.ref.current);nn.includes(b.key)&&ie.reverse(),gs(ie)}),onBlur:E(e.onBlur,b=>{b.currentTarget.contains(b.target)||(window.clearTimeout(k.current),j.current="")}),onPointerMove:E(e.onPointerMove,be(b=>{const te=b.target,Y=N.current!==b.clientX;if(b.currentTarget.contains(te)&&Y){const se=b.clientX>N.current?"right":"left";F.current=se,N.current=b.clientX}}))})})})})})})});ln.displayName=H;var as="MenuGroup",lt=d.forwardRef((e,t)=>{const{__scopeMenu:n,...o}=e;return f.jsx(V.div,{role:"group",...o,ref:t})});lt.displayName=as;var cs="MenuLabel",un=d.forwardRef((e,t)=>{const{__scopeMenu:n,...o}=e;return f.jsx(V.div,{...o,ref:t})});un.displayName=cs;var ke="MenuItem",Rt="menu.itemSelect",Ke=d.forwardRef((e,t)=>{const{disabled:n=!1,onSelect:o,...r}=e,s=d.useRef(null),i=Se(ke,e.__scopeMenu),c=at(ke,e.__scopeMenu),a=X(t,s),u=d.useRef(!1),p=()=>{const l=s.current;if(!n&&l){const g=new CustomEvent(Rt,{bubbles:!0,cancelable:!0});l.addEventListener(Rt,h=>o?.(h),{once:!0}),no(l,g),g.defaultPrevented?u.current=!1:i.onClose()}};return f.jsx(dn,{...r,ref:a,disabled:n,onClick:E(e.onClick,p),onPointerDown:l=>{e.onPointerDown?.(l),u.current=!0},onPointerUp:E(e.onPointerUp,l=>{u.current||l.currentTarget?.click()}),onKeyDown:E(e.onKeyDown,l=>{const g=c.searchRef.current!=="";n||g&&l.key===" "||qe.includes(l.key)&&(l.currentTarget.click(),l.preventDefault())})})});Ke.displayName=ke;var dn=d.forwardRef((e,t)=>{const{__scopeMenu:n,disabled:o=!1,textValue:r,...s}=e,i=at(ke,n),c=rn(n),a=d.useRef(null),u=X(t,a),[p,l]=d.useState(!1),[g,h]=d.useState("");return d.useEffect(()=>{const m=a.current;m&&h((m.textContent??"").trim())},[s.children]),f.jsx(Me.ItemSlot,{scope:n,disabled:o,textValue:r??g,children:f.jsx(Vr,{asChild:!0,...c,focusable:!o,children:f.jsx(V.div,{role:"menuitem","data-highlighted":p?"":void 0,"aria-disabled":o||void 0,"data-disabled":o?"":void 0,...s,ref:u,onPointerMove:E(e.onPointerMove,be(m=>{o?i.onItemLeave(m):(i.onItemEnter(m),m.defaultPrevented||m.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:E(e.onPointerLeave,be(m=>i.onItemLeave(m))),onFocus:E(e.onFocus,()=>l(!0)),onBlur:E(e.onBlur,()=>l(!1))})})})}),ls="MenuCheckboxItem",fn=d.forwardRef((e,t)=>{const{checked:n=!1,onCheckedChange:o,...r}=e;return f.jsx(vn,{scope:e.__scopeMenu,checked:n,children:f.jsx(Ke,{role:"menuitemcheckbox","aria-checked":je(n)?"mixed":n,...r,ref:t,"data-state":dt(n),onSelect:E(r.onSelect,()=>o?.(je(n)?!0:!n),{checkForDefaultPrevented:!1})})})});fn.displayName=ls;var pn="MenuRadioGroup",[us,ds]=le(pn,{value:void 0,onValueChange:()=>{}}),mn=d.forwardRef((e,t)=>{const{value:n,onValueChange:o,...r}=e,s=Fe(o);return f.jsx(us,{scope:e.__scopeMenu,value:n,onValueChange:s,children:f.jsx(lt,{...r,ref:t})})});mn.displayName=pn;var hn="MenuRadioItem",gn=d.forwardRef((e,t)=>{const{value:n,...o}=e,r=ds(hn,e.__scopeMenu),s=n===r.value;return f.jsx(vn,{scope:e.__scopeMenu,checked:s,children:f.jsx(Ke,{role:"menuitemradio","aria-checked":s,...o,ref:t,"data-state":dt(s),onSelect:E(o.onSelect,()=>r.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});gn.displayName=hn;var ut="MenuItemIndicator",[vn,fs]=le(ut,{checked:!1}),xn=d.forwardRef((e,t)=>{const{__scopeMenu:n,forceMount:o,...r}=e,s=fs(ut,n);return f.jsx(Le,{present:o||je(s.checked)||s.checked===!0,children:f.jsx(V.span,{...r,ref:t,"data-state":dt(s.checked)})})});xn.displayName=ut;var ps="MenuSeparator",wn=d.forwardRef((e,t)=>{const{__scopeMenu:n,...o}=e;return f.jsx(V.div,{role:"separator","aria-orientation":"horizontal",...o,ref:t})});wn.displayName=ps;var ms="MenuArrow",yn=d.forwardRef((e,t)=>{const{__scopeMenu:n,...o}=e,r=Be(n);return f.jsx(kr,{...r,...o,ref:t})});yn.displayName=ms;var hs="MenuSub",[xi,Mn]=le(hs),xe="MenuSubTrigger",bn=d.forwardRef((e,t)=>{const n=ue(xe,e.__scopeMenu),o=Se(xe,e.__scopeMenu),r=Mn(xe,e.__scopeMenu),s=at(xe,e.__scopeMenu),i=d.useRef(null),{pointerGraceTimerRef:c,onPointerGraceIntentChange:a}=s,u={__scopeMenu:e.__scopeMenu},p=d.useCallback(()=>{i.current&&window.clearTimeout(i.current),i.current=null},[]);return d.useEffect(()=>p,[p]),d.useEffect(()=>{const l=c.current;return()=>{window.clearTimeout(l),a(null)}},[c,a]),f.jsx(st,{asChild:!0,...u,children:f.jsx(dn,{id:r.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":r.contentId,"data-state":An(n.open),...e,ref:At(t,r.onTriggerChange),onClick:l=>{e.onClick?.(l),!(e.disabled||l.defaultPrevented)&&(l.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:E(e.onPointerMove,be(l=>{s.onItemEnter(l),!l.defaultPrevented&&!e.disabled&&!n.open&&!i.current&&(s.onPointerGraceIntentChange(null),i.current=window.setTimeout(()=>{n.onOpenChange(!0),p()},100))})),onPointerLeave:E(e.onPointerLeave,be(l=>{p();const g=n.content?.getBoundingClientRect();if(g){const h=n.content?.dataset.side,m=h==="right",v=m?-5:5,w=g[m?"left":"right"],x=g[m?"right":"left"];s.onPointerGraceIntentChange({area:[{x:l.clientX+v,y:l.clientY},{x:w,y:g.top},{x,y:g.top},{x,y:g.bottom},{x:w,y:g.bottom}],side:h}),window.clearTimeout(c.current),c.current=window.setTimeout(()=>s.onPointerGraceIntentChange(null),300)}else{if(s.onTriggerLeave(l),l.defaultPrevented)return;s.onPointerGraceIntentChange(null)}})),onKeyDown:E(e.onKeyDown,l=>{const g=s.searchRef.current!=="";e.disabled||g&&l.key===" "||qr[o.dir].includes(l.key)&&(n.onOpenChange(!0),n.content?.focus(),l.preventDefault())})})})});bn.displayName=xe;var Cn="MenuSubContent",Rn=d.forwardRef((e,t)=>{const n=an(H,e.__scopeMenu),{forceMount:o=n.forceMount,...r}=e,s=ue(H,e.__scopeMenu),i=Se(H,e.__scopeMenu),c=Mn(Cn,e.__scopeMenu),a=d.useRef(null),u=X(t,a);return f.jsx(Me.Provider,{scope:e.__scopeMenu,children:f.jsx(Le,{present:o||s.open,children:f.jsx(Me.Slot,{scope:e.__scopeMenu,children:f.jsx(ct,{id:c.contentId,"aria-labelledby":c.triggerId,...r,ref:u,align:"start",side:i.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:p=>{i.isUsingKeyboardRef.current&&a.current?.focus(),p.preventDefault()},onCloseAutoFocus:p=>p.preventDefault(),onFocusOutside:E(e.onFocusOutside,p=>{p.target!==c.trigger&&s.onOpenChange(!1)}),onEscapeKeyDown:E(e.onEscapeKeyDown,p=>{i.onClose(),p.preventDefault()}),onKeyDown:E(e.onKeyDown,p=>{const l=p.currentTarget.contains(p.target),g=Zr[i.dir].includes(p.key);l&&g&&(s.onOpenChange(!1),c.trigger?.focus(),p.preventDefault())})})})})})});Rn.displayName=Cn;function An(e){return e?"open":"closed"}function je(e){return e==="indeterminate"}function dt(e){return je(e)?"indeterminate":e?"checked":"unchecked"}function gs(e){const t=document.activeElement;for(const n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function vs(e,t){return e.map((n,o)=>e[(t+o)%e.length])}function xs(e,t,n){const r=t.length>1&&Array.from(t).every(u=>u===t[0])?t[0]:t,s=n?e.indexOf(n):-1;let i=vs(e,Math.max(s,0));r.length===1&&(i=i.filter(u=>u!==n));const a=i.find(u=>u.toLowerCase().startsWith(r.toLowerCase()));return a!==n?a:void 0}function ws(e,t){const{x:n,y:o}=e;let r=!1;for(let s=0,i=t.length-1;so!=p>o&&n<(u-c)*(o-a)/(p-a)+c&&(r=!r)}return r}function ys(e,t){if(!t)return!1;const n={x:e.clientX,y:e.clientY};return ws(n,t)}function be(e){return t=>t.pointerType==="mouse"?e(t):void 0}var Ms=sn,bs=st,Cs=cn,Rs=ln,As=lt,Ss=un,Is=Ke,Es=fn,Ps=mn,_s=gn,Ds=xn,Os=wn,Ns=yn,Ts=bn,ks=Rn,ft="DropdownMenu",[js,wi]=Ce(ft,[on]),z=on(),[Fs,Sn]=js(ft),In=e=>{const{__scopeDropdownMenu:t,children:n,dir:o,open:r,defaultOpen:s,onOpenChange:i,modal:c=!0}=e,a=z(t),u=d.useRef(null),[p=!1,l]=St({prop:r,defaultProp:s,onChange:i});return f.jsx(Fs,{scope:t,triggerId:We(),triggerRef:u,contentId:We(),open:p,onOpenChange:l,onOpenToggle:d.useCallback(()=>l(g=>!g),[l]),modal:c,children:f.jsx(Ms,{...a,open:p,onOpenChange:l,dir:o,modal:c,children:n})})};In.displayName=ft;var En="DropdownMenuTrigger",Pn=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,disabled:o=!1,...r}=e,s=Sn(En,n),i=z(n);return f.jsx(bs,{asChild:!0,...i,children:f.jsx(V.button,{type:"button",id:s.triggerId,"aria-haspopup":"menu","aria-expanded":s.open,"aria-controls":s.open?s.contentId:void 0,"data-state":s.open?"open":"closed","data-disabled":o?"":void 0,disabled:o,...r,ref:At(t,s.triggerRef),onPointerDown:E(e.onPointerDown,c=>{!o&&c.button===0&&c.ctrlKey===!1&&(s.onOpenToggle(),s.open||c.preventDefault())}),onKeyDown:E(e.onKeyDown,c=>{o||(["Enter"," "].includes(c.key)&&s.onOpenToggle(),c.key==="ArrowDown"&&s.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(c.key)&&c.preventDefault())})})})});Pn.displayName=En;var Ls="DropdownMenuPortal",_n=e=>{const{__scopeDropdownMenu:t,...n}=e,o=z(t);return f.jsx(Cs,{...o,...n})};_n.displayName=Ls;var Dn="DropdownMenuContent",On=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=Sn(Dn,n),s=z(n),i=d.useRef(!1);return f.jsx(Rs,{id:r.contentId,"aria-labelledby":r.triggerId,...s,...o,ref:t,onCloseAutoFocus:E(e.onCloseAutoFocus,c=>{i.current||r.triggerRef.current?.focus(),i.current=!1,c.preventDefault()}),onInteractOutside:E(e.onInteractOutside,c=>{const a=c.detail.originalEvent,u=a.button===0&&a.ctrlKey===!0,p=a.button===2||u;(!r.modal||p)&&(i.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});On.displayName=Dn;var $s="DropdownMenuGroup",Nn=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=z(n);return f.jsx(As,{...r,...o,ref:t})});Nn.displayName=$s;var zs="DropdownMenuLabel",Tn=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=z(n);return f.jsx(Ss,{...r,...o,ref:t})});Tn.displayName=zs;var Gs="DropdownMenuItem",kn=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=z(n);return f.jsx(Is,{...r,...o,ref:t})});kn.displayName=Gs;var Bs="DropdownMenuCheckboxItem",jn=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=z(n);return f.jsx(Es,{...r,...o,ref:t})});jn.displayName=Bs;var Ks="DropdownMenuRadioGroup",Hs=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=z(n);return f.jsx(Ps,{...r,...o,ref:t})});Hs.displayName=Ks;var Us="DropdownMenuRadioItem",Fn=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=z(n);return f.jsx(_s,{...r,...o,ref:t})});Fn.displayName=Us;var Ws="DropdownMenuItemIndicator",Ln=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=z(n);return f.jsx(Ds,{...r,...o,ref:t})});Ln.displayName=Ws;var Vs="DropdownMenuSeparator",$n=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=z(n);return f.jsx(Os,{...r,...o,ref:t})});$n.displayName=Vs;var Ys="DropdownMenuArrow",Xs=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=z(n);return f.jsx(Ns,{...r,...o,ref:t})});Xs.displayName=Ys;var qs="DropdownMenuSubTrigger",zn=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=z(n);return f.jsx(Ts,{...r,...o,ref:t})});zn.displayName=qs;var Zs="DropdownMenuSubContent",Gn=d.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=z(n);return f.jsx(ks,{...r,...o,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});Gn.displayName=Zs;var Js=In,Qs=Pn,ei=_n,Bn=On,ti=Nn,Kn=Tn,Hn=kn,Un=jn,Wn=Fn,Vn=Ln,Yn=$n,Xn=zn,qn=Gn;const yi=Js,Mi=Qs,bi=ti,ni=d.forwardRef(({className:e,inset:t,children:n,...o},r)=>f.jsxs(Xn,{ref:r,className:W("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",t&&"pl-8",e),...o,children:[n,f.jsx(uo,{className:"ml-auto h-4 w-4"})]}));ni.displayName=Xn.displayName;const oi=d.forwardRef(({className:e,...t},n)=>f.jsx(qn,{ref:n,className:W("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...t}));oi.displayName=qn.displayName;const ri=d.forwardRef(({className:e,sideOffset:t=4,...n},o)=>f.jsx(ei,{children:f.jsx(Bn,{ref:o,sideOffset:t,className:W("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md","data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...n})}));ri.displayName=Bn.displayName;const si=d.forwardRef(({className:e,inset:t,...n},o)=>f.jsx(Hn,{ref:o,className:W("relative flex cursor-default cursor-pointer select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t&&"pl-8",e),...n}));si.displayName=Hn.displayName;const ii=d.forwardRef(({className:e,children:t,checked:n,...o},r)=>f.jsxs(Un,{ref:r,className:W("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),checked:n,...o,children:[f.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:f.jsx(Vn,{children:f.jsx(fo,{className:"h-4 w-4"})})}),t]}));ii.displayName=Un.displayName;const ai=d.forwardRef(({className:e,children:t,...n},o)=>f.jsxs(Wn,{ref:o,className:W("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...n,children:[f.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:f.jsx(Vn,{children:f.jsx(po,{className:"h-4 w-4 fill-current"})})}),t]}));ai.displayName=Wn.displayName;const ci=d.forwardRef(({className:e,inset:t,...n},o)=>f.jsx(Kn,{ref:o,className:W("px-2 py-1.5 text-sm font-semibold",t&&"pl-8",e),...n}));ci.displayName=Kn.displayName;const li=d.forwardRef(({className:e,...t},n)=>f.jsx(Yn,{ref:n,className:W("-mx-1 my-1 h-px bg-muted",e),...t}));li.displayName=Yn.displayName;const ui=({className:e,...t})=>f.jsx("span",{className:W("ml-auto text-xs tracking-widest opacity-60",e),...t});ui.displayName="DropdownMenuShortcut";const Ci=[{title:"仪表盘",label:"",href:"/",icon:f.jsx(yo,{size:18})},{title:"系统管理",label:"",href:"",icon:f.jsx(Io,{size:18}),sub:[{title:"系统配置",label:"",href:"/config/system",icon:f.jsx(mo,{size:18})},{title:"主题配置",label:"",href:"/config/theme",icon:f.jsx(Mo,{size:18})},{title:"公告管理",label:"",href:"/config/notice",icon:f.jsx(Ro,{size:18})},{title:"支付配置",label:"",href:"/config/payment",icon:f.jsx(mt,{size:18})},{title:"知识库管理",label:"",href:"/config/knowledge",icon:f.jsx(Co,{size:18})}]},{title:"节点管理",label:"",href:"",icon:f.jsx(ho,{size:18}),sub:[{title:"节点管理",label:"",href:"/server/manage",icon:f.jsx(So,{size:18})},{title:"权限组管理",label:"",href:"/server/group",icon:f.jsx(go,{size:18})},{title:"路由管理",label:"",href:"/server/route",icon:f.jsx(Ao,{size:18})}]},{title:"订阅管理",label:"",href:"",icon:f.jsx(wo,{size:18}),sub:[{title:"套餐管理",label:"",href:"/finance/plan",icon:f.jsx(xo,{size:18})},{title:"订单管理",label:"",href:"/finance/order",icon:f.jsx(mt,{size:18})},{title:"优惠券管理",label:"",href:"/finance/coupon",icon:f.jsx(bo,{size:18})}]},{title:"用户管理",label:"",href:"",icon:f.jsx(Po,{size:18}),sub:[{title:"用户管理",label:"",href:"/user/manage",icon:f.jsx(Eo,{size:18})},{title:"工单管理",label:"",href:"/user/ticket",icon:f.jsx(vo,{size:18})}]}];export{Nr as A,Tr as C,yi as D,Vr as I,_o as L,Wr as R,Mi as a,ri as b,ci as c,li as d,si as e,Do as f,Oo as g,bi as h,Zt as i,Gt as j,kr as k,Or as l,It as m,ui as n,Ci as s,Et as u}; diff --git a/public/assets/admin/assets/sign-in-DJHLiVL6.js b/public/assets/admin/assets/sign-in-DJHLiVL6.js deleted file mode 100644 index 4c65a388b..000000000 --- a/public/assets/admin/assets/sign-in-DJHLiVL6.js +++ /dev/null @@ -1 +0,0 @@ -import{c as h,r as d,j as e,a as y,B as m,b as N,l as k,u as C,d as F,s as I,f as S,t as p}from"./index-_xd8OyP8.js";import{C as D}from"./card-6-6NT3wL.js";import{u as E,F as M,a as x,b as u,c as g,d as f,e as j}from"./form-DIzSOdtk.js";import{z as l,t as z}from"./zod-x_8lkCGK.js";import{I as T}from"./input-d0vtE30O.js";import"./clipboard-YH5zrf5X.js";import{D as O,a as P,b as B,c as _,d as R,B as U}from"./button-DhrtVlOa.js";import"./index-CX6PQ3zO.js";import"./index-BwSRHYe4.js";import"./index-CcyXqhZ9.js";import"./react-icons.esm-rZq2pt7A.js";var $=h("copy","IconCopy",[["path",{d:"M7 7m0 2.667a2.667 2.667 0 0 1 2.667 -2.667h8.666a2.667 2.667 0 0 1 2.667 2.667v8.666a2.667 2.667 0 0 1 -2.667 2.667h-8.666a2.667 2.667 0 0 1 -2.667 -2.667z",key:"svg-0"}],["path",{d:"M4.012 16.737a2.005 2.005 0 0 1 -1.012 -1.737v-10c0 -1.1 .9 -2 2 -2h10c.75 0 1.158 .385 1.5 1",key:"svg-1"}]]),q=h("eye-off","IconEyeOff",[["path",{d:"M10.585 10.587a2 2 0 0 0 2.829 2.828",key:"svg-0"}],["path",{d:"M16.681 16.673a8.717 8.717 0 0 1 -4.681 1.327c-3.6 0 -6.6 -2 -9 -6c1.272 -2.12 2.712 -3.678 4.32 -4.674m2.86 -1.146a9.055 9.055 0 0 1 1.82 -.18c3.6 0 6.6 2 9 6c-.666 1.11 -1.379 2.067 -2.138 2.87",key:"svg-1"}],["path",{d:"M3 3l18 18",key:"svg-2"}]]),A=h("eye","IconEye",[["path",{d:"M10 12a2 2 0 1 0 4 0a2 2 0 0 0 -4 0",key:"svg-0"}],["path",{d:"M21 12c-2.4 4 -5.4 6 -9 6c-3.6 0 -6.6 -2 -9 -6c2.4 -4 5.4 -6 9 -6c3.6 0 6.6 2 9 6",key:"svg-1"}]]);const v=d.forwardRef(({className:s,...r},i)=>{const[t,o]=d.useState(!1);return e.jsxs("div",{className:"relative rounded-md",children:[e.jsx("input",{type:t?"text":"password",className:y("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",s),ref:i,...r}),e.jsx(m,{type:"button",size:"icon",variant:"ghost",className:"absolute right-1 top-1/2 h-6 w-6 -translate-y-1/2 rounded-md text-muted-foreground",onClick:()=>o(a=>!a),children:t?e.jsx(A,{size:18}):e.jsx(q,{size:18})})]})});v.displayName="PasswordInput";const H=s=>N({url:"/passport/auth/login",method:"post",data:s}),K="access_token";function L(s){k.set(K,s)}const V=l.object({email:l.string().min(1,{message:"请输入邮箱地址"}).email({message:"邮箱地址格式不正确"}),password:l.string().min(1,{message:"请输入密码"}).min(7,{message:"密码长度至少为7个字符"})});function G({className:s,onForgotPassword:r,...i}){const t=C(),o=F(),a=E({resolver:z(V),defaultValues:{email:"",password:""}});async function w(c){try{const{data:n}=await H(c);n&&(L(n.auth_data),o(I(n.auth_data)),await o(S()).unwrap(),t("/"))}catch(n){const b=n instanceof Error?n.message:"登录失败";p.error(b)}}return e.jsx("div",{className:y("grid gap-6",s),...i,children:e.jsx(M,{...a,children:e.jsx("form",{onSubmit:a.handleSubmit(w),children:e.jsxs("div",{className:"grid gap-2",children:[e.jsx(x,{control:a.control,name:"email",render:({field:c})=>e.jsxs(u,{className:"space-y-1",children:[e.jsx(g,{children:"邮箱地址"}),e.jsx(f,{children:e.jsx(T,{placeholder:"name@example.com",...c})}),e.jsx(j,{})]})}),e.jsx(x,{control:a.control,name:"password",render:({field:c})=>e.jsxs(u,{className:"space-y-1",children:[e.jsx(g,{children:"密码"}),e.jsx(f,{children:e.jsx(v,{placeholder:"请输入密码",...c})}),e.jsx(j,{})]})}),e.jsx(m,{className:"mt-2",loading:a.formState.isSubmitting,children:"登录"}),e.jsx(m,{variant:"link",type:"button",className:"mt-1 text-sm text-muted-foreground hover:text-primary",onClick:r,children:"忘记密码?"})]})})})})}function oe(){const[s,r]=d.useState(!1),i=async o=>{try{await navigator.clipboard.writeText(o),p.success("命令已复制到剪贴板")}catch{p.error("复制失败,请手动复制")}},t="php artisan reset:password 管理员邮箱";return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"container grid h-svh flex-col items-center justify-center bg-primary-foreground lg:max-w-none lg:px-0",children:e.jsxs("div",{className:"mx-auto flex w-full flex-col justify-center space-y-2 sm:w-[480px] lg:p-8",children:[e.jsx("div",{className:"mb-4 flex items-center justify-center",children:e.jsx("h1",{className:"text-3xl font-medium",children:window?.settings?.title})}),e.jsxs(D,{className:"p-6",children:[e.jsxs("div",{className:"flex flex-col space-y-2 text-left",children:[e.jsx("h1",{className:"text-2xl font-semibold tracking-tight",children:"登录"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"请输入您的邮箱和密码登录系统"})]}),e.jsx(G,{onForgotPassword:()=>r(!0)})]})]})}),e.jsx(O,{open:s,onOpenChange:r,children:e.jsx(P,{children:e.jsxs(B,{children:[e.jsx(_,{children:"忘记密码"}),e.jsx(R,{children:"在站点目录下执行以下命令找回密码"}),e.jsx("div",{className:"mt-2",children:e.jsxs("div",{className:"relative",children:[e.jsx("pre",{className:"rounded-md bg-secondary p-4 pr-12",children:t}),e.jsx(U,{variant:"ghost",size:"icon",className:"absolute right-2 top-2 h-8 w-8 hover:bg-secondary-foreground/10",onClick:()=>i(t),children:e.jsx($,{className:"h-4 w-4"})})]})})]})})})]})}export{oe as default}; diff --git a/public/assets/admin/assets/skeleton-Dzu0p8kx.js b/public/assets/admin/assets/skeleton-Dzu0p8kx.js deleted file mode 100644 index 458287e17..000000000 --- a/public/assets/admin/assets/skeleton-Dzu0p8kx.js +++ /dev/null @@ -1 +0,0 @@ -import{j as r,a as s}from"./index-_xd8OyP8.js";function t({className:a,...e}){return r.jsx("div",{className:s("animate-pulse rounded-md bg-primary/10",a),...e})}export{t as S}; diff --git a/public/assets/admin/assets/switch-w5WyeRwk.js b/public/assets/admin/assets/switch-w5WyeRwk.js deleted file mode 100644 index b328304c0..000000000 --- a/public/assets/admin/assets/switch-w5WyeRwk.js +++ /dev/null @@ -1 +0,0 @@ -import{r as s,v as _,j as r,a as S}from"./index-_xd8OyP8.js";import{c as H,u as I,a as M}from"./index-BwSRHYe4.js";import{u as B}from"./index-CRh0M8qI.js";import{u as q}from"./index-BlMNiBlp.js";import{P as g}from"./index-CX6PQ3zO.js";var v="Switch",[z,J]=H(v),[A,O]=z(v),x=s.forwardRef((e,o)=>{const{__scopeSwitch:t,name:a,checked:n,defaultChecked:l,required:i,disabled:c,value:d="on",onCheckedChange:b,form:m,...p}=e,[u,E]=s.useState(null),R=_(o,f=>E(f)),k=s.useRef(!1),w=u?m||!!u.closest("form"):!0,[h=!1,N]=I({prop:n,defaultProp:l,onChange:b});return r.jsxs(A,{scope:t,checked:h,disabled:c,children:[r.jsx(g.button,{type:"button",role:"switch","aria-checked":h,"aria-required":i,"data-state":P(h),"data-disabled":c?"":void 0,disabled:c,value:d,...p,ref:R,onClick:M(e.onClick,f=>{N(T=>!T),w&&(k.current=f.isPropagationStopped(),k.current||f.stopPropagation())})}),w&&r.jsx(D,{control:u,bubbles:!k.current,name:a,value:d,checked:h,required:i,disabled:c,form:m,style:{transform:"translateX(-100%)"}})]})});x.displayName=v;var C="SwitchThumb",y=s.forwardRef((e,o)=>{const{__scopeSwitch:t,...a}=e,n=O(C,t);return r.jsx(g.span,{"data-state":P(n.checked),"data-disabled":n.disabled?"":void 0,...a,ref:o})});y.displayName=C;var D=e=>{const{control:o,checked:t,bubbles:a=!0,...n}=e,l=s.useRef(null),i=B(t),c=q(o);return s.useEffect(()=>{const d=l.current,b=window.HTMLInputElement.prototype,p=Object.getOwnPropertyDescriptor(b,"checked").set;if(i!==t&&p){const u=new Event("click",{bubbles:a});p.call(d,t),d.dispatchEvent(u)}},[i,t,a]),r.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:t,...n,tabIndex:-1,ref:l,style:{...e.style,...c,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function P(e){return e?"checked":"unchecked"}var j=x,F=y;const L=s.forwardRef(({className:e,...o},t)=>r.jsx(j,{className:S("peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",e),...o,ref:t,children:r.jsx(F,{className:S("pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0")})}));L.displayName=j.displayName;export{L as S}; diff --git a/public/assets/admin/assets/textarea-Bmd-AJpD.js b/public/assets/admin/assets/textarea-Bmd-AJpD.js deleted file mode 100644 index 2e9bc32f6..000000000 --- a/public/assets/admin/assets/textarea-Bmd-AJpD.js +++ /dev/null @@ -1 +0,0 @@ -import{r as s,j as o,a as t}from"./index-_xd8OyP8.js";const i=s.forwardRef(({className:e,...r},a)=>o.jsx("textarea",{className:t("flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",e),ref:a,...r}));i.displayName="Textarea";export{i as T}; diff --git a/public/assets/admin/assets/tooltip-B58e4dA7.js b/public/assets/admin/assets/tooltip-B58e4dA7.js deleted file mode 100644 index c9d05c50d..000000000 --- a/public/assets/admin/assets/tooltip-B58e4dA7.js +++ /dev/null @@ -1 +0,0 @@ -import{r as s,v as M,j as f,y as V,a as Y}from"./index-_xd8OyP8.js";import{c as q,a as C,u as X}from"./index-BwSRHYe4.js";import{P as K,D as W,u as J}from"./index-CcyXqhZ9.js";import{j as N,A as Q,C as Z,k as ee,l as te}from"./sidelinks-DLs_k-Mk.js";import{P as oe}from"./index-CX6PQ3zO.js";import{R as re}from"./index-kwEAqj-e.js";var[R,De]=q("Tooltip",[N]),O=N(),H="TooltipProvider",ne=700,A="tooltip.open",[se,k]=R(H),S=t=>{const{__scopeTooltip:o,delayDuration:e=ne,skipDelayDuration:r=300,disableHoverableContent:n=!1,children:l}=t,[i,v]=s.useState(!0),a=s.useRef(!1),u=s.useRef(0);return s.useEffect(()=>{const c=u.current;return()=>window.clearTimeout(c)},[]),f.jsx(se,{scope:o,isOpenDelayed:i,delayDuration:e,onOpen:s.useCallback(()=>{window.clearTimeout(u.current),v(!1)},[]),onClose:s.useCallback(()=>{window.clearTimeout(u.current),u.current=window.setTimeout(()=>v(!0),r)},[r]),isPointerInTransitRef:a,onPointerInTransitChange:s.useCallback(c=>{a.current=c},[]),disableHoverableContent:n,children:l})};S.displayName=H;var _="Tooltip",[ae,D]=R(_),G=t=>{const{__scopeTooltip:o,children:e,open:r,defaultOpen:n=!1,onOpenChange:l,disableHoverableContent:i,delayDuration:v}=t,a=k(_,t.__scopeTooltip),u=O(o),[c,p]=s.useState(null),h=J(),d=s.useRef(0),x=i??a.disableHoverableContent,T=v??a.delayDuration,m=s.useRef(!1),[g=!1,y]=X({prop:r,defaultProp:n,onChange:I=>{I?(a.onOpen(),document.dispatchEvent(new CustomEvent(A))):a.onClose(),l?.(I)}}),w=s.useMemo(()=>g?m.current?"delayed-open":"instant-open":"closed",[g]),E=s.useCallback(()=>{window.clearTimeout(d.current),d.current=0,m.current=!1,y(!0)},[y]),P=s.useCallback(()=>{window.clearTimeout(d.current),d.current=0,y(!1)},[y]),j=s.useCallback(()=>{window.clearTimeout(d.current),d.current=window.setTimeout(()=>{m.current=!0,y(!0),d.current=0},T)},[T,y]);return s.useEffect(()=>()=>{d.current&&(window.clearTimeout(d.current),d.current=0)},[]),f.jsx(te,{...u,children:f.jsx(ae,{scope:o,contentId:h,open:g,stateAttribute:w,trigger:c,onTriggerChange:p,onTriggerEnter:s.useCallback(()=>{a.isOpenDelayed?j():E()},[a.isOpenDelayed,j,E]),onTriggerLeave:s.useCallback(()=>{x?P():(window.clearTimeout(d.current),d.current=0)},[P,x]),onOpen:E,onClose:P,disableHoverableContent:x,children:e})})};G.displayName=_;var L="TooltipTrigger",F=s.forwardRef((t,o)=>{const{__scopeTooltip:e,...r}=t,n=D(L,e),l=k(L,e),i=O(e),v=s.useRef(null),a=M(o,v,n.onTriggerChange),u=s.useRef(!1),c=s.useRef(!1),p=s.useCallback(()=>u.current=!1,[]);return s.useEffect(()=>()=>document.removeEventListener("pointerup",p),[p]),f.jsx(Q,{asChild:!0,...i,children:f.jsx(oe.button,{"aria-describedby":n.open?n.contentId:void 0,"data-state":n.stateAttribute,...r,ref:a,onPointerMove:C(t.onPointerMove,h=>{h.pointerType!=="touch"&&!c.current&&!l.isPointerInTransitRef.current&&(n.onTriggerEnter(),c.current=!0)}),onPointerLeave:C(t.onPointerLeave,()=>{n.onTriggerLeave(),c.current=!1}),onPointerDown:C(t.onPointerDown,()=>{u.current=!0,document.addEventListener("pointerup",p,{once:!0})}),onFocus:C(t.onFocus,()=>{u.current||n.onOpen()}),onBlur:C(t.onBlur,n.onClose),onClick:C(t.onClick,n.onClose)})})});F.displayName=L;var ie="TooltipPortal",[Ae,le]=R(ie,{forceMount:void 0}),b="TooltipContent",B=s.forwardRef((t,o)=>{const e=le(b,t.__scopeTooltip),{forceMount:r=e.forceMount,side:n="top",...l}=t,i=D(b,t.__scopeTooltip);return f.jsx(K,{present:r||i.open,children:i.disableHoverableContent?f.jsx($,{side:n,...l,ref:o}):f.jsx(ce,{side:n,...l,ref:o})})}),ce=s.forwardRef((t,o)=>{const e=D(b,t.__scopeTooltip),r=k(b,t.__scopeTooltip),n=s.useRef(null),l=M(o,n),[i,v]=s.useState(null),{trigger:a,onClose:u}=e,c=n.current,{onPointerInTransitChange:p}=r,h=s.useCallback(()=>{v(null),p(!1)},[p]),d=s.useCallback((x,T)=>{const m=x.currentTarget,g={x:x.clientX,y:x.clientY},y=fe(g,m.getBoundingClientRect()),w=ve(g,y),E=xe(T.getBoundingClientRect()),P=me([...w,...E]);v(P),p(!0)},[p]);return s.useEffect(()=>()=>h(),[h]),s.useEffect(()=>{if(a&&c){const x=m=>d(m,c),T=m=>d(m,a);return a.addEventListener("pointerleave",x),c.addEventListener("pointerleave",T),()=>{a.removeEventListener("pointerleave",x),c.removeEventListener("pointerleave",T)}}},[a,c,d,h]),s.useEffect(()=>{if(i){const x=T=>{const m=T.target,g={x:T.clientX,y:T.clientY},y=a?.contains(m)||c?.contains(m),w=!he(g,i);y?h():w&&(h(),u())};return document.addEventListener("pointermove",x),()=>document.removeEventListener("pointermove",x)}},[a,c,i,u,h]),f.jsx($,{...t,ref:l})}),[ue,de]=R(_,{isInside:!1}),$=s.forwardRef((t,o)=>{const{__scopeTooltip:e,children:r,"aria-label":n,onEscapeKeyDown:l,onPointerDownOutside:i,...v}=t,a=D(b,e),u=O(e),{onClose:c}=a;return s.useEffect(()=>(document.addEventListener(A,c),()=>document.removeEventListener(A,c)),[c]),s.useEffect(()=>{if(a.trigger){const p=h=>{h.target?.contains(a.trigger)&&c()};return window.addEventListener("scroll",p,{capture:!0}),()=>window.removeEventListener("scroll",p,{capture:!0})}},[a.trigger,c]),f.jsx(W,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:l,onPointerDownOutside:i,onFocusOutside:p=>p.preventDefault(),onDismiss:c,children:f.jsxs(Z,{"data-state":a.stateAttribute,...u,...v,ref:o,style:{...v.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[f.jsx(V,{children:r}),f.jsx(ue,{scope:e,isInside:!0,children:f.jsx(re,{id:a.contentId,role:"tooltip",children:n||r})})]})})});B.displayName=b;var z="TooltipArrow",pe=s.forwardRef((t,o)=>{const{__scopeTooltip:e,...r}=t,n=O(e);return de(z,e).isInside?null:f.jsx(ee,{...n,...r,ref:o})});pe.displayName=z;function fe(t,o){const e=Math.abs(o.top-t.y),r=Math.abs(o.bottom-t.y),n=Math.abs(o.right-t.x),l=Math.abs(o.left-t.x);switch(Math.min(e,r,n,l)){case l:return"left";case n:return"right";case e:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function ve(t,o,e=5){const r=[];switch(o){case"top":r.push({x:t.x-e,y:t.y+e},{x:t.x+e,y:t.y+e});break;case"bottom":r.push({x:t.x-e,y:t.y-e},{x:t.x+e,y:t.y-e});break;case"left":r.push({x:t.x+e,y:t.y-e},{x:t.x+e,y:t.y+e});break;case"right":r.push({x:t.x-e,y:t.y-e},{x:t.x-e,y:t.y+e});break}return r}function xe(t){const{top:o,right:e,bottom:r,left:n}=t;return[{x:n,y:o},{x:e,y:o},{x:e,y:r},{x:n,y:r}]}function he(t,o){const{x:e,y:r}=t;let n=!1;for(let l=0,i=o.length-1;lr!=c>r&&e<(u-v)*(r-a)/(c-a)+v&&(n=!n)}return n}function me(t){const o=t.slice();return o.sort((e,r)=>e.xr.x?1:e.yr.y?1:0),Te(o)}function Te(t){if(t.length<=1)return t.slice();const o=[];for(let r=0;r=2;){const l=o[o.length-1],i=o[o.length-2];if((l.x-i.x)*(n.y-i.y)>=(l.y-i.y)*(n.x-i.x))o.pop();else break}o.push(n)}o.pop();const e=[];for(let r=t.length-1;r>=0;r--){const n=t[r];for(;e.length>=2;){const l=e[e.length-1],i=e[e.length-2];if((l.x-i.x)*(n.y-i.y)>=(l.y-i.y)*(n.x-i.x))e.pop();else break}e.push(n)}return e.pop(),o.length===1&&e.length===1&&o[0].x===e[0].x&&o[0].y===e[0].y?o:o.concat(e)}var ye=S,ge=G,Ce=F,U=B;const Le=ye,ke=ge,je=Ce,be=s.forwardRef(({className:t,sideOffset:o=4,...e},r)=>f.jsx(U,{ref:r,sideOffset:o,className:Y("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...e}));be.displayName=U.displayName;export{Le as T,ke as a,je as b,be as c}; diff --git a/public/assets/admin/assets/traffic-record-table-ChIQ7swu.js b/public/assets/admin/assets/traffic-record-table-ChIQ7swu.js deleted file mode 100644 index 92f84aa4b..000000000 --- a/public/assets/admin/assets/traffic-record-table-ChIQ7swu.js +++ /dev/null @@ -1 +0,0 @@ -import{r as p,j as e,a as N,x as q,B as v,t as I}from"./index-_xd8OyP8.js";import{z as l,t as Q}from"./zod-x_8lkCGK.js";import{u as J,F as W,a as o,b as i,c,e as u,d as y}from"./form-DIzSOdtk.js";import{I as j}from"./input-d0vtE30O.js";import{a as X,b as Z}from"./react-icons.esm-rZq2pt7A.js";import{V as ee,ab as se,ac as ae}from"./index-BycJudEO.js";import{S,a as T,b as k,c as _,d as f}from"./select-Cqkdx-UJ.js";import{P as ne,a as re,b as le}from"./popover-C5eiPdqD.js";import{C as te,b as oe}from"./calendar-DHKoWj25.js";import{a as F,e as ie,b as P}from"./common-BL1VIuho.js";import{O,C as V,l as ce,j as L,k as A,P as de,R as me,T as xe,D as he,e as ue,a as je,b as pe,c as ge,B as H}from"./button-DhrtVlOa.js";import{S as R}from"./switch-w5WyeRwk.js";import{T as ve}from"./textarea-Bmd-AJpD.js";import{u as be,g as fe,T as Ne,h as Ce,i as w,j as ye,k as B,l as we,m as z,B as Se}from"./column-header-BLyyjrhJ.js";import{u as Te}from"./useQuery-mr7Ep0hT.js";import{S as ke}from"./skeleton-Dzu0p8kx.js";const _e=me,De=xe,Pe=de,K=p.forwardRef(({className:n,...t},x)=>e.jsx(O,{className:N("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",n),...t,ref:x}));K.displayName=O.displayName;const ze=q("fixed overflow-y-scroll z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-300 data-[state=open]:animate-in data-[state=closed]:animate-out",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-md",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-md"}},defaultVariants:{side:"right"}}),U=p.forwardRef(({side:n="right",className:t,children:x,...C},h)=>e.jsxs(Pe,{children:[e.jsx(K,{}),e.jsxs(V,{ref:h,className:N(ze({side:n}),t),...C,children:[e.jsxs(ce,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[e.jsx(X,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:"Close"})]}),x]})]}));U.displayName=V.displayName;const E=({className:n,...t})=>e.jsx("div",{className:N("flex flex-col space-y-2 text-center sm:text-left",n),...t});E.displayName="SheetHeader";const Y=({className:n,...t})=>e.jsx("div",{className:N("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",n),...t});Y.displayName="SheetFooter";const $=p.forwardRef(({className:n,...t},x)=>e.jsx(L,{ref:x,className:N("text-lg font-semibold text-foreground",n),...t}));$.displayName=L.displayName;const G=p.forwardRef(({className:n,...t},x)=>e.jsx(A,{ref:x,className:N("text-sm text-muted-foreground",n),...t}));G.displayName=A.displayName;const Me=l.object({id:l.number(),email:l.string().email(),invite_user_email:l.string().email().nullable().optional(),password:l.string().optional().nullable(),balance:l.coerce.number(),commission_balance:l.coerce.number(),u:l.number(),d:l.number(),transfer_enable:l.number(),expired_at:l.number().nullable(),plan_id:l.number().nullable(),banned:l.number(),commission_type:l.number(),commission_rate:l.number().nullable(),discount:l.number().nullable(),speed_limit:l.number().nullable(),is_admin:l.number(),is_staff:l.number(),remarks:l.string().nullable()});function Ze({refetch:n,defaultValues:t,dialogTrigger:x=e.jsxs(v,{variant:"outline",size:"sm",className:"ml-auto hidden h-8 lg:flex",children:[e.jsx(Z,{className:"mr-2 h-4 w-4"}),"编辑用户信息"]})}){const[C,h]=p.useState(!1),[D,g]=p.useState(!1),r=J({resolver:Q(Me),defaultValues:t,mode:"onChange"}),[m,d]=p.useState([]);return p.useEffect(()=>{C&&ee().then(({data:s})=>{d(s)})},[C]),e.jsxs(_e,{open:C,onOpenChange:h,children:[e.jsx(De,{asChild:!0,children:x}),e.jsxs(U,{className:"max-w-[90%] space-y-4 ",children:[e.jsxs(E,{children:[e.jsx($,{children:"用户管理"}),e.jsx(G,{})]}),e.jsxs(W,{...r,children:[e.jsx(o,{control:r.control,name:"email",render:({field:s})=>e.jsxs(i,{children:[e.jsx(c,{children:"邮箱"}),e.jsx(j,{...s,placeholder:"请输入邮箱"}),e.jsx(u,{...s})]})}),e.jsx(o,{control:r.control,name:"invite_user_email",render:({field:s})=>e.jsxs(i,{children:[e.jsx(c,{children:"邀请人邮箱"}),e.jsx(j,{value:s.value||"",onChange:a=>s.onChange(a.target.value?a.target.value:null),placeholder:"请输入邮箱"}),e.jsx(u,{...s})]})}),e.jsx(o,{control:r.control,name:"password",render:({field:s})=>e.jsxs(i,{children:[e.jsx(c,{children:"密码"}),e.jsx(j,{value:s.value||"",onChange:s.onChange,placeholder:"如需修改密码请输入"}),e.jsx(u,{...s})]})}),e.jsxs("div",{className:"grid gap-2 md:grid-cols-2",children:[e.jsx(o,{control:r.control,name:"balance",render:({field:s})=>e.jsxs(i,{children:[e.jsx(c,{children:"余额"}),e.jsxs("div",{className:"flex",children:[e.jsx(j,{type:"number",value:s.value||"",onChange:s.onChange,placeholder:"请输入余额",className:"rounded-r-none"}),e.jsx("div",{className:"z-[-1] rounded-md rounded-l-none border border-l-0 border-input px-3 py-1 shadow-sm",children:"¥"})]}),e.jsx(u,{...s})]})}),e.jsx(o,{control:r.control,name:"commission_balance",render:({field:s})=>e.jsxs(i,{children:[e.jsx(c,{children:"佣金余额"}),e.jsxs("div",{className:"flex",children:[e.jsx(j,{type:"number",value:s.value||"",onChange:s.onChange,placeholder:"请输入佣金余额",className:"rounded-r-none"}),e.jsx("div",{className:"z-[-1] rounded-md rounded-l-none border border-l-0 border-input px-3 py-1 shadow-sm",children:"¥"})]}),e.jsx(u,{...s})]})}),e.jsx(o,{control:r.control,name:"u",render:({field:s})=>e.jsxs(i,{children:[e.jsx(c,{children:"已用上行"}),e.jsxs("div",{className:"flex",children:[e.jsx(j,{type:"number",value:(s.value/1024/1024/1024).toFixed(3)||"",onChange:a=>s.onChange(parseInt(a.target.value)*1024*1024*1024),placeholder:"已用上行",className:"rounded-r-none"}),e.jsx("div",{className:"z-[-1] rounded-md rounded-l-none border border-l-0 border-input px-3 py-1 shadow-sm",children:"GB"})]}),e.jsx(u,{...s})]})}),e.jsx(o,{control:r.control,name:"d",render:({field:s})=>e.jsxs(i,{children:[e.jsx(c,{children:"已用下行"}),e.jsxs("div",{className:"flex",children:[e.jsx(j,{type:"number",value:(s.value/1024/1024/1024).toFixed(3)||"",onChange:a=>s.onChange(parseInt(a.target.value)*1024*1024*1024),placeholder:"已用下行",className:"rounded-r-none"}),e.jsx("div",{className:"z-[-1] rounded-md rounded-l-none border border-l-0 border-input px-3 py-1 shadow-sm",children:"GB"})]}),e.jsx(u,{...s})]})})]}),e.jsx(o,{control:r.control,name:"transfer_enable",render:({field:s})=>e.jsxs(i,{children:[e.jsx(c,{children:"流量"}),e.jsxs("div",{className:"flex",children:[e.jsx(j,{type:"number",value:s.value/1024/1024/1024||"",onChange:a=>s.onChange(parseInt(a.target.value)*1024*1024*1024),placeholder:"请输入流量",className:"rounded-r-none "}),e.jsx("div",{className:"z-[-1] rounded-md rounded-l-none border border-l-0 border-input px-3 py-1 shadow-sm",children:"GB"})]}),e.jsx(u,{})]})}),e.jsx(o,{control:r.control,name:"expired_at",render:({field:s})=>e.jsxs(i,{className:"flex flex-col",children:[e.jsx(c,{children:"到期时间"}),e.jsxs(ne,{open:D,onOpenChange:g,children:[e.jsx(re,{asChild:!0,children:e.jsx(y,{children:e.jsxs(v,{type:"button",variant:"outline",className:N("w-full pl-3 text-left font-normal",!s.value&&"text-muted-foreground"),onClick:()=>g(!0),children:[s.value?F(s.value):e.jsx("span",{children:"请选择用户到期日期,留空为长期有效"}),e.jsx(te,{className:"ml-auto h-4 w-4 opacity-50"})]})})}),e.jsx(le,{className:"w-auto p-0",align:"start",side:"top",sideOffset:4,onInteractOutside:a=>{a.preventDefault()},onEscapeKeyDown:a=>{a.preventDefault()},children:e.jsxs("div",{className:"flex flex-col space-y-3 p-3",children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx(v,{type:"button",variant:"outline",className:"flex-1",onClick:()=>{s.onChange(null),g(!1)},children:"长期有效"}),e.jsx(v,{type:"button",variant:"outline",className:"flex-1",onClick:()=>{const a=new Date;a.setMonth(a.getMonth()+1),a.setHours(23,59,59,999),s.onChange(Math.floor(a.getTime()/1e3)),g(!1)},children:"一个月"}),e.jsx(v,{type:"button",variant:"outline",className:"flex-1",onClick:()=>{const a=new Date;a.setMonth(a.getMonth()+3),a.setHours(23,59,59,999),s.onChange(Math.floor(a.getTime()/1e3)),g(!1)},children:"三个月"})]}),e.jsx("div",{className:"rounded-md border",children:e.jsx(oe,{mode:"single",selected:s.value?new Date(s.value*1e3):void 0,onSelect:a=>{if(a){const b=new Date(s.value?s.value*1e3:Date.now());a.setHours(b.getHours(),b.getMinutes(),b.getSeconds()),s.onChange(Math.floor(a.getTime()/1e3))}},disabled:a=>a{const a=new Date;a.setHours(23,59,59,999),s.onChange(Math.floor(a.getTime()/1e3))},className:"h-6 px-2 text-xs",children:"设为当天结束"})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(j,{type:"datetime-local",step:"1",value:F(s.value,"YYYY-MM-DDTHH:mm:ss"),onChange:a=>{const b=new Date(a.target.value);isNaN(b.getTime())||s.onChange(Math.floor(b.getTime()/1e3))},className:"flex-1"}),e.jsx(v,{type:"button",variant:"outline",onClick:()=>g(!1),children:"确定"})]})]})]})})]}),e.jsx(u,{})]})}),e.jsx(o,{control:r.control,name:"plan_id",render:({field:s})=>e.jsxs(i,{children:[e.jsx(c,{children:"订阅计划"}),e.jsx(y,{children:e.jsxs(S,{value:s.value?s.value.toString():"null",onValueChange:a=>s.onChange(a==="null"?null:parseInt(a)),children:[e.jsx(T,{children:e.jsx(k,{placeholder:"无"})}),e.jsxs(_,{children:[e.jsx(f,{value:"null",children:"无"}),m.map(a=>e.jsx(f,{value:a.id.toString(),children:a.name},a.id))]})]})})]})}),e.jsx(o,{control:r.control,name:"banned",render:({field:s})=>e.jsxs(i,{children:[e.jsx(c,{children:"账户状态"}),e.jsx(y,{children:e.jsxs(S,{value:s.value.toString(),onValueChange:a=>s.onChange(parseInt(a)),children:[e.jsx(T,{children:e.jsx(k,{})}),e.jsxs(_,{children:[e.jsx(f,{value:"1",children:"封禁"}),e.jsx(f,{value:"0",children:"正常"})]})]})})]})}),e.jsx(o,{control:r.control,name:"commission_type",render:({field:s})=>e.jsxs(i,{children:[e.jsx(c,{children:"佣金类型"}),e.jsx(y,{children:e.jsxs(S,{value:s.value.toString(),onValueChange:a=>s.onChange(parseInt(a)),children:[e.jsx(T,{children:e.jsx(k,{placeholder:"无"})}),e.jsxs(_,{children:[e.jsx(f,{value:"0",children:"跟随系统设置"}),e.jsx(f,{value:"1",children:"循环返利"}),e.jsx(f,{value:"2",children:"首次返利"})]})]})})]})}),e.jsx(o,{control:r.control,name:"commission_rate",render:({field:s})=>e.jsxs(i,{children:[e.jsx(c,{children:"推荐返利比例"}),e.jsxs("div",{className:"flex",children:[e.jsx(j,{type:"number",value:s.value||"",onChange:a=>s.onChange(parseInt(a.currentTarget.value)||null),placeholder:"请输入推荐返利比例(为空则跟随站点设置返利比例)",className:"rounded-r-none "}),e.jsx("div",{className:"z-[-1] rounded-md rounded-l-none border border-l-0 border-input px-3 py-1 shadow-sm",children:"%"})]}),e.jsx(u,{})]})}),e.jsx(o,{control:r.control,name:"discount",render:({field:s})=>e.jsxs(i,{children:[e.jsx(c,{children:"专享折扣比例"}),e.jsxs("div",{className:"flex",children:[e.jsx(j,{type:"number",value:s.value||"",onChange:a=>s.onChange(parseInt(a.currentTarget.value)||null),placeholder:"请输入专享折扣比例(为空则不享受专享折扣)",className:"rounded-r-none "}),e.jsx("div",{className:"z-[-1] rounded-md rounded-l-none border border-l-0 border-input px-3 py-1 shadow-sm",children:"%"})]}),e.jsx(u,{})]})}),e.jsx(o,{control:r.control,name:"speed_limit",render:({field:s})=>e.jsxs(i,{children:[e.jsx(c,{children:"限速"}),e.jsxs("div",{className:"flex",children:[e.jsx(j,{type:"number",value:s.value||"",onChange:a=>s.onChange(parseInt(a.currentTarget.value)||null),placeholder:"留空则不限速",className:"rounded-r-none "}),e.jsx("div",{className:"z-[-1] rounded-md rounded-l-none border border-l-0 border-input px-3 py-1 shadow-sm",children:"Mbps"})]}),e.jsx(u,{})]})}),e.jsx(o,{control:r.control,name:"is_admin",render:({field:s})=>e.jsxs(i,{children:[e.jsx(c,{children:"是否管理员"}),e.jsx("div",{className:"py-2",children:e.jsx(y,{children:e.jsx(R,{checked:s.value===1,onCheckedChange:a=>s.onChange(a?1:0)})})})]})}),e.jsx(o,{control:r.control,name:"is_staff",render:({field:s})=>e.jsxs(i,{children:[e.jsx(c,{children:"是否员工"}),e.jsx("div",{className:"py-2",children:e.jsx(y,{children:e.jsx(R,{checked:s.value===1,onCheckedChange:a=>s.onChange(a?1:0)})})})]})}),e.jsx(o,{control:r.control,name:"remarks",render:({field:s})=>e.jsxs(i,{children:[e.jsx(c,{children:"备注"}),e.jsx(ve,{className:"h-24",value:s.value||"",onChange:a=>s.onChange(a.currentTarget.value??null),placeholder:"请在这里记录"})]})})]}),e.jsxs(Y,{children:[e.jsx(v,{variant:"outline",onClick:()=>h(!1),children:"取消"}),e.jsx(v,{type:"submit",onClick:()=>{r.handleSubmit(s=>{se(s).then(({data:a})=>{a&&(I.success("修改成功"),h(!1),n())}).catch(a=>{I.error("修改失败")})})()},children:"提交"})]})]})]})}const Ie=n=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...n,children:e.jsx("path",{fill:"currentColor",d:"m17.71 11.29l-5-5a1 1 0 0 0-.33-.21a1 1 0 0 0-.76 0a1 1 0 0 0-.33.21l-5 5a1 1 0 0 0 1.42 1.42L11 9.41V17a1 1 0 0 0 2 0V9.41l3.29 3.3a1 1 0 0 0 1.42 0a1 1 0 0 0 0-1.42"})}),Fe=n=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...n,children:e.jsx("path",{fill:"currentColor",d:"M17.71 11.29a1 1 0 0 0-1.42 0L13 14.59V7a1 1 0 0 0-2 0v7.59l-3.29-3.3a1 1 0 0 0-1.42 1.42l5 5a1 1 0 0 0 .33.21a.94.94 0 0 0 .76 0a1 1 0 0 0 .33-.21l5-5a1 1 0 0 0 0-1.42"})}),He=n=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...n,children:e.jsx("path",{fill:"currentColor",d:"M17 11H9.41l3.3-3.29a1 1 0 1 0-1.42-1.42l-5 5a1 1 0 0 0-.21.33a1 1 0 0 0 0 .76a1 1 0 0 0 .21.33l5 5a1 1 0 0 0 1.42 0a1 1 0 0 0 0-1.42L9.41 13H17a1 1 0 0 0 0-2"})}),Re=n=>e.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...n,children:e.jsx("path",{fill:"currentColor",d:"M17.92 11.62a1 1 0 0 0-.21-.33l-5-5a1 1 0 0 0-1.42 1.42l3.3 3.29H7a1 1 0 0 0 0 2h7.59l-3.3 3.29a1 1 0 0 0 0 1.42a1 1 0 0 0 1.42 0l5-5a1 1 0 0 0 .21-.33a1 1 0 0 0 0-.76"})}),M=[{accessorKey:"record_at",header:"时间",cell:({row:n})=>e.jsx("div",{className:"flex items-center space-x-2",children:e.jsx("time",{className:"text-sm text-muted-foreground",children:ie(n.original.record_at)})})},{accessorKey:"u",header:"上行流量",cell:({row:n})=>e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(Ie,{className:"h-4 w-4 text-emerald-500"}),e.jsx("span",{className:"font-mono text-sm",children:P(n.original.u)})]})},{accessorKey:"d",header:"下行流量",cell:({row:n})=>e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(Fe,{className:"h-4 w-4 text-blue-500"}),e.jsx("span",{className:"font-mono text-sm",children:P(n.original.d)})]})},{accessorKey:"server_rate",header:"倍率",cell:({row:n})=>{const t=n.original.server_rate;return e.jsx("div",{className:"flex items-center space-x-2",children:e.jsxs(Se,{variant:"outline",className:"font-mono",children:[t,"x"]})})}},{id:"total",header:"总计",cell:({row:n})=>{const t=(n.original.u+n.original.d)*n.original.server_rate;return e.jsx("div",{className:"flex items-center justify-end font-mono text-sm",children:P(t)})}}];function es({user_id:n,dialogTrigger:t}){const[x,C]=p.useState(!1),[h,D]=p.useState({pageIndex:0,pageSize:10}),{data:g,isLoading:r}=Te({queryKey:["userStats",n,h,x],queryFn:()=>x?ae({user_id:n,pageSize:h.pageSize,page:h.pageIndex+1}):null}),m=be({data:g?.data??[],columns:M,pageCount:Math.ceil((g?.total??0)/h.pageSize),state:{pagination:h},manualPagination:!0,getCoreRowModel:fe(),onPaginationChange:D});return e.jsxs(he,{open:x,onOpenChange:C,children:[e.jsx(ue,{asChild:!0,children:t}),e.jsxs(je,{className:"sm:max-w-[700px]",children:[e.jsx(pe,{children:e.jsx(ge,{children:"流量使用记录"})}),e.jsxs("div",{className:"space-y-4",children:[e.jsx("div",{className:"rounded-md border",children:e.jsxs(Ne,{children:[e.jsx(Ce,{children:m.getHeaderGroups().map(d=>e.jsx(w,{children:d.headers.map(s=>e.jsx(ye,{className:N("h-10 px-2 text-xs",s.id==="total"&&"text-right"),children:s.isPlaceholder?null:B(s.column.columnDef.header,s.getContext())},s.id))},d.id))}),e.jsx(we,{children:r?Array.from({length:h.pageSize}).map((d,s)=>e.jsx(w,{children:Array.from({length:M.length}).map((a,b)=>e.jsx(z,{className:"p-2",children:e.jsx(ke,{className:"h-6 w-full"})},b))},s)):m.getRowModel().rows?.length?m.getRowModel().rows.map(d=>e.jsx(w,{"data-state":d.getIsSelected()&&"selected",className:"h-10",children:d.getVisibleCells().map(s=>e.jsx(z,{className:"px-2",children:B(s.column.columnDef.cell,s.getContext())},s.id))},d.id)):e.jsx(w,{children:e.jsx(z,{colSpan:M.length,className:"h-24 text-center",children:"暂无记录"})})})]})}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx("p",{className:"text-sm font-medium",children:"每页显示"}),e.jsxs(S,{value:`${m.getState().pagination.pageSize}`,onValueChange:d=>{m.setPageSize(Number(d))},children:[e.jsx(T,{className:"h-8 w-[70px]",children:e.jsx(k,{placeholder:m.getState().pagination.pageSize})}),e.jsx(_,{side:"top",children:[10,20,30,40,50].map(d=>e.jsx(f,{value:`${d}`,children:d},d))})]}),e.jsx("p",{className:"text-sm font-medium",children:"条记录"})]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsxs("div",{className:"flex w-[100px] items-center justify-center text-sm",children:["第 ",m.getState().pagination.pageIndex+1," /"," ",m.getPageCount()," 页"]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(H,{variant:"outline",size:"icon",className:"h-8 w-8",onClick:()=>m.previousPage(),disabled:!m.getCanPreviousPage()||r,children:e.jsx(He,{className:"h-4 w-4"})}),e.jsx(H,{variant:"outline",size:"icon",className:"h-8 w-8",onClick:()=>m.nextPage(),disabled:!m.getCanNextPage()||r,children:e.jsx(Re,{className:"h-4 w-4"})})]})]})]})]})]})]})}export{es as T,Ze as U,Fe as a,Ie as u}; diff --git a/public/assets/admin/assets/trash-2-lI1I6nfk.js b/public/assets/admin/assets/trash-2-lI1I6nfk.js deleted file mode 100644 index 7440ce232..000000000 --- a/public/assets/admin/assets/trash-2-lI1I6nfk.js +++ /dev/null @@ -1,6 +0,0 @@ -import{c as e}from"./user-nav-BBmBVa03.js";/** - * @license lucide-react v0.399.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const c=e("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);export{c as T}; diff --git a/public/assets/admin/assets/useMutation-COSDFEtn.js b/public/assets/admin/assets/useMutation-COSDFEtn.js deleted file mode 100644 index 28f709b6a..000000000 --- a/public/assets/admin/assets/useMutation-COSDFEtn.js +++ /dev/null @@ -1 +0,0 @@ -import{S as l,m as p,n as h,o as d,p as a,q as b,r as o}from"./index-_xd8OyP8.js";import{n as m,s as f}from"./useQuery-mr7Ep0hT.js";var v=class extends l{#e;#i=void 0;#t;#s;constructor(t,s){super(),this.#e=t,this.setOptions(s),this.bindMethods(),this.#r()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(t){const s=this.options;this.options=this.#e.defaultMutationOptions(t),p(this.options,s)||this.#e.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#t,observer:this}),s?.mutationKey&&this.options.mutationKey&&h(s.mutationKey)!==h(this.options.mutationKey)?this.reset():this.#t?.state.status==="pending"&&this.#t.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#t?.removeObserver(this)}onMutationUpdate(t){this.#r(),this.#o(t)}getCurrentResult(){return this.#i}reset(){this.#t?.removeObserver(this),this.#t=void 0,this.#r(),this.#o()}mutate(t,s){return this.#s=s,this.#t?.removeObserver(this),this.#t=this.#e.getMutationCache().build(this.#e,this.options),this.#t.addObserver(this),this.#t.execute(t)}#r(){const t=this.#t?.state??d();this.#i={...t,isPending:t.status==="pending",isSuccess:t.status==="success",isError:t.status==="error",isIdle:t.status==="idle",mutate:this.mutate,reset:this.reset}}#o(t){a.batch(()=>{if(this.#s&&this.hasListeners()){const s=this.#i.variables,i=this.#i.context;t?.type==="success"?(this.#s.onSuccess?.(t.data,s,i),this.#s.onSettled?.(t.data,null,s,i)):t?.type==="error"&&(this.#s.onError?.(t.error,s,i),this.#s.onSettled?.(void 0,t.error,s,i))}this.listeners.forEach(s=>{s(this.#i)})})}};function g(t,s){const i=b(),[e]=o.useState(()=>new v(i,t));o.useEffect(()=>{e.setOptions(t)},[e,t]);const r=o.useSyncExternalStore(o.useCallback(n=>e.subscribe(a.batchCalls(n)),[e]),()=>e.getCurrentResult(),()=>e.getCurrentResult()),u=o.useCallback((n,c)=>{e.mutate(n,c).catch(m)},[e]);if(r.error&&f(e.options.throwOnError,[r.error]))throw r.error;return{...r,mutate:u,mutateAsync:r.mutate}}export{g as u}; diff --git a/public/assets/admin/assets/useQuery-mr7Ep0hT.js b/public/assets/admin/assets/useQuery-mr7Ep0hT.js deleted file mode 100644 index 1fb02a1d1..000000000 --- a/public/assets/admin/assets/useQuery-mr7Ep0hT.js +++ /dev/null @@ -1 +0,0 @@ -import{S as z,A as U,C as f,m as Q,D as O,E as N,F as I,G as _,H as V,I as W,J as K,K as M,p as B,r as p,q}from"./index-_xd8OyP8.js";var G=class extends z{constructor(t,e){super(),this.options=e,this.#s=t,this.#i=null,this.#r=U(),this.options.experimental_prefetchInRender||this.#r.reject(new Error("experimental_prefetchInRender feature flag is not enabled")),this.bindMethods(),this.setOptions(e)}#s;#t=void 0;#p=void 0;#e=void 0;#a;#c;#r;#i;#v;#l;#d;#o;#h;#n;#f=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),k(this.#t,this.options)?this.#u():this.updateResult(),this.#g())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return T(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return T(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#m(),this.#O(),this.#t.removeObserver(this)}setOptions(t,e){const s=this.options,i=this.#t;if(this.options=this.#s.defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof f(this.options.enabled,this.#t)!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#C(),this.#t.setOptions(this.options),s._defaulted&&!Q(this.options,s)&&this.#s.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#t,observer:this});const o=this.hasListeners();o&&L(this.#t,i,this.options,s)&&this.#u(),this.updateResult(e),o&&(this.#t!==i||f(this.options.enabled,this.#t)!==f(s.enabled,this.#t)||O(this.options.staleTime,this.#t)!==O(s.staleTime,this.#t))&&this.#R();const u=this.#b();o&&(this.#t!==i||f(this.options.enabled,this.#t)!==f(s.enabled,this.#t)||u!==this.#n)&&this.#y(u)}getOptimisticResult(t){const e=this.#s.getQueryCache().build(this.#s,t),s=this.createResult(e,t);return $(this,s)&&(this.#e=s,this.#c=this.options,this.#a=this.#t.state),s}getCurrentResult(){return this.#e}trackResult(t,e){const s={};return Object.keys(t).forEach(i=>{Object.defineProperty(s,i,{configurable:!1,enumerable:!0,get:()=>(this.trackProp(i),e?.(i),t[i])})}),s}trackProp(t){this.#f.add(t)}getCurrentQuery(){return this.#t}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const e=this.#s.defaultQueryOptions(t),s=this.#s.getQueryCache().build(this.#s,e);return s.fetch().then(()=>this.createResult(s,e))}fetch(t){return this.#u({...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#e))}#u(t){this.#C();let e=this.#t.fetch(this.options,t);return t?.throwOnError||(e=e.catch(N)),e}#R(){this.#m();const t=O(this.options.staleTime,this.#t);if(I||this.#e.isStale||!_(t))return;const s=V(this.#e.dataUpdatedAt,t)+1;this.#o=setTimeout(()=>{this.#e.isStale||this.updateResult()},s)}#b(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#y(t){this.#O(),this.#n=t,!(I||f(this.options.enabled,this.#t)===!1||!_(this.#n)||this.#n===0)&&(this.#h=setInterval(()=>{(this.options.refetchIntervalInBackground||W.isFocused())&&this.#u()},this.#n))}#g(){this.#R(),this.#y(this.#b())}#m(){this.#o&&(clearTimeout(this.#o),this.#o=void 0)}#O(){this.#h&&(clearInterval(this.#h),this.#h=void 0)}createResult(t,e){const s=this.#t,i=this.options,o=this.#e,u=this.#a,r=this.#c,a=t!==s?t.state:this.#p,{state:c}=t;let n={...c},g=!1,l;if(e._optimisticResults){const h=this.hasListeners(),R=!h&&k(t,e),b=h&&L(t,s,e,i);(R||b)&&(n={...n,...K(c.data,t.options)}),e._optimisticResults==="isRestoring"&&(n.fetchStatus="idle")}let{error:w,errorUpdatedAt:F,status:v}=n;if(e.select&&n.data!==void 0)if(o&&n.data===u?.data&&e.select===this.#v)l=this.#l;else try{this.#v=e.select,l=e.select(n.data),l=M(o?.data,l,e),this.#l=l,this.#i=null}catch(h){this.#i=h}else l=n.data;if(e.placeholderData!==void 0&&l===void 0&&v==="pending"){let h;if(o?.isPlaceholderData&&e.placeholderData===r?.placeholderData)h=o.data;else if(h=typeof e.placeholderData=="function"?e.placeholderData(this.#d?.state.data,this.#d):e.placeholderData,e.select&&h!==void 0)try{h=e.select(h),this.#i=null}catch(R){this.#i=R}h!==void 0&&(v="success",l=M(o?.data,h,e),g=!0)}this.#i&&(w=this.#i,l=this.#l,F=Date.now(),v="error");const C=n.fetchStatus==="fetching",S=v==="pending",E=v==="error",D=S&&C,P=l!==void 0,d={status:v,fetchStatus:n.fetchStatus,isPending:S,isSuccess:v==="success",isError:E,isInitialLoading:D,isLoading:D,data:l,dataUpdatedAt:n.dataUpdatedAt,error:w,errorUpdatedAt:F,failureCount:n.fetchFailureCount,failureReason:n.fetchFailureReason,errorUpdateCount:n.errorUpdateCount,isFetched:n.dataUpdateCount>0||n.errorUpdateCount>0,isFetchedAfterMount:n.dataUpdateCount>a.dataUpdateCount||n.errorUpdateCount>a.errorUpdateCount,isFetching:C,isRefetching:C&&!S,isLoadingError:E&&!P,isPaused:n.fetchStatus==="paused",isPlaceholderData:g,isRefetchError:E&&P,isStale:x(t,e),refetch:this.refetch,promise:this.#r};if(this.options.experimental_prefetchInRender){const h=m=>{d.status==="error"?m.reject(d.error):d.data!==void 0&&m.resolve(d.data)},R=()=>{const m=this.#r=d.promise=U();h(m)},b=this.#r;switch(b.status){case"pending":t.queryHash===s.queryHash&&h(b);break;case"fulfilled":(d.status==="error"||d.data!==b.value)&&R();break;case"rejected":(d.status!=="error"||d.error!==b.reason)&&R();break}}return d}updateResult(t){const e=this.#e,s=this.createResult(this.#t,this.options);if(this.#a=this.#t.state,this.#c=this.options,this.#a.data!==void 0&&(this.#d=this.#t),Q(s,e))return;this.#e=s;const i={},o=()=>{if(!e)return!0;const{notifyOnChangeProps:u}=this.options,r=typeof u=="function"?u():u;if(r==="all"||!r&&!this.#f.size)return!0;const y=new Set(r??this.#f);return this.options.throwOnError&&y.add("error"),Object.keys(this.#e).some(a=>{const c=a;return this.#e[c]!==e[c]&&y.has(c)})};t?.listeners!==!1&&o()&&(i.listeners=!0),this.#S({...i,...t})}#C(){const t=this.#s.getQueryCache().build(this.#s,this.options);if(t===this.#t)return;const e=this.#t;this.#t=t,this.#p=t.state,this.hasListeners()&&(e?.removeObserver(this),t.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#g()}#S(t){B.batch(()=>{t.listeners&&this.listeners.forEach(e=>{e(this.#e)}),this.#s.getQueryCache().notify({query:this.#t,type:"observerResultsUpdated"})})}};function J(t,e){return f(e.enabled,t)!==!1&&t.state.data===void 0&&!(t.state.status==="error"&&e.retryOnMount===!1)}function k(t,e){return J(t,e)||t.state.data!==void 0&&T(t,e,e.refetchOnMount)}function T(t,e,s){if(f(e.enabled,t)!==!1){const i=typeof s=="function"?s(t):s;return i==="always"||i!==!1&&x(t,e)}return!1}function L(t,e,s,i){return(t!==e||f(i.enabled,t)===!1)&&(!s.suspense||t.state.status!=="error")&&x(t,s)}function x(t,e){return f(e.enabled,t)!==!1&&t.isStaleByTime(O(e.staleTime,t))}function $(t,e){return!Q(t.getCurrentResult(),e)}var H=p.createContext(!1),X=()=>p.useContext(H);H.Provider;function Y(){let t=!1;return{clearReset:()=>{t=!1},reset:()=>{t=!0},isReset:()=>t}}var Z=p.createContext(Y()),tt=()=>p.useContext(Z);function et(t,e){return typeof t=="function"?t(...e):!!t}function j(){}var st=(t,e)=>{(t.suspense||t.throwOnError||t.experimental_prefetchInRender)&&(e.isReset()||(t.retryOnMount=!1))},it=t=>{p.useEffect(()=>{t.clearReset()},[t])},rt=({result:t,errorResetBoundary:e,throwOnError:s,query:i})=>t.isError&&!e.isReset()&&!t.isFetching&&i&&et(s,[t.error,i]),nt=t=>{t.suspense&&(t.staleTime===void 0&&(t.staleTime=1e3),typeof t.gcTime=="number"&&(t.gcTime=Math.max(t.gcTime,1e3)))},at=(t,e)=>t.isLoading&&t.isFetching&&!e,ot=(t,e)=>t?.suspense&&e.isPending,A=(t,e,s)=>e.fetchOptimistic(t).catch(()=>{s.clearReset()});function ht(t,e,s){const i=q(),o=X(),u=tt(),r=i.defaultQueryOptions(t);i.getDefaultOptions().queries?._experimental_beforeQuery?.(r),r._optimisticResults=o?"isRestoring":"optimistic",nt(r),st(r,u),it(u);const y=!i.getQueryCache().get(r.queryHash),[a]=p.useState(()=>new e(i,r)),c=a.getOptimisticResult(r);if(p.useSyncExternalStore(p.useCallback(n=>{const g=o?j:a.subscribe(B.batchCalls(n));return a.updateResult(),g},[a,o]),()=>a.getCurrentResult(),()=>a.getCurrentResult()),p.useEffect(()=>{a.setOptions(r,{listeners:!1})},[r,a]),ot(r,c))throw A(r,a,u);if(rt({result:c,errorResetBoundary:u,throwOnError:r.throwOnError,query:i.getQueryCache().get(r.queryHash)}))throw c.error;return i.getDefaultOptions().queries?._experimental_afterQuery?.(r,c),r.experimental_prefetchInRender&&!I&&at(c,o)&&(y?A(r,a,u):i.getQueryCache().get(r.queryHash)?.promise)?.catch(j).finally(()=>{a.updateResult()}),r.notifyOnChangeProps?c:a.trackResult(c)}function lt(t,e){return ht(t,G)}export{j as n,et as s,lt as u}; diff --git a/public/assets/admin/assets/user-CIJd3wDa.js b/public/assets/admin/assets/user-CIJd3wDa.js deleted file mode 100644 index e4ea44005..000000000 --- a/public/assets/admin/assets/user-CIJd3wDa.js +++ /dev/null @@ -1 +0,0 @@ -import{j as a}from"./index-_xd8OyP8.js";const i=e=>a.jsx("svg",{className:"inline-block",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em",...e,children:a.jsx("path",{fill:"currentColor",d:"M15.71 12.71a6 6 0 1 0-7.42 0a10 10 0 0 0-6.22 8.18a1 1 0 0 0 2 .22a8 8 0 0 1 15.9 0a1 1 0 0 0 1 .89h.11a1 1 0 0 0 .88-1.1a10 10 0 0 0-6.25-8.19M12 12a4 4 0 1 1 4-4a4 4 0 0 1-4 4"})});export{i as u}; diff --git a/public/assets/admin/assets/user-nav-BBmBVa03.js b/public/assets/admin/assets/user-nav-BBmBVa03.js deleted file mode 100644 index 2ca5a697e..000000000 --- a/public/assets/admin/assets/user-nav-BBmBVa03.js +++ /dev/null @@ -1,66 +0,0 @@ -import{c as st,r as o,$ as en,M as lt,N as tn,j as p,a as T,u as it,Q as nn,B as ut,d as rn,T as on,U as an,L as cn,V as sn,W as ln}from"./index-_xd8OyP8.js";import{M as un}from"./react-icons.esm-rZq2pt7A.js";import{c as dn,_ as fn,d as V,s as dt,e as mn,f as vn,h as pn}from"./index-CcyXqhZ9.js";import{D as hn,a as gn,B as bn}from"./button-DhrtVlOa.js";import{s as $n,D as En,a as yn,b as xn,c as wn,d as Be,e as We,n as Ke}from"./sidelinks-DLs_k-Mk.js";import{c as Cn,d as Sn,b as ft}from"./index-BwSRHYe4.js";import{P as Ae}from"./index-CX6PQ3zO.js";var Rn=st("moon","IconMoon",[["path",{d:"M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z",key:"svg-0"}]]),Nn=st("sun","IconSun",[["path",{d:"M12 12m-4 0a4 4 0 1 0 8 0a4 4 0 1 0 -8 0",key:"svg-0"}],["path",{d:"M3 12h1m8 -9v1m8 8h1m-9 8v1m-6.4 -15.4l.7 .7m12.1 -.7l-.7 .7m0 11.4l.7 .7m-12.1 -.7l-.7 .7",key:"svg-1"}]]),Ve=1,kn=.9,Dn=.8,An=.17,ve=.1,pe=.999,In=.9999,Pn=.99,On=/[\\\/_+.#"@\[\(\{&]/,Ln=/[\\\/_+.#"@\[\(\{&]/g,_n=/[\s-]/,mt=/[\s-]/g;function Ce(e,t,n,r,a,c,l){if(c===t.length)return a===e.length?Ve:Pn;var s=`${a},${c}`;if(l[s]!==void 0)return l[s];for(var u=r.charAt(c),i=n.indexOf(u,a),m=0,v,w,E,C;i>=0;)v=Ce(e,t,n,r,i+1,c+1,l),v>m&&(i===a?v*=Ve:On.test(e.charAt(i-1))?(v*=Dn,E=e.slice(a,i-1).match(Ln),E&&a>0&&(v*=Math.pow(pe,E.length))):_n.test(e.charAt(i-1))?(v*=kn,C=e.slice(a,i-1).match(mt),C&&a>0&&(v*=Math.pow(pe,C.length))):(v*=An,a>0&&(v*=Math.pow(pe,i-a))),e.charAt(i)!==t.charAt(c)&&(v*=In)),(vv&&(v=w*ve)),v>m&&(m=v),i=n.indexOf(u,i+1);return l[s]=m,m}function ze(e){return e.toLowerCase().replace(mt," ")}function Mn(e,t){return Ce(e,t,ze(e),ze(t),0,0,{})}function A(){return A=Object.assign?Object.assign.bind():function(e){for(var t=1;te.forEach(n=>Tn(n,t))}function J(...e){return o.useCallback(vt(...e),e)}function Fn(e,t=[]){let n=[];function r(c,l){const s=o.createContext(l),u=n.length;n=[...n,l];function i(v){const{scope:w,children:E,...C}=v,f=w?.[e][u]||s,$=o.useMemo(()=>C,Object.values(C));return o.createElement(f.Provider,{value:$},E)}function m(v,w){const E=w?.[e][u]||s,C=o.useContext(E);if(C)return C;if(l!==void 0)return l;throw new Error(`\`${v}\` must be used within \`${c}\``)}return i.displayName=c+"Provider",[i,m]}const a=()=>{const c=n.map(l=>o.createContext(l));return function(s){const u=s?.[e]||c;return o.useMemo(()=>({[`__scope${e}`]:{...s,[e]:u}}),[s,u])}};return a.scopeName=e,[r,jn(a,...t)]}function jn(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(a=>({useScope:a(),scopeName:a.scopeName}));return function(c){const l=r.reduce((s,{useScope:u,scopeName:i})=>{const v=u(c)[`__scope${i}`];return{...s,...v}},{});return o.useMemo(()=>({[`__scope${t.scopeName}`]:l}),[l])}};return n.scopeName=t.scopeName,n}const Un=globalThis?.document?o.useLayoutEffect:()=>{},Bn=en.useId||(()=>{});let Wn=0;function he(e){const[t,n]=o.useState(Bn());return Un(()=>{e||n(r=>r??String(Wn++))},[e]),e||(t?`radix-${t}`:"")}function pt(e){const t=o.useRef(e);return o.useEffect(()=>{t.current=e}),o.useMemo(()=>(...n)=>{var r;return(r=t.current)===null||r===void 0?void 0:r.call(t,...n)},[])}function Kn({prop:e,defaultProp:t,onChange:n=()=>{}}){const[r,a]=Vn({defaultProp:t,onChange:n}),c=e!==void 0,l=c?e:r,s=pt(n),u=o.useCallback(i=>{if(c){const v=typeof i=="function"?i(e):i;v!==e&&s(v)}else a(i)},[c,e,a,s]);return[l,u]}function Vn({defaultProp:e,onChange:t}){const n=o.useState(e),[r]=n,a=o.useRef(r),c=pt(t);return o.useEffect(()=>{a.current!==r&&(c(r),a.current=r)},[r,a,c]),n}const Ie=o.forwardRef((e,t)=>{const{children:n,...r}=e,a=o.Children.toArray(n),c=a.find(Gn);if(c){const l=c.props.children,s=a.map(u=>u===c?o.Children.count(l)>1?o.Children.only(null):o.isValidElement(l)?l.props.children:null:u);return o.createElement(Se,A({},r,{ref:t}),o.isValidElement(l)?o.cloneElement(l,void 0,s):null)}return o.createElement(Se,A({},r,{ref:t}),n)});Ie.displayName="Slot";const Se=o.forwardRef((e,t)=>{const{children:n,...r}=e;return o.isValidElement(n)?o.cloneElement(n,{...qn(r,n.props),ref:vt(t,n.ref)}):o.Children.count(n)>1?o.Children.only(null):null});Se.displayName="SlotClone";const zn=({children:e})=>o.createElement(o.Fragment,null,e);function Gn(e){return o.isValidElement(e)&&e.type===zn}function qn(e,t){const n={...t};for(const r in t){const a=e[r],c=t[r];/^on[A-Z]/.test(r)?n[r]=(...s)=>{c?.(...s),a?.(...s)}:r==="style"?n[r]={...a,...c}:r==="className"&&(n[r]=[a,c].filter(Boolean).join(" "))}return{...e,...n}}const Hn=["a","button","div","h2","h3","img","li","nav","ol","p","span","svg","ul"],se=Hn.reduce((e,t)=>{const n=o.forwardRef((r,a)=>{const{asChild:c,...l}=r,s=c?Ie:t;return o.useEffect(()=>{window[Symbol.for("radix-ui")]=!0},[]),o.createElement(s,A({},l,{ref:a}))});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function Yn(e,t){e&<.flushSync(()=>e.dispatchEvent(t))}function Pe(e){const t=o.useRef(e);return o.useEffect(()=>{t.current=e}),o.useMemo(()=>(...n)=>{var r;return(r=t.current)===null||r===void 0?void 0:r.call(t,...n)},[])}function Xn(e){const t=Pe(e);o.useEffect(()=>{const n=r=>{r.key==="Escape"&&t(r)};return document.addEventListener("keydown",n),()=>document.removeEventListener("keydown",n)},[t])}const Re="dismissableLayer.update",Zn="dismissableLayer.pointerDownOutside",Qn="dismissableLayer.focusOutside";let Ge;const Jn=o.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),er=o.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:a,onFocusOutside:c,onInteractOutside:l,onDismiss:s,...u}=e,i=o.useContext(Jn),[m,v]=o.useState(null),[,w]=o.useState({}),E=J(t,S=>v(S)),C=Array.from(i.layers),[f]=[...i.layersWithOutsidePointerEventsDisabled].slice(-1),$=C.indexOf(f),x=m?C.indexOf(m):-1,N=i.layersWithOutsidePointerEventsDisabled.size>0,k=x>=$,R=tr(S=>{const P=S.target,L=[...i.branches].some(_=>_.contains(P));!k||L||(a?.(S),l?.(S),S.defaultPrevented||s?.())}),b=nr(S=>{const P=S.target;[...i.branches].some(_=>_.contains(P))||(c?.(S),l?.(S),S.defaultPrevented||s?.())});return Xn(S=>{x===i.layers.size-1&&(r?.(S),!S.defaultPrevented&&s&&(S.preventDefault(),s()))}),o.useEffect(()=>{if(m)return n&&(i.layersWithOutsidePointerEventsDisabled.size===0&&(Ge=document.body.style.pointerEvents,document.body.style.pointerEvents="none"),i.layersWithOutsidePointerEventsDisabled.add(m)),i.layers.add(m),qe(),()=>{n&&i.layersWithOutsidePointerEventsDisabled.size===1&&(document.body.style.pointerEvents=Ge)}},[m,n,i]),o.useEffect(()=>()=>{m&&(i.layers.delete(m),i.layersWithOutsidePointerEventsDisabled.delete(m),qe())},[m,i]),o.useEffect(()=>{const S=()=>w({});return document.addEventListener(Re,S),()=>document.removeEventListener(Re,S)},[]),o.createElement(se.div,A({},u,{ref:E,style:{pointerEvents:N?k?"auto":"none":void 0,...e.style},onFocusCapture:G(e.onFocusCapture,b.onFocusCapture),onBlurCapture:G(e.onBlurCapture,b.onBlurCapture),onPointerDownCapture:G(e.onPointerDownCapture,R.onPointerDownCapture)}))});function tr(e){const t=Pe(e),n=o.useRef(!1),r=o.useRef(()=>{});return o.useEffect(()=>{const a=l=>{if(l.target&&!n.current){let u=function(){ht(Zn,t,s,{discrete:!0})};const s={originalEvent:l};l.pointerType==="touch"?(document.removeEventListener("click",r.current),r.current=u,document.addEventListener("click",r.current,{once:!0})):u()}n.current=!1},c=window.setTimeout(()=>{document.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(c),document.removeEventListener("pointerdown",a),document.removeEventListener("click",r.current)}},[t]),{onPointerDownCapture:()=>n.current=!0}}function nr(e){const t=Pe(e),n=o.useRef(!1);return o.useEffect(()=>{const r=a=>{a.target&&!n.current&&ht(Qn,t,{originalEvent:a},{discrete:!1})};return document.addEventListener("focusin",r),()=>document.removeEventListener("focusin",r)},[t]),{onFocusCapture:()=>n.current=!0,onBlurCapture:()=>n.current=!1}}function qe(){const e=new CustomEvent(Re);document.dispatchEvent(e)}function ht(e,t,n,{discrete:r}){const a=n.originalEvent.target,c=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&a.addEventListener(e,t,{once:!0}),r?Yn(a,c):a.dispatchEvent(c)}function He(e){const t=o.useRef(e);return o.useEffect(()=>{t.current=e}),o.useMemo(()=>(...n)=>{var r;return(r=t.current)===null||r===void 0?void 0:r.call(t,...n)},[])}const ge="focusScope.autoFocusOnMount",be="focusScope.autoFocusOnUnmount",Ye={bubbles:!1,cancelable:!0},rr=o.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:a,onUnmountAutoFocus:c,...l}=e,[s,u]=o.useState(null),i=He(a),m=He(c),v=o.useRef(null),w=J(t,f=>u(f)),E=o.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;o.useEffect(()=>{if(r){let f=function(x){if(E.paused||!s)return;const N=x.target;s.contains(N)?v.current=N:j(v.current,{select:!0})},$=function(x){E.paused||!s||s.contains(x.relatedTarget)||j(v.current,{select:!0})};return document.addEventListener("focusin",f),document.addEventListener("focusout",$),()=>{document.removeEventListener("focusin",f),document.removeEventListener("focusout",$)}}},[r,s,E.paused]),o.useEffect(()=>{if(s){Ze.add(E);const f=document.activeElement;if(!s.contains(f)){const x=new CustomEvent(ge,Ye);s.addEventListener(ge,i),s.dispatchEvent(x),x.defaultPrevented||(or(ir(gt(s)),{select:!0}),document.activeElement===f&&j(s))}return()=>{s.removeEventListener(ge,i),setTimeout(()=>{const x=new CustomEvent(be,Ye);s.addEventListener(be,m),s.dispatchEvent(x),x.defaultPrevented||j(f??document.body,{select:!0}),s.removeEventListener(be,m),Ze.remove(E)},0)}}},[s,i,m,E]);const C=o.useCallback(f=>{if(!n&&!r||E.paused)return;const $=f.key==="Tab"&&!f.altKey&&!f.ctrlKey&&!f.metaKey,x=document.activeElement;if($&&x){const N=f.currentTarget,[k,R]=ar(N);k&&R?!f.shiftKey&&x===R?(f.preventDefault(),n&&j(k,{select:!0})):f.shiftKey&&x===k&&(f.preventDefault(),n&&j(R,{select:!0})):x===N&&f.preventDefault()}},[n,r,E.paused]);return o.createElement(se.div,A({tabIndex:-1},l,{ref:w,onKeyDown:C}))});function or(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(j(r,{select:t}),document.activeElement!==n)return}function ar(e){const t=gt(e),n=Xe(t,e),r=Xe(t.reverse(),e);return[n,r]}function gt(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const a=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||a?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function Xe(e,t){for(const n of e)if(!cr(n,{upTo:t}))return n}function cr(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function sr(e){return e instanceof HTMLInputElement&&"select"in e}function j(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&sr(e)&&t&&e.select()}}const Ze=lr();function lr(){let e=[];return{add(t){const n=e[0];t!==n&&n?.pause(),e=Qe(e,t),e.unshift(t)},remove(t){var n;e=Qe(e,t),(n=e[0])===null||n===void 0||n.resume()}}}function Qe(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function ir(e){return e.filter(t=>t.tagName!=="A")}const ur=o.forwardRef((e,t)=>{var n;const{container:r=globalThis==null||(n=globalThis.document)===null||n===void 0?void 0:n.body,...a}=e;return r?tn.createPortal(o.createElement(se.div,A({},a,{ref:t})),r):null}),Je=globalThis?.document?o.useLayoutEffect:()=>{};function dr(e,t){return o.useReducer((n,r)=>{const a=t[n][r];return a??n},e)}const le=e=>{const{present:t,children:n}=e,r=fr(t),a=typeof n=="function"?n({present:r.isPresent}):o.Children.only(n),c=J(r.ref,a.ref);return typeof n=="function"||r.isPresent?o.cloneElement(a,{ref:c}):null};le.displayName="Presence";function fr(e){const[t,n]=o.useState(),r=o.useRef({}),a=o.useRef(e),c=o.useRef("none"),l=e?"mounted":"unmounted",[s,u]=dr(l,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return o.useEffect(()=>{const i=ne(r.current);c.current=s==="mounted"?i:"none"},[s]),Je(()=>{const i=r.current,m=a.current;if(m!==e){const w=c.current,E=ne(i);e?u("MOUNT"):E==="none"||i?.display==="none"?u("UNMOUNT"):u(m&&w!==E?"ANIMATION_OUT":"UNMOUNT"),a.current=e}},[e,u]),Je(()=>{if(t){const i=v=>{const E=ne(r.current).includes(v.animationName);v.target===t&&E&<.flushSync(()=>u("ANIMATION_END"))},m=v=>{v.target===t&&(c.current=ne(r.current))};return t.addEventListener("animationstart",m),t.addEventListener("animationcancel",i),t.addEventListener("animationend",i),()=>{t.removeEventListener("animationstart",m),t.removeEventListener("animationcancel",i),t.removeEventListener("animationend",i)}}else u("ANIMATION_END")},[t,u]),{isPresent:["mounted","unmountSuspended"].includes(s),ref:o.useCallback(i=>{i&&(r.current=getComputedStyle(i)),n(i)},[])}}function ne(e){return e?.animationName||"none"}let $e=0;function mr(){o.useEffect(()=>{var e,t;const n=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",(e=n[0])!==null&&e!==void 0?e:et()),document.body.insertAdjacentElement("beforeend",(t=n[1])!==null&&t!==void 0?t:et()),$e++,()=>{$e===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(r=>r.remove()),$e--}},[])}function et(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.cssText="outline: none; opacity: 0; position: fixed; pointer-events: none",e}var ae="right-scroll-bar-position",ce="width-before-scroll-bar",vr="with-scroll-bars-hidden",pr="--removed-body-scroll-bar-size";function Ee(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function hr(e,t){var n=o.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var a=n.value;a!==r&&(n.value=r,n.callback(r,a))}}}})[0];return n.callback=t,n.facade}var gr=typeof window<"u"?o.useLayoutEffect:o.useEffect,tt=new WeakMap;function br(e,t){var n=hr(null,function(r){return e.forEach(function(a){return Ee(a,r)})});return gr(function(){var r=tt.get(n);if(r){var a=new Set(r),c=new Set(e),l=n.current;a.forEach(function(s){c.has(s)||Ee(s,null)}),c.forEach(function(s){a.has(s)||Ee(s,l)})}tt.set(n,e)},[e]),n}var bt=dn(),ye=function(){},ie=o.forwardRef(function(e,t){var n=o.useRef(null),r=o.useState({onScrollCapture:ye,onWheelCapture:ye,onTouchMoveCapture:ye}),a=r[0],c=r[1],l=e.forwardProps,s=e.children,u=e.className,i=e.removeScrollBar,m=e.enabled,v=e.shards,w=e.sideCar,E=e.noIsolation,C=e.inert,f=e.allowPinchZoom,$=e.as,x=$===void 0?"div":$,N=fn(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as"]),k=w,R=br([n,t]),b=V(V({},N),a);return o.createElement(o.Fragment,null,m&&o.createElement(k,{sideCar:bt,removeScrollBar:i,shards:v,noIsolation:E,inert:C,setCallbacks:c,allowPinchZoom:!!f,lockRef:n}),l?o.cloneElement(o.Children.only(s),V(V({},b),{ref:R})):o.createElement(x,V({},b,{className:u,ref:R}),s))});ie.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};ie.classNames={fullWidth:ce,zeroRight:ae};var $r={left:0,top:0,right:0,gap:0},xe=function(e){return parseInt(e||"",10)||0},Er=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],a=t[e==="padding"?"paddingRight":"marginRight"];return[xe(n),xe(r),xe(a)]},yr=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return $r;var t=Er(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},xr=dt(),q="data-scroll-locked",wr=function(e,t,n,r){var a=e.left,c=e.top,l=e.right,s=e.gap;return n===void 0&&(n="margin"),` - .`.concat(vr,` { - overflow: hidden `).concat(r,`; - padding-right: `).concat(s,"px ").concat(r,`; - } - body[`).concat(q,`] { - overflow: hidden `).concat(r,`; - overscroll-behavior: contain; - `).concat([t&&"position: relative ".concat(r,";"),n==="margin"&&` - padding-left: `.concat(a,`px; - padding-top: `).concat(c,`px; - padding-right: `).concat(l,`px; - margin-left:0; - margin-top:0; - margin-right: `).concat(s,"px ").concat(r,`; - `),n==="padding"&&"padding-right: ".concat(s,"px ").concat(r,";")].filter(Boolean).join(""),` - } - - .`).concat(ae,` { - right: `).concat(s,"px ").concat(r,`; - } - - .`).concat(ce,` { - margin-right: `).concat(s,"px ").concat(r,`; - } - - .`).concat(ae," .").concat(ae,` { - right: 0 `).concat(r,`; - } - - .`).concat(ce," .").concat(ce,` { - margin-right: 0 `).concat(r,`; - } - - body[`).concat(q,`] { - `).concat(pr,": ").concat(s,`px; - } -`)},nt=function(){var e=parseInt(document.body.getAttribute(q)||"0",10);return isFinite(e)?e:0},Cr=function(){o.useEffect(function(){return document.body.setAttribute(q,(nt()+1).toString()),function(){var e=nt()-1;e<=0?document.body.removeAttribute(q):document.body.setAttribute(q,e.toString())}},[])},Sr=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,a=r===void 0?"margin":r;Cr();var c=o.useMemo(function(){return yr(a)},[a]);return o.createElement(xr,{styles:wr(c,!t,a,n?"":"!important")})},Ne=!1;if(typeof window<"u")try{var re=Object.defineProperty({},"passive",{get:function(){return Ne=!0,!0}});window.addEventListener("test",re,re),window.removeEventListener("test",re,re)}catch{Ne=!1}var W=Ne?{passive:!1}:!1,Rr=function(e){var t=window.getComputedStyle(e);return t.overflowY!=="hidden"&&!(t.overflowY===t.overflowX&&t.overflowY==="visible")},Nr=function(e){var t=window.getComputedStyle(e);return t.overflowX!=="hidden"&&!(t.overflowY===t.overflowX&&t.overflowX==="visible")},rt=function(e,t){var n=t;do{typeof ShadowRoot<"u"&&n instanceof ShadowRoot&&(n=n.host);var r=$t(e,n);if(r){var a=Et(e,n),c=a[1],l=a[2];if(c>l)return!0}n=n.parentNode}while(n&&n!==document.body);return!1},kr=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},Dr=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},$t=function(e,t){return e==="v"?Rr(t):Nr(t)},Et=function(e,t){return e==="v"?kr(t):Dr(t)},Ar=function(e,t){return e==="h"&&t==="rtl"?-1:1},Ir=function(e,t,n,r,a){var c=Ar(e,window.getComputedStyle(t).direction),l=c*r,s=n.target,u=t.contains(s),i=!1,m=l>0,v=0,w=0;do{var E=Et(e,s),C=E[0],f=E[1],$=E[2],x=f-$-c*C;(C||x)&&$t(e,s)&&(v+=x,w+=C),s=s.parentNode}while(!u&&s!==document.body||u&&(t.contains(s)||t===s));return(m&&(v===0||!a)||!m&&(w===0||!a))&&(i=!0),i},oe=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},ot=function(e){return[e.deltaX,e.deltaY]},at=function(e){return e&&"current"in e?e.current:e},Pr=function(e,t){return e[0]===t[0]&&e[1]===t[1]},Or=function(e){return` - .block-interactivity-`.concat(e,` {pointer-events: none;} - .allow-interactivity-`).concat(e,` {pointer-events: all;} -`)},Lr=0,K=[];function _r(e){var t=o.useRef([]),n=o.useRef([0,0]),r=o.useRef(),a=o.useState(Lr++)[0],c=o.useState(function(){return dt()})[0],l=o.useRef(e);o.useEffect(function(){l.current=e},[e]),o.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(a));var f=mn([e.lockRef.current],(e.shards||[]).map(at),!0).filter(Boolean);return f.forEach(function($){return $.classList.add("allow-interactivity-".concat(a))}),function(){document.body.classList.remove("block-interactivity-".concat(a)),f.forEach(function($){return $.classList.remove("allow-interactivity-".concat(a))})}}},[e.inert,e.lockRef.current,e.shards]);var s=o.useCallback(function(f,$){if("touches"in f&&f.touches.length===2)return!l.current.allowPinchZoom;var x=oe(f),N=n.current,k="deltaX"in f?f.deltaX:N[0]-x[0],R="deltaY"in f?f.deltaY:N[1]-x[1],b,S=f.target,P=Math.abs(k)>Math.abs(R)?"h":"v";if("touches"in f&&P==="h"&&S.type==="range")return!1;var L=rt(P,S);if(!L)return!0;if(L?b=P:(b=P==="v"?"h":"v",L=rt(P,S)),!L)return!1;if(!r.current&&"changedTouches"in f&&(k||R)&&(r.current=b),!b)return!0;var _=r.current||b;return Ir(_,$,f,_==="h"?k:R,!0)},[]),u=o.useCallback(function(f){var $=f;if(!(!K.length||K[K.length-1]!==c)){var x="deltaY"in $?ot($):oe($),N=t.current.filter(function(b){return b.name===$.type&&b.target===$.target&&Pr(b.delta,x)})[0];if(N&&N.should){$.preventDefault();return}if(!N){var k=(l.current.shards||[]).map(at).filter(Boolean).filter(function(b){return b.contains($.target)}),R=k.length>0?s($,k[0]):!l.current.noIsolation;R&&$.preventDefault()}}},[]),i=o.useCallback(function(f,$,x,N){var k={name:f,delta:$,target:x,should:N};t.current.push(k),setTimeout(function(){t.current=t.current.filter(function(R){return R!==k})},1)},[]),m=o.useCallback(function(f){n.current=oe(f),r.current=void 0},[]),v=o.useCallback(function(f){i(f.type,ot(f),f.target,s(f,e.lockRef.current))},[]),w=o.useCallback(function(f){i(f.type,oe(f),f.target,s(f,e.lockRef.current))},[]);o.useEffect(function(){return K.push(c),e.setCallbacks({onScrollCapture:v,onWheelCapture:v,onTouchMoveCapture:w}),document.addEventListener("wheel",u,W),document.addEventListener("touchmove",u,W),document.addEventListener("touchstart",m,W),function(){K=K.filter(function(f){return f!==c}),document.removeEventListener("wheel",u,W),document.removeEventListener("touchmove",u,W),document.removeEventListener("touchstart",m,W)}},[]);var E=e.removeScrollBar,C=e.inert;return o.createElement(o.Fragment,null,C?o.createElement(c,{styles:Or(a)}):null,E?o.createElement(Sr,{gapMode:"margin"}):null)}const Mr=vn(bt,_r);var yt=o.forwardRef(function(e,t){return o.createElement(ie,V({},e,{ref:t,sideCar:Mr}))});yt.classNames=ie.classNames;const xt="Dialog",[wt,Ao]=Fn(xt),[Tr,B]=wt(xt),Fr=e=>{const{__scopeDialog:t,children:n,open:r,defaultOpen:a,onOpenChange:c,modal:l=!0}=e,s=o.useRef(null),u=o.useRef(null),[i=!1,m]=Kn({prop:r,defaultProp:a,onChange:c});return o.createElement(Tr,{scope:t,triggerRef:s,contentRef:u,contentId:he(),titleId:he(),descriptionId:he(),open:i,onOpenChange:m,onOpenToggle:o.useCallback(()=>m(v=>!v),[m]),modal:l},n)},Ct="DialogPortal",[jr,St]=wt(Ct,{forceMount:void 0}),Ur=e=>{const{__scopeDialog:t,forceMount:n,children:r,container:a}=e,c=B(Ct,t);return o.createElement(jr,{scope:t,forceMount:n},o.Children.map(r,l=>o.createElement(le,{present:n||c.open},o.createElement(ur,{asChild:!0,container:a},l))))},ke="DialogOverlay",Br=o.forwardRef((e,t)=>{const n=St(ke,e.__scopeDialog),{forceMount:r=n.forceMount,...a}=e,c=B(ke,e.__scopeDialog);return c.modal?o.createElement(le,{present:r||c.open},o.createElement(Wr,A({},a,{ref:t}))):null}),Wr=o.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,a=B(ke,n);return o.createElement(yt,{as:Ie,allowPinchZoom:!0,shards:[a.contentRef]},o.createElement(se.div,A({"data-state":Nt(a.open)},r,{ref:t,style:{pointerEvents:"auto",...r.style}})))}),Q="DialogContent",Kr=o.forwardRef((e,t)=>{const n=St(Q,e.__scopeDialog),{forceMount:r=n.forceMount,...a}=e,c=B(Q,e.__scopeDialog);return o.createElement(le,{present:r||c.open},c.modal?o.createElement(Vr,A({},a,{ref:t})):o.createElement(zr,A({},a,{ref:t})))}),Vr=o.forwardRef((e,t)=>{const n=B(Q,e.__scopeDialog),r=o.useRef(null),a=J(t,n.contentRef,r);return o.useEffect(()=>{const c=r.current;if(c)return pn(c)},[]),o.createElement(Rt,A({},e,{ref:a,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:G(e.onCloseAutoFocus,c=>{var l;c.preventDefault(),(l=n.triggerRef.current)===null||l===void 0||l.focus()}),onPointerDownOutside:G(e.onPointerDownOutside,c=>{const l=c.detail.originalEvent,s=l.button===0&&l.ctrlKey===!0;(l.button===2||s)&&c.preventDefault()}),onFocusOutside:G(e.onFocusOutside,c=>c.preventDefault())}))}),zr=o.forwardRef((e,t)=>{const n=B(Q,e.__scopeDialog),r=o.useRef(!1);return o.createElement(Rt,A({},e,{ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:a=>{var c;if((c=e.onCloseAutoFocus)===null||c===void 0||c.call(e,a),!a.defaultPrevented){var l;r.current||(l=n.triggerRef.current)===null||l===void 0||l.focus(),a.preventDefault()}r.current=!1},onInteractOutside:a=>{var c,l;(c=e.onInteractOutside)===null||c===void 0||c.call(e,a),a.defaultPrevented||(r.current=!0);const s=a.target;((l=n.triggerRef.current)===null||l===void 0?void 0:l.contains(s))&&a.preventDefault()}}))}),Rt=o.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:a,onCloseAutoFocus:c,...l}=e,s=B(Q,n),u=o.useRef(null),i=J(t,u);return mr(),o.createElement(o.Fragment,null,o.createElement(rr,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:a,onUnmountAutoFocus:c},o.createElement(er,A({role:"dialog",id:s.contentId,"aria-describedby":s.descriptionId,"aria-labelledby":s.titleId,"data-state":Nt(s.open)},l,{ref:i,onDismiss:()=>s.onOpenChange(!1)}))),!1)});function Nt(e){return e?"open":"closed"}const Gr=Fr,qr=Ur,Hr=Br,Yr=Kr;var Xr='[cmdk-list-sizer=""]',Z='[cmdk-group=""]',we='[cmdk-group-items=""]',Zr='[cmdk-group-heading=""]',Oe='[cmdk-item=""]',ct=`${Oe}:not([aria-disabled="true"])`,De="cmdk-item-select",M="data-value",Qr=(e,t)=>Mn(e,t),kt=o.createContext(void 0),ee=()=>o.useContext(kt),Dt=o.createContext(void 0),Le=()=>o.useContext(Dt),At=o.createContext(void 0),It=o.forwardRef((e,t)=>{let n=o.useRef(null),r=z(()=>{var d,g,y;return{search:"",value:(y=(g=e.value)!=null?g:(d=e.defaultValue)==null?void 0:d.toLowerCase())!=null?y:"",filtered:{count:0,items:new Map,groups:new Set}}}),a=z(()=>new Set),c=z(()=>new Map),l=z(()=>new Map),s=z(()=>new Set),u=Pt(e),{label:i,children:m,value:v,onValueChange:w,filter:E,shouldFilter:C,vimBindings:f=!0,...$}=e,x=o.useId(),N=o.useId(),k=o.useId(),R=io();H(()=>{if(v!==void 0){let d=v.trim().toLowerCase();r.current.value=d,R(6,Me),b.emit()}},[v]);let b=o.useMemo(()=>({subscribe:d=>(s.current.add(d),()=>s.current.delete(d)),snapshot:()=>r.current,setState:(d,g,y)=>{var h,D,O;if(!Object.is(r.current[d],g)){if(r.current[d]=g,d==="search")ue(),L(),R(1,_);else if(d==="value")if(((h=u.current)==null?void 0:h.value)!==void 0){let F=g??"";(O=(D=u.current).onValueChange)==null||O.call(D,F);return}else y||R(5,Me);b.emit()}},emit:()=>{s.current.forEach(d=>d())}}),[]),S=o.useMemo(()=>({value:(d,g)=>{g!==l.current.get(d)&&(l.current.set(d,g),r.current.filtered.items.set(d,P(g)),R(2,()=>{L(),b.emit()}))},item:(d,g)=>(a.current.add(d),g&&(c.current.has(g)?c.current.get(g).add(d):c.current.set(g,new Set([d]))),R(3,()=>{ue(),L(),r.current.value||_(),b.emit()}),()=>{l.current.delete(d),a.current.delete(d),r.current.filtered.items.delete(d);let y=Y();R(4,()=>{ue(),y?.getAttribute("id")===d&&_(),b.emit()})}),group:d=>(c.current.has(d)||c.current.set(d,new Set),()=>{l.current.delete(d),c.current.delete(d)}),filter:()=>u.current.shouldFilter,label:i||e["aria-label"],commandRef:n,listId:x,inputId:k,labelId:N}),[]);function P(d){var g,y;let h=(y=(g=u.current)==null?void 0:g.filter)!=null?y:Qr;return d?h(d,r.current.search):0}function L(){if(!n.current||!r.current.search||u.current.shouldFilter===!1)return;let d=r.current.filtered.items,g=[];r.current.filtered.groups.forEach(h=>{let D=c.current.get(h),O=0;D.forEach(F=>{let me=d.get(F);O=Math.max(me,O)}),g.push([h,O])});let y=n.current.querySelector(Xr);X().sort((h,D)=>{var O,F;let me=h.getAttribute(M),Jt=D.getAttribute(M);return((O=d.get(Jt))!=null?O:0)-((F=d.get(me))!=null?F:0)}).forEach(h=>{let D=h.closest(we);D?D.appendChild(h.parentElement===D?h:h.closest(`${we} > *`)):y.appendChild(h.parentElement===y?h:h.closest(`${we} > *`))}),g.sort((h,D)=>D[1]-h[1]).forEach(h=>{let D=n.current.querySelector(`${Z}[${M}="${h[0]}"]`);D?.parentElement.appendChild(D)})}function _(){let d=X().find(y=>!y.ariaDisabled),g=d?.getAttribute(M);b.setState("value",g||void 0)}function ue(){if(!r.current.search||u.current.shouldFilter===!1){r.current.filtered.count=a.current.size;return}r.current.filtered.groups=new Set;let d=0;for(let g of a.current){let y=l.current.get(g),h=P(y);r.current.filtered.items.set(g,h),h>0&&d++}for(let[g,y]of c.current)for(let h of y)if(r.current.filtered.items.get(h)>0){r.current.filtered.groups.add(g);break}r.current.filtered.count=d}function Me(){var d,g,y;let h=Y();h&&(((d=h.parentElement)==null?void 0:d.firstChild)===h&&((y=(g=h.closest(Z))==null?void 0:g.querySelector(Zr))==null||y.scrollIntoView({block:"nearest"})),h.scrollIntoView({block:"nearest"}))}function Y(){var d;return(d=n.current)==null?void 0:d.querySelector(`${Oe}[aria-selected="true"]`)}function X(){return Array.from(n.current.querySelectorAll(ct))}function de(d){let g=X()[d];g&&b.setState("value",g.getAttribute(M))}function fe(d){var g;let y=Y(),h=X(),D=h.findIndex(F=>F===y),O=h[D+d];(g=u.current)!=null&&g.loop&&(O=D+d<0?h[h.length-1]:D+d===h.length?h[0]:h[D+d]),O&&b.setState("value",O.getAttribute(M))}function Te(d){let g=Y(),y=g?.closest(Z),h;for(;y&&!h;)y=d>0?so(y,Z):lo(y,Z),h=y?.querySelector(ct);h?b.setState("value",h.getAttribute(M)):fe(d)}let Fe=()=>de(X().length-1),je=d=>{d.preventDefault(),d.metaKey?Fe():d.altKey?Te(1):fe(1)},Ue=d=>{d.preventDefault(),d.metaKey?de(0):d.altKey?Te(-1):fe(-1)};return o.createElement("div",{ref:te([n,t]),...$,"cmdk-root":"",onKeyDown:d=>{var g;if((g=$.onKeyDown)==null||g.call($,d),!d.defaultPrevented)switch(d.key){case"n":case"j":{f&&d.ctrlKey&&je(d);break}case"ArrowDown":{je(d);break}case"p":case"k":{f&&d.ctrlKey&&Ue(d);break}case"ArrowUp":{Ue(d);break}case"Home":{d.preventDefault(),de(0);break}case"End":{d.preventDefault(),Fe();break}case"Enter":if(!d.nativeEvent.isComposing){d.preventDefault();let y=Y();if(y){let h=new Event(De);y.dispatchEvent(h)}}}}},o.createElement("label",{"cmdk-label":"",htmlFor:S.inputId,id:S.labelId,style:uo},i),o.createElement(Dt.Provider,{value:b},o.createElement(kt.Provider,{value:S},m)))}),Jr=o.forwardRef((e,t)=>{var n,r;let a=o.useId(),c=o.useRef(null),l=o.useContext(At),s=ee(),u=Pt(e),i=(r=(n=u.current)==null?void 0:n.forceMount)!=null?r:l?.forceMount;H(()=>s.item(a,l?.id),[]);let m=Ot(a,c,[e.value,e.children,c]),v=Le(),w=U(b=>b.value&&b.value===m.current),E=U(b=>i||s.filter()===!1?!0:b.search?b.filtered.items.get(a)>0:!0);o.useEffect(()=>{let b=c.current;if(!(!b||e.disabled))return b.addEventListener(De,C),()=>b.removeEventListener(De,C)},[E,e.onSelect,e.disabled]);function C(){var b,S;f(),(S=(b=u.current).onSelect)==null||S.call(b,m.current)}function f(){v.setState("value",m.current,!0)}if(!E)return null;let{disabled:$,value:x,onSelect:N,forceMount:k,...R}=e;return o.createElement("div",{ref:te([c,t]),...R,id:a,"cmdk-item":"",role:"option","aria-disabled":$||void 0,"aria-selected":w||void 0,"data-disabled":$||void 0,"data-selected":w||void 0,onPointerMove:$?void 0:f,onClick:$?void 0:C},e.children)}),eo=o.forwardRef((e,t)=>{let{heading:n,children:r,forceMount:a,...c}=e,l=o.useId(),s=o.useRef(null),u=o.useRef(null),i=o.useId(),m=ee(),v=U(C=>a||m.filter()===!1?!0:C.search?C.filtered.groups.has(l):!0);H(()=>m.group(l),[]),Ot(l,s,[e.value,e.heading,u]);let w=o.useMemo(()=>({id:l,forceMount:a}),[a]),E=o.createElement(At.Provider,{value:w},r);return o.createElement("div",{ref:te([s,t]),...c,"cmdk-group":"",role:"presentation",hidden:v?void 0:!0},n&&o.createElement("div",{ref:u,"cmdk-group-heading":"","aria-hidden":!0,id:i},n),o.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":n?i:void 0},E))}),to=o.forwardRef((e,t)=>{let{alwaysRender:n,...r}=e,a=o.useRef(null),c=U(l=>!l.search);return!n&&!c?null:o.createElement("div",{ref:te([a,t]),...r,"cmdk-separator":"",role:"separator"})}),no=o.forwardRef((e,t)=>{let{onValueChange:n,...r}=e,a=e.value!=null,c=Le(),l=U(m=>m.search),s=U(m=>m.value),u=ee(),i=o.useMemo(()=>{var m;let v=(m=u.commandRef.current)==null?void 0:m.querySelector(`${Oe}[${M}="${s}"]`);return v?.getAttribute("id")},[s,u.commandRef]);return o.useEffect(()=>{e.value!=null&&c.setState("search",e.value)},[e.value]),o.createElement("input",{ref:t,...r,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":u.listId,"aria-labelledby":u.labelId,"aria-activedescendant":i,id:u.inputId,type:"text",value:a?e.value:l,onChange:m=>{a||c.setState("search",m.target.value),n?.(m.target.value)}})}),ro=o.forwardRef((e,t)=>{let{children:n,...r}=e,a=o.useRef(null),c=o.useRef(null),l=ee();return o.useEffect(()=>{if(c.current&&a.current){let s=c.current,u=a.current,i,m=new ResizeObserver(()=>{i=requestAnimationFrame(()=>{let v=s.offsetHeight;u.style.setProperty("--cmdk-list-height",v.toFixed(1)+"px")})});return m.observe(s),()=>{cancelAnimationFrame(i),m.unobserve(s)}}},[]),o.createElement("div",{ref:te([a,t]),...r,"cmdk-list":"",role:"listbox","aria-label":"Suggestions",id:l.listId,"aria-labelledby":l.inputId},o.createElement("div",{ref:c,"cmdk-list-sizer":""},n))}),oo=o.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:a,contentClassName:c,container:l,...s}=e;return o.createElement(Gr,{open:n,onOpenChange:r},o.createElement(qr,{container:l},o.createElement(Hr,{"cmdk-overlay":"",className:a}),o.createElement(Yr,{"aria-label":e.label,"cmdk-dialog":"",className:c},o.createElement(It,{ref:t,...s}))))}),ao=o.forwardRef((e,t)=>{let n=o.useRef(!0),r=U(a=>a.filtered.count===0);return o.useEffect(()=>{n.current=!1},[]),n.current||!r?null:o.createElement("div",{ref:t,...e,"cmdk-empty":"",role:"presentation"})}),co=o.forwardRef((e,t)=>{let{progress:n,children:r,...a}=e;return o.createElement("div",{ref:t,...a,"cmdk-loading":"",role:"progressbar","aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":"Loading..."},o.createElement("div",{"aria-hidden":!0},r))}),I=Object.assign(It,{List:ro,Item:Jr,Input:no,Group:eo,Separator:to,Dialog:oo,Empty:ao,Loading:co});function so(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function lo(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function Pt(e){let t=o.useRef(e);return H(()=>{t.current=e}),t}var H=typeof window>"u"?o.useEffect:o.useLayoutEffect;function z(e){let t=o.useRef();return t.current===void 0&&(t.current=e()),t}function te(e){return t=>{e.forEach(n=>{typeof n=="function"?n(t):n!=null&&(n.current=t)})}}function U(e){let t=Le(),n=()=>e(t.snapshot());return o.useSyncExternalStore(t.subscribe,n,n)}function Ot(e,t,n){let r=o.useRef(),a=ee();return H(()=>{var c;let l=(()=>{var s;for(let u of n){if(typeof u=="string")return u.trim().toLowerCase();if(typeof u=="object"&&"current"in u)return u.current?(s=u.current.textContent)==null?void 0:s.trim().toLowerCase():r.current}})();a.value(e,l),(c=t.current)==null||c.setAttribute(M,l),r.current=l}),r}var io=()=>{let[e,t]=o.useState(),n=z(()=>new Map);return H(()=>{n.current.forEach(r=>r()),n.current=new Map},[e]),(r,a)=>{n.current.set(r,a),t({})}},uo={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};const Lt=o.forwardRef(({className:e,...t},n)=>p.jsx(I,{ref:n,className:T("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...t}));Lt.displayName=I.displayName;const fo=({children:e,...t})=>p.jsx(hn,{...t,children:p.jsx(gn,{className:"overflow-hidden p-0",children:p.jsx(Lt,{className:"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5",children:e})})}),_t=o.forwardRef(({className:e,...t},n)=>p.jsxs("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[p.jsx(un,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),p.jsx(I.Input,{ref:n,className:T("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...t})]}));_t.displayName=I.Input.displayName;const Mt=o.forwardRef(({className:e,...t},n)=>p.jsx(I.List,{ref:n,className:T("max-h-[300px] overflow-y-auto overflow-x-hidden",e),...t}));Mt.displayName=I.List.displayName;const Tt=o.forwardRef((e,t)=>p.jsx(I.Empty,{ref:t,className:"py-6 text-center text-sm",...e}));Tt.displayName=I.Empty.displayName;const Ft=o.forwardRef(({className:e,...t},n)=>p.jsx(I.Group,{ref:n,className:T("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",e),...t}));Ft.displayName=I.Group.displayName;const mo=o.forwardRef(({className:e,...t},n)=>p.jsx(I.Separator,{ref:n,className:T("-mx-1 h-px bg-border",e),...t}));mo.displayName=I.Separator.displayName;const jt=o.forwardRef(({className:e,...t},n)=>p.jsx(I.Item,{ref:n,className:T("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none aria-selected:bg-accent aria-selected:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...t}));jt.displayName=I.Item.displayName;/** - * @license lucide-react v0.399.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const vo=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Ut=(...e)=>e.filter((t,n,r)=>!!t&&r.indexOf(t)===n).join(" ");/** - * @license lucide-react v0.399.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */var po={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** - * @license lucide-react v0.399.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const ho=o.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:a="",children:c,iconNode:l,...s},u)=>o.createElement("svg",{ref:u,...po,width:t,height:t,stroke:e,strokeWidth:r?Number(n)*24/Number(t):n,className:Ut("lucide",a),...s},[...l.map(([i,m])=>o.createElement(i,m)),...Array.isArray(c)?c:[c]]));/** - * @license lucide-react v0.399.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const go=(e,t)=>{const n=o.forwardRef(({className:r,...a},c)=>o.createElement(ho,{ref:c,iconNode:t,className:Ut(`lucide-${vo(e)}`,r),...a}));return n.displayName=`${e}`,n};/** - * @license lucide-react v0.399.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const bo=go("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);function $o(){const e=[];for(const t of $n)if(t.href&&e.push(t),t.sub)for(const n of t.sub)e.push({...n,parent:t.title});return e}function Io(){const[e,t]=o.useState(!1),n=it(),r=$o();o.useEffect(()=>{const c=l=>{l.key==="k"&&(l.metaKey||l.ctrlKey)&&(l.preventDefault(),t(s=>!s))};return document.addEventListener("keydown",c),()=>document.removeEventListener("keydown",c)},[]);const a=o.useCallback(c=>{t(!1),n(c)},[n]);return p.jsxs(p.Fragment,{children:[p.jsxs(bn,{variant:"outline",className:"relative h-9 w-9 p-0 xl:h-10 xl:w-60 xl:justify-start xl:px-3 xl:py-2",onClick:()=>t(!0),children:[p.jsx(bo,{className:"h-4 w-4 xl:mr-2"}),p.jsx("span",{className:"hidden xl:inline-flex",children:"搜索..."}),p.jsx("span",{className:"sr-only",children:"搜索"}),p.jsxs("kbd",{className:"pointer-events-none absolute right-1.5 top-2 hidden h-6 select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono text-[10px] font-medium opacity-100 xl:flex",children:[p.jsx("span",{className:"text-xs",children:"⌘"}),"K"]})]}),p.jsxs(fo,{open:e,onOpenChange:t,children:[p.jsx(_t,{placeholder:"搜索所有菜单和功能..."}),p.jsxs(Mt,{children:[p.jsx(Tt,{children:"未找到相关结果"}),p.jsx(Ft,{heading:"菜单导航",children:r.map(c=>p.jsxs(jt,{value:`${c.parent?c.parent+" ":""}${c.title}`,onSelect:()=>a(c.href),children:[p.jsx("div",{className:"mr-2",children:c.icon}),p.jsx("span",{children:c.title}),c.parent&&p.jsx("span",{className:"ml-2 text-xs text-muted-foreground",children:c.parent})]},c.href))})]})]})]})}function Po(){const{theme:e,setTheme:t}=nn();return o.useEffect(()=>{const n=e==="dark"?"#020817":"#fff",r=document.querySelector("meta[name='theme-color']");r&&r.setAttribute("content",n)},[e]),p.jsx(ut,{size:"icon",variant:"ghost",className:"rounded-full",onClick:()=>t(e==="light"?"dark":"light"),children:e==="light"?p.jsx(Rn,{size:20}):p.jsx(Nn,{size:20})})}var _e="Avatar",[Eo,Oo]=Cn(_e),[yo,Bt]=Eo(_e),Wt=o.forwardRef((e,t)=>{const{__scopeAvatar:n,...r}=e,[a,c]=o.useState("idle");return p.jsx(yo,{scope:n,imageLoadingStatus:a,onImageLoadingStatusChange:c,children:p.jsx(Ae.span,{...r,ref:t})})});Wt.displayName=_e;var Kt="AvatarImage",Vt=o.forwardRef((e,t)=>{const{__scopeAvatar:n,src:r,onLoadingStatusChange:a=()=>{},...c}=e,l=Bt(Kt,n),s=xo(r,c.referrerPolicy),u=Sn(i=>{a(i),l.onImageLoadingStatusChange(i)});return ft(()=>{s!=="idle"&&u(s)},[s,u]),s==="loaded"?p.jsx(Ae.img,{...c,ref:t,src:r}):null});Vt.displayName=Kt;var zt="AvatarFallback",Gt=o.forwardRef((e,t)=>{const{__scopeAvatar:n,delayMs:r,...a}=e,c=Bt(zt,n),[l,s]=o.useState(r===void 0);return o.useEffect(()=>{if(r!==void 0){const u=window.setTimeout(()=>s(!0),r);return()=>window.clearTimeout(u)}},[r]),l&&c.imageLoadingStatus!=="loaded"?p.jsx(Ae.span,{...a,ref:t}):null});Gt.displayName=zt;function xo(e,t){const[n,r]=o.useState("idle");return ft(()=>{if(!e){r("error");return}let a=!0;const c=new window.Image,l=s=>()=>{a&&r(s)};return r("loading"),c.onload=l("loaded"),c.onerror=l("error"),c.src=e,t&&(c.referrerPolicy=t),()=>{a=!1}},[e,t]),n}var qt=Wt,Ht=Vt,Yt=Gt;const Xt=o.forwardRef(({className:e,...t},n)=>p.jsx(qt,{ref:n,className:T("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",e),...t}));Xt.displayName=qt.displayName;const Zt=o.forwardRef(({className:e,...t},n)=>p.jsx(Ht,{ref:n,className:T("aspect-square h-full w-full",e),...t}));Zt.displayName=Ht.displayName;const Qt=o.forwardRef(({className:e,...t},n)=>p.jsx(Yt,{ref:n,className:T("flex h-full w-full items-center justify-center rounded-full bg-muted",e),...t}));Qt.displayName=Yt.displayName;function Lo(){const e=it(),t=rn(),n=on(an),r=()=>{sn(),t(ln()),e("/sign-in")},a=n?.email?.split("@")[0]||"User",c=a.substring(0,2).toUpperCase();return p.jsxs(En,{children:[p.jsx(yn,{asChild:!0,children:p.jsx(ut,{variant:"ghost",className:"relative h-8 w-8 rounded-full",children:p.jsxs(Xt,{className:"h-8 w-8",children:[p.jsx(Zt,{src:n?.avatar_url,alt:a}),p.jsx(Qt,{children:c})]})})}),p.jsxs(xn,{className:"w-56",align:"end",forceMount:!0,children:[p.jsx(wn,{className:"font-normal",children:p.jsxs("div",{className:"flex flex-col space-y-1",children:[p.jsx("p",{className:"text-sm font-medium leading-none",children:a}),p.jsx("p",{className:"text-xs leading-none text-muted-foreground",children:n?.email||"user@example.com"})]})}),p.jsx(Be,{}),p.jsx(We,{asChild:!0,children:p.jsxs(cn,{to:"/config/system",children:["设置",p.jsx(Ke,{children:"⌘S"})]})}),p.jsx(Be,{}),p.jsxs(We,{onClick:r,children:["退出登录",p.jsx(Ke,{children:"⇧⌘Q"})]})]})]})}export{Lt as C,U as L,Io as S,Po as T,Lo as U,A as _,_t as a,Mt as b,go as c,Tt as d,Ft as e,jt as f,mo as g,I as w}; diff --git a/public/assets/admin/assets/vendor.css b/public/assets/admin/assets/vendor.css new file mode 100644 index 000000000..6ea3b6b3d --- /dev/null +++ b/public/assets/admin/assets/vendor.css @@ -0,0 +1 @@ +:root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: #e74c3c;--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient( to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55 );--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;padding:4px;width:var(--toastify-toast-width);box-sizing:border-box;color:#fff}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%)}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right)}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%)}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right)}@media only screen and (max-width : 480px){.Toastify__toast-container{width:100vw;padding:0;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}}.Toastify__toast{--y: 0;position:relative;touch-action:none;min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:8px;border-radius:var(--toastify-toast-bd-radius);box-shadow:0 4px 12px #0000001a;display:flex;justify-content:space-between;max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);cursor:default;direction:ltr;z-index:0;overflow:hidden}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-body{margin:auto 0;flex:1 1 auto;padding:6px;display:flex;align-items:center}.Toastify__toast-body>div:last-child{word-break:break-word;flex:1}.Toastify__toast-icon{margin-inline-end:10px;width:20px;flex-shrink:0;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}@media only screen and (max-width : 480px){.Toastify__toast{margin-bottom:0;border-radius:0}}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;align-self:flex-start;z-index:1}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:var(--toastify-z-index);opacity:.7;transform-origin:left;border-bottom-left-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial;border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp{position:absolute;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@font-face{font-family:rmel-iconfont;src:url(data:application/vnd.ms-fontobject;base64,fBkAAMAYAAABAAIAAAAAAAIABQMAAAAAAAABAJABAAAAAExQAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAB9vj4gAAAAAAAAAAAAAAAAAAAAAAABoAcgBtAGUAbAAtAGkAYwBvAG4AZgBvAG4AdAAAAA4AUgBlAGcAdQBsAGEAcgAAABYAVgBlAHIAcwBpAG8AbgAgADEALgAwAAAAGgByAG0AZQBsAC0AaQBjAG8AbgBmAG8AbgB0AAAAAAAAAQAAAAsAgAADADBHU1VCsP6z7QAAATgAAABCT1MvMj3jT5QAAAF8AAAAVmNtYXBA5I9dAAACPAAAAwhnbHlmMImhbQAABXwAAA9gaGVhZBtQ+k8AAADgAAAANmhoZWEH3gObAAAAvAAAACRobXR4aAAAAAAAAdQAAABobG9jYTX6MgAAAAVEAAAANm1heHABMAB7AAABGAAAACBuYW1lc9ztwgAAFNwAAAKpcG9zdCcpv64AABeIAAABNQABAAADgP+AAFwEAAAAAAAEAAABAAAAAAAAAAAAAAAAAAAAGgABAAAAAQAA4uPbB18PPPUACwQAAAAAANwY2ykAAAAA3BjbKQAA//8EAAMBAAAACAACAAAAAAAAAAEAAAAaAG8ADAAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAQAAAAoAHgAsAAFERkxUAAgABAAAAAAAAAABAAAAAWxpZ2EACAAAAAEAAAABAAQABAAAAAEACAABAAYAAAABAAAAAAABBAABkAAFAAgCiQLMAAAAjwKJAswAAAHrADIBCAAAAgAFAwAAAAAAAAAAAAAAAAAAAAAAAAAAAABQZkVkAEDnbe2iA4D/gABcA4AAgAAAAAEAAAAAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAAAAAUAAAADAAAALAAAAAQAAAHMAAEAAAAAAMYAAwABAAAALAADAAoAAAHMAAQAmgAAABYAEAADAAbnbelB7TztRe1h7XXteO2A7Y3tov//AADnbelB7TvtRO1f7W/td+2A7Yztn///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAWABYAFgAYABoAHgAqACwALAAuAAAAAQAEAAUAAwAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAAgAUABUAFgAXABgAGQAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAABPAAAAAAAAAAZAADnbQAA520AAAABAADpQQAA6UEAAAAEAADtOwAA7TsAAAAFAADtPAAA7TwAAAADAADtRAAA7UQAAAAGAADtRQAA7UUAAAAHAADtXwAA7V8AAAAIAADtYAAA7WAAAAAJAADtYQAA7WEAAAAKAADtbwAA7W8AAAALAADtcAAA7XAAAAAMAADtcQAA7XEAAAANAADtcgAA7XIAAAAOAADtcwAA7XMAAAAPAADtdAAA7XQAAAAQAADtdQAA7XUAAAARAADtdwAA7XcAAAASAADteAAA7XgAAAATAADtgAAA7YAAAAACAADtjAAA7YwAAAAUAADtjQAA7Y0AAAAVAADtnwAA7Z8AAAAWAADtoAAA7aAAAAAXAADtoQAA7aEAAAAYAADtogAA7aIAAAAZAAAAAABmAMwBHgGEAbwB/gJmAsgC/gM0A3IDogRABKgE7gUuBXAFygYKBmoGpAbEBugHRgewAAAABQAAAAADVgLWAAsAGAAlADQAQAAAEyEyFhQGByEuATQ2Fz4BNyEeARQGIyEiJgM0NjchHgEUBiMhIiY3PgEzITIeARQOASMhIiYnFhQPAQYmNRE0NhfWAlQSGRkS/awSGRnaARgTAWASGRkS/qASGfQZEgJUEhkZEv2sEhnzARgTAWAMFAsLFAz+oBIZOQgIkgseHgsC1RklGAEBGCUZ8hMYAQEYJRkZ/oUTGAEBGCUZGdkSGQsVFxQMGoYGFgaVDAwRASoRDAwAAAAADAAAAAADqwKrAA8AEwAXABsAHwAjACcAMwA3ADsAPwBDAAABIQ4BBwMeARchPgE3ES4BBTMVIxUzFSMnMxUjFTMVKwI1MzUjNTMBISImNDYzITIWFAY3IzUzNSM1MxcjNTM1IzUzA1X9ViQwAQEBMSQCqiQxAQEx/lxWVlZWgFZWVlYqVlZWVgFV/wASGBgSAQASGBgZVlZWVoBWVlZWAqsBMST+ViQxAQExJAGqJDF/VipW1lYqVlYqVv6AGCQZGSQYqlYqVtZWKlYAAwAAAAADKwMAAA8AHwAzAAAlHgEXIT4BNxEuASchDgEHMyEyFhcRDgEHIS4BJxE+ASUnJisBIg8BIyIGFBYzITI2NCYjAQABMCQBViQwAQEwJP6qJDABgAEAExcBARcT/wATFwEBFwEoHgsStBILHmsTFxcTAgARGRkRVSQwAQEwJAGrJDABATAkFxT+qxEZAQEZEQFVFBfVHg0NHhcnFxcnFwADAAAAAAOrAtkAFgAtAD4AAAEVBg8BBiIvASY0PwEnJjQ/ATYyHwEWBTc2NC8BJiIPAQYHFRYfARYyPwE2NCcBJyYGBwMGFh8BFjY3EzYmJwOrAQmwBxEHHgYGk5MGBh4HEQewCf0PkwYGHwYSBrAJAQEJsAcRBx4GBgFCKQkPBOMCBwgoCQ8E4gMHCQGIEA0KsAYGHgcRBpOTBhIGHgYGsAoVkwYRBx4GBrAKDRANCrAGBh4GEgYB2Q8DBwj9jAgQAw4DBwgCcwgPBAACAAAAAAOaAm8AEAAhAAAlJzc2NCYiDwEGFB8BFjI2NCU3JyY0NjIfARYUDwEGIiY0AXOmpg0ZJAzEDQ3EDiEaAQ2mpg0aIQ7EDQ3EDiEa2qamDiEaDcQNIg3EDRohDqamDCQZDcQNIg3EDRkkAAAAAwAAAAADuAKsAAsAFwAjAAABDgEHHgEXPgE3LgEDLgEnPgE3HgEXDgEDDgEHHgEXPgE3LgECAJjrNTXrmJjrNTXrmFZwAgJwVlZwAgJwVjRDAQFDNDRDAQFDAqwCpIaGpAICpIaGpP4OAnBWVnACAnBWVnABPgFDNDRDAQFDNDRDAAAABQAAAAADgAKrAAsAFwAjADAAQAAAEyEyNjQmIyEiBhQWFyE+ATQmJyEOARQWEyEyNjQmIyEiBhQWJx4BFyE+ATQmJyEOASUhHgEXEQ4BByEuATURNDarAQATFxcT/wARGRkRAQATFxcT/wARGRkRAQATFxcT/wARGRkaARkRAQATFxcT/wARGQHUAQARGQEBGRH/ABMXFwEAFycXFycXqwEZIhkBARkiGQFVFycXFycX1RMXAQEXJhcBARcYARcT/gARGQEBGRECABMXAAAAAAMAAAAAA6sCVgAZACYAQAAAASMiBhQWOwEeARcOAQcjIgYUFjsBPgE3LgEFHgEXIT4BNCYnIQ4BFyMuASc+ATczMjY0JisBDgEHHgEXMzI2NCYC1YASGBgSgDdIAQFIN4ASGBgSgFt4AwN4/iUBGBIBABIYGBL/ABIYVYA3SAEBSDeAEhgYEoBbeAMDeFuAEhgYAlUYJBkBSTY2SQEZJBgCeFtbeNMSGAEBGCQYAQEYkgFJNjZJARkkGAJ4W1t4AhgkGQABAAAAAAOsAisAHgAAAS4BJw4BBwYWFxY2Nz4BNzIWFwcGFhczPgE3NS4BBwMSO5ZVh9Q4ChMXFCMJK6FnP28sURMTHu4SGAECMRYBvDQ6AQKJchcqCAYPElZpASslUhYxAgEYEu8dFBMAAAABAAAAAAOyAisAHgAAAQ4BBycmBgcVHgEXMz4BLwE+ATMeARceATc+AScuAQIUVZY7URYxAgEYEu4eFBNSLW8+Z6ErCSQTFxMKOdMCKwE6NFAUFB3vEhgBAjEWUiUrAWlWEg8GCCoXcokAAAADAAAAAAL1Ar8AFAAcACQAAAE+ATcuAScjDgEHER4BFyE+ATc0JiUzHgEUBgcjEyM1Mx4BFAYCkyEpAQJmTu8UGQEBGRQBB0lpAjT+1IgdJycdiJ+fnx0nJwGKF0QkTmYCARoT/d4TGgECYUk1UtkBJjsmAf7viQEmOyYAAQAAAAADEgK/ABwAAAEeARczAyMOARQWFzM+ATQmJyMTMz4BNCYnIw4BAaUBJh0hnDsdJiYd5B0mJh0hnDsdJiYd5B0mAnodJgH+lAEmOicBASc6JgEBbAEmOicBAScABgAAAAADlgLWAAsAFwAjAEEAUgBuAAABIT4BNCYnIQ4BFBYBIQ4BFBYXIT4BNCYDIQ4BFBYXIT4BNCYFIyIGFBY7ARUjIgYUFjsBFSMiBhQWOwEyNjc1LgEDMxUeATI2PQE0JisBIgYUFhcjIgYUFjsBBwYdARQWOwEyNjQmKwE3Nj0BLgEBawIAEhgYEv4AEhkZAhL+ABIZGRICABIYGBL+ABIZGRICABIYGP1YVQkMDAlAFQoLCwoVQAkMDAlVCgsBAQtfFQELEwwMCSsJDAxeVQkMDAk3RwUMCVUKCwsKN0gFAQsCVQEYJBgBARgkGP5VARgkGAEBGCQYAQEBGCQYAQEYJBjVDBIMFgwSDBYMEgwMCYAJDAHWawkMDAmACQwMEgzWDBIMVAYICQkMDBIMVAYICQkMAAAAAAYAAAAAA4sCwAAIABEAGgAmADIAPwAAEw4BFBYyNjQmAw4BFBYyNjQmAw4BFBYyNjQmFyE+ATQmJyEOARQWNyE+ATQmJyEOARQWAx4BFyE+ATQmJyEOAbUbJCQ3JCQcGyQkNyQkHBskJDYlJI8CABIYGBL+ABIYGBICABIYGBL+ABIYGBkBGBICABIYGBL+ABIYAcABJDYkJDYkAQEBJDYkJDYk/gEBJDYkJDYkagEYJBgBARgkGP8BGCQYAQEYJBgBKhIYAQEYJBgBARgAAAACAAAAAANWAlYAFgAtAAAlMjY/ATY9AS4BKwEiBh0BFBYXMwcGFgUyNj8BNj0BNCYrASIGBxUeARczBwYWATIRGwc9CQEYEqsSGBgSViwOIAHMEBsIPAkYEqsSGAEBGBJVLA0gqxEOeRIUwhIYGBKrEhgBWB4zAREOeRIUwhIYGBKrEhgBWB4zAAAAAAMAAAAAA4ACwAAIABkAJQAAJT4BNzUjFR4BAR4BFzMVMzUzPgE0JichDgEDIT4BNCYnIQ4BFBYCACQwAaoBMP75ASQblqqWGyQkG/4qGyQrAqoSGRkS/VYSGRlAATAkKyskMAI/GyQBgIABJDYkAQEk/noBGCQYAQEYJBgAAAAAAgAA//8DKwMBABsAKAAAJT4BNxEuASIGBxEUBgcGLgI1ES4BIgYHER4BBx4BMyEyNjQmIyEiBgIiYnoCAR4tHgFBNSFBNR0BHi0eAQOm1AEYEgIAEhgYEv4AEhitD5NlARcWHh4W/uQ3UwwHDys8IwEgFh4eFv7gdpR2EhkZJBgYAAAAAwAAAAADcALHAAsALQA5AAATIT4BNCYjISIGFBYFISIGFBYXITIWFxYGByM1LgEPAQYUHwEWNjc1Mz4BJy4BBSMiBhQWFzM+ATQmwAJVEhkZEv2rEhgYAgv+BxIYGBICBiAzBgUxKGABGQtMBgZMDBgBVU1iBQhk/m2rEhgYEqsSGBgCcQEYJBgYJBisGCQYAScgKTkCIg8KCkwHEQdMCgoPIgJrTkRV/xgkGAEBGCQYAAAAAgAAAAADlgLAABQAKAAAARQWFzMRHgEyNjcRMz4BNCYnIQ4BAzMVFBYyNjc1MzI2NCYnIQ4BFBYBayQclQEkNiQBlRwkJBz+VhwkwEAkNyQBQBskJBv/ABwkJAKAGyQB/kAbJCQbAcABJDYkAQEk/tDrGyQkG+skNyQBASQ3JAAKAAAAAAN4AvgADwAWABoAIQAlACkALQA0ADgAPwAAASEOAQcRHgEXIT4BNxEuAQEjIiY9ATM1IzUzNSM1NDY7ARMjNTM1IzUzNSM1MxMjNTMVFAY3IzUzNSM1MzIWFQMs/aggKgEBKiACWCAqAQEq/h5xDxaWlpaWFg9x4ZaWlpaWlrxxlhYWlpaWcQ8WAvcBKiD9qCAqAQEqIAJYICr9XhYPcUuWS3EPFv2olkuWS5b9qJZxDxbhlkuWFg8AAAACAAD//wOAAwAADwAgAAAlES4BJyEOAQcRHgEXIT4BJRc3NjIfARYGIyEiJj8BPgEDgAEwJP2qJDABATAkAlYkMP39WYUHFAeVCAwN/gEOCwhqBxRVAlYkMAEBMCT9qiQwAQEw+2yqCAnHCxcXC4kIAQAAAAEAAAAAAzUCNgAQAAABBwYUFjI/ARcWMjY0LwEmIgHZ/hAhLBHX1xEsIRD+EC4CJv4RLCEQ19cQISwR/hAAAAABAAAAAAM1AjYAEgAAAQcnJiciDgEWHwEWMj8BNjQuAQLW1tcQFxEbDQYM/hEsEf4QIS0CJtfXDwESICAM/hAQ/hAtIAEAAAAEAAAAAANrAusAEAAhADMARAAANzMVFBYyNj0BNCYrASIGFBYTIyIGFBY7ATI2PQE0JiIGFQEyNj0BMzI2NCYrASIGHQEUFhM1NCYiBh0BFBY7ATI2NCYjyWgeLB0dFpwWHR1+aBYdHRacFh0dLB4BahYeaBYdHRacFh0dSh4sHR0WnBYdHRaxaBYdHRacFh0dLB4Bnh4sHR0WnBYdHRb9Xx0WaB4sHR0WnBYdAjloFh0dFpwWHR0sHgAAAAQAAAAAA1QC1AARACMANABGAAATDgEHFR4BFzM+ATQmKwE1NCYnPgE9ATMyNjQmJyMOAQcVHgEBIyIGFBYXMz4BNzUuASIGFQMeATsBFRQWMjY3NS4BJyMOAd0VGwEBGxWRFRsbFWEcFBQcYRUbGxWRFRsBARsCK2EVGxsVkRUbAQEbKRySARsVYRwpGwEBGxWRFRsBHwEbFZEVGwEBGykcYRUbwwEbFWEcKRsBARsVkRUb/qscKRsBARsVkRUbGxUBtRQcYRUbGxWRFRsBARsAAAAAAAASAN4AAQAAAAAAAAAVAAAAAQAAAAAAAQANABUAAQAAAAAAAgAHACIAAQAAAAAAAwANACkAAQAAAAAABAANADYAAQAAAAAABQALAEMAAQAAAAAABgANAE4AAQAAAAAACgArAFsAAQAAAAAACwATAIYAAwABBAkAAAAqAJkAAwABBAkAAQAaAMMAAwABBAkAAgAOAN0AAwABBAkAAwAaAOsAAwABBAkABAAaAQUAAwABBAkABQAWAR8AAwABBAkABgAaATUAAwABBAkACgBWAU8AAwABBAkACwAmAaUKQ3JlYXRlZCBieSBpY29uZm9udApybWVsLWljb25mb250UmVndWxhcnJtZWwtaWNvbmZvbnRybWVsLWljb25mb250VmVyc2lvbiAxLjBybWVsLWljb25mb250R2VuZXJhdGVkIGJ5IHN2ZzJ0dGYgZnJvbSBGb250ZWxsbyBwcm9qZWN0Lmh0dHA6Ly9mb250ZWxsby5jb20ACgBDAHIAZQBhAHQAZQBkACAAYgB5ACAAaQBjAG8AbgBmAG8AbgB0AAoAcgBtAGUAbAAtAGkAYwBvAG4AZgBvAG4AdABSAGUAZwB1AGwAYQByAHIAbQBlAGwALQBpAGMAbwBuAGYAbwBuAHQAcgBtAGUAbAAtAGkAYwBvAG4AZgBvAG4AdABWAGUAcgBzAGkAbwBuACAAMQAuADAAcgBtAGUAbAAtAGkAYwBvAG4AZgBvAG4AdABHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAQIBAwEEAQUBBgEHAQgBCQEKAQsBDAENAQ4BDwEQAREBEgETARQBFQEWARcBGAEZARoBGwADdGFiCGtleWJvYXJkBmRlbGV0ZQpjb2RlLWJsb2NrBGNvZGUKdmlzaWJpbGl0eQp2aWV3LXNwbGl0BGxpbmsEcmVkbwR1bmRvBGJvbGQGaXRhbGljDGxpc3Qtb3JkZXJlZA5saXN0LXVub3JkZXJlZAVxdW90ZQ1zdHJpa2V0aHJvdWdoCXVuZGVybGluZQR3cmFwCWZvbnQtc2l6ZQRncmlkBWltYWdlC2V4cGFuZC1sZXNzC2V4cGFuZC1tb3JlD2Z1bGxzY3JlZW4tZXhpdApmdWxsc2NyZWVuAAAAAAA=);src:url(data:font/ttf;base64,AAEAAAALAIAAAwAwR1NVQrD+s+0AAAE4AAAAQk9TLzI940+UAAABfAAAAFZjbWFwQOSPXQAAAjwAAAMIZ2x5ZjCJoW0AAAV8AAAPYGhlYWQbUPpPAAAA4AAAADZoaGVhB94DmwAAALwAAAAkaG10eGgAAAAAAAHUAAAAaGxvY2E1+jIAAAAFRAAAADZtYXhwATAAewAAARgAAAAgbmFtZXPc7cIAABTcAAACqXBvc3QnKb+uAAAXiAAAATUAAQAAA4D/gABcBAAAAAAABAAAAQAAAAAAAAAAAAAAAAAAABoAAQAAAAEAAOLjgrdfDzz1AAsEAAAAAADcGNspAAAAANwY2ykAAP//BAADAQAAAAgAAgAAAAAAAAABAAAAGgBvAAwAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKAB4ALAABREZMVAAIAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAAAAQQAAZAABQAIAokCzAAAAI8CiQLMAAAB6wAyAQgAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA523togOA/4AAXAOAAIAAAAABAAAAAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAAAAAFAAAAAwAAACwAAAAEAAABzAABAAAAAADGAAMAAQAAACwAAwAKAAABzAAEAJoAAAAWABAAAwAG523pQe087UXtYe117XjtgO2N7aL//wAA523pQe077UTtX+1v7XftgO2M7Z///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAFgAWABYAGAAaAB4AKgAsACwALgAAAAEABAAFAAMABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATAAIAFAAVABYAFwAYABkAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAATwAAAAAAAAAGQAA520AAOdtAAAAAQAA6UEAAOlBAAAABAAA7TsAAO07AAAABQAA7TwAAO08AAAAAwAA7UQAAO1EAAAABgAA7UUAAO1FAAAABwAA7V8AAO1fAAAACAAA7WAAAO1gAAAACQAA7WEAAO1hAAAACgAA7W8AAO1vAAAACwAA7XAAAO1wAAAADAAA7XEAAO1xAAAADQAA7XIAAO1yAAAADgAA7XMAAO1zAAAADwAA7XQAAO10AAAAEAAA7XUAAO11AAAAEQAA7XcAAO13AAAAEgAA7XgAAO14AAAAEwAA7YAAAO2AAAAAAgAA7YwAAO2MAAAAFAAA7Y0AAO2NAAAAFQAA7Z8AAO2fAAAAFgAA7aAAAO2gAAAAFwAA7aEAAO2hAAAAGAAA7aIAAO2iAAAAGQAAAAAAZgDMAR4BhAG8Af4CZgLIAv4DNANyA6IEQASoBO4FLgVwBcoGCgZqBqQGxAboB0YHsAAAAAUAAAAAA1YC1gALABgAJQA0AEAAABMhMhYUBgchLgE0Nhc+ATchHgEUBiMhIiYDNDY3IR4BFAYjISImNz4BMyEyHgEUDgEjISImJxYUDwEGJjURNDYX1gJUEhkZEv2sEhkZ2gEYEwFgEhkZEv6gEhn0GRICVBIZGRL9rBIZ8wEYEwFgDBQLCxQM/qASGTkICJILHh4LAtUZJRgBARglGfITGAEBGCUZGf6FExgBARglGRnZEhkLFRcUDBqGBhYGlQwMEQEqEQwMAAAAAAwAAAAAA6sCqwAPABMAFwAbAB8AIwAnADMANwA7AD8AQwAAASEOAQcDHgEXIT4BNxEuAQUzFSMVMxUjJzMVIxUzFSsCNTM1IzUzASEiJjQ2MyEyFhQGNyM1MzUjNTMXIzUzNSM1MwNV/VYkMAEBATEkAqokMQEBMf5cVlZWVoBWVlZWKlZWVlYBVf8AEhgYEgEAEhgYGVZWVlaAVlZWVgKrATEk/lYkMQEBMSQBqiQxf1YqVtZWKlZWKlb+gBgkGRkkGKpWKlbWVipWAAMAAAAAAysDAAAPAB8AMwAAJR4BFyE+ATcRLgEnIQ4BBzMhMhYXEQ4BByEuAScRPgElJyYrASIPASMiBhQWMyEyNjQmIwEAATAkAVYkMAEBMCT+qiQwAYABABMXAQEXE/8AExcBARcBKB4LErQSCx5rExcXEwIAERkZEVUkMAEBMCQBqyQwAQEwJBcU/qsRGQEBGREBVRQX1R4NDR4XJxcXJxcAAwAAAAADqwLZABYALQA+AAABFQYPAQYiLwEmND8BJyY0PwE2Mh8BFgU3NjQvASYiDwEGBxUWHwEWMj8BNjQnAScmBgcDBhYfARY2NxM2JicDqwEJsAcRBx4GBpOTBgYeBxEHsAn9D5MGBh8GEgawCQEBCbAHEQceBgYBQikJDwTjAgcIKAkPBOIDBwkBiBANCrAGBh4HEQaTkwYSBh4GBrAKFZMGEQceBgawCg0QDQqwBgYeBhIGAdkPAwcI/YwIEAMOAwcIAnMIDwQAAgAAAAADmgJvABAAIQAAJSc3NjQmIg8BBhQfARYyNjQlNycmNDYyHwEWFA8BBiImNAFzpqYNGSQMxA0NxA4hGgENpqYNGiEOxA0NxA4hGtqmpg4hGg3EDSINxA0aIQ6mpgwkGQ3EDSINxA0ZJAAAAAMAAAAAA7gCrAALABcAIwAAAQ4BBx4BFz4BNy4BAy4BJz4BNx4BFw4BAw4BBx4BFz4BNy4BAgCY6zU165iY6zU165hWcAICcFZWcAICcFY0QwEBQzQ0QwEBQwKsAqSGhqQCAqSGhqT+DgJwVlZwAgJwVlZwAT4BQzQ0QwEBQzQ0QwAAAAUAAAAAA4ACqwALABcAIwAwAEAAABMhMjY0JiMhIgYUFhchPgE0JichDgEUFhMhMjY0JiMhIgYUFiceARchPgE0JichDgElIR4BFxEOAQchLgE1ETQ2qwEAExcXE/8AERkZEQEAExcXE/8AERkZEQEAExcXE/8AERkZGgEZEQEAExcXE/8AERkB1AEAERkBARkR/wATFxcBABcnFxcnF6sBGSIZAQEZIhkBVRcnFxcnF9UTFwEBFyYXAQEXGAEXE/4AERkBARkRAgATFwAAAAADAAAAAAOrAlYAGQAmAEAAAAEjIgYUFjsBHgEXDgEHIyIGFBY7AT4BNy4BBR4BFyE+ATQmJyEOARcjLgEnPgE3MzI2NCYrAQ4BBx4BFzMyNjQmAtWAEhgYEoA3SAEBSDeAEhgYEoBbeAMDeP4lARgSAQASGBgS/wASGFWAN0gBAUg3gBIYGBKAW3gDA3hbgBIYGAJVGCQZAUk2NkkBGSQYAnhbW3jTEhgBARgkGAEBGJIBSTY2SQEZJBgCeFtbeAIYJBkAAQAAAAADrAIrAB4AAAEuAScOAQcGFhcWNjc+ATcyFhcHBhYXMz4BNzUuAQcDEjuWVYfUOAoTFxQjCSuhZz9vLFETEx7uEhgBAjEWAbw0OgECiXIXKggGDxJWaQErJVIWMQIBGBLvHRQTAAAAAQAAAAADsgIrAB4AAAEOAQcnJgYHFR4BFzM+AS8BPgEzHgEXHgE3PgEnLgECFFWWO1EWMQIBGBLuHhQTUi1vPmehKwkkExcTCjnTAisBOjRQFBQd7xIYAQIxFlIlKwFpVhIPBggqF3KJAAAAAwAAAAAC9QK/ABQAHAAkAAABPgE3LgEnIw4BBxEeARchPgE3NCYlMx4BFAYHIxMjNTMeARQGApMhKQECZk7vFBkBARkUAQdJaQI0/tSIHScnHYifn58dJycBihdEJE5mAgEaE/3eExoBAmFJNVLZASY7JgH+74kBJjsmAAEAAAAAAxICvwAcAAABHgEXMwMjDgEUFhczPgE0JicjEzM+ATQmJyMOAQGlASYdIZw7HSYmHeQdJiYdIZw7HSYmHeQdJgJ6HSYB/pQBJjonAQEnOiYBAWwBJjonAQEnAAYAAAAAA5YC1gALABcAIwBBAFIAbgAAASE+ATQmJyEOARQWASEOARQWFyE+ATQmAyEOARQWFyE+ATQmBSMiBhQWOwEVIyIGFBY7ARUjIgYUFjsBMjY3NS4BAzMVHgEyNj0BNCYrASIGFBYXIyIGFBY7AQcGHQEUFjsBMjY0JisBNzY9AS4BAWsCABIYGBL+ABIZGQIS/gASGRkSAgASGBgS/gASGRkSAgASGBj9WFUJDAwJQBUKCwsKFUAJDAwJVQoLAQELXxUBCxMMDAkrCQwMXlUJDAwJN0cFDAlVCgsLCjdIBQELAlUBGCQYAQEYJBj+VQEYJBgBARgkGAEBARgkGAEBGCQY1QwSDBYMEgwWDBIMDAmACQwB1msJDAwJgAkMDBIM1gwSDFQGCAkJDAwSDFQGCAkJDAAAAAAGAAAAAAOLAsAACAARABoAJgAyAD8AABMOARQWMjY0JgMOARQWMjY0JgMOARQWMjY0JhchPgE0JichDgEUFjchPgE0JichDgEUFgMeARchPgE0JichDgG1GyQkNyQkHBskJDckJBwbJCQ2JSSPAgASGBgS/gASGBgSAgASGBgS/gASGBgZARgSAgASGBgS/gASGAHAASQ2JCQ2JAEBASQ2JCQ2JP4BASQ2JCQ2JGoBGCQYAQEYJBj/ARgkGAEBGCQYASoSGAEBGCQYAQEYAAAAAgAAAAADVgJWABYALQAAJTI2PwE2PQEuASsBIgYdARQWFzMHBhYFMjY/ATY9ATQmKwEiBgcVHgEXMwcGFgEyERsHPQkBGBKrEhgYElYsDiABzBAbCDwJGBKrEhgBARgSVSwNIKsRDnkSFMISGBgSqxIYAVgeMwERDnkSFMISGBgSqxIYAVgeMwAAAAADAAAAAAOAAsAACAAZACUAACU+ATc1IxUeAQEeARczFTM1Mz4BNCYnIQ4BAyE+ATQmJyEOARQWAgAkMAGqATD++QEkG5aqlhskJBv+KhskKwKqEhkZEv1WEhkZQAEwJCsrJDACPxskAYCAASQ2JAEBJP56ARgkGAEBGCQYAAAAAAIAAP//AysDAQAbACgAACU+ATcRLgEiBgcRFAYHBi4CNREuASIGBxEeAQceATMhMjY0JiMhIgYCImJ6AgEeLR4BQTUhQTUdAR4tHgEDptQBGBICABIYGBL+ABIYrQ+TZQEXFh4eFv7kN1MMBw8rPCMBIBYeHhb+4HaUdhIZGSQYGAAAAAMAAAAAA3ACxwALAC0AOQAAEyE+ATQmIyEiBhQWBSEiBhQWFyEyFhcWBgcjNS4BDwEGFB8BFjY3NTM+AScuAQUjIgYUFhczPgE0JsACVRIZGRL9qxIYGAIL/gcSGBgSAgYgMwYFMShgARkLTAYGTAwYAVVNYgUIZP5tqxIYGBKrEhgYAnEBGCQYGCQYrBgkGAEnICk5AiIPCgpMBxEHTAoKDyICa05EVf8YJBgBARgkGAAAAAIAAAAAA5YCwAAUACgAAAEUFhczER4BMjY3ETM+ATQmJyEOAQMzFRQWMjY3NTMyNjQmJyEOARQWAWskHJUBJDYkAZUcJCQc/lYcJMBAJDckAUAbJCQb/wAcJCQCgBskAf5AGyQkGwHAASQ2JAEBJP7Q6xskJBvrJDckAQEkNyQACgAAAAADeAL4AA8AFgAaACEAJQApAC0ANAA4AD8AAAEhDgEHER4BFyE+ATcRLgEBIyImPQEzNSM1MzUjNTQ2OwETIzUzNSM1MzUjNTMTIzUzFRQGNyM1MzUjNTMyFhUDLP2oICoBASogAlggKgEBKv4ecQ8WlpaWlhYPceGWlpaWlpa8cZYWFpaWlnEPFgL3ASog/aggKgEBKiACWCAq/V4WD3FLlktxDxb9qJZLlkuW/aiWcQ8W4ZZLlhYPAAAAAgAA//8DgAMAAA8AIAAAJREuASchDgEHER4BFyE+ASUXNzYyHwEWBiMhIiY/AT4BA4ABMCT9qiQwAQEwJAJWJDD9/VmFBxQHlQgMDf4BDgsIagcUVQJWJDABATAk/aokMAEBMPtsqggJxwsXFwuJCAEAAAABAAAAAAM1AjYAEAAAAQcGFBYyPwEXFjI2NC8BJiIB2f4QISwR19cRLCEQ/hAuAib+ESwhENfXECEsEf4QAAAAAQAAAAADNQI2ABIAAAEHJyYnIg4BFh8BFjI/ATY0LgEC1tbXEBcRGw0GDP4RLBH+ECEtAibX1w8BEiAgDP4QEP4QLSABAAAABAAAAAADawLrABAAIQAzAEQAADczFRQWMjY9ATQmKwEiBhQWEyMiBhQWOwEyNj0BNCYiBhUBMjY9ATMyNjQmKwEiBh0BFBYTNTQmIgYdARQWOwEyNjQmI8loHiwdHRacFh0dfmgWHR0WnBYdHSweAWoWHmgWHR0WnBYdHUoeLB0dFpwWHR0WsWgWHR0WnBYdHSweAZ4eLB0dFpwWHR0W/V8dFmgeLB0dFpwWHQI5aBYdHRacFh0dLB4AAAAEAAAAAANUAtQAEQAjADQARgAAEw4BBxUeARczPgE0JisBNTQmJz4BPQEzMjY0JicjDgEHFR4BASMiBhQWFzM+ATc1LgEiBhUDHgE7ARUUFjI2NzUuAScjDgHdFRsBARsVkRUbGxVhHBQUHGEVGxsVkRUbAQEbAithFRsbFZEVGwEBGykckgEbFWEcKRsBARsVkRUbAR8BGxWRFRsBARspHGEVG8MBGxVhHCkbAQEbFZEVG/6rHCkbAQEbFZEVGxsVAbUUHGEVGxsVkRUbAQEbAAAAAAAAEgDeAAEAAAAAAAAAFQAAAAEAAAAAAAEADQAVAAEAAAAAAAIABwAiAAEAAAAAAAMADQApAAEAAAAAAAQADQA2AAEAAAAAAAUACwBDAAEAAAAAAAYADQBOAAEAAAAAAAoAKwBbAAEAAAAAAAsAEwCGAAMAAQQJAAAAKgCZAAMAAQQJAAEAGgDDAAMAAQQJAAIADgDdAAMAAQQJAAMAGgDrAAMAAQQJAAQAGgEFAAMAAQQJAAUAFgEfAAMAAQQJAAYAGgE1AAMAAQQJAAoAVgFPAAMAAQQJAAsAJgGlCkNyZWF0ZWQgYnkgaWNvbmZvbnQKcm1lbC1pY29uZm9udFJlZ3VsYXJybWVsLWljb25mb250cm1lbC1pY29uZm9udFZlcnNpb24gMS4wcm1lbC1pY29uZm9udEdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAAoAQwByAGUAYQB0AGUAZAAgAGIAeQAgAGkAYwBvAG4AZgBvAG4AdAAKAHIAbQBlAGwALQBpAGMAbwBuAGYAbwBuAHQAUgBlAGcAdQBsAGEAcgByAG0AZQBsAC0AaQBjAG8AbgBmAG8AbgB0AHIAbQBlAGwALQBpAGMAbwBuAGYAbwBuAHQAVgBlAHIAcwBpAG8AbgAgADEALgAwAHIAbQBlAGwALQBpAGMAbwBuAGYAbwBuAHQARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGgECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBEwEUARUBFgEXARgBGQEaARsAA3RhYghrZXlib2FyZAZkZWxldGUKY29kZS1ibG9jawRjb2RlCnZpc2liaWxpdHkKdmlldy1zcGxpdARsaW5rBHJlZG8EdW5kbwRib2xkBml0YWxpYwxsaXN0LW9yZGVyZWQObGlzdC11bm9yZGVyZWQFcXVvdGUNc3RyaWtldGhyb3VnaAl1bmRlcmxpbmUEd3JhcAlmb250LXNpemUEZ3JpZAVpbWFnZQtleHBhbmQtbGVzcwtleHBhbmQtbW9yZQ9mdWxsc2NyZWVuLWV4aXQKZnVsbHNjcmVlbgAAAAAA) format("truetype")}.rmel-iconfont{font-family:rmel-iconfont!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.rmel-icon-tab:before{content:""}.rmel-icon-keyboard:before{content:""}.rmel-icon-delete:before{content:""}.rmel-icon-code-block:before{content:""}.rmel-icon-code:before{content:""}.rmel-icon-visibility:before{content:""}.rmel-icon-view-split:before{content:""}.rmel-icon-link:before{content:""}.rmel-icon-redo:before{content:""}.rmel-icon-undo:before{content:""}.rmel-icon-bold:before{content:""}.rmel-icon-italic:before{content:""}.rmel-icon-list-ordered:before{content:""}.rmel-icon-list-unordered:before{content:""}.rmel-icon-quote:before{content:""}.rmel-icon-strikethrough:before{content:""}.rmel-icon-underline:before{content:""}.rmel-icon-wrap:before{content:""}.rmel-icon-font-size:before{content:""}.rmel-icon-grid:before{content:""}.rmel-icon-image:before{content:""}.rmel-icon-expand-less:before{content:""}.rmel-icon-expand-more:before{content:""}.rmel-icon-fullscreen-exit:before{content:""}.rmel-icon-fullscreen:before{content:""}.rc-md-editor{padding-bottom:1px;position:relative;border:1px solid #e0e0e0;background:#fff;box-sizing:border-box;display:flex;flex-direction:column}.rc-md-editor.full{width:100%;height:100%!important;position:fixed;left:0;top:0;z-index:1000}.rc-md-editor .editor-container{flex:1;display:flex;width:100%;min-height:0;position:relative}.rc-md-editor .editor-container>.section{flex-grow:1;flex-shrink:1;flex-basis:1px;border-right:1px solid #e0e0e0}.rc-md-editor .editor-container>.section.in-visible{display:none}.rc-md-editor .editor-container>.section>.section-container{padding:10px 15px 15px}.rc-md-editor .editor-container>.section:last-child{border-radius:none}.rc-md-editor .editor-container .sec-md{min-height:0;min-width:0}.rc-md-editor .editor-container .sec-md .input{display:block;box-sizing:border-box;width:100%;height:100%;overflow-y:scroll;border:none;resize:none;outline:none;min-height:0;background:#fff;color:#333;font-size:14px;line-height:1.7}.rc-md-editor .editor-container .sec-html{min-height:0;min-width:0}.rc-md-editor .editor-container .sec-html .html-wrap{height:100%;box-sizing:border-box;overflow:auto}.custom-html-style{color:#333}.custom-html-style h1{font-size:32px;padding:0;border:none;font-weight:700;margin:32px 0;line-height:1.2}.custom-html-style h2{font-size:24px;padding:0;border:none;font-weight:700;margin:24px 0;line-height:1.7}.custom-html-style h3{font-size:18px;margin:18px 0;padding:0;line-height:1.7;border:none}.custom-html-style p{font-size:14px;line-height:1.7;margin:8px 0}.custom-html-style a{color:#0052d9}.custom-html-style a:hover{text-decoration:none}.custom-html-style strong{font-weight:700}.custom-html-style ol,.custom-html-style ul{font-size:14px;line-height:28px;padding-left:36px}.custom-html-style li{margin-bottom:8px;line-height:1.7}.custom-html-style hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.custom-html-style pre{display:block;padding:20px;line-height:28px;word-break:break-word}.custom-html-style code,.custom-html-style pre{background-color:#f5f5f5;font-size:14px;border-radius:0;overflow-x:auto}.custom-html-style code{padding:3px 0;margin:0;word-break:normal}.custom-html-style code:after,.custom-html-style code:before{letter-spacing:0}.custom-html-style blockquote{position:relative;margin:16px 0;padding:5px 8px 5px 30px;background:none repeat scroll 0 0 #6680990d;color:#333;border:none;border-left:10px solid #d6dbdf}.custom-html-style img,.custom-html-style video{max-width:100%}.custom-html-style table{font-size:14px;line-height:1.7;max-width:100%;overflow:auto;border:1px solid #f6f6f6;border-collapse:collapse;border-spacing:0;box-sizing:border-box}.custom-html-style table td,.custom-html-style table th{word-break:break-all;word-wrap:break-word;white-space:normal}.custom-html-style table tr{border:1px solid #efefef}.custom-html-style table tr:nth-child(2n){background-color:transparent}.custom-html-style table th{text-align:center;font-weight:700;border:1px solid #efefef;padding:10px 6px;background-color:#f5f7fa;word-break:break-word}.custom-html-style table td{border:1px solid #efefef;text-align:left;padding:10px 15px;word-break:break-word;min-width:60px}.rc-md-editor .drop-wrap{display:block;position:absolute;left:0;top:28px;z-index:2;min-width:20px;padding:10px 0;text-align:center;background-color:#fff;border-color:#f1f1f1 #ddd #ddd #f1f1f1;border-style:solid;border-width:1px}.rc-md-editor .drop-wrap.hidden{display:none!important}.rc-md-editor .rc-md-navigation{min-height:38px;padding:0 8px;box-sizing:border-box;border-bottom:1px solid #e0e0e0;font-size:16px;background:#f5f5f5;-webkit-user-select:none;-moz-user-select:none;user-select:none;display:flex;flex-direction:row;justify-content:space-between}.rc-md-editor .rc-md-navigation.in-visible{display:none}.rc-md-editor .rc-md-navigation .navigation-nav{align-items:center;justify-content:center;font-size:14px;color:#757575}.rc-md-editor .rc-md-navigation .button-wrap,.rc-md-editor .rc-md-navigation .navigation-nav{display:flex;flex-direction:row}.rc-md-editor .rc-md-navigation .button-wrap{flex-wrap:wrap}.rc-md-editor .rc-md-navigation .button-wrap .button{position:relative;min-width:24px;height:28px;margin-left:3px;margin-right:3px;display:inline-block;cursor:pointer;line-height:28px;text-align:center;color:#757575}.rc-md-editor .rc-md-navigation .button-wrap .button:hover{color:#212121}.rc-md-editor .rc-md-navigation .button-wrap .button.disabled{color:#bdbdbd;cursor:not-allowed}.rc-md-editor .rc-md-navigation .button-wrap .button:first-child{margin-left:0}.rc-md-editor .rc-md-navigation .button-wrap .button:last-child{margin-right:0}.rc-md-editor .rc-md-navigation .button-wrap .rmel-iconfont{font-size:18px}.rc-md-editor .rc-md-navigation li,.rc-md-editor .rc-md-navigation ul{list-style:none;margin:0;padding:0}.rc-md-editor .rc-md-navigation .h1,.rc-md-editor .rc-md-navigation .h2,.rc-md-editor .rc-md-navigation .h3,.rc-md-editor .rc-md-navigation .h4,.rc-md-editor .rc-md-navigation .h5,.rc-md-editor .rc-md-navigation .h6,.rc-md-editor .rc-md-navigation h1,.rc-md-editor .rc-md-navigation h2,.rc-md-editor .rc-md-navigation h3,.rc-md-editor .rc-md-navigation h4,.rc-md-editor .rc-md-navigation h5,.rc-md-editor .rc-md-navigation h6{font-family:inherit;font-weight:500;color:inherit;padding:0;margin:0;line-height:1.1}.rc-md-editor .rc-md-navigation h1{font-size:34px}.rc-md-editor .rc-md-navigation h2{font-size:30px}.rc-md-editor .rc-md-navigation h3{font-size:24px}.rc-md-editor .rc-md-navigation h4{font-size:18px}.rc-md-editor .rc-md-navigation h5{font-size:14px}.rc-md-editor .rc-md-navigation h6{font-size:12px}.rc-md-editor .tool-bar{position:absolute;z-index:1;right:8px;top:8px}.rc-md-editor .tool-bar .button{min-width:24px;height:28px;margin-right:5px;display:inline-block;cursor:pointer;font-size:14px;line-height:28px;text-align:center;color:#999}.rc-md-editor .tool-bar .button:hover{color:#333}.rc-md-editor .rc-md-divider{display:block;width:1px;background-color:#e0e0e0}.rc-md-editor .table-list.wrap{position:relative;margin:0 10px;box-sizing:border-box}.rc-md-editor .table-list.wrap .list-item{position:absolute;top:0;left:0;display:inline-block;width:20px;height:20px;background-color:#e0e0e0;border-radius:3px}.rc-md-editor .table-list.wrap .list-item.active{background:#9e9e9e}.rc-md-editor .tab-map-list .list-item{width:120px;box-sizing:border-box}.rc-md-editor .tab-map-list .list-item:hover{background:#f5f5f5}.rc-md-editor .tab-map-list .list-item.active{font-weight:700}.rc-md-editor .header-list .list-item{width:100px;box-sizing:border-box;padding:8px 0}.rc-md-editor .header-list .list-item:hover{background:#f5f5f5} diff --git a/public/assets/admin/assets/vendor.js b/public/assets/admin/assets/vendor.js new file mode 100644 index 000000000..c6aaffc95 --- /dev/null +++ b/public/assets/admin/assets/vendor.js @@ -0,0 +1,578 @@ +import{g as Dn,c as La,a as lre,r as cre}from"./index.js";function vN(e,t){for(var n=0;nr[i]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var yN={exports:{}},Sx={},bN={exports:{}},an={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var cm=Symbol.for("react.element"),fre=Symbol.for("react.portal"),dre=Symbol.for("react.fragment"),hre=Symbol.for("react.strict_mode"),pre=Symbol.for("react.profiler"),gre=Symbol.for("react.provider"),mre=Symbol.for("react.context"),vre=Symbol.for("react.forward_ref"),yre=Symbol.for("react.suspense"),bre=Symbol.for("react.memo"),xre=Symbol.for("react.lazy"),Bk=Symbol.iterator;function wre(e){return e===null||typeof e!="object"?null:(e=Bk&&e[Bk]||e["@@iterator"],typeof e=="function"?e:null)}var xN={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},wN=Object.assign,_N={};function Ph(e,t,n){this.props=e,this.context=t,this.refs=_N,this.updater=n||xN}Ph.prototype.isReactComponent={};Ph.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};Ph.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function SN(){}SN.prototype=Ph.prototype;function C4(e,t,n){this.props=e,this.context=t,this.refs=_N,this.updater=n||xN}var E4=C4.prototype=new SN;E4.constructor=C4;wN(E4,Ph.prototype);E4.isPureReactComponent=!0;var zk=Array.isArray,CN=Object.prototype.hasOwnProperty,O4={current:null},EN={key:!0,ref:!0,__self:!0,__source:!0};function ON(e,t,n){var r,i={},o=null,a=null;if(t!=null)for(r in t.ref!==void 0&&(a=t.ref),t.key!==void 0&&(o=""+t.key),t)CN.call(t,r)&&!EN.hasOwnProperty(r)&&(i[r]=t[r]);var s=arguments.length-2;if(s===1)i.children=n;else if(1>>1,ae=j[oe];if(0>>1;oei(we,Y))Hei(Ee,we)?(j[oe]=Ee,j[He]=Y,oe=He):(j[oe]=we,j[be]=Y,oe=be);else if(Hei(Ee,Y))j[oe]=Ee,j[He]=Y,oe=He;else break e}}return K}function i(j,K){var Y=j.sortIndex-K.sortIndex;return Y!==0?Y:j.id-K.id}if(typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var a=Date,s=a.now();e.unstable_now=function(){return a.now()-s}}var u=[],l=[],c=1,f=null,h=3,p=!1,m=!1,v=!1,b=typeof setTimeout=="function"?setTimeout:null,w=typeof clearTimeout=="function"?clearTimeout:null,x=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function S(j){for(var K=n(l);K!==null;){if(K.callback===null)r(l);else if(K.startTime<=j)r(l),K.sortIndex=K.expirationTime,t(u,K);else break;K=n(l)}}function O(j){if(v=!1,S(j),!m)if(n(u)!==null)m=!0,q(E);else{var K=n(l);K!==null&&W(O,K.startTime-j)}}function E(j,K){m=!1,v&&(v=!1,w(M),M=-1),p=!0;var Y=h;try{for(S(K),f=n(u);f!==null&&(!(f.expirationTime>K)||j&&!H());){var oe=f.callback;if(typeof oe=="function"){f.callback=null,h=f.priorityLevel;var ae=oe(f.expirationTime<=K);K=e.unstable_now(),typeof ae=="function"?f.callback=ae:f===n(u)&&r(u),S(K)}else r(u);f=n(u)}if(f!==null)var ue=!0;else{var be=n(l);be!==null&&W(O,be.startTime-K),ue=!1}return ue}finally{f=null,h=Y,p=!1}}var C=!1,k=null,M=-1,L=5,U=-1;function H(){return!(e.unstable_now()-Uj||125oe?(j.sortIndex=Y,t(l,j),n(u)===null&&j===n(l)&&(v?(w(M),M=-1):v=!0,W(O,Y-oe))):(j.sortIndex=ae,t(u,j),m||p||(m=!0,q(E))),j},e.unstable_shouldYield=H,e.unstable_wrapCallback=function(j){var K=h;return function(){var Y=h;h=K;try{return j.apply(this,arguments)}finally{h=Y}}}})(MN);TN.exports=MN;var Rre=TN.exports;/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Dre=y,Bo=Rre;function Ve(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),N3=Object.prototype.hasOwnProperty,$re=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Wk={},Hk={};function Ire(e){return N3.call(Hk,e)?!0:N3.call(Wk,e)?!1:$re.test(e)?Hk[e]=!0:(Wk[e]=!0,!1)}function Nre(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Lre(e,t,n,r){if(t===null||typeof t>"u"||Nre(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Gi(e,t,n,r,i,o,a){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=a}var mi={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){mi[e]=new Gi(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];mi[t]=new Gi(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){mi[e]=new Gi(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){mi[e]=new Gi(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){mi[e]=new Gi(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){mi[e]=new Gi(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){mi[e]=new Gi(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){mi[e]=new Gi(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){mi[e]=new Gi(e,5,!1,e.toLowerCase(),null,!1,!1)});var k4=/[\-:]([a-z])/g;function T4(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(k4,T4);mi[t]=new Gi(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(k4,T4);mi[t]=new Gi(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(k4,T4);mi[t]=new Gi(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){mi[e]=new Gi(e,1,!1,e.toLowerCase(),null,!1,!1)});mi.xlinkHref=new Gi("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){mi[e]=new Gi(e,1,!1,e.toLowerCase(),null,!0,!0)});function M4(e,t,n,r){var i=mi.hasOwnProperty(t)?mi[t]:null;(i!==null?i.type!==0:r||!(2s||i[a]!==o[s]){var u=` +`+i[a].replace(" at new "," at ");return e.displayName&&u.includes("")&&(u=u.replace("",e.displayName)),u}while(1<=a&&0<=s);break}}}finally{T_=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Jp(e):""}function Fre(e){switch(e.tag){case 5:return Jp(e.type);case 16:return Jp("Lazy");case 13:return Jp("Suspense");case 19:return Jp("SuspenseList");case 0:case 2:case 15:return e=M_(e.type,!1),e;case 11:return e=M_(e.type.render,!1),e;case 1:return e=M_(e.type,!0),e;default:return""}}function B3(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case id:return"Fragment";case rd:return"Portal";case L3:return"Profiler";case R4:return"StrictMode";case F3:return"Suspense";case j3:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case $N:return(e.displayName||"Context")+".Consumer";case DN:return(e._context.displayName||"Context")+".Provider";case D4:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case $4:return t=e.displayName||null,t!==null?t:B3(e.type)||"Memo";case Zu:t=e._payload,e=e._init;try{return B3(e(t))}catch{}}return null}function jre(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return B3(t);case 8:return t===R4?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Cl(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function NN(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Bre(e){var t=NN(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(a){r=""+a,o.call(this,a)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(a){r=""+a},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Lv(e){e._valueTracker||(e._valueTracker=Bre(e))}function LN(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=NN(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function ay(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function z3(e,t){var n=t.checked;return hr({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function qk(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Cl(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function FN(e,t){t=t.checked,t!=null&&M4(e,"checked",t,!1)}function U3(e,t){FN(e,t);var n=Cl(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?V3(e,t.type,n):t.hasOwnProperty("defaultValue")&&V3(e,t.type,Cl(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Gk(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function V3(e,t,n){(t!=="number"||ay(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var e0=Array.isArray;function bd(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=Fv.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function D0(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var c0={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},zre=["Webkit","ms","Moz","O"];Object.keys(c0).forEach(function(e){zre.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),c0[t]=c0[e]})});function UN(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||c0.hasOwnProperty(e)&&c0[e]?(""+t).trim():t+"px"}function VN(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=UN(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var Ure=hr({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function K3(e,t){if(t){if(Ure[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(Ve(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(Ve(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(Ve(61))}if(t.style!=null&&typeof t.style!="object")throw Error(Ve(62))}}function q3(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var G3=null;function I4(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Y3=null,xd=null,wd=null;function Xk(e){if(e=hm(e)){if(typeof Y3!="function")throw Error(Ve(280));var t=e.stateNode;t&&(t=Px(t),Y3(e.stateNode,e.type,t))}}function WN(e){xd?wd?wd.push(e):wd=[e]:xd=e}function HN(){if(xd){var e=xd,t=wd;if(wd=xd=null,Xk(e),t)for(e=0;e>>=0,e===0?32:31-(Jre(e)/eie|0)|0}var jv=64,Bv=4194304;function t0(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function cy(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,o=e.pingedLanes,a=n&268435455;if(a!==0){var s=a&~i;s!==0?r=t0(s):(o&=a,o!==0&&(r=t0(o)))}else a=n&~i,a!==0?r=t0(a):o!==0&&(r=t0(o));if(r===0)return 0;if(t!==0&&t!==r&&!(t&i)&&(i=r&-r,o=t&-t,i>=o||i===16&&(o&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function fm(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Va(t),e[t]=n}function iie(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=d0),aT=" ",sT=!1;function fL(e,t){switch(e){case"keyup":return Rie.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function dL(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var od=!1;function $ie(e,t){switch(e){case"compositionend":return dL(t);case"keypress":return t.which!==32?null:(sT=!0,aT);case"textInput":return e=t.data,e===aT&&sT?null:e;default:return null}}function Iie(e,t){if(od)return e==="compositionend"||!V4&&fL(e,t)?(e=lL(),F1=B4=ol=null,od=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=fT(n)}}function mL(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?mL(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function vL(){for(var e=window,t=ay();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=ay(e.document)}return t}function W4(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function Wie(e){var t=vL(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&mL(n.ownerDocument.documentElement,n)){if(r!==null&&W4(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,o=Math.min(r.start,i);r=r.end===void 0?o:Math.min(r.end,i),!e.extend&&o>r&&(i=r,r=o,o=i),i=dT(n,o);var a=dT(n,r);i&&a&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==a.node||e.focusOffset!==a.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),o>r?(e.addRange(t),e.extend(a.node,a.offset)):(t.setEnd(a.node,a.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,ad=null,tC=null,p0=null,nC=!1;function hT(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;nC||ad==null||ad!==ay(r)||(r=ad,"selectionStart"in r&&W4(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),p0&&j0(p0,r)||(p0=r,r=hy(tC,"onSelect"),0ld||(e.current=uC[ld],uC[ld]=null,ld--)}function Wn(e,t){ld++,uC[ld]=e.current,e.current=t}var El={},Di=Fl(El),lo=Fl(!1),Nc=El;function Bd(e,t){var n=e.type.contextTypes;if(!n)return El;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},o;for(o in n)i[o]=t[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function co(e){return e=e.childContextTypes,e!=null}function gy(){nr(lo),nr(Di)}function xT(e,t,n){if(Di.current!==El)throw Error(Ve(168));Wn(Di,t),Wn(lo,n)}function OL(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(Ve(108,jre(e)||"Unknown",i));return hr({},n,r)}function my(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||El,Nc=Di.current,Wn(Di,e),Wn(lo,lo.current),!0}function wT(e,t,n){var r=e.stateNode;if(!r)throw Error(Ve(169));n?(e=OL(e,t,Nc),r.__reactInternalMemoizedMergedChildContext=e,nr(lo),nr(Di),Wn(Di,e)):nr(lo),Wn(lo,n)}var tu=null,kx=!1,H_=!1;function AL(e){tu===null?tu=[e]:tu.push(e)}function noe(e){kx=!0,AL(e)}function jl(){if(!H_&&tu!==null){H_=!0;var e=0,t=Mn;try{var n=tu;for(Mn=1;e>=a,i-=a,ru=1<<32-Va(t)+i|n<M?(L=k,k=null):L=k.sibling;var U=h(w,k,S[M],O);if(U===null){k===null&&(k=L);break}e&&k&&U.alternate===null&&t(w,k),x=o(U,x,M),C===null?E=U:C.sibling=U,C=U,k=L}if(M===S.length)return n(w,k),or&&sc(w,M),E;if(k===null){for(;MM?(L=k,k=null):L=k.sibling;var H=h(w,k,U.value,O);if(H===null){k===null&&(k=L);break}e&&k&&H.alternate===null&&t(w,k),x=o(H,x,M),C===null?E=H:C.sibling=H,C=H,k=L}if(U.done)return n(w,k),or&&sc(w,M),E;if(k===null){for(;!U.done;M++,U=S.next())U=f(w,U.value,O),U!==null&&(x=o(U,x,M),C===null?E=U:C.sibling=U,C=U);return or&&sc(w,M),E}for(k=r(w,k);!U.done;M++,U=S.next())U=p(k,w,M,U.value,O),U!==null&&(e&&U.alternate!==null&&k.delete(U.key===null?M:U.key),x=o(U,x,M),C===null?E=U:C.sibling=U,C=U);return e&&k.forEach(function(V){return t(w,V)}),or&&sc(w,M),E}function b(w,x,S,O){if(typeof S=="object"&&S!==null&&S.type===id&&S.key===null&&(S=S.props.children),typeof S=="object"&&S!==null){switch(S.$$typeof){case Nv:e:{for(var E=S.key,C=x;C!==null;){if(C.key===E){if(E=S.type,E===id){if(C.tag===7){n(w,C.sibling),x=i(C,S.props.children),x.return=w,w=x;break e}}else if(C.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===Zu&&CT(E)===C.type){n(w,C.sibling),x=i(C,S.props),x.ref=Ep(w,C,S),x.return=w,w=x;break e}n(w,C);break}else t(w,C);C=C.sibling}S.type===id?(x=kc(S.props.children,w.mode,O,S.key),x.return=w,w=x):(O=K1(S.type,S.key,S.props,null,w.mode,O),O.ref=Ep(w,x,S),O.return=w,w=O)}return a(w);case rd:e:{for(C=S.key;x!==null;){if(x.key===C)if(x.tag===4&&x.stateNode.containerInfo===S.containerInfo&&x.stateNode.implementation===S.implementation){n(w,x.sibling),x=i(x,S.children||[]),x.return=w,w=x;break e}else{n(w,x);break}else t(w,x);x=x.sibling}x=J_(S,w.mode,O),x.return=w,w=x}return a(w);case Zu:return C=S._init,b(w,x,C(S._payload),O)}if(e0(S))return m(w,x,S,O);if(xp(S))return v(w,x,S,O);qv(w,S)}return typeof S=="string"&&S!==""||typeof S=="number"?(S=""+S,x!==null&&x.tag===6?(n(w,x.sibling),x=i(x,S),x.return=w,w=x):(n(w,x),x=Q_(S,w.mode,O),x.return=w,w=x),a(w)):n(w,x)}return b}var Ud=ML(!0),RL=ML(!1),by=Fl(null),xy=null,dd=null,G4=null;function Y4(){G4=dd=xy=null}function Z4(e){var t=by.current;nr(by),e._currentValue=t}function fC(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Sd(e,t){xy=e,G4=dd=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(ao=!0),e.firstContext=null)}function pa(e){var t=e._currentValue;if(G4!==e)if(e={context:e,memoizedValue:t,next:null},dd===null){if(xy===null)throw Error(Ve(308));dd=e,xy.dependencies={lanes:0,firstContext:e}}else dd=dd.next=e;return t}var yc=null;function X4(e){yc===null?yc=[e]:yc.push(e)}function DL(e,t,n,r){var i=t.interleaved;return i===null?(n.next=n,X4(t)):(n.next=i.next,i.next=n),t.interleaved=n,mu(e,r)}function mu(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var Xu=!1;function Q4(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function $L(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function uu(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function yl(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,vn&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,mu(e,n)}return i=r.interleaved,i===null?(t.next=t,X4(r)):(t.next=i.next,i.next=t),r.interleaved=t,mu(e,n)}function B1(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,L4(e,n)}}function ET(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,o=null;if(n=n.firstBaseUpdate,n!==null){do{var a={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};o===null?i=o=a:o=o.next=a,n=n.next}while(n!==null);o===null?i=o=t:o=o.next=t}else i=o=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:o,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function wy(e,t,n,r){var i=e.updateQueue;Xu=!1;var o=i.firstBaseUpdate,a=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var u=s,l=u.next;u.next=null,a===null?o=l:a.next=l,a=u;var c=e.alternate;c!==null&&(c=c.updateQueue,s=c.lastBaseUpdate,s!==a&&(s===null?c.firstBaseUpdate=l:s.next=l,c.lastBaseUpdate=u))}if(o!==null){var f=i.baseState;a=0,c=l=u=null,s=o;do{var h=s.lane,p=s.eventTime;if((r&h)===h){c!==null&&(c=c.next={eventTime:p,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var m=e,v=s;switch(h=t,p=n,v.tag){case 1:if(m=v.payload,typeof m=="function"){f=m.call(p,f,h);break e}f=m;break e;case 3:m.flags=m.flags&-65537|128;case 0:if(m=v.payload,h=typeof m=="function"?m.call(p,f,h):m,h==null)break e;f=hr({},f,h);break e;case 2:Xu=!0}}s.callback!==null&&s.lane!==0&&(e.flags|=64,h=i.effects,h===null?i.effects=[s]:h.push(s))}else p={eventTime:p,lane:h,tag:s.tag,payload:s.payload,callback:s.callback,next:null},c===null?(l=c=p,u=f):c=c.next=p,a|=h;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;h=s,s=h.next,h.next=null,i.lastBaseUpdate=h,i.shared.pending=null}}while(!0);if(c===null&&(u=f),i.baseState=u,i.firstBaseUpdate=l,i.lastBaseUpdate=c,t=i.shared.interleaved,t!==null){i=t;do a|=i.lane,i=i.next;while(i!==t)}else o===null&&(i.shared.lanes=0);jc|=a,e.lanes=a,e.memoizedState=f}}function OT(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=q_.transition;q_.transition={};try{e(!1),t()}finally{Mn=n,q_.transition=r}}function XL(){return ga().memoizedState}function aoe(e,t,n){var r=xl(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},QL(e))JL(t,n);else if(n=DL(e,t,n,r),n!==null){var i=Wi();Wa(n,e,r,i),eF(n,t,r)}}function soe(e,t,n){var r=xl(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(QL(e))JL(t,i);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var a=t.lastRenderedState,s=o(a,n);if(i.hasEagerState=!0,i.eagerState=s,Ga(s,a)){var u=t.interleaved;u===null?(i.next=i,X4(t)):(i.next=u.next,u.next=i),t.interleaved=i;return}}catch{}finally{}n=DL(e,t,i,r),n!==null&&(i=Wi(),Wa(n,e,r,i),eF(n,t,r))}}function QL(e){var t=e.alternate;return e===dr||t!==null&&t===dr}function JL(e,t){g0=Sy=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function eF(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,L4(e,n)}}var Cy={readContext:pa,useCallback:Si,useContext:Si,useEffect:Si,useImperativeHandle:Si,useInsertionEffect:Si,useLayoutEffect:Si,useMemo:Si,useReducer:Si,useRef:Si,useState:Si,useDebugValue:Si,useDeferredValue:Si,useTransition:Si,useMutableSource:Si,useSyncExternalStore:Si,useId:Si,unstable_isNewReconciler:!1},uoe={readContext:pa,useCallback:function(e,t){return cs().memoizedState=[e,t===void 0?null:t],e},useContext:pa,useEffect:PT,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,U1(4194308,4,KL.bind(null,t,e),n)},useLayoutEffect:function(e,t){return U1(4194308,4,e,t)},useInsertionEffect:function(e,t){return U1(4,2,e,t)},useMemo:function(e,t){var n=cs();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=cs();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=aoe.bind(null,dr,e),[r.memoizedState,e]},useRef:function(e){var t=cs();return e={current:e},t.memoizedState=e},useState:AT,useDebugValue:a5,useDeferredValue:function(e){return cs().memoizedState=e},useTransition:function(){var e=AT(!1),t=e[0];return e=ooe.bind(null,e[1]),cs().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=dr,i=cs();if(or){if(n===void 0)throw Error(Ve(407));n=n()}else{if(n=t(),ri===null)throw Error(Ve(349));Fc&30||FL(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,PT(BL.bind(null,r,o,e),[e]),r.flags|=2048,q0(9,jL.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=cs(),t=ri.identifierPrefix;if(or){var n=iu,r=ru;n=(r&~(1<<32-Va(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=H0++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=a.createElement(n,{is:r.is}):(e=a.createElement(n),n==="select"&&(a=e,r.multiple?a.multiple=!0:r.size&&(a.size=r.size))):e=a.createElementNS(e,n),e[ds]=t,e[U0]=r,cF(e,t,!1,!1),t.stateNode=e;e:{switch(a=q3(n,r),n){case"dialog":Jn("cancel",e),Jn("close",e),i=r;break;case"iframe":case"object":case"embed":Jn("load",e),i=r;break;case"video":case"audio":for(i=0;iHd&&(t.flags|=128,r=!0,Op(o,!1),t.lanes=4194304)}else{if(!r)if(e=_y(a),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Op(o,!0),o.tail===null&&o.tailMode==="hidden"&&!a.alternate&&!or)return Ci(t),null}else 2*Cr()-o.renderingStartTime>Hd&&n!==1073741824&&(t.flags|=128,r=!0,Op(o,!1),t.lanes=4194304);o.isBackwards?(a.sibling=t.child,t.child=a):(n=o.last,n!==null?n.sibling=a:t.child=a,o.last=a)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=Cr(),t.sibling=null,n=fr.current,Wn(fr,r?n&1|2:n&1),t):(Ci(t),null);case 22:case 23:return d5(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?ko&1073741824&&(Ci(t),t.subtreeFlags&6&&(t.flags|=8192)):Ci(t),null;case 24:return null;case 25:return null}throw Error(Ve(156,t.tag))}function moe(e,t){switch(K4(t),t.tag){case 1:return co(t.type)&&gy(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Vd(),nr(lo),nr(Di),t5(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return e5(t),null;case 13:if(nr(fr),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(Ve(340));zd()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return nr(fr),null;case 4:return Vd(),null;case 10:return Z4(t.type._context),null;case 22:case 23:return d5(),null;case 24:return null;default:return null}}var Yv=!1,Pi=!1,voe=typeof WeakSet=="function"?WeakSet:Set,at=null;function hd(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){gr(e,t,r)}else n.current=null}function xC(e,t,n){try{n()}catch(r){gr(e,t,r)}}var jT=!1;function yoe(e,t){if(rC=fy,e=vL(),W4(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break e}var a=0,s=-1,u=-1,l=0,c=0,f=e,h=null;t:for(;;){for(var p;f!==n||i!==0&&f.nodeType!==3||(s=a+i),f!==o||r!==0&&f.nodeType!==3||(u=a+r),f.nodeType===3&&(a+=f.nodeValue.length),(p=f.firstChild)!==null;)h=f,f=p;for(;;){if(f===e)break t;if(h===n&&++l===i&&(s=a),h===o&&++c===r&&(u=a),(p=f.nextSibling)!==null)break;f=h,h=f.parentNode}f=p}n=s===-1||u===-1?null:{start:s,end:u}}else n=null}n=n||{start:0,end:0}}else n=null;for(iC={focusedElem:e,selectionRange:n},fy=!1,at=t;at!==null;)if(t=at,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,at=e;else for(;at!==null;){t=at;try{var m=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(m!==null){var v=m.memoizedProps,b=m.memoizedState,w=t.stateNode,x=w.getSnapshotBeforeUpdate(t.elementType===t.type?v:Ta(t.type,v),b);w.__reactInternalSnapshotBeforeUpdate=x}break;case 3:var S=t.stateNode.containerInfo;S.nodeType===1?S.textContent="":S.nodeType===9&&S.documentElement&&S.removeChild(S.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Ve(163))}}catch(O){gr(t,t.return,O)}if(e=t.sibling,e!==null){e.return=t.return,at=e;break}at=t.return}return m=jT,jT=!1,m}function m0(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var o=i.destroy;i.destroy=void 0,o!==void 0&&xC(t,n,o)}i=i.next}while(i!==r)}}function Rx(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function wC(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function hF(e){var t=e.alternate;t!==null&&(e.alternate=null,hF(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[ds],delete t[U0],delete t[sC],delete t[eoe],delete t[toe])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function pF(e){return e.tag===5||e.tag===3||e.tag===4}function BT(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||pF(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function _C(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=py));else if(r!==4&&(e=e.child,e!==null))for(_C(e,t,n),e=e.sibling;e!==null;)_C(e,t,n),e=e.sibling}function SC(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(SC(e,t,n),e=e.sibling;e!==null;)SC(e,t,n),e=e.sibling}var hi=null,Ma=!1;function Vu(e,t,n){for(n=n.child;n!==null;)gF(e,t,n),n=n.sibling}function gF(e,t,n){if(Ss&&typeof Ss.onCommitFiberUnmount=="function")try{Ss.onCommitFiberUnmount(Cx,n)}catch{}switch(n.tag){case 5:Pi||hd(n,t);case 6:var r=hi,i=Ma;hi=null,Vu(e,t,n),hi=r,Ma=i,hi!==null&&(Ma?(e=hi,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):hi.removeChild(n.stateNode));break;case 18:hi!==null&&(Ma?(e=hi,n=n.stateNode,e.nodeType===8?W_(e.parentNode,n):e.nodeType===1&&W_(e,n),L0(e)):W_(hi,n.stateNode));break;case 4:r=hi,i=Ma,hi=n.stateNode.containerInfo,Ma=!0,Vu(e,t,n),hi=r,Ma=i;break;case 0:case 11:case 14:case 15:if(!Pi&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var o=i,a=o.destroy;o=o.tag,a!==void 0&&(o&2||o&4)&&xC(n,t,a),i=i.next}while(i!==r)}Vu(e,t,n);break;case 1:if(!Pi&&(hd(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(s){gr(n,t,s)}Vu(e,t,n);break;case 21:Vu(e,t,n);break;case 22:n.mode&1?(Pi=(r=Pi)||n.memoizedState!==null,Vu(e,t,n),Pi=r):Vu(e,t,n);break;default:Vu(e,t,n)}}function zT(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new voe),t.forEach(function(r){var i=Aoe.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function Aa(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=a),r&=~o}if(r=i,r=Cr()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*xoe(r/1960))-r,10e?16:e,al===null)var r=!1;else{if(e=al,al=null,Ay=0,vn&6)throw Error(Ve(331));var i=vn;for(vn|=4,at=e.current;at!==null;){var o=at,a=o.child;if(at.flags&16){var s=o.deletions;if(s!==null){for(var u=0;uCr()-c5?Pc(e,0):l5|=n),fo(e,t)}function SF(e,t){t===0&&(e.mode&1?(t=Bv,Bv<<=1,!(Bv&130023424)&&(Bv=4194304)):t=1);var n=Wi();e=mu(e,t),e!==null&&(fm(e,t,n),fo(e,n))}function Ooe(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),SF(e,n)}function Aoe(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(Ve(314))}r!==null&&r.delete(t),SF(e,n)}var CF;CF=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||lo.current)ao=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return ao=!1,poe(e,t,n);ao=!!(e.flags&131072)}else ao=!1,or&&t.flags&1048576&&PL(t,yy,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;V1(e,t),e=t.pendingProps;var i=Bd(t,Di.current);Sd(t,n),i=r5(null,t,r,e,i,n);var o=i5();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,co(r)?(o=!0,my(t)):o=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,Q4(t),i.updater=Mx,t.stateNode=i,i._reactInternals=t,hC(t,r,e,n),t=mC(null,t,r,!0,o,n)):(t.tag=0,or&&o&&H4(t),Bi(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(V1(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=koe(r),e=Ta(r,e),i){case 0:t=gC(null,t,r,e,n);break e;case 1:t=NT(null,t,r,e,n);break e;case 11:t=$T(null,t,r,e,n);break e;case 14:t=IT(null,t,r,Ta(r.type,e),n);break e}throw Error(Ve(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Ta(r,i),gC(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Ta(r,i),NT(e,t,r,i,n);case 3:e:{if(sF(t),e===null)throw Error(Ve(387));r=t.pendingProps,o=t.memoizedState,i=o.element,$L(e,t),wy(t,r,null,n);var a=t.memoizedState;if(r=a.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:a.cache,pendingSuspenseBoundaries:a.pendingSuspenseBoundaries,transitions:a.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){i=Wd(Error(Ve(423)),t),t=LT(e,t,r,n,i);break e}else if(r!==i){i=Wd(Error(Ve(424)),t),t=LT(e,t,r,n,i);break e}else for($o=vl(t.stateNode.containerInfo.firstChild),Io=t,or=!0,Ia=null,n=RL(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(zd(),r===i){t=vu(e,t,n);break e}Bi(e,t,r,n)}t=t.child}return t;case 5:return IL(t),e===null&&cC(t),r=t.type,i=t.pendingProps,o=e!==null?e.memoizedProps:null,a=i.children,oC(r,i)?a=null:o!==null&&oC(r,o)&&(t.flags|=32),aF(e,t),Bi(e,t,a,n),t.child;case 6:return e===null&&cC(t),null;case 13:return uF(e,t,n);case 4:return J4(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Ud(t,null,r,n):Bi(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Ta(r,i),$T(e,t,r,i,n);case 7:return Bi(e,t,t.pendingProps,n),t.child;case 8:return Bi(e,t,t.pendingProps.children,n),t.child;case 12:return Bi(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,o=t.memoizedProps,a=i.value,Wn(by,r._currentValue),r._currentValue=a,o!==null)if(Ga(o.value,a)){if(o.children===i.children&&!lo.current){t=vu(e,t,n);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var s=o.dependencies;if(s!==null){a=o.child;for(var u=s.firstContext;u!==null;){if(u.context===r){if(o.tag===1){u=uu(-1,n&-n),u.tag=2;var l=o.updateQueue;if(l!==null){l=l.shared;var c=l.pending;c===null?u.next=u:(u.next=c.next,c.next=u),l.pending=u}}o.lanes|=n,u=o.alternate,u!==null&&(u.lanes|=n),fC(o.return,n,t),s.lanes|=n;break}u=u.next}}else if(o.tag===10)a=o.type===t.type?null:o.child;else if(o.tag===18){if(a=o.return,a===null)throw Error(Ve(341));a.lanes|=n,s=a.alternate,s!==null&&(s.lanes|=n),fC(a,n,t),a=o.sibling}else a=o.child;if(a!==null)a.return=o;else for(a=o;a!==null;){if(a===t){a=null;break}if(o=a.sibling,o!==null){o.return=a.return,a=o;break}a=a.return}o=a}Bi(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,Sd(t,n),i=pa(i),r=r(i),t.flags|=1,Bi(e,t,r,n),t.child;case 14:return r=t.type,i=Ta(r,t.pendingProps),i=Ta(r.type,i),IT(e,t,r,i,n);case 15:return iF(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Ta(r,i),V1(e,t),t.tag=1,co(r)?(e=!0,my(t)):e=!1,Sd(t,n),tF(t,r,i),hC(t,r,i,n),mC(null,t,r,!0,e,n);case 19:return lF(e,t,n);case 22:return oF(e,t,n)}throw Error(Ve(156,t.tag))};function EF(e,t){return QN(e,t)}function Poe(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function la(e,t,n,r){return new Poe(e,t,n,r)}function p5(e){return e=e.prototype,!(!e||!e.isReactComponent)}function koe(e){if(typeof e=="function")return p5(e)?1:0;if(e!=null){if(e=e.$$typeof,e===D4)return 11;if(e===$4)return 14}return 2}function wl(e,t){var n=e.alternate;return n===null?(n=la(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function K1(e,t,n,r,i,o){var a=2;if(r=e,typeof e=="function")p5(e)&&(a=1);else if(typeof e=="string")a=5;else e:switch(e){case id:return kc(n.children,i,o,t);case R4:a=8,i|=8;break;case L3:return e=la(12,n,t,i|2),e.elementType=L3,e.lanes=o,e;case F3:return e=la(13,n,t,i),e.elementType=F3,e.lanes=o,e;case j3:return e=la(19,n,t,i),e.elementType=j3,e.lanes=o,e;case IN:return $x(n,i,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case DN:a=10;break e;case $N:a=9;break e;case D4:a=11;break e;case $4:a=14;break e;case Zu:a=16,r=null;break e}throw Error(Ve(130,e==null?e:typeof e,""))}return t=la(a,n,t,i),t.elementType=e,t.type=r,t.lanes=o,t}function kc(e,t,n,r){return e=la(7,e,r,t),e.lanes=n,e}function $x(e,t,n,r){return e=la(22,e,r,t),e.elementType=IN,e.lanes=n,e.stateNode={isHidden:!1},e}function Q_(e,t,n){return e=la(6,e,null,t),e.lanes=n,e}function J_(e,t,n){return t=la(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Toe(e,t,n,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=D_(0),this.expirationTimes=D_(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=D_(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function g5(e,t,n,r,i,o,a,s,u){return e=new Toe(e,t,n,s,u),t===1?(t=1,o===!0&&(t|=8)):t=0,o=la(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Q4(o),e}function Moe(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(kF)}catch(e){console.error(e)}}kF(),kN.exports=Ho;var Au=kN.exports;const jx=Dn(Au),Ioe=vN({__proto__:null,default:jx},[Au]);var YT=Au;Vk.createRoot=YT.createRoot,Vk.hydrateRoot=YT.hydrateRoot;/** + * @remix-run/router v1.21.0 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function ir(){return ir=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u")throw new Error(t)}function zc(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function Loe(){return Math.random().toString(36).substr(2,8)}function XT(e,t){return{usr:e.state,key:e.key,idx:t}}function Y0(e,t,n,r){return n===void 0&&(n=null),ir({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?Pu(t):t,{state:n,key:t&&t.key||r||Loe()})}function Uc(e){let{pathname:t="/",search:n="",hash:r=""}=e;return n&&n!=="?"&&(t+=n.charAt(0)==="?"?n:"?"+n),r&&r!=="#"&&(t+=r.charAt(0)==="#"?r:"#"+r),t}function Pu(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function Foe(e,t,n,r){r===void 0&&(r={});let{window:i=document.defaultView,v5Compat:o=!1}=r,a=i.history,s=kr.Pop,u=null,l=c();l==null&&(l=0,a.replaceState(ir({},a.state,{idx:l}),""));function c(){return(a.state||{idx:null}).idx}function f(){s=kr.Pop;let b=c(),w=b==null?null:b-l;l=b,u&&u({action:s,location:v.location,delta:w})}function h(b,w){s=kr.Push;let x=Y0(v.location,b,w);n(x,b),l=c()+1;let S=XT(x,l),O=v.createHref(x);try{a.pushState(S,"",O)}catch(E){if(E instanceof DOMException&&E.name==="DataCloneError")throw E;i.location.assign(O)}o&&u&&u({action:s,location:v.location,delta:1})}function p(b,w){s=kr.Replace;let x=Y0(v.location,b,w);n(x,b),l=c();let S=XT(x,l),O=v.createHref(x);a.replaceState(S,"",O),o&&u&&u({action:s,location:v.location,delta:0})}function m(b){let w=i.location.origin!=="null"?i.location.origin:i.location.href,x=typeof b=="string"?b:Uc(b);return x=x.replace(/ $/,"%20"),fn(w,"No window.location.(origin|href) available to create URL for href: "+x),new URL(x,w)}let v={get action(){return s},get location(){return e(i,a)},listen(b){if(u)throw new Error("A history only accepts one active listener");return i.addEventListener(ZT,f),u=b,()=>{i.removeEventListener(ZT,f),u=null}},createHref(b){return t(i,b)},createURL:m,encodeLocation(b){let w=m(b);return{pathname:w.pathname,search:w.search,hash:w.hash}},push:h,replace:p,go(b){return a.go(b)}};return v}var In;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(In||(In={}));const joe=new Set(["lazy","caseSensitive","path","id","index","children"]);function Boe(e){return e.index===!0}function Ty(e,t,n,r){return n===void 0&&(n=[]),r===void 0&&(r={}),e.map((i,o)=>{let a=[...n,String(o)],s=typeof i.id=="string"?i.id:a.join("-");if(fn(i.index!==!0||!i.children,"Cannot specify children on an index route"),fn(!r[s],'Found a route id collision on id "'+s+`". Route id's must be globally unique within Data Router usages`),Boe(i)){let u=ir({},i,t(i),{id:s});return r[s]=u,u}else{let u=ir({},i,t(i),{id:s,children:void 0});return r[s]=u,i.children&&(u.children=Ty(i.children,t,a,r)),u}})}function gc(e,t,n){return n===void 0&&(n="/"),q1(e,t,n,!1)}function q1(e,t,n,r){let i=typeof t=="string"?Pu(t):t,o=Mh(i.pathname||"/",n);if(o==null)return null;let a=TF(e);Uoe(a);let s=null;for(let u=0;s==null&&u{let u={relativePath:s===void 0?o.path||"":s,caseSensitive:o.caseSensitive===!0,childrenIndex:a,route:o};u.relativePath.startsWith("/")&&(fn(u.relativePath.startsWith(r),'Absolute route path "'+u.relativePath+'" nested under path '+('"'+r+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),u.relativePath=u.relativePath.slice(r.length));let l=lu([r,u.relativePath]),c=n.concat(u);o.children&&o.children.length>0&&(fn(o.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+l+'".')),TF(o.children,t,c,l)),!(o.path==null&&!o.index)&&t.push({path:l,score:Yoe(l,o.index),routesMeta:c})};return e.forEach((o,a)=>{var s;if(o.path===""||!((s=o.path)!=null&&s.includes("?")))i(o,a);else for(let u of MF(o.path))i(o,a,u)}),t}function MF(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,i=n.endsWith("?"),o=n.replace(/\?$/,"");if(r.length===0)return i?[o,""]:[o];let a=MF(r.join("/")),s=[];return s.push(...a.map(u=>u===""?o:[o,u].join("/"))),i&&s.push(...a),s.map(u=>e.startsWith("/")&&u===""?"/":u)}function Uoe(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:Zoe(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}const Voe=/^:[\w-]+$/,Woe=3,Hoe=2,Koe=1,qoe=10,Goe=-2,QT=e=>e==="*";function Yoe(e,t){let n=e.split("/"),r=n.length;return n.some(QT)&&(r+=Goe),t&&(r+=Hoe),n.filter(i=>!QT(i)).reduce((i,o)=>i+(Voe.test(o)?Woe:o===""?Koe:qoe),r)}function Zoe(e,t){return e.length===t.length&&e.slice(0,-1).every((r,i)=>r===t[i])?e[e.length-1]-t[t.length-1]:0}function Xoe(e,t,n){n===void 0&&(n=!1);let{routesMeta:r}=e,i={},o="/",a=[];for(let s=0;s{let{paramName:h,isOptional:p}=c;if(h==="*"){let v=s[f]||"";a=o.slice(0,o.length-v.length).replace(/(.)\/+$/,"$1")}const m=s[f];return p&&!m?l[h]=void 0:l[h]=(m||"").replace(/%2F/g,"/"),l},{}),pathname:o,pathnameBase:a,pattern:e}}function Qoe(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!0),zc(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let r=[],i="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(a,s,u)=>(r.push({paramName:s,isOptional:u!=null}),u?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),i+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?i+="\\/*$":e!==""&&e!=="/"&&(i+="(?:(?=\\/|$))"),[new RegExp(i,t?void 0:"i"),r]}function Joe(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return zc(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function Mh(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&r!=="/"?null:e.slice(n)||"/"}function eae(e,t){t===void 0&&(t="/");let{pathname:n,search:r="",hash:i=""}=typeof e=="string"?Pu(e):e;return{pathname:n?n.startsWith("/")?n:tae(n,t):t,search:rae(r),hash:iae(i)}}function tae(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(i=>{i===".."?n.length>1&&n.pop():i!=="."&&n.push(i)}),n.length>1?n.join("/"):"/"}function eS(e,t,n,r){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(r)+"]. Please separate it out to the ")+("`to."+n+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}function RF(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function b5(e,t){let n=RF(e);return t?n.map((r,i)=>i===n.length-1?r.pathname:r.pathnameBase):n.map(r=>r.pathnameBase)}function x5(e,t,n,r){r===void 0&&(r=!1);let i;typeof e=="string"?i=Pu(e):(i=ir({},e),fn(!i.pathname||!i.pathname.includes("?"),eS("?","pathname","search",i)),fn(!i.pathname||!i.pathname.includes("#"),eS("#","pathname","hash",i)),fn(!i.search||!i.search.includes("#"),eS("#","search","hash",i)));let o=e===""||i.pathname==="",a=o?"/":i.pathname,s;if(a==null)s=n;else{let f=t.length-1;if(!r&&a.startsWith("..")){let h=a.split("/");for(;h[0]==="..";)h.shift(),f-=1;i.pathname=h.join("/")}s=f>=0?t[f]:"/"}let u=eae(i,s),l=a&&a!=="/"&&a.endsWith("/"),c=(o||a===".")&&n.endsWith("/");return!u.pathname.endsWith("/")&&(l||c)&&(u.pathname+="/"),u}const lu=e=>e.join("/").replace(/\/\/+/g,"/"),nae=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),rae=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,iae=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;class My{constructor(t,n,r,i){i===void 0&&(i=!1),this.status=t,this.statusText=n||"",this.internal=i,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}}function Bx(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const DF=["post","put","patch","delete"],oae=new Set(DF),aae=["get",...DF],sae=new Set(aae),uae=new Set([301,302,303,307,308]),lae=new Set([307,308]),tS={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},cae={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Pp={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},w5=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,fae=e=>({hasErrorBoundary:!!e.hasErrorBoundary}),$F="remix-router-transitions";function dae(e){const t=e.window?e.window:typeof window<"u"?window:void 0,n=typeof t<"u"&&typeof t.document<"u"&&typeof t.document.createElement<"u",r=!n;fn(e.routes.length>0,"You must provide a non-empty routes array to createRouter");let i;if(e.mapRouteProperties)i=e.mapRouteProperties;else if(e.detectErrorBoundary){let re=e.detectErrorBoundary;i=se=>({hasErrorBoundary:re(se)})}else i=fae;let o={},a=Ty(e.routes,i,void 0,o),s,u=e.basename||"/",l=e.dataStrategy||mae,c=e.patchRoutesOnNavigation,f=ir({v7_fetcherPersist:!1,v7_normalizeFormMethod:!1,v7_partialHydration:!1,v7_prependBasename:!1,v7_relativeSplatPath:!1,v7_skipActionErrorRevalidation:!1},e.future),h=null,p=new Set,m=null,v=null,b=null,w=e.hydrationData!=null,x=gc(a,e.history.location,u),S=null;if(x==null&&!c){let re=ro(404,{pathname:e.history.location.pathname}),{matches:se,route:ve}=cM(a);x=se,S={[ve.id]:re}}x&&!e.hydrationData&&Xr(x,a,e.history.location.pathname).active&&(x=null);let O;if(x)if(x.some(re=>re.route.lazy))O=!1;else if(!x.some(re=>re.route.loader))O=!0;else if(f.v7_partialHydration){let re=e.hydrationData?e.hydrationData.loaderData:null,se=e.hydrationData?e.hydrationData.errors:null;if(se){let ve=x.findIndex(T=>se[T.route.id]!==void 0);O=x.slice(0,ve+1).every(T=>!kC(T.route,re,se))}else O=x.every(ve=>!kC(ve.route,re,se))}else O=e.hydrationData!=null;else if(O=!1,x=[],f.v7_partialHydration){let re=Xr(null,a,e.history.location.pathname);re.active&&re.matches&&(x=re.matches)}let E,C={historyAction:e.history.action,location:e.history.location,matches:x,initialized:O,navigation:tS,restoreScrollPosition:e.hydrationData!=null?!1:null,preventScrollReset:!1,revalidation:"idle",loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||S,fetchers:new Map,blockers:new Map},k=kr.Pop,M=!1,L,U=!1,H=new Map,V=null,ne=!1,Z=!1,G=[],q=new Set,W=new Map,j=0,K=-1,Y=new Map,oe=new Set,ae=new Map,ue=new Map,be=new Set,we=new Map,He=new Map,Ee;function it(){if(h=e.history.listen(re=>{let{action:se,location:ve,delta:T}=re;if(Ee){Ee(),Ee=void 0;return}zc(He.size===0||T!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let D=Dr({currentLocation:C.location,nextLocation:ve,historyAction:se});if(D&&T!=null){let $=new Promise(A=>{Ee=A});e.history.go(T*-1),xi(D,{state:"blocked",location:ve,proceed(){xi(D,{state:"proceeding",proceed:void 0,reset:void 0,location:ve}),$.then(()=>e.history.go(T))},reset(){let A=new Map(C.blockers);A.set(D,Pp),De({blockers:A})}});return}return Nt(se,ve)}),n){Tae(t,H);let re=()=>Mae(t,H);t.addEventListener("pagehide",re),V=()=>t.removeEventListener("pagehide",re)}return C.initialized||Nt(kr.Pop,C.location,{initialHydration:!0}),E}function ke(){h&&h(),V&&V(),p.clear(),L&&L.abort(),C.fetchers.forEach((re,se)=>br(se)),C.blockers.forEach((re,se)=>yo(se))}function Le(re){return p.add(re),()=>p.delete(re)}function De(re,se){se===void 0&&(se={}),C=ir({},C,re);let ve=[],T=[];f.v7_fetcherPersist&&C.fetchers.forEach((D,$)=>{D.state==="idle"&&(be.has($)?T.push($):ve.push($))}),[...p].forEach(D=>D(C,{deletedFetchers:T,viewTransitionOpts:se.viewTransitionOpts,flushSync:se.flushSync===!0})),f.v7_fetcherPersist&&(ve.forEach(D=>C.fetchers.delete(D)),T.forEach(D=>br(D)))}function me(re,se,ve){var T,D;let{flushSync:$}=ve===void 0?{}:ve,A=C.actionData!=null&&C.navigation.formMethod!=null&&Ra(C.navigation.formMethod)&&C.navigation.state==="loading"&&((T=re.state)==null?void 0:T._isRedirect)!==!0,N;se.actionData?Object.keys(se.actionData).length>0?N=se.actionData:N=null:A?N=C.actionData:N=null;let Q=se.loaderData?uM(C.loaderData,se.loaderData,se.matches||[],se.errors):C.loaderData,ee=C.blockers;ee.size>0&&(ee=new Map(ee),ee.forEach((je,We)=>ee.set(We,Pp)));let fe=M===!0||C.navigation.formMethod!=null&&Ra(C.navigation.formMethod)&&((D=re.state)==null?void 0:D._isRedirect)!==!0;s&&(a=s,s=void 0),ne||k===kr.Pop||(k===kr.Push?e.history.push(re,re.state):k===kr.Replace&&e.history.replace(re,re.state));let _e;if(k===kr.Pop){let je=H.get(C.location.pathname);je&&je.has(re.pathname)?_e={currentLocation:C.location,nextLocation:re}:H.has(re.pathname)&&(_e={currentLocation:re,nextLocation:C.location})}else if(U){let je=H.get(C.location.pathname);je?je.add(re.pathname):(je=new Set([re.pathname]),H.set(C.location.pathname,je)),_e={currentLocation:C.location,nextLocation:re}}De(ir({},se,{actionData:N,loaderData:Q,historyAction:k,location:re,initialized:!0,navigation:tS,revalidation:"idle",restoreScrollPosition:ur(re,se.matches||C.matches),preventScrollReset:fe,blockers:ee}),{viewTransitionOpts:_e,flushSync:$===!0}),k=kr.Pop,M=!1,U=!1,ne=!1,Z=!1,G=[]}async function yt(re,se){if(typeof re=="number"){e.history.go(re);return}let ve=PC(C.location,C.matches,u,f.v7_prependBasename,re,f.v7_relativeSplatPath,se?.fromRouteId,se?.relative),{path:T,submission:D,error:$}=eM(f.v7_normalizeFormMethod,!1,ve,se),A=C.location,N=Y0(C.location,T,se&&se.state);N=ir({},N,e.history.encodeLocation(N));let Q=se&&se.replace!=null?se.replace:void 0,ee=kr.Push;Q===!0?ee=kr.Replace:Q===!1||D!=null&&Ra(D.formMethod)&&D.formAction===C.location.pathname+C.location.search&&(ee=kr.Replace);let fe=se&&"preventScrollReset"in se?se.preventScrollReset===!0:void 0,_e=(se&&se.flushSync)===!0,je=Dr({currentLocation:A,nextLocation:N,historyAction:ee});if(je){xi(je,{state:"blocked",location:N,proceed(){xi(je,{state:"proceeding",proceed:void 0,reset:void 0,location:N}),yt(re,se)},reset(){let We=new Map(C.blockers);We.set(je,Pp),De({blockers:We})}});return}return await Nt(ee,N,{submission:D,pendingError:$,preventScrollReset:fe,replace:se&&se.replace,enableViewTransition:se&&se.viewTransition,flushSync:_e})}function lt(){if(xn(),De({revalidation:"loading"}),C.navigation.state!=="submitting"){if(C.navigation.state==="idle"){Nt(C.historyAction,C.location,{startUninterruptedRevalidation:!0});return}Nt(k||C.historyAction,C.navigation.location,{overrideNavigation:C.navigation,enableViewTransition:U===!0})}}async function Nt(re,se,ve){L&&L.abort(),L=null,k=re,ne=(ve&&ve.startUninterruptedRevalidation)===!0,qn(C.location,C.matches),M=(ve&&ve.preventScrollReset)===!0,U=(ve&&ve.enableViewTransition)===!0;let T=s||a,D=ve&&ve.overrideNavigation,$=gc(T,se,u),A=(ve&&ve.flushSync)===!0,N=Xr($,T,se.pathname);if(N.active&&N.matches&&($=N.matches),!$){let{error:ct,notFoundMatches:Ie,route:nt}=_a(se.pathname);me(se,{matches:Ie,loaderData:{},errors:{[nt.id]:ct}},{flushSync:A});return}if(C.initialized&&!Z&&_ae(C.location,se)&&!(ve&&ve.submission&&Ra(ve.submission.formMethod))){me(se,{matches:$},{flushSync:A});return}L=new AbortController;let Q=Ff(e.history,se,L.signal,ve&&ve.submission),ee;if(ve&&ve.pendingError)ee=[mc($).route.id,{type:In.error,error:ve.pendingError}];else if(ve&&ve.submission&&Ra(ve.submission.formMethod)){let ct=await yn(Q,se,ve.submission,$,N.active,{replace:ve.replace,flushSync:A});if(ct.shortCircuited)return;if(ct.pendingActionResult){let[Ie,nt]=ct.pendingActionResult;if(Mo(nt)&&Bx(nt.error)&&nt.error.status===404){L=null,me(se,{matches:ct.matches,loaderData:{},errors:{[Ie]:nt.error}});return}}$=ct.matches||$,ee=ct.pendingActionResult,D=nS(se,ve.submission),A=!1,N.active=!1,Q=Ff(e.history,Q.url,Q.signal)}let{shortCircuited:fe,matches:_e,loaderData:je,errors:We}=await nn(Q,se,$,N.active,D,ve&&ve.submission,ve&&ve.fetcherSubmission,ve&&ve.replace,ve&&ve.initialHydration===!0,A,ee);fe||(L=null,me(se,ir({matches:_e||$},lM(ee),{loaderData:je,errors:We})))}async function yn(re,se,ve,T,D,$){$===void 0&&($={}),xn();let A=Pae(se,ve);if(De({navigation:A},{flushSync:$.flushSync===!0}),D){let ee=await bo(T,se.pathname,re.signal);if(ee.type==="aborted")return{shortCircuited:!0};if(ee.type==="error"){let fe=mc(ee.partialMatches).route.id;return{matches:ee.partialMatches,pendingActionResult:[fe,{type:In.error,error:ee.error}]}}else if(ee.matches)T=ee.matches;else{let{notFoundMatches:fe,error:_e,route:je}=_a(se.pathname);return{matches:fe,pendingActionResult:[je.id,{type:In.error,error:_e}]}}}let N,Q=r0(T,se);if(!Q.route.action&&!Q.route.lazy)N={type:In.error,error:ro(405,{method:re.method,pathname:se.pathname,routeId:Q.route.id})};else if(N=(await tt("action",C,re,[Q],T,null))[Q.route.id],re.signal.aborted)return{shortCircuited:!0};if(xc(N)){let ee;return $&&$.replace!=null?ee=$.replace:ee=oM(N.response.headers.get("Location"),new URL(re.url),u)===C.location.pathname+C.location.search,await Ae(re,N,!0,{submission:ve,replace:ee}),{shortCircuited:!0}}if(sl(N))throw ro(400,{type:"defer-action"});if(Mo(N)){let ee=mc(T,Q.route.id);return($&&$.replace)!==!0&&(k=kr.Push),{matches:T,pendingActionResult:[ee.route.id,N]}}return{matches:T,pendingActionResult:[Q.route.id,N]}}async function nn(re,se,ve,T,D,$,A,N,Q,ee,fe){let _e=D||nS(se,$),je=$||A||dM(_e),We=!ne&&(!f.v7_partialHydration||!Q);if(T){if(We){let Ke=te(fe);De(ir({navigation:_e},Ke!==void 0?{actionData:Ke}:{}),{flushSync:ee})}let Ne=await bo(ve,se.pathname,re.signal);if(Ne.type==="aborted")return{shortCircuited:!0};if(Ne.type==="error"){let Ke=mc(Ne.partialMatches).route.id;return{matches:Ne.partialMatches,loaderData:{},errors:{[Ke]:Ne.error}}}else if(Ne.matches)ve=Ne.matches;else{let{error:Ke,notFoundMatches:Ge,route:pe}=_a(se.pathname);return{matches:Ge,loaderData:{},errors:{[pe.id]:Ke}}}}let ct=s||a,[Ie,nt]=nM(e.history,C,ve,je,se,f.v7_partialHydration&&Q===!0,f.v7_skipActionErrorRevalidation,Z,G,q,be,ae,oe,ct,u,fe);if(_t(Ne=>!(ve&&ve.some(Ke=>Ke.route.id===Ne))||Ie&&Ie.some(Ke=>Ke.route.id===Ne)),K=++j,Ie.length===0&&nt.length===0){let Ne=bi();return me(se,ir({matches:ve,loaderData:{},errors:fe&&Mo(fe[1])?{[fe[0]]:fe[1].error}:null},lM(fe),Ne?{fetchers:new Map(C.fetchers)}:{}),{flushSync:ee}),{shortCircuited:!0}}if(We){let Ne={};if(!T){Ne.navigation=_e;let Ke=te(fe);Ke!==void 0&&(Ne.actionData=Ke)}nt.length>0&&(Ne.fetchers=de(nt)),De(Ne,{flushSync:ee})}nt.forEach(Ne=>{sr(Ne.key),Ne.controller&&W.set(Ne.key,Ne.controller)});let bt=()=>nt.forEach(Ne=>sr(Ne.key));L&&L.signal.addEventListener("abort",bt);let{loaderResults:Ot,fetcherResults:gt}=await mt(C,ve,Ie,nt,re);if(re.signal.aborted)return{shortCircuited:!0};L&&L.signal.removeEventListener("abort",bt),nt.forEach(Ne=>W.delete(Ne.key));let ht=Qv(Ot);if(ht)return await Ae(re,ht.result,!0,{replace:N}),{shortCircuited:!0};if(ht=Qv(gt),ht)return oe.add(ht.key),await Ae(re,ht.result,!0,{replace:N}),{shortCircuited:!0};let{loaderData:xt,errors:wt}=sM(C,ve,Ot,fe,nt,gt,we);we.forEach((Ne,Ke)=>{Ne.subscribe(Ge=>{(Ge||Ne.done)&&we.delete(Ke)})}),f.v7_partialHydration&&Q&&C.errors&&(wt=ir({},C.errors,wt));let Qe=bi(),ut=Rr(K),Xe=Qe||ut||nt.length>0;return ir({matches:ve,loaderData:xt,errors:wt},Xe?{fetchers:new Map(C.fetchers)}:{})}function te(re){if(re&&!Mo(re[1]))return{[re[0]]:re[1].data};if(C.actionData)return Object.keys(C.actionData).length===0?null:C.actionData}function de(re){return re.forEach(se=>{let ve=C.fetchers.get(se.key),T=kp(void 0,ve?ve.data:void 0);C.fetchers.set(se.key,T)}),new Map(C.fetchers)}function ge(re,se,ve,T){if(r)throw new Error("router.fetch() was called during the server render, but it shouldn't be. You are likely calling a useFetcher() method in the body of your component. Try moving it to a useEffect or a callback.");sr(re);let D=(T&&T.flushSync)===!0,$=s||a,A=PC(C.location,C.matches,u,f.v7_prependBasename,ve,f.v7_relativeSplatPath,se,T?.relative),N=gc($,A,u),Q=Xr(N,$,A);if(Q.active&&Q.matches&&(N=Q.matches),!N){wn(re,se,ro(404,{pathname:A}),{flushSync:D});return}let{path:ee,submission:fe,error:_e}=eM(f.v7_normalizeFormMethod,!0,A,T);if(_e){wn(re,se,_e,{flushSync:D});return}let je=r0(N,ee),We=(T&&T.preventScrollReset)===!0;if(fe&&Ra(fe.formMethod)){ze(re,se,ee,je,N,Q.active,D,We,fe);return}ae.set(re,{routeId:se,path:ee}),Fe(re,se,ee,je,N,Q.active,D,We,fe)}async function ze(re,se,ve,T,D,$,A,N,Q){xn(),ae.delete(re);function ee(he){if(!he.route.action&&!he.route.lazy){let Re=ro(405,{method:Q.formMethod,pathname:ve,routeId:se});return wn(re,se,Re,{flushSync:A}),!0}return!1}if(!$&&ee(T))return;let fe=C.fetchers.get(re);Kt(re,kae(Q,fe),{flushSync:A});let _e=new AbortController,je=Ff(e.history,ve,_e.signal,Q);if($){let he=await bo(D,ve,je.signal);if(he.type==="aborted")return;if(he.type==="error"){wn(re,se,he.error,{flushSync:A});return}else if(he.matches){if(D=he.matches,T=r0(D,ve),ee(T))return}else{wn(re,se,ro(404,{pathname:ve}),{flushSync:A});return}}W.set(re,_e);let We=j,Ie=(await tt("action",C,je,[T],D,re))[T.route.id];if(je.signal.aborted){W.get(re)===_e&&W.delete(re);return}if(f.v7_fetcherPersist&&be.has(re)){if(xc(Ie)||Mo(Ie)){Kt(re,qu(void 0));return}}else{if(xc(Ie))if(W.delete(re),K>We){Kt(re,qu(void 0));return}else return oe.add(re),Kt(re,kp(Q)),Ae(je,Ie,!1,{fetcherSubmission:Q,preventScrollReset:N});if(Mo(Ie)){wn(re,se,Ie.error);return}}if(sl(Ie))throw ro(400,{type:"defer-action"});let nt=C.navigation.location||C.location,bt=Ff(e.history,nt,_e.signal),Ot=s||a,gt=C.navigation.state!=="idle"?gc(Ot,C.navigation.location,u):C.matches;fn(gt,"Didn't find any matches after fetcher action");let ht=++j;Y.set(re,ht);let xt=kp(Q,Ie.data);C.fetchers.set(re,xt);let[wt,Qe]=nM(e.history,C,gt,Q,nt,!1,f.v7_skipActionErrorRevalidation,Z,G,q,be,ae,oe,Ot,u,[T.route.id,Ie]);Qe.filter(he=>he.key!==re).forEach(he=>{let Re=he.key,Oe=C.fetchers.get(Re),Pe=kp(void 0,Oe?Oe.data:void 0);C.fetchers.set(Re,Pe),sr(Re),he.controller&&W.set(Re,he.controller)}),De({fetchers:new Map(C.fetchers)});let ut=()=>Qe.forEach(he=>sr(he.key));_e.signal.addEventListener("abort",ut);let{loaderResults:Xe,fetcherResults:Ne}=await mt(C,gt,wt,Qe,bt);if(_e.signal.aborted)return;_e.signal.removeEventListener("abort",ut),Y.delete(re),W.delete(re),Qe.forEach(he=>W.delete(he.key));let Ke=Qv(Xe);if(Ke)return Ae(bt,Ke.result,!1,{preventScrollReset:N});if(Ke=Qv(Ne),Ke)return oe.add(Ke.key),Ae(bt,Ke.result,!1,{preventScrollReset:N});let{loaderData:Ge,errors:pe}=sM(C,gt,Xe,void 0,Qe,Ne,we);if(C.fetchers.has(re)){let he=qu(Ie.data);C.fetchers.set(re,he)}Rr(ht),C.navigation.state==="loading"&&ht>K?(fn(k,"Expected pending action"),L&&L.abort(),me(C.navigation.location,{matches:gt,loaderData:Ge,errors:pe,fetchers:new Map(C.fetchers)})):(De({errors:pe,loaderData:uM(C.loaderData,Ge,gt,pe),fetchers:new Map(C.fetchers)}),Z=!1)}async function Fe(re,se,ve,T,D,$,A,N,Q){let ee=C.fetchers.get(re);Kt(re,kp(Q,ee?ee.data:void 0),{flushSync:A});let fe=new AbortController,_e=Ff(e.history,ve,fe.signal);if($){let Ie=await bo(D,ve,_e.signal);if(Ie.type==="aborted")return;if(Ie.type==="error"){wn(re,se,Ie.error,{flushSync:A});return}else if(Ie.matches)D=Ie.matches,T=r0(D,ve);else{wn(re,se,ro(404,{pathname:ve}),{flushSync:A});return}}W.set(re,fe);let je=j,ct=(await tt("loader",C,_e,[T],D,re))[T.route.id];if(sl(ct)&&(ct=await _5(ct,_e.signal,!0)||ct),W.get(re)===fe&&W.delete(re),!_e.signal.aborted){if(be.has(re)){Kt(re,qu(void 0));return}if(xc(ct))if(K>je){Kt(re,qu(void 0));return}else{oe.add(re),await Ae(_e,ct,!1,{preventScrollReset:N});return}if(Mo(ct)){wn(re,se,ct.error);return}fn(!sl(ct),"Unhandled fetcher deferred data"),Kt(re,qu(ct.data))}}async function Ae(re,se,ve,T){let{submission:D,fetcherSubmission:$,preventScrollReset:A,replace:N}=T===void 0?{}:T;se.response.headers.has("X-Remix-Revalidate")&&(Z=!0);let Q=se.response.headers.get("Location");fn(Q,"Expected a Location header on the redirect Response"),Q=oM(Q,new URL(re.url),u);let ee=Y0(C.location,Q,{_isRedirect:!0});if(n){let Ie=!1;if(se.response.headers.has("X-Remix-Reload-Document"))Ie=!0;else if(w5.test(Q)){const nt=e.history.createURL(Q);Ie=nt.origin!==t.location.origin||Mh(nt.pathname,u)==null}if(Ie){N?t.location.replace(Q):t.location.assign(Q);return}}L=null;let fe=N===!0||se.response.headers.has("X-Remix-Replace")?kr.Replace:kr.Push,{formMethod:_e,formAction:je,formEncType:We}=C.navigation;!D&&!$&&_e&&je&&We&&(D=dM(C.navigation));let ct=D||$;if(lae.has(se.response.status)&&ct&&Ra(ct.formMethod))await Nt(fe,ee,{submission:ir({},ct,{formAction:Q}),preventScrollReset:A||M,enableViewTransition:ve?U:void 0});else{let Ie=nS(ee,D);await Nt(fe,ee,{overrideNavigation:Ie,fetcherSubmission:$,preventScrollReset:A||M,enableViewTransition:ve?U:void 0})}}async function tt(re,se,ve,T,D,$){let A,N={};try{A=await vae(l,re,se,ve,T,D,$,o,i)}catch(Q){return T.forEach(ee=>{N[ee.route.id]={type:In.error,error:Q}}),N}for(let[Q,ee]of Object.entries(A))if(Sae(ee)){let fe=ee.result;N[Q]={type:In.redirect,response:xae(fe,ve,Q,D,u,f.v7_relativeSplatPath)}}else N[Q]=await bae(ee);return N}async function mt(re,se,ve,T,D){let $=re.matches,A=tt("loader",re,D,ve,se,null),N=Promise.all(T.map(async fe=>{if(fe.matches&&fe.match&&fe.controller){let je=(await tt("loader",re,Ff(e.history,fe.path,fe.controller.signal),[fe.match],fe.matches,fe.key))[fe.match.route.id];return{[fe.key]:je}}else return Promise.resolve({[fe.key]:{type:In.error,error:ro(404,{pathname:fe.path})}})})),Q=await A,ee=(await N).reduce((fe,_e)=>Object.assign(fe,_e),{});return await Promise.all([Oae(se,Q,D.signal,$,re.loaderData),Aae(se,ee,T)]),{loaderResults:Q,fetcherResults:ee}}function xn(){Z=!0,G.push(..._t()),ae.forEach((re,se)=>{W.has(se)&&q.add(se),sr(se)})}function Kt(re,se,ve){ve===void 0&&(ve={}),C.fetchers.set(re,se),De({fetchers:new Map(C.fetchers)},{flushSync:(ve&&ve.flushSync)===!0})}function wn(re,se,ve,T){T===void 0&&(T={});let D=mc(C.matches,se);br(re),De({errors:{[D.route.id]:ve},fetchers:new Map(C.fetchers)},{flushSync:(T&&T.flushSync)===!0})}function Ii(re){return f.v7_fetcherPersist&&(ue.set(re,(ue.get(re)||0)+1),be.has(re)&&be.delete(re)),C.fetchers.get(re)||cae}function br(re){let se=C.fetchers.get(re);W.has(re)&&!(se&&se.state==="loading"&&Y.has(re))&&sr(re),ae.delete(re),Y.delete(re),oe.delete(re),be.delete(re),q.delete(re),C.fetchers.delete(re)}function yi(re){if(f.v7_fetcherPersist){let se=(ue.get(re)||0)-1;se<=0?(ue.delete(re),be.add(re)):ue.set(re,se)}else br(re);De({fetchers:new Map(C.fetchers)})}function sr(re){let se=W.get(re);se&&(se.abort(),W.delete(re))}function si(re){for(let se of re){let ve=Ii(se),T=qu(ve.data);C.fetchers.set(se,T)}}function bi(){let re=[],se=!1;for(let ve of oe){let T=C.fetchers.get(ve);fn(T,"Expected fetcher: "+ve),T.state==="loading"&&(oe.delete(ve),re.push(ve),se=!0)}return si(re),se}function Rr(re){let se=[];for(let[ve,T]of Y)if(T0}function Xi(re,se){let ve=C.blockers.get(re)||Pp;return He.get(re)!==se&&He.set(re,se),ve}function yo(re){C.blockers.delete(re),He.delete(re)}function xi(re,se){let ve=C.blockers.get(re)||Pp;fn(ve.state==="unblocked"&&se.state==="blocked"||ve.state==="blocked"&&se.state==="blocked"||ve.state==="blocked"&&se.state==="proceeding"||ve.state==="blocked"&&se.state==="unblocked"||ve.state==="proceeding"&&se.state==="unblocked","Invalid blocker state transition: "+ve.state+" -> "+se.state);let T=new Map(C.blockers);T.set(re,se),De({blockers:T})}function Dr(re){let{currentLocation:se,nextLocation:ve,historyAction:T}=re;if(He.size===0)return;He.size>1&&zc(!1,"A router only supports one blocker at a time");let D=Array.from(He.entries()),[$,A]=D[D.length-1],N=C.blockers.get($);if(!(N&&N.state==="proceeding")&&A({currentLocation:se,nextLocation:ve,historyAction:T}))return $}function _a(re){let se=ro(404,{pathname:re}),ve=s||a,{matches:T,route:D}=cM(ve);return _t(),{notFoundMatches:T,route:D,error:se}}function _t(re){let se=[];return we.forEach((ve,T)=>{(!re||re(T))&&(ve.cancel(),se.push(T),we.delete(T))}),se}function hn(re,se,ve){if(m=re,b=se,v=ve||null,!w&&C.navigation===tS){w=!0;let T=ur(C.location,C.matches);T!=null&&De({restoreScrollPosition:T})}return()=>{m=null,b=null,v=null}}function _n(re,se){return v&&v(re,se.map(T=>zoe(T,C.loaderData)))||re.key}function qn(re,se){if(m&&b){let ve=_n(re,se);m[ve]=b()}}function ur(re,se){if(m){let ve=_n(re,se),T=m[ve];if(typeof T=="number")return T}return null}function Xr(re,se,ve){if(c)if(re){if(Object.keys(re[0].params).length>0)return{active:!0,matches:q1(se,ve,u,!0)}}else return{active:!0,matches:q1(se,ve,u,!0)||[]};return{active:!1,matches:null}}async function bo(re,se,ve){if(!c)return{type:"success",matches:re};let T=re;for(;;){let D=s==null,$=s||a,A=o;try{await c({path:se,matches:T,patch:(ee,fe)=>{ve.aborted||iM(ee,fe,$,A,i)}})}catch(ee){return{type:"error",error:ee,partialMatches:T}}finally{D&&!ve.aborted&&(a=[...a])}if(ve.aborted)return{type:"aborted"};let N=gc($,se,u);if(N)return{type:"success",matches:N};let Q=q1($,se,u,!0);if(!Q||T.length===Q.length&&T.every((ee,fe)=>ee.route.id===Q[fe].route.id))return{type:"success",matches:null};T=Q}}function Zl(re){o={},s=Ty(re,i,void 0,o)}function Sf(re,se){let ve=s==null;iM(re,se,s||a,o,i),ve&&(a=[...a],De({}))}return E={get basename(){return u},get future(){return f},get state(){return C},get routes(){return a},get window(){return t},initialize:it,subscribe:Le,enableScrollRestoration:hn,navigate:yt,fetch:ge,revalidate:lt,createHref:re=>e.history.createHref(re),encodeLocation:re=>e.history.encodeLocation(re),getFetcher:Ii,deleteFetcher:yi,dispose:ke,getBlocker:Xi,deleteBlocker:yo,patchRoutes:Sf,_internalFetchControllers:W,_internalActiveDeferreds:we,_internalSetRoutes:Zl},E}function hae(e){return e!=null&&("formData"in e&&e.formData!=null||"body"in e&&e.body!==void 0)}function PC(e,t,n,r,i,o,a,s){let u,l;if(a){u=[];for(let f of t)if(u.push(f),f.route.id===a){l=f;break}}else u=t,l=t[t.length-1];let c=x5(i||".",b5(u,o),Mh(e.pathname,n)||e.pathname,s==="path");if(i==null&&(c.search=e.search,c.hash=e.hash),(i==null||i===""||i===".")&&l){let f=S5(c.search);if(l.route.index&&!f)c.search=c.search?c.search.replace(/^\?/,"?index&"):"?index";else if(!l.route.index&&f){let h=new URLSearchParams(c.search),p=h.getAll("index");h.delete("index"),p.filter(v=>v).forEach(v=>h.append("index",v));let m=h.toString();c.search=m?"?"+m:""}}return r&&n!=="/"&&(c.pathname=c.pathname==="/"?n:lu([n,c.pathname])),Uc(c)}function eM(e,t,n,r){if(!r||!hae(r))return{path:n};if(r.formMethod&&!Eae(r.formMethod))return{path:n,error:ro(405,{method:r.formMethod})};let i=()=>({path:n,error:ro(400,{type:"invalid-body"})}),o=r.formMethod||"get",a=e?o.toUpperCase():o.toLowerCase(),s=LF(n);if(r.body!==void 0){if(r.formEncType==="text/plain"){if(!Ra(a))return i();let h=typeof r.body=="string"?r.body:r.body instanceof FormData||r.body instanceof URLSearchParams?Array.from(r.body.entries()).reduce((p,m)=>{let[v,b]=m;return""+p+v+"="+b+` +`},""):String(r.body);return{path:n,submission:{formMethod:a,formAction:s,formEncType:r.formEncType,formData:void 0,json:void 0,text:h}}}else if(r.formEncType==="application/json"){if(!Ra(a))return i();try{let h=typeof r.body=="string"?JSON.parse(r.body):r.body;return{path:n,submission:{formMethod:a,formAction:s,formEncType:r.formEncType,formData:void 0,json:h,text:void 0}}}catch{return i()}}}fn(typeof FormData=="function","FormData is not available in this environment");let u,l;if(r.formData)u=TC(r.formData),l=r.formData;else if(r.body instanceof FormData)u=TC(r.body),l=r.body;else if(r.body instanceof URLSearchParams)u=r.body,l=aM(u);else if(r.body==null)u=new URLSearchParams,l=new FormData;else try{u=new URLSearchParams(r.body),l=aM(u)}catch{return i()}let c={formMethod:a,formAction:s,formEncType:r&&r.formEncType||"application/x-www-form-urlencoded",formData:l,json:void 0,text:void 0};if(Ra(c.formMethod))return{path:n,submission:c};let f=Pu(n);return t&&f.search&&S5(f.search)&&u.append("index",""),f.search="?"+u,{path:Uc(f),submission:c}}function tM(e,t,n){n===void 0&&(n=!1);let r=e.findIndex(i=>i.route.id===t);return r>=0?e.slice(0,n?r+1:r):e}function nM(e,t,n,r,i,o,a,s,u,l,c,f,h,p,m,v){let b=v?Mo(v[1])?v[1].error:v[1].data:void 0,w=e.createURL(t.location),x=e.createURL(i),S=n;o&&t.errors?S=tM(n,Object.keys(t.errors)[0],!0):v&&Mo(v[1])&&(S=tM(n,v[0]));let O=v?v[1].statusCode:void 0,E=a&&O&&O>=400,C=S.filter((M,L)=>{let{route:U}=M;if(U.lazy)return!0;if(U.loader==null)return!1;if(o)return kC(U,t.loaderData,t.errors);if(pae(t.loaderData,t.matches[L],M)||u.some(ne=>ne===M.route.id))return!0;let H=t.matches[L],V=M;return rM(M,ir({currentUrl:w,currentParams:H.params,nextUrl:x,nextParams:V.params},r,{actionResult:b,actionStatus:O,defaultShouldRevalidate:E?!1:s||w.pathname+w.search===x.pathname+x.search||w.search!==x.search||IF(H,V)}))}),k=[];return f.forEach((M,L)=>{if(o||!n.some(Z=>Z.route.id===M.routeId)||c.has(L))return;let U=gc(p,M.path,m);if(!U){k.push({key:L,routeId:M.routeId,path:M.path,matches:null,match:null,controller:null});return}let H=t.fetchers.get(L),V=r0(U,M.path),ne=!1;h.has(L)?ne=!1:l.has(L)?(l.delete(L),ne=!0):H&&H.state!=="idle"&&H.data===void 0?ne=s:ne=rM(V,ir({currentUrl:w,currentParams:t.matches[t.matches.length-1].params,nextUrl:x,nextParams:n[n.length-1].params},r,{actionResult:b,actionStatus:O,defaultShouldRevalidate:E?!1:s})),ne&&k.push({key:L,routeId:M.routeId,path:M.path,matches:U,match:V,controller:new AbortController})}),[C,k]}function kC(e,t,n){if(e.lazy)return!0;if(!e.loader)return!1;let r=t!=null&&t[e.id]!==void 0,i=n!=null&&n[e.id]!==void 0;return!r&&i?!1:typeof e.loader=="function"&&e.loader.hydrate===!0?!0:!r&&!i}function pae(e,t,n){let r=!t||n.route.id!==t.route.id,i=e[n.route.id]===void 0;return r||i}function IF(e,t){let n=e.route.path;return e.pathname!==t.pathname||n!=null&&n.endsWith("*")&&e.params["*"]!==t.params["*"]}function rM(e,t){if(e.route.shouldRevalidate){let n=e.route.shouldRevalidate(t);if(typeof n=="boolean")return n}return t.defaultShouldRevalidate}function iM(e,t,n,r,i){var o;let a;if(e){let l=r[e];fn(l,"No route found to patch children into: routeId = "+e),l.children||(l.children=[]),a=l.children}else a=n;let s=t.filter(l=>!a.some(c=>NF(l,c))),u=Ty(s,i,[e||"_","patch",String(((o=a)==null?void 0:o.length)||"0")],r);a.push(...u)}function NF(e,t){return"id"in e&&"id"in t&&e.id===t.id?!0:e.index===t.index&&e.path===t.path&&e.caseSensitive===t.caseSensitive?(!e.children||e.children.length===0)&&(!t.children||t.children.length===0)?!0:e.children.every((n,r)=>{var i;return(i=t.children)==null?void 0:i.some(o=>NF(n,o))}):!1}async function gae(e,t,n){if(!e.lazy)return;let r=await e.lazy();if(!e.lazy)return;let i=n[e.id];fn(i,"No route found in manifest");let o={};for(let a in r){let u=i[a]!==void 0&&a!=="hasErrorBoundary";zc(!u,'Route "'+i.id+'" has a static property "'+a+'" defined but its lazy function is also returning a value for this property. '+('The lazy route property "'+a+'" will be ignored.')),!u&&!joe.has(a)&&(o[a]=r[a])}Object.assign(i,o),Object.assign(i,ir({},t(i),{lazy:void 0}))}async function mae(e){let{matches:t}=e,n=t.filter(i=>i.shouldLoad);return(await Promise.all(n.map(i=>i.resolve()))).reduce((i,o,a)=>Object.assign(i,{[n[a].route.id]:o}),{})}async function vae(e,t,n,r,i,o,a,s,u,l){let c=o.map(p=>p.route.lazy?gae(p.route,u,s):void 0),f=o.map((p,m)=>{let v=c[m],b=i.some(x=>x.route.id===p.route.id);return ir({},p,{shouldLoad:b,resolve:async x=>(x&&r.method==="GET"&&(p.route.lazy||p.route.loader)&&(b=!0),b?yae(t,r,p,v,x,l):Promise.resolve({type:In.data,result:void 0}))})}),h=await e({matches:f,request:r,params:o[0].params,fetcherKey:a,context:l});try{await Promise.all(c)}catch{}return h}async function yae(e,t,n,r,i,o){let a,s,u=l=>{let c,f=new Promise((m,v)=>c=v);s=()=>c(),t.signal.addEventListener("abort",s);let h=m=>typeof l!="function"?Promise.reject(new Error("You cannot call the handler for a route which defines a boolean "+('"'+e+'" [routeId: '+n.route.id+"]"))):l({request:t,params:n.params,context:o},...m!==void 0?[m]:[]),p=(async()=>{try{return{type:"data",result:await(i?i(v=>h(v)):h())}}catch(m){return{type:"error",result:m}}})();return Promise.race([p,f])};try{let l=n.route[e];if(r)if(l){let c,[f]=await Promise.all([u(l).catch(h=>{c=h}),r]);if(c!==void 0)throw c;a=f}else if(await r,l=n.route[e],l)a=await u(l);else if(e==="action"){let c=new URL(t.url),f=c.pathname+c.search;throw ro(405,{method:t.method,pathname:f,routeId:n.route.id})}else return{type:In.data,result:void 0};else if(l)a=await u(l);else{let c=new URL(t.url),f=c.pathname+c.search;throw ro(404,{pathname:f})}fn(a.result!==void 0,"You defined "+(e==="action"?"an action":"a loader")+" for route "+('"'+n.route.id+"\" but didn't return anything from your `"+e+"` ")+"function. Please return a value or `null`.")}catch(l){return{type:In.error,result:l}}finally{s&&t.signal.removeEventListener("abort",s)}return a}async function bae(e){let{result:t,type:n}=e;if(FF(t)){let l;try{let c=t.headers.get("Content-Type");c&&/\bapplication\/json\b/.test(c)?t.body==null?l=null:l=await t.json():l=await t.text()}catch(c){return{type:In.error,error:c}}return n===In.error?{type:In.error,error:new My(t.status,t.statusText,l),statusCode:t.status,headers:t.headers}:{type:In.data,data:l,statusCode:t.status,headers:t.headers}}if(n===In.error){if(fM(t)){var r;if(t.data instanceof Error){var i;return{type:In.error,error:t.data,statusCode:(i=t.init)==null?void 0:i.status}}t=new My(((r=t.init)==null?void 0:r.status)||500,void 0,t.data)}return{type:In.error,error:t,statusCode:Bx(t)?t.status:void 0}}if(Cae(t)){var o,a;return{type:In.deferred,deferredData:t,statusCode:(o=t.init)==null?void 0:o.status,headers:((a=t.init)==null?void 0:a.headers)&&new Headers(t.init.headers)}}if(fM(t)){var s,u;return{type:In.data,data:t.data,statusCode:(s=t.init)==null?void 0:s.status,headers:(u=t.init)!=null&&u.headers?new Headers(t.init.headers):void 0}}return{type:In.data,data:t}}function xae(e,t,n,r,i,o){let a=e.headers.get("Location");if(fn(a,"Redirects returned/thrown from loaders/actions must have a Location header"),!w5.test(a)){let s=r.slice(0,r.findIndex(u=>u.route.id===n)+1);a=PC(new URL(t.url),s,i,!0,a,o),e.headers.set("Location",a)}return e}function oM(e,t,n){if(w5.test(e)){let r=e,i=r.startsWith("//")?new URL(t.protocol+r):new URL(r),o=Mh(i.pathname,n)!=null;if(i.origin===t.origin&&o)return i.pathname+i.search+i.hash}return e}function Ff(e,t,n,r){let i=e.createURL(LF(t)).toString(),o={signal:n};if(r&&Ra(r.formMethod)){let{formMethod:a,formEncType:s}=r;o.method=a.toUpperCase(),s==="application/json"?(o.headers=new Headers({"Content-Type":s}),o.body=JSON.stringify(r.json)):s==="text/plain"?o.body=r.text:s==="application/x-www-form-urlencoded"&&r.formData?o.body=TC(r.formData):o.body=r.formData}return new Request(i,o)}function TC(e){let t=new URLSearchParams;for(let[n,r]of e.entries())t.append(n,typeof r=="string"?r:r.name);return t}function aM(e){let t=new FormData;for(let[n,r]of e.entries())t.append(n,r);return t}function wae(e,t,n,r,i){let o={},a=null,s,u=!1,l={},c=n&&Mo(n[1])?n[1].error:void 0;return e.forEach(f=>{if(!(f.route.id in t))return;let h=f.route.id,p=t[h];if(fn(!xc(p),"Cannot handle redirect results in processLoaderData"),Mo(p)){let m=p.error;c!==void 0&&(m=c,c=void 0),a=a||{};{let v=mc(e,h);a[v.route.id]==null&&(a[v.route.id]=m)}o[h]=void 0,u||(u=!0,s=Bx(p.error)?p.error.status:500),p.headers&&(l[h]=p.headers)}else sl(p)?(r.set(h,p.deferredData),o[h]=p.deferredData.data,p.statusCode!=null&&p.statusCode!==200&&!u&&(s=p.statusCode),p.headers&&(l[h]=p.headers)):(o[h]=p.data,p.statusCode&&p.statusCode!==200&&!u&&(s=p.statusCode),p.headers&&(l[h]=p.headers))}),c!==void 0&&n&&(a={[n[0]]:c},o[n[0]]=void 0),{loaderData:o,errors:a,statusCode:s||200,loaderHeaders:l}}function sM(e,t,n,r,i,o,a){let{loaderData:s,errors:u}=wae(t,n,r,a);return i.forEach(l=>{let{key:c,match:f,controller:h}=l,p=o[c];if(fn(p,"Did not find corresponding fetcher result"),!(h&&h.signal.aborted))if(Mo(p)){let m=mc(e.matches,f?.route.id);u&&u[m.route.id]||(u=ir({},u,{[m.route.id]:p.error})),e.fetchers.delete(c)}else if(xc(p))fn(!1,"Unhandled fetcher revalidation redirect");else if(sl(p))fn(!1,"Unhandled fetcher deferred data");else{let m=qu(p.data);e.fetchers.set(c,m)}}),{loaderData:s,errors:u}}function uM(e,t,n,r){let i=ir({},t);for(let o of n){let a=o.route.id;if(t.hasOwnProperty(a)?t[a]!==void 0&&(i[a]=t[a]):e[a]!==void 0&&o.route.loader&&(i[a]=e[a]),r&&r.hasOwnProperty(a))break}return i}function lM(e){return e?Mo(e[1])?{actionData:{}}:{actionData:{[e[0]]:e[1].data}}:{}}function mc(e,t){return(t?e.slice(0,e.findIndex(r=>r.route.id===t)+1):[...e]).reverse().find(r=>r.route.hasErrorBoundary===!0)||e[0]}function cM(e){let t=e.length===1?e[0]:e.find(n=>n.index||!n.path||n.path==="/")||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:t}],route:t}}function ro(e,t){let{pathname:n,routeId:r,method:i,type:o,message:a}=t===void 0?{}:t,s="Unknown Server Error",u="Unknown @remix-run/router error";return e===400?(s="Bad Request",i&&n&&r?u="You made a "+i+' request to "'+n+'" but '+('did not provide a `loader` for route "'+r+'", ')+"so there is no way to handle the request.":o==="defer-action"?u="defer() is not supported in actions":o==="invalid-body"&&(u="Unable to encode submission body")):e===403?(s="Forbidden",u='Route "'+r+'" does not match URL "'+n+'"'):e===404?(s="Not Found",u='No route matches URL "'+n+'"'):e===405&&(s="Method Not Allowed",i&&n&&r?u="You made a "+i.toUpperCase()+' request to "'+n+'" but '+('did not provide an `action` for route "'+r+'", ')+"so there is no way to handle the request.":i&&(u='Invalid request method "'+i.toUpperCase()+'"')),new My(e||500,s,new Error(u),!0)}function Qv(e){let t=Object.entries(e);for(let n=t.length-1;n>=0;n--){let[r,i]=t[n];if(xc(i))return{key:r,result:i}}}function LF(e){let t=typeof e=="string"?Pu(e):e;return Uc(ir({},t,{hash:""}))}function _ae(e,t){return e.pathname!==t.pathname||e.search!==t.search?!1:e.hash===""?t.hash!=="":e.hash===t.hash?!0:t.hash!==""}function Sae(e){return FF(e.result)&&uae.has(e.result.status)}function sl(e){return e.type===In.deferred}function Mo(e){return e.type===In.error}function xc(e){return(e&&e.type)===In.redirect}function fM(e){return typeof e=="object"&&e!=null&&"type"in e&&"data"in e&&"init"in e&&e.type==="DataWithResponseInit"}function Cae(e){let t=e;return t&&typeof t=="object"&&typeof t.data=="object"&&typeof t.subscribe=="function"&&typeof t.cancel=="function"&&typeof t.resolveData=="function"}function FF(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.headers=="object"&&typeof e.body<"u"}function Eae(e){return sae.has(e.toLowerCase())}function Ra(e){return oae.has(e.toLowerCase())}async function Oae(e,t,n,r,i){let o=Object.entries(t);for(let a=0;ah?.route.id===s);if(!l)continue;let c=r.find(h=>h.route.id===l.route.id),f=c!=null&&!IF(c,l)&&(i&&i[l.route.id])!==void 0;sl(u)&&f&&await _5(u,n,!1).then(h=>{h&&(t[s]=h)})}}async function Aae(e,t,n){for(let r=0;rl?.route.id===o)&&sl(s)&&(fn(a,"Expected an AbortController for revalidating fetcher deferred result"),await _5(s,a.signal,!0).then(l=>{l&&(t[i]=l)}))}}async function _5(e,t,n){if(n===void 0&&(n=!1),!await e.deferredData.resolveData(t)){if(n)try{return{type:In.data,data:e.deferredData.unwrappedData}}catch(i){return{type:In.error,error:i}}return{type:In.data,data:e.deferredData.data}}}function S5(e){return new URLSearchParams(e).getAll("index").some(t=>t==="")}function r0(e,t){let n=typeof t=="string"?Pu(t).search:t.search;if(e[e.length-1].route.index&&S5(n||""))return e[e.length-1];let r=RF(e);return r[r.length-1]}function dM(e){let{formMethod:t,formAction:n,formEncType:r,text:i,formData:o,json:a}=e;if(!(!t||!n||!r)){if(i!=null)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:void 0,text:i};if(o!=null)return{formMethod:t,formAction:n,formEncType:r,formData:o,json:void 0,text:void 0};if(a!==void 0)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:a,text:void 0}}}function nS(e,t){return t?{state:"loading",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}:{state:"loading",location:e,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function Pae(e,t){return{state:"submitting",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}}function kp(e,t){return e?{state:"loading",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:t}}function kae(e,t){return{state:"submitting",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t?t.data:void 0}}function qu(e){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}function Tae(e,t){try{let n=e.sessionStorage.getItem($F);if(n){let r=JSON.parse(n);for(let[i,o]of Object.entries(r||{}))o&&Array.isArray(o)&&t.set(i,new Set(o||[]))}}catch{}}function Mae(e,t){if(t.size>0){let n={};for(let[r,i]of t)n[r]=[...i];try{e.sessionStorage.setItem($F,JSON.stringify(n))}catch(r){zc(!1,"Failed to save applied view transitions in sessionStorage ("+r+").")}}}/** + * React Router v6.28.1 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function Ry(){return Ry=Object.assign?Object.assign.bind():function(e){for(var t=1;t{s.current=!0}),y.useCallback(function(l,c){if(c===void 0&&(c={}),!s.current)return;if(typeof l=="number"){r.go(l);return}let f=x5(l,JSON.parse(a),o,c.relative==="path");e==null&&t!=="/"&&(f.pathname=f.pathname==="/"?t:lu([t,f.pathname])),(c.replace?r.replace:r.push)(f,c.state,c)},[t,r,a,o,e])}const $ae=y.createContext(null);function Iae(e){let t=y.useContext(Bl).outlet;return t&&y.createElement($ae.Provider,{value:e},t)}function VF(e,t){let{relative:n}=t===void 0?{}:t,{future:r}=y.useContext(df),{matches:i}=y.useContext(Bl),{pathname:o}=mm(),a=JSON.stringify(b5(i,r.v7_relativeSplatPath));return y.useMemo(()=>x5(e,JSON.parse(a),o,n==="path"),[e,a,o,n])}function Nae(e,t,n,r){gm()||fn(!1);let{navigator:i}=y.useContext(df),{matches:o}=y.useContext(Bl),a=o[o.length-1],s=a?a.params:{};a&&a.pathname;let u=a?a.pathnameBase:"/";a&&a.route;let l=mm(),c;c=l;let f=c.pathname||"/",h=f;if(u!=="/"){let v=u.replace(/^\//,"").split("/");h="/"+f.replace(/^\//,"").split("/").slice(v.length).join("/")}let p=gc(e,{pathname:h});return zae(p&&p.map(v=>Object.assign({},v,{params:Object.assign({},s,v.params),pathname:lu([u,i.encodeLocation?i.encodeLocation(v.pathname).pathname:v.pathname]),pathnameBase:v.pathnameBase==="/"?u:lu([u,i.encodeLocation?i.encodeLocation(v.pathnameBase).pathname:v.pathnameBase])})),o,n,r)}function Lae(){let e=Hae(),t=Bx(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,i={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return y.createElement(y.Fragment,null,y.createElement("h2",null,"Unexpected Application Error!"),y.createElement("h3",{style:{fontStyle:"italic"}},t),n?y.createElement("pre",{style:i},n):null,null)}const Fae=y.createElement(Lae,null);class jae extends y.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,n){return n.location!==t.location||n.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:n.error,location:n.location,revalidation:t.revalidation||n.revalidation}}componentDidCatch(t,n){console.error("React Router caught the following error during render",t,n)}render(){return this.state.error!==void 0?y.createElement(Bl.Provider,{value:this.props.routeContext},y.createElement(BF.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function Bae(e){let{routeContext:t,match:n,children:r}=e,i=y.useContext(zx);return i&&i.static&&i.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(i.staticContext._deepestRenderedBoundaryId=n.route.id),y.createElement(Bl.Provider,{value:t},r)}function zae(e,t,n,r){var i;if(t===void 0&&(t=[]),n===void 0&&(n=null),r===void 0&&(r=null),e==null){var o;if(!n)return null;if(n.errors)e=n.matches;else if((o=r)!=null&&o.v7_partialHydration&&t.length===0&&!n.initialized&&n.matches.length>0)e=n.matches;else return null}let a=e,s=(i=n)==null?void 0:i.errors;if(s!=null){let c=a.findIndex(f=>f.route.id&&s?.[f.route.id]!==void 0);c>=0||fn(!1),a=a.slice(0,Math.min(a.length,c+1))}let u=!1,l=-1;if(n&&r&&r.v7_partialHydration)for(let c=0;c=0?a=a.slice(0,l+1):a=[a[0]];break}}}return a.reduceRight((c,f,h)=>{let p,m=!1,v=null,b=null;n&&(p=s&&f.route.id?s[f.route.id]:void 0,v=f.route.errorElement||Fae,u&&(l<0&&h===0?(qae("route-fallback"),m=!0,b=null):l===h&&(m=!0,b=f.route.hydrateFallbackElement||null)));let w=t.concat(a.slice(0,h+1)),x=()=>{let S;return p?S=v:m?S=b:f.route.Component?S=y.createElement(f.route.Component,null):f.route.element?S=f.route.element:S=c,y.createElement(Bae,{match:f,routeContext:{outlet:c,matches:w,isDataRoute:n!=null},children:S})};return n&&(f.route.ErrorBoundary||f.route.errorElement||h===0)?y.createElement(jae,{location:n.location,revalidation:n.revalidation,component:v,error:p,children:x(),routeContext:{outlet:null,matches:w,isDataRoute:!0}}):x()},null)}var WF=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(WF||{}),Dy=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(Dy||{});function Uae(e){let t=y.useContext(zx);return t||fn(!1),t}function Vae(e){let t=y.useContext(jF);return t||fn(!1),t}function Wae(e){let t=y.useContext(Bl);return t||fn(!1),t}function HF(e){let t=Wae(),n=t.matches[t.matches.length-1];return n.route.id||fn(!1),n.route.id}function Hae(){var e;let t=y.useContext(BF),n=Vae(Dy.UseRouteError),r=HF(Dy.UseRouteError);return t!==void 0?t:(e=n.errors)==null?void 0:e[r]}function Kae(){let{router:e}=Uae(WF.UseNavigateStable),t=HF(Dy.UseNavigateStable),n=y.useRef(!1);return zF(()=>{n.current=!0}),y.useCallback(function(i,o){o===void 0&&(o={}),n.current&&(typeof i=="number"?e.navigate(i):e.navigate(i,Ry({fromRouteId:t},o)))},[e,t])}const hM={};function qae(e,t,n){hM[e]||(hM[e]=!0)}const pM={};function Gae(e,t){pM[t]||(pM[t]=!0,console.warn(t))}const jf=(e,t,n)=>Gae(e,"⚠️ React Router Future Flag Warning: "+t+". "+("You can use the `"+e+"` future flag to opt-in early. ")+("For more information, see "+n+"."));function Yae(e,t){e?.v7_startTransition===void 0&&jf("v7_startTransition","React Router will begin wrapping state updates in `React.startTransition` in v7","https://reactrouter.com/v6/upgrading/future#v7_starttransition"),e?.v7_relativeSplatPath===void 0&&(!t||!t.v7_relativeSplatPath)&&jf("v7_relativeSplatPath","Relative route resolution within Splat routes is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_relativesplatpath"),t&&(t.v7_fetcherPersist===void 0&&jf("v7_fetcherPersist","The persistence behavior of fetchers is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_fetcherpersist"),t.v7_normalizeFormMethod===void 0&&jf("v7_normalizeFormMethod","Casing of `formMethod` fields is being normalized to uppercase in v7","https://reactrouter.com/v6/upgrading/future#v7_normalizeformmethod"),t.v7_partialHydration===void 0&&jf("v7_partialHydration","`RouterProvider` hydration behavior is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_partialhydration"),t.v7_skipActionErrorRevalidation===void 0&&jf("v7_skipActionErrorRevalidation","The revalidation behavior after 4xx/5xx `action` responses is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_skipactionerrorrevalidation"))}function LGe(e){return Iae(e.context)}function Zae(e){let{basename:t="/",children:n=null,location:r,navigationType:i=kr.Pop,navigator:o,static:a=!1,future:s}=e;gm()&&fn(!1);let u=t.replace(/^\/*/,"/"),l=y.useMemo(()=>({basename:u,navigator:o,static:a,future:Ry({v7_relativeSplatPath:!1},s)}),[u,s,o,a]);typeof r=="string"&&(r=Pu(r));let{pathname:c="/",search:f="",hash:h="",state:p=null,key:m="default"}=r,v=y.useMemo(()=>{let b=Mh(c,u);return b==null?null:{location:{pathname:b,search:f,hash:h,state:p,key:m},navigationType:i}},[u,c,f,h,p,m,i]);return v==null?null:y.createElement(df.Provider,{value:l},y.createElement(C5.Provider,{children:n,value:v}))}new Promise(()=>{});function Xae(e){let t={hasErrorBoundary:e.ErrorBoundary!=null||e.errorElement!=null};return e.Component&&Object.assign(t,{element:y.createElement(e.Component),Component:void 0}),e.HydrateFallback&&Object.assign(t,{hydrateFallbackElement:y.createElement(e.HydrateFallback),HydrateFallback:void 0}),e.ErrorBoundary&&Object.assign(t,{errorElement:y.createElement(e.ErrorBoundary),ErrorBoundary:void 0}),t}/** + * React Router DOM v6.28.1 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function Z0(){return Z0=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&(n[i]=e[i]);return n}function Jae(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function ese(e,t){return e.button===0&&(!t||t==="_self")&&!Jae(e)}function MC(e){return e===void 0&&(e=""),new URLSearchParams(typeof e=="string"||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,n)=>{let r=e[n];return t.concat(Array.isArray(r)?r.map(i=>[n,i]):[[n,r]])},[]))}function tse(e,t){let n=MC(e);return t&&t.forEach((r,i)=>{n.has(i)||t.getAll(i).forEach(o=>{n.append(i,o)})}),n}const nse=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],rse="6";try{window.__reactRouterVersion=rse}catch{}function FGe(e,t){return dae({basename:void 0,future:Z0({},void 0,{v7_prependBasename:!0}),history:Noe({window:void 0}),hydrationData:ise(),routes:e,mapRouteProperties:Xae,dataStrategy:void 0,patchRoutesOnNavigation:void 0,window:void 0}).initialize()}function ise(){var e;let t=(e=window)==null?void 0:e.__staticRouterHydrationData;return t&&t.errors&&(t=Z0({},t,{errors:ose(t.errors)})),t}function ose(e){if(!e)return null;let t=Object.entries(e),n={};for(let[r,i]of t)if(i&&i.__type==="RouteErrorResponse")n[r]=new My(i.status,i.statusText,i.data,i.internal===!0);else if(i&&i.__type==="Error"){if(i.__subType){let o=window[i.__subType];if(typeof o=="function")try{let a=new o(i.message);a.stack="",n[r]=a}catch{}}if(n[r]==null){let o=new Error(i.message);o.stack="",n[r]=o}}else n[r]=i;return n}const ase=y.createContext({isTransitioning:!1}),sse=y.createContext(new Map),use="startTransition",gM=P4[use],lse="flushSync",mM=Ioe[lse];function cse(e){gM?gM(e):e()}function Tp(e){mM?mM(e):e()}class fse{constructor(){this.status="pending",this.promise=new Promise((t,n)=>{this.resolve=r=>{this.status==="pending"&&(this.status="resolved",t(r))},this.reject=r=>{this.status==="pending"&&(this.status="rejected",n(r))}})}}function jGe(e){let{fallbackElement:t,router:n,future:r}=e,[i,o]=y.useState(n.state),[a,s]=y.useState(),[u,l]=y.useState({isTransitioning:!1}),[c,f]=y.useState(),[h,p]=y.useState(),[m,v]=y.useState(),b=y.useRef(new Map),{v7_startTransition:w}=r||{},x=y.useCallback(M=>{w?cse(M):M()},[w]),S=y.useCallback((M,L)=>{let{deletedFetchers:U,flushSync:H,viewTransitionOpts:V}=L;U.forEach(Z=>b.current.delete(Z)),M.fetchers.forEach((Z,G)=>{Z.data!==void 0&&b.current.set(G,Z.data)});let ne=n.window==null||n.window.document==null||typeof n.window.document.startViewTransition!="function";if(!V||ne){H?Tp(()=>o(M)):x(()=>o(M));return}if(H){Tp(()=>{h&&(c&&c.resolve(),h.skipTransition()),l({isTransitioning:!0,flushSync:!0,currentLocation:V.currentLocation,nextLocation:V.nextLocation})});let Z=n.window.document.startViewTransition(()=>{Tp(()=>o(M))});Z.finished.finally(()=>{Tp(()=>{f(void 0),p(void 0),s(void 0),l({isTransitioning:!1})})}),Tp(()=>p(Z));return}h?(c&&c.resolve(),h.skipTransition(),v({state:M,currentLocation:V.currentLocation,nextLocation:V.nextLocation})):(s(M),l({isTransitioning:!0,flushSync:!1,currentLocation:V.currentLocation,nextLocation:V.nextLocation}))},[n.window,h,c,b,x]);y.useLayoutEffect(()=>n.subscribe(S),[n,S]),y.useEffect(()=>{u.isTransitioning&&!u.flushSync&&f(new fse)},[u]),y.useEffect(()=>{if(c&&a&&n.window){let M=a,L=c.promise,U=n.window.document.startViewTransition(async()=>{x(()=>o(M)),await L});U.finished.finally(()=>{f(void 0),p(void 0),s(void 0),l({isTransitioning:!1})}),p(U)}},[x,a,c,n.window]),y.useEffect(()=>{c&&a&&i.location.key===a.location.key&&c.resolve()},[c,h,i.location,a]),y.useEffect(()=>{!u.isTransitioning&&m&&(s(m.state),l({isTransitioning:!0,flushSync:!1,currentLocation:m.currentLocation,nextLocation:m.nextLocation}),v(void 0))},[u.isTransitioning,m]),y.useEffect(()=>{},[]);let O=y.useMemo(()=>({createHref:n.createHref,encodeLocation:n.encodeLocation,go:M=>n.navigate(M),push:(M,L,U)=>n.navigate(M,{state:L,preventScrollReset:U?.preventScrollReset}),replace:(M,L,U)=>n.navigate(M,{replace:!0,state:L,preventScrollReset:U?.preventScrollReset})}),[n]),E=n.basename||"/",C=y.useMemo(()=>({router:n,navigator:O,static:!1,basename:E}),[n,O,E]),k=y.useMemo(()=>({v7_relativeSplatPath:n.future.v7_relativeSplatPath}),[n.future.v7_relativeSplatPath]);return y.useEffect(()=>Yae(r,n.future),[r,n.future]),y.createElement(y.Fragment,null,y.createElement(zx.Provider,{value:C},y.createElement(jF.Provider,{value:i},y.createElement(sse.Provider,{value:b.current},y.createElement(ase.Provider,{value:u},y.createElement(Zae,{basename:E,location:i.location,navigationType:i.historyAction,navigator:O,future:k},i.initialized||n.future.v7_partialHydration?y.createElement(dse,{routes:n.routes,future:n.future,state:i}):t))))),null)}const dse=y.memo(hse);function hse(e){let{routes:t,future:n,state:r}=e;return Nae(t,void 0,r,n)}const pse=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",gse=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,BGe=y.forwardRef(function(t,n){let{onClick:r,relative:i,reloadDocument:o,replace:a,state:s,target:u,to:l,preventScrollReset:c,viewTransition:f}=t,h=Qae(t,nse),{basename:p}=y.useContext(df),m,v=!1;if(typeof l=="string"&&gse.test(l)&&(m=l,pse))try{let S=new URL(window.location.href),O=l.startsWith("//")?new URL(S.protocol+l):new URL(l),E=Mh(O.pathname,p);O.origin===S.origin&&E!=null?l=E+O.search+O.hash:v=!0}catch{}let b=Rae(l,{relative:i}),w=mse(l,{replace:a,state:s,target:u,preventScrollReset:c,relative:i,viewTransition:f});function x(S){r&&r(S),S.defaultPrevented||w(S)}return y.createElement("a",Z0({},h,{href:m||b,onClick:v||o?r:x,ref:n,target:u}))});var vM;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(vM||(vM={}));var yM;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(yM||(yM={}));function mse(e,t){let{target:n,replace:r,state:i,preventScrollReset:o,relative:a,viewTransition:s}=t===void 0?{}:t,u=UF(),l=mm(),c=VF(e,{relative:a});return y.useCallback(f=>{if(ese(f,n)){f.preventDefault();let h=r!==void 0?r:Uc(l)===Uc(c);u(e,{replace:h,state:i,preventScrollReset:o,relative:a,viewTransition:s})}},[l,u,c,r,i,n,e,o,a,s])}function zGe(e){let t=y.useRef(MC(e)),n=y.useRef(!1),r=mm(),i=y.useMemo(()=>tse(r.search,n.current?null:t.current),[r.search]),o=UF(),a=y.useCallback((s,u)=>{const l=MC(typeof s=="function"?s(i):s);n.current=!0,o("?"+l,u)},[o,i]);return[i,a]}var KF={exports:{}},qF={};/** + * @license React + * use-sync-external-store-with-selector.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var vm=y;function vse(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var yse=typeof Object.is=="function"?Object.is:vse,bse=vm.useSyncExternalStore,xse=vm.useRef,wse=vm.useEffect,_se=vm.useMemo,Sse=vm.useDebugValue;qF.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var o=xse(null);if(o.current===null){var a={hasValue:!1,value:null};o.current=a}else a=o.current;o=_se(function(){function u(p){if(!l){if(l=!0,c=p,p=r(p),i!==void 0&&a.hasValue){var m=a.value;if(i(m,p))return f=m}return f=p}if(m=f,yse(c,p))return m;var v=r(p);return i!==void 0&&i(m,v)?(c=p,m):(c=p,f=v)}var l=!1,c,f,h=n===void 0?null:n;return[function(){return u(t())},h===null?void 0:function(){return u(h())}]},[t,n,r,i]);var s=bse(e,o[0],o[1]);return wse(function(){a.hasValue=!0,a.value=s},[s]),Sse(s),s};KF.exports=qF;var Cse=KF.exports;function Ese(e){e()}function Ose(){let e=null,t=null;return{clear(){e=null,t=null},notify(){Ese(()=>{let n=e;for(;n;)n.callback(),n=n.next})},get(){const n=[];let r=e;for(;r;)n.push(r),r=r.next;return n},subscribe(n){let r=!0;const i=t={callback:n,next:null,prev:t};return i.prev?i.prev.next=i:e=i,function(){!r||e===null||(r=!1,i.next?i.next.prev=i.prev:t=i.prev,i.prev?i.prev.next=i.next:e=i.next)}}}}var bM={notify(){},get:()=>[]};function Ase(e,t){let n,r=bM,i=0,o=!1;function a(v){c();const b=r.subscribe(v);let w=!1;return()=>{w||(w=!0,b(),f())}}function s(){r.notify()}function u(){m.onStateChange&&m.onStateChange()}function l(){return o}function c(){i++,n||(n=e.subscribe(u),r=Ose())}function f(){i--,n&&i===0&&(n(),n=void 0,r.clear(),r=bM)}function h(){o||(o=!0,c())}function p(){o&&(o=!1,f())}const m={addNestedSub:a,notifyNestedSubs:s,handleChangeWrapper:u,isSubscribed:l,trySubscribe:h,tryUnsubscribe:p,getListeners:()=>r};return m}var Pse=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",kse=Pse(),Tse=()=>typeof navigator<"u"&&navigator.product==="ReactNative",Mse=Tse(),Rse=()=>kse||Mse?y.useLayoutEffect:y.useEffect,Dse=Rse(),$se=Symbol.for("react-redux-context"),Ise=typeof globalThis<"u"?globalThis:{};function Nse(){if(!y.createContext)return{};const e=Ise[$se]??=new Map;let t=e.get(y.createContext);return t||(t=y.createContext(null),e.set(y.createContext,t)),t}var Ol=Nse();function Lse(e){const{children:t,context:n,serverState:r,store:i}=e,o=y.useMemo(()=>{const u=Ase(i);return{store:i,subscription:u,getServerState:r?()=>r:void 0}},[i,r]),a=y.useMemo(()=>i.getState(),[i]);Dse(()=>{const{subscription:u}=o;return u.onStateChange=u.notifyNestedSubs,u.trySubscribe(),a!==i.getState()&&u.notifyNestedSubs(),()=>{u.tryUnsubscribe(),u.onStateChange=void 0}},[o,a]);const s=n||Ol;return y.createElement(s.Provider,{value:o},t)}var UGe=Lse;function E5(e=Ol){return function(){return y.useContext(e)}}var GF=E5();function YF(e=Ol){const t=e===Ol?GF:E5(e),n=()=>{const{store:r}=t();return r};return Object.assign(n,{withTypes:()=>n}),n}var Fse=YF();function jse(e=Ol){const t=e===Ol?Fse:YF(e),n=()=>t().dispatch;return Object.assign(n,{withTypes:()=>n}),n}var VGe=jse(),Bse=(e,t)=>e===t;function zse(e=Ol){const t=e===Ol?GF:E5(e),n=(r,i={})=>{const{equalityFn:o=Bse}=typeof i=="function"?{equalityFn:i}:i,a=t(),{store:s,subscription:u,getServerState:l}=a;y.useRef(!0);const c=y.useCallback({[r.name](h){return r(h)}}[r.name],[r]),f=Cse.useSyncExternalStoreWithSelector(u.addNestedSub,s.getState,l||s.getState,c,o);return y.useDebugValue(f),f};return Object.assign(n,{withTypes:()=>n}),n}var WGe=zse();function xM(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Ux(...e){return t=>{let n=!1;const r=e.map(i=>{const o=xM(i,t);return!n&&typeof o=="function"&&(n=!0),o});if(n)return()=>{for(let i=0;i{const{children:n,...r}=e,i=y.Children.toArray(n),o=i.find(Use);if(o){const a=o.props.children,s=i.map(u=>u===o?y.Children.count(a)>1?y.Children.only(null):y.isValidElement(a)?a.props.children:null:u);return I.jsx(RC,{...r,ref:t,children:y.isValidElement(a)?y.cloneElement(a,void 0,s):null})}return I.jsx(RC,{...r,ref:t,children:n})});Al.displayName="Slot";var RC=y.forwardRef((e,t)=>{const{children:n,...r}=e;if(y.isValidElement(n)){const i=Wse(n);return y.cloneElement(n,{...Vse(r,n.props),ref:t?Ux(t,i):i})}return y.Children.count(n)>1?y.Children.only(null):null});RC.displayName="SlotClone";var O5=({children:e})=>I.jsx(I.Fragment,{children:e});function Use(e){return y.isValidElement(e)&&e.type===O5}function Vse(e,t){const n={...t};for(const r in t){const i=e[r],o=t[r];/^on[A-Z]/.test(r)?i&&o?n[r]=(...s)=>{o(...s),i(...s)}:i&&(n[r]=i):r==="style"?n[r]={...i,...o}:r==="className"&&(n[r]=[i,o].filter(Boolean).join(" "))}return{...e,...n}}function Wse(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function ZF(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var i=e.length;for(t=0;ttypeof e=="boolean"?`${e}`:e===0?"0":e,_M=dn,HGe=(e,t)=>n=>{var r;if(t?.variants==null)return _M(e,n?.class,n?.className);const{variants:i,defaultVariants:o}=t,a=Object.keys(i).map(l=>{const c=n?.[l],f=o?.[l];if(c===null)return null;const h=wM(c)||wM(f);return i[l][h]}),s=n&&Object.entries(n).reduce((l,c)=>{let[f,h]=c;return h===void 0||(l[f]=h),l},{}),u=t==null||(r=t.compoundVariants)===null||r===void 0?void 0:r.reduce((l,c)=>{let{class:f,className:h,...p}=c;return Object.entries(p).every(m=>{let[v,b]=m;return Array.isArray(b)?b.includes({...o,...s}[v]):{...o,...s}[v]===b})?[...l,f,h]:l},[]);return _M(e,a,u,n?.class,n?.className)},A5="-",Hse=e=>{const t=qse(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:a=>{const s=a.split(A5);return s[0]===""&&s.length!==1&&s.shift(),XF(s,t)||Kse(a)},getConflictingClassGroupIds:(a,s)=>{const u=n[a]||[];return s&&r[a]?[...u,...r[a]]:u}}},XF=(e,t)=>{if(e.length===0)return t.classGroupId;const n=e[0],r=t.nextPart.get(n),i=r?XF(e.slice(1),r):void 0;if(i)return i;if(t.validators.length===0)return;const o=e.join(A5);return t.validators.find(({validator:a})=>a(o))?.classGroupId},SM=/^\[(.+)\]$/,Kse=e=>{if(SM.test(e)){const t=SM.exec(e)[1],n=t?.substring(0,t.indexOf(":"));if(n)return"arbitrary.."+n}},qse=e=>{const{theme:t,prefix:n}=e,r={nextPart:new Map,validators:[]};return Yse(Object.entries(e.classGroups),n).forEach(([o,a])=>{DC(a,r,o,t)}),r},DC=(e,t,n,r)=>{e.forEach(i=>{if(typeof i=="string"){const o=i===""?t:CM(t,i);o.classGroupId=n;return}if(typeof i=="function"){if(Gse(i)){DC(i(r),t,n,r);return}t.validators.push({validator:i,classGroupId:n});return}Object.entries(i).forEach(([o,a])=>{DC(a,CM(t,o),n,r)})})},CM=(e,t)=>{let n=e;return t.split(A5).forEach(r=>{n.nextPart.has(r)||n.nextPart.set(r,{nextPart:new Map,validators:[]}),n=n.nextPart.get(r)}),n},Gse=e=>e.isThemeGetter,Yse=(e,t)=>t?e.map(([n,r])=>{const i=r.map(o=>typeof o=="string"?t+o:typeof o=="object"?Object.fromEntries(Object.entries(o).map(([a,s])=>[t+a,s])):o);return[n,i]}):e,Zse=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=new Map,r=new Map;const i=(o,a)=>{n.set(o,a),t++,t>e&&(t=0,r=n,n=new Map)};return{get(o){let a=n.get(o);if(a!==void 0)return a;if((a=r.get(o))!==void 0)return i(o,a),a},set(o,a){n.has(o)?n.set(o,a):i(o,a)}}},QF="!",Xse=e=>{const{separator:t,experimentalParseClassName:n}=e,r=t.length===1,i=t[0],o=t.length,a=s=>{const u=[];let l=0,c=0,f;for(let b=0;bc?f-c:void 0;return{modifiers:u,hasImportantModifier:p,baseClassName:m,maybePostfixModifierPosition:v}};return n?s=>n({className:s,parseClassName:a}):a},Qse=e=>{if(e.length<=1)return e;const t=[];let n=[];return e.forEach(r=>{r[0]==="["?(t.push(...n.sort(),r),n=[]):n.push(r)}),t.push(...n.sort()),t},Jse=e=>({cache:Zse(e.cacheSize),parseClassName:Xse(e),...Hse(e)}),eue=/\s+/,tue=(e,t)=>{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i}=t,o=[],a=e.trim().split(eue);let s="";for(let u=a.length-1;u>=0;u-=1){const l=a[u],{modifiers:c,hasImportantModifier:f,baseClassName:h,maybePostfixModifierPosition:p}=n(l);let m=!!p,v=r(m?h.substring(0,p):h);if(!v){if(!m){s=l+(s.length>0?" "+s:s);continue}if(v=r(h),!v){s=l+(s.length>0?" "+s:s);continue}m=!1}const b=Qse(c).join(":"),w=f?b+QF:b,x=w+v;if(o.includes(x))continue;o.push(x);const S=i(v,m);for(let O=0;O0?" "+s:s)}return s};function nue(){let e=0,t,n,r="";for(;e{if(typeof e=="string")return e;let t,n="";for(let r=0;rf(c),e());return n=Jse(l),r=n.cache.get,i=n.cache.set,o=s,s(u)}function s(u){const l=r(u);if(l)return l;const c=tue(u,n);return i(u,c),c}return function(){return o(nue.apply(null,arguments))}}const Qn=e=>{const t=n=>n[e]||[];return t.isThemeGetter=!0,t},ej=/^\[(?:([a-z-]+):)?(.+)\]$/i,iue=/^\d+\/\d+$/,oue=new Set(["px","full","screen"]),aue=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,sue=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,uue=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,lue=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,cue=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Ks=e=>Ed(e)||oue.has(e)||iue.test(e),Wu=e=>Rh(e,"length",yue),Ed=e=>!!e&&!Number.isNaN(Number(e)),rS=e=>Rh(e,"number",Ed),Mp=e=>!!e&&Number.isInteger(Number(e)),fue=e=>e.endsWith("%")&&Ed(e.slice(0,-1)),Qt=e=>ej.test(e),Hu=e=>aue.test(e),due=new Set(["length","size","percentage"]),hue=e=>Rh(e,due,tj),pue=e=>Rh(e,"position",tj),gue=new Set(["image","url"]),mue=e=>Rh(e,gue,xue),vue=e=>Rh(e,"",bue),Rp=()=>!0,Rh=(e,t,n)=>{const r=ej.exec(e);return r?r[1]?typeof t=="string"?r[1]===t:t.has(r[1]):n(r[2]):!1},yue=e=>sue.test(e)&&!uue.test(e),tj=()=>!1,bue=e=>lue.test(e),xue=e=>cue.test(e),wue=()=>{const e=Qn("colors"),t=Qn("spacing"),n=Qn("blur"),r=Qn("brightness"),i=Qn("borderColor"),o=Qn("borderRadius"),a=Qn("borderSpacing"),s=Qn("borderWidth"),u=Qn("contrast"),l=Qn("grayscale"),c=Qn("hueRotate"),f=Qn("invert"),h=Qn("gap"),p=Qn("gradientColorStops"),m=Qn("gradientColorStopPositions"),v=Qn("inset"),b=Qn("margin"),w=Qn("opacity"),x=Qn("padding"),S=Qn("saturate"),O=Qn("scale"),E=Qn("sepia"),C=Qn("skew"),k=Qn("space"),M=Qn("translate"),L=()=>["auto","contain","none"],U=()=>["auto","hidden","clip","visible","scroll"],H=()=>["auto",Qt,t],V=()=>[Qt,t],ne=()=>["",Ks,Wu],Z=()=>["auto",Ed,Qt],G=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],q=()=>["solid","dashed","dotted","double","none"],W=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],j=()=>["start","end","center","between","around","evenly","stretch"],K=()=>["","0",Qt],Y=()=>["auto","avoid","all","avoid-page","page","left","right","column"],oe=()=>[Ed,Qt];return{cacheSize:500,separator:":",theme:{colors:[Rp],spacing:[Ks,Wu],blur:["none","",Hu,Qt],brightness:oe(),borderColor:[e],borderRadius:["none","","full",Hu,Qt],borderSpacing:V(),borderWidth:ne(),contrast:oe(),grayscale:K(),hueRotate:oe(),invert:K(),gap:V(),gradientColorStops:[e],gradientColorStopPositions:[fue,Wu],inset:H(),margin:H(),opacity:oe(),padding:V(),saturate:oe(),scale:oe(),sepia:K(),skew:oe(),space:V(),translate:V()},classGroups:{aspect:[{aspect:["auto","square","video",Qt]}],container:["container"],columns:[{columns:[Hu]}],"break-after":[{"break-after":Y()}],"break-before":[{"break-before":Y()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...G(),Qt]}],overflow:[{overflow:U()}],"overflow-x":[{"overflow-x":U()}],"overflow-y":[{"overflow-y":U()}],overscroll:[{overscroll:L()}],"overscroll-x":[{"overscroll-x":L()}],"overscroll-y":[{"overscroll-y":L()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[v]}],"inset-x":[{"inset-x":[v]}],"inset-y":[{"inset-y":[v]}],start:[{start:[v]}],end:[{end:[v]}],top:[{top:[v]}],right:[{right:[v]}],bottom:[{bottom:[v]}],left:[{left:[v]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",Mp,Qt]}],basis:[{basis:H()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",Qt]}],grow:[{grow:K()}],shrink:[{shrink:K()}],order:[{order:["first","last","none",Mp,Qt]}],"grid-cols":[{"grid-cols":[Rp]}],"col-start-end":[{col:["auto",{span:["full",Mp,Qt]},Qt]}],"col-start":[{"col-start":Z()}],"col-end":[{"col-end":Z()}],"grid-rows":[{"grid-rows":[Rp]}],"row-start-end":[{row:["auto",{span:[Mp,Qt]},Qt]}],"row-start":[{"row-start":Z()}],"row-end":[{"row-end":Z()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",Qt]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",Qt]}],gap:[{gap:[h]}],"gap-x":[{"gap-x":[h]}],"gap-y":[{"gap-y":[h]}],"justify-content":[{justify:["normal",...j()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...j(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...j(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[x]}],px:[{px:[x]}],py:[{py:[x]}],ps:[{ps:[x]}],pe:[{pe:[x]}],pt:[{pt:[x]}],pr:[{pr:[x]}],pb:[{pb:[x]}],pl:[{pl:[x]}],m:[{m:[b]}],mx:[{mx:[b]}],my:[{my:[b]}],ms:[{ms:[b]}],me:[{me:[b]}],mt:[{mt:[b]}],mr:[{mr:[b]}],mb:[{mb:[b]}],ml:[{ml:[b]}],"space-x":[{"space-x":[k]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[k]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",Qt,t]}],"min-w":[{"min-w":[Qt,t,"min","max","fit"]}],"max-w":[{"max-w":[Qt,t,"none","full","min","max","fit","prose",{screen:[Hu]},Hu]}],h:[{h:[Qt,t,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[Qt,t,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[Qt,t,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[Qt,t,"auto","min","max","fit"]}],"font-size":[{text:["base",Hu,Wu]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",rS]}],"font-family":[{font:[Rp]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",Qt]}],"line-clamp":[{"line-clamp":["none",Ed,rS]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",Ks,Qt]}],"list-image":[{"list-image":["none",Qt]}],"list-style-type":[{list:["none","disc","decimal",Qt]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[w]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[w]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...q(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",Ks,Wu]}],"underline-offset":[{"underline-offset":["auto",Ks,Qt]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:V()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Qt]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Qt]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[w]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...G(),pue]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",hue]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},mue]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[m]}],"gradient-via-pos":[{via:[m]}],"gradient-to-pos":[{to:[m]}],"gradient-from":[{from:[p]}],"gradient-via":[{via:[p]}],"gradient-to":[{to:[p]}],rounded:[{rounded:[o]}],"rounded-s":[{"rounded-s":[o]}],"rounded-e":[{"rounded-e":[o]}],"rounded-t":[{"rounded-t":[o]}],"rounded-r":[{"rounded-r":[o]}],"rounded-b":[{"rounded-b":[o]}],"rounded-l":[{"rounded-l":[o]}],"rounded-ss":[{"rounded-ss":[o]}],"rounded-se":[{"rounded-se":[o]}],"rounded-ee":[{"rounded-ee":[o]}],"rounded-es":[{"rounded-es":[o]}],"rounded-tl":[{"rounded-tl":[o]}],"rounded-tr":[{"rounded-tr":[o]}],"rounded-br":[{"rounded-br":[o]}],"rounded-bl":[{"rounded-bl":[o]}],"border-w":[{border:[s]}],"border-w-x":[{"border-x":[s]}],"border-w-y":[{"border-y":[s]}],"border-w-s":[{"border-s":[s]}],"border-w-e":[{"border-e":[s]}],"border-w-t":[{"border-t":[s]}],"border-w-r":[{"border-r":[s]}],"border-w-b":[{"border-b":[s]}],"border-w-l":[{"border-l":[s]}],"border-opacity":[{"border-opacity":[w]}],"border-style":[{border:[...q(),"hidden"]}],"divide-x":[{"divide-x":[s]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[s]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[w]}],"divide-style":[{divide:q()}],"border-color":[{border:[i]}],"border-color-x":[{"border-x":[i]}],"border-color-y":[{"border-y":[i]}],"border-color-s":[{"border-s":[i]}],"border-color-e":[{"border-e":[i]}],"border-color-t":[{"border-t":[i]}],"border-color-r":[{"border-r":[i]}],"border-color-b":[{"border-b":[i]}],"border-color-l":[{"border-l":[i]}],"divide-color":[{divide:[i]}],"outline-style":[{outline:["",...q()]}],"outline-offset":[{"outline-offset":[Ks,Qt]}],"outline-w":[{outline:[Ks,Wu]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:ne()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[w]}],"ring-offset-w":[{"ring-offset":[Ks,Wu]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",Hu,vue]}],"shadow-color":[{shadow:[Rp]}],opacity:[{opacity:[w]}],"mix-blend":[{"mix-blend":[...W(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":W()}],filter:[{filter:["","none"]}],blur:[{blur:[n]}],brightness:[{brightness:[r]}],contrast:[{contrast:[u]}],"drop-shadow":[{"drop-shadow":["","none",Hu,Qt]}],grayscale:[{grayscale:[l]}],"hue-rotate":[{"hue-rotate":[c]}],invert:[{invert:[f]}],saturate:[{saturate:[S]}],sepia:[{sepia:[E]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[n]}],"backdrop-brightness":[{"backdrop-brightness":[r]}],"backdrop-contrast":[{"backdrop-contrast":[u]}],"backdrop-grayscale":[{"backdrop-grayscale":[l]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[c]}],"backdrop-invert":[{"backdrop-invert":[f]}],"backdrop-opacity":[{"backdrop-opacity":[w]}],"backdrop-saturate":[{"backdrop-saturate":[S]}],"backdrop-sepia":[{"backdrop-sepia":[E]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[a]}],"border-spacing-x":[{"border-spacing-x":[a]}],"border-spacing-y":[{"border-spacing-y":[a]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",Qt]}],duration:[{duration:oe()}],ease:[{ease:["linear","in","out","in-out",Qt]}],delay:[{delay:oe()}],animate:[{animate:["none","spin","ping","pulse","bounce",Qt]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[O]}],"scale-x":[{"scale-x":[O]}],"scale-y":[{"scale-y":[O]}],rotate:[{rotate:[Mp,Qt]}],"translate-x":[{"translate-x":[M]}],"translate-y":[{"translate-y":[M]}],"skew-x":[{"skew-x":[C]}],"skew-y":[{"skew-y":[C]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",Qt]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Qt]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":V()}],"scroll-mx":[{"scroll-mx":V()}],"scroll-my":[{"scroll-my":V()}],"scroll-ms":[{"scroll-ms":V()}],"scroll-me":[{"scroll-me":V()}],"scroll-mt":[{"scroll-mt":V()}],"scroll-mr":[{"scroll-mr":V()}],"scroll-mb":[{"scroll-mb":V()}],"scroll-ml":[{"scroll-ml":V()}],"scroll-p":[{"scroll-p":V()}],"scroll-px":[{"scroll-px":V()}],"scroll-py":[{"scroll-py":V()}],"scroll-ps":[{"scroll-ps":V()}],"scroll-pe":[{"scroll-pe":V()}],"scroll-pt":[{"scroll-pt":V()}],"scroll-pr":[{"scroll-pr":V()}],"scroll-pb":[{"scroll-pb":V()}],"scroll-pl":[{"scroll-pl":V()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Qt]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[Ks,Wu,rS]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},KGe=rue(wue);var nj={exports:{}},_ue="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",Sue=_ue,Cue=Sue;function rj(){}function ij(){}ij.resetWarningCache=rj;var Eue=function(){function e(r,i,o,a,s,u){if(u!==Cue){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}e.isRequired=e;function t(){return e}var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:ij,resetWarningCache:rj};return n.PropTypes=n,n};nj.exports=Eue();var Oue=nj.exports;const Mt=Dn(Oue);var Aue={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"},Pue=Object.defineProperty,kue=Object.defineProperties,Tue=Object.getOwnPropertyDescriptors,$y=Object.getOwnPropertySymbols,oj=Object.prototype.hasOwnProperty,aj=Object.prototype.propertyIsEnumerable,EM=(e,t,n)=>t in e?Pue(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,OM=(e,t)=>{for(var n in t||(t={}))oj.call(t,n)&&EM(e,n,t[n]);if($y)for(var n of $y(t))aj.call(t,n)&&EM(e,n,t[n]);return e},Mue=(e,t)=>kue(e,Tue(t)),Rue=(e,t)=>{var n={};for(var r in e)oj.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&$y)for(var r of $y(e))t.indexOf(r)<0&&aj.call(e,r)&&(n[r]=e[r]);return n},En=(e,t,n)=>{const r=y.forwardRef((i,o)=>{var a=i,{color:s="currentColor",size:u=24,stroke:l=2,children:c}=a,f=Rue(a,["color","size","stroke","children"]);return y.createElement("svg",OM(Mue(OM({ref:o},Aue),{width:u,height:u,stroke:s,strokeWidth:l,className:`tabler-icon tabler-icon-${e}`}),f),[...n.map(([h,p])=>y.createElement(h,p)),...c||[]])});return r.propTypes={color:Mt.string,size:Mt.oneOfType([Mt.string,Mt.number]),stroke:Mt.oneOfType([Mt.string,Mt.number])},r.displayName=`${t}`,r},qGe=En("adjustments","IconAdjustments",[["path",{d:"M4 10a2 2 0 1 0 4 0a2 2 0 0 0 -4 0",key:"svg-0"}],["path",{d:"M6 4v4",key:"svg-1"}],["path",{d:"M6 12v8",key:"svg-2"}],["path",{d:"M10 16a2 2 0 1 0 4 0a2 2 0 0 0 -4 0",key:"svg-3"}],["path",{d:"M12 4v10",key:"svg-4"}],["path",{d:"M12 18v2",key:"svg-5"}],["path",{d:"M16 7a2 2 0 1 0 4 0a2 2 0 0 0 -4 0",key:"svg-6"}],["path",{d:"M18 4v1",key:"svg-7"}],["path",{d:"M18 9v11",key:"svg-8"}]]),GGe=En("brand-telegram","IconBrandTelegram",[["path",{d:"M15 10l-4 4l6 6l4 -16l-18 7l4 2l2 6l3 -4",key:"svg-0"}]]),YGe=En("building-store","IconBuildingStore",[["path",{d:"M3 21l18 0",key:"svg-0"}],["path",{d:"M3 7v1a3 3 0 0 0 6 0v-1m0 1a3 3 0 0 0 6 0v-1m0 1a3 3 0 0 0 6 0v-1h-18l2 -4h14l2 4",key:"svg-1"}],["path",{d:"M5 21l0 -10.15",key:"svg-2"}],["path",{d:"M19 21l0 -10.15",key:"svg-3"}],["path",{d:"M9 21v-4a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v4",key:"svg-4"}]]),ZGe=En("building","IconBuilding",[["path",{d:"M3 21l18 0",key:"svg-0"}],["path",{d:"M9 8l1 0",key:"svg-1"}],["path",{d:"M9 12l1 0",key:"svg-2"}],["path",{d:"M9 16l1 0",key:"svg-3"}],["path",{d:"M14 8l1 0",key:"svg-4"}],["path",{d:"M14 12l1 0",key:"svg-5"}],["path",{d:"M14 16l1 0",key:"svg-6"}],["path",{d:"M5 21v-16a2 2 0 0 1 2 -2h10a2 2 0 0 1 2 2v16",key:"svg-7"}]]),XGe=En("cash","IconCash",[["path",{d:"M7 9m0 2a2 2 0 0 1 2 -2h10a2 2 0 0 1 2 2v6a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2z",key:"svg-0"}],["path",{d:"M14 14m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0",key:"svg-1"}],["path",{d:"M17 9v-2a2 2 0 0 0 -2 -2h-10a2 2 0 0 0 -2 2v6a2 2 0 0 0 2 2h2",key:"svg-2"}]]),QGe=En("chevron-down","IconChevronDown",[["path",{d:"M6 9l6 6l6 -6",key:"svg-0"}]]),JGe=En("chevrons-left","IconChevronsLeft",[["path",{d:"M11 7l-5 5l5 5",key:"svg-0"}],["path",{d:"M17 7l-5 5l5 5",key:"svg-1"}]]),eYe=En("copy","IconCopy",[["path",{d:"M7 7m0 2.667a2.667 2.667 0 0 1 2.667 -2.667h8.666a2.667 2.667 0 0 1 2.667 2.667v8.666a2.667 2.667 0 0 1 -2.667 2.667h-8.666a2.667 2.667 0 0 1 -2.667 -2.667z",key:"svg-0"}],["path",{d:"M4.012 16.737a2.005 2.005 0 0 1 -1.012 -1.737v-10c0 -1.1 .9 -2 2 -2h10c.75 0 1.158 .385 1.5 1",key:"svg-1"}]]),tYe=En("credit-card","IconCreditCard",[["path",{d:"M3 5m0 3a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v8a3 3 0 0 1 -3 3h-12a3 3 0 0 1 -3 -3z",key:"svg-0"}],["path",{d:"M3 10l18 0",key:"svg-1"}],["path",{d:"M7 15l.01 0",key:"svg-2"}],["path",{d:"M11 15l2 0",key:"svg-3"}]]),nYe=En("dashboard","IconDashboard",[["path",{d:"M12 13m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0",key:"svg-0"}],["path",{d:"M13.45 11.55l2.05 -2.05",key:"svg-1"}],["path",{d:"M6.4 20a9 9 0 1 1 11.2 0z",key:"svg-2"}]]),rYe=En("device-desktop","IconDeviceDesktop",[["path",{d:"M3 5a1 1 0 0 1 1 -1h16a1 1 0 0 1 1 1v10a1 1 0 0 1 -1 1h-16a1 1 0 0 1 -1 -1v-10z",key:"svg-0"}],["path",{d:"M7 20h10",key:"svg-1"}],["path",{d:"M9 16v4",key:"svg-2"}],["path",{d:"M15 16v4",key:"svg-3"}]]),iYe=En("discount-check","IconDiscountCheck",[["path",{d:"M5 7.2a2.2 2.2 0 0 1 2.2 -2.2h1a2.2 2.2 0 0 0 1.55 -.64l.7 -.7a2.2 2.2 0 0 1 3.12 0l.7 .7c.412 .41 .97 .64 1.55 .64h1a2.2 2.2 0 0 1 2.2 2.2v1c0 .58 .23 1.138 .64 1.55l.7 .7a2.2 2.2 0 0 1 0 3.12l-.7 .7a2.2 2.2 0 0 0 -.64 1.55v1a2.2 2.2 0 0 1 -2.2 2.2h-1a2.2 2.2 0 0 0 -1.55 .64l-.7 .7a2.2 2.2 0 0 1 -3.12 0l-.7 -.7a2.2 2.2 0 0 0 -1.55 -.64h-1a2.2 2.2 0 0 1 -2.2 -2.2v-1a2.2 2.2 0 0 0 -.64 -1.55l-.7 -.7a2.2 2.2 0 0 1 0 -3.12l.7 -.7a2.2 2.2 0 0 0 .64 -1.55v-1",key:"svg-0"}],["path",{d:"M9 12l2 2l4 -4",key:"svg-1"}]]),oYe=En("eye-off","IconEyeOff",[["path",{d:"M10.585 10.587a2 2 0 0 0 2.829 2.828",key:"svg-0"}],["path",{d:"M16.681 16.673a8.717 8.717 0 0 1 -4.681 1.327c-3.6 0 -6.6 -2 -9 -6c1.272 -2.12 2.712 -3.678 4.32 -4.674m2.86 -1.146a9.055 9.055 0 0 1 1.82 -.18c3.6 0 6.6 2 9 6c-.666 1.11 -1.379 2.067 -2.138 2.87",key:"svg-1"}],["path",{d:"M3 3l18 18",key:"svg-2"}]]),aYe=En("eye","IconEye",[["path",{d:"M10 12a2 2 0 1 0 4 0a2 2 0 0 0 -4 0",key:"svg-0"}],["path",{d:"M21 12c-2.4 4 -5.4 6 -9 6c-3.6 0 -6.6 -2 -9 -6c2.4 -4 5.4 -6 9 -6c3.6 0 6.6 2 9 6",key:"svg-1"}]]),sYe=En("file-text","IconFileText",[["path",{d:"M14 3v4a1 1 0 0 0 1 1h4",key:"svg-0"}],["path",{d:"M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2z",key:"svg-1"}],["path",{d:"M9 9l1 0",key:"svg-2"}],["path",{d:"M9 13l6 0",key:"svg-3"}],["path",{d:"M9 17l6 0",key:"svg-4"}]]),uYe=En("loader-2","IconLoader2",[["path",{d:"M12 3a9 9 0 1 0 9 9",key:"svg-0"}]]),lYe=En("lock","IconLock",[["path",{d:"M5 13a2 2 0 0 1 2 -2h10a2 2 0 0 1 2 2v6a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2v-6z",key:"svg-0"}],["path",{d:"M11 16a1 1 0 1 0 2 0a1 1 0 0 0 -2 0",key:"svg-1"}],["path",{d:"M8 11v-4a4 4 0 1 1 8 0v4",key:"svg-2"}]]),cYe=En("mail","IconMail",[["path",{d:"M3 7a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v10a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-10z",key:"svg-0"}],["path",{d:"M3 7l9 6l9 -6",key:"svg-1"}]]),fYe=En("menu-2","IconMenu2",[["path",{d:"M4 6l16 0",key:"svg-0"}],["path",{d:"M4 12l16 0",key:"svg-1"}],["path",{d:"M4 18l16 0",key:"svg-2"}]]),dYe=En("moon","IconMoon",[["path",{d:"M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z",key:"svg-0"}]]),hYe=En("news","IconNews",[["path",{d:"M16 6h3a1 1 0 0 1 1 1v11a2 2 0 0 1 -4 0v-13a1 1 0 0 0 -1 -1h-10a1 1 0 0 0 -1 1v12a3 3 0 0 0 3 3h11",key:"svg-0"}],["path",{d:"M8 8l4 0",key:"svg-1"}],["path",{d:"M8 12l4 0",key:"svg-2"}],["path",{d:"M8 16l4 0",key:"svg-3"}]]),pYe=En("route","IconRoute",[["path",{d:"M3 19a2 2 0 1 0 4 0a2 2 0 0 0 -4 0",key:"svg-0"}],["path",{d:"M19 7a2 2 0 1 0 0 -4a2 2 0 0 0 0 4z",key:"svg-1"}],["path",{d:"M11 19h5.5a3.5 3.5 0 0 0 0 -7h-8a3.5 3.5 0 0 1 0 -7h4.5",key:"svg-2"}]]),gYe=En("server-bolt","IconServerBolt",[["path",{d:"M3 4m0 3a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v2a3 3 0 0 1 -3 3h-12a3 3 0 0 1 -3 -3z",key:"svg-0"}],["path",{d:"M15 20h-9a3 3 0 0 1 -3 -3v-2a3 3 0 0 1 3 -3h12",key:"svg-1"}],["path",{d:"M7 8v.01",key:"svg-2"}],["path",{d:"M7 16v.01",key:"svg-3"}],["path",{d:"M20 15l-2 3h3l-2 3",key:"svg-4"}]]),mYe=En("server","IconServer",[["path",{d:"M3 4m0 3a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v2a3 3 0 0 1 -3 3h-12a3 3 0 0 1 -3 -3z",key:"svg-0"}],["path",{d:"M3 12m0 3a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v2a3 3 0 0 1 -3 3h-12a3 3 0 0 1 -3 -3z",key:"svg-1"}],["path",{d:"M7 8l0 .01",key:"svg-2"}],["path",{d:"M7 16l0 .01",key:"svg-3"}]]),vYe=En("settings","IconSettings",[["path",{d:"M10.325 4.317c.426 -1.756 2.924 -1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543 -.94 3.31 .826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756 .426 1.756 2.924 0 3.35a1.724 1.724 0 0 0 -1.066 2.573c.94 1.543 -.826 3.31 -2.37 2.37a1.724 1.724 0 0 0 -2.572 1.065c-.426 1.756 -2.924 1.756 -3.35 0a1.724 1.724 0 0 0 -2.573 -1.066c-1.543 .94 -3.31 -.826 -2.37 -2.37a1.724 1.724 0 0 0 -1.065 -2.572c-1.756 -.426 -1.756 -2.924 0 -3.35a1.724 1.724 0 0 0 1.066 -2.573c-.94 -1.543 .826 -3.31 2.37 -2.37c1 .608 2.296 .07 2.572 -1.065z",key:"svg-0"}],["path",{d:"M9 12a3 3 0 1 0 6 0a3 3 0 0 0 -6 0",key:"svg-1"}]]),yYe=En("sun","IconSun",[["path",{d:"M12 12m-4 0a4 4 0 1 0 8 0a4 4 0 1 0 -8 0",key:"svg-0"}],["path",{d:"M3 12h1m8 -9v1m8 8h1m-9 8v1m-6.4 -15.4l.7 .7m12.1 -.7l-.7 .7m0 11.4l.7 .7m-12.1 -.7l-.7 .7",key:"svg-1"}]]),bYe=En("ticket","IconTicket",[["path",{d:"M15 5l0 2",key:"svg-0"}],["path",{d:"M15 11l0 2",key:"svg-1"}],["path",{d:"M15 17l0 2",key:"svg-2"}],["path",{d:"M5 5h14a2 2 0 0 1 2 2v3a2 2 0 0 0 0 4v3a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-3a2 2 0 0 0 0 -4v-3a2 2 0 0 1 2 -2",key:"svg-3"}]]),xYe=En("user-circle","IconUserCircle",[["path",{d:"M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0",key:"svg-0"}],["path",{d:"M12 10m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0",key:"svg-1"}],["path",{d:"M6.168 18.849a4 4 0 0 1 3.832 -2.849h4a4 4 0 0 1 3.834 2.855",key:"svg-2"}]]),wYe=En("user","IconUser",[["path",{d:"M8 7a4 4 0 1 0 8 0a4 4 0 0 0 -8 0",key:"svg-0"}],["path",{d:"M6 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2",key:"svg-1"}]]),_Ye=En("users","IconUsers",[["path",{d:"M9 7m-4 0a4 4 0 1 0 8 0a4 4 0 1 0 -8 0",key:"svg-0"}],["path",{d:"M3 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2",key:"svg-1"}],["path",{d:"M16 3.13a4 4 0 0 1 0 7.75",key:"svg-2"}],["path",{d:"M21 21v-2a4 4 0 0 0 -3 -3.85",key:"svg-3"}]]),SYe=En("x","IconX",[["path",{d:"M18 6l-12 12",key:"svg-0"}],["path",{d:"M6 6l12 12",key:"svg-1"}]]);function fi(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var Due=typeof Symbol=="function"&&Symbol.observable||"@@observable",AM=Due,iS=()=>Math.random().toString(36).substring(7).split("").join("."),$ue={INIT:`@@redux/INIT${iS()}`,REPLACE:`@@redux/REPLACE${iS()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${iS()}`},Iy=$ue;function P5(e){if(typeof e!="object"||e===null)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function sj(e,t,n){if(typeof e!="function")throw new Error(fi(2));if(typeof t=="function"&&typeof n=="function"||typeof n=="function"&&typeof arguments[3]=="function")throw new Error(fi(0));if(typeof t=="function"&&typeof n>"u"&&(n=t,t=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(fi(1));return n(sj)(e,t)}let r=e,i=t,o=new Map,a=o,s=0,u=!1;function l(){a===o&&(a=new Map,o.forEach((b,w)=>{a.set(w,b)}))}function c(){if(u)throw new Error(fi(3));return i}function f(b){if(typeof b!="function")throw new Error(fi(4));if(u)throw new Error(fi(5));let w=!0;l();const x=s++;return a.set(x,b),function(){if(w){if(u)throw new Error(fi(6));w=!1,l(),a.delete(x),o=null}}}function h(b){if(!P5(b))throw new Error(fi(7));if(typeof b.type>"u")throw new Error(fi(8));if(typeof b.type!="string")throw new Error(fi(17));if(u)throw new Error(fi(9));try{u=!0,i=r(i,b)}finally{u=!1}return(o=a).forEach(x=>{x()}),b}function p(b){if(typeof b!="function")throw new Error(fi(10));r=b,h({type:Iy.REPLACE})}function m(){const b=f;return{subscribe(w){if(typeof w!="object"||w===null)throw new Error(fi(11));function x(){const O=w;O.next&&O.next(c())}return x(),{unsubscribe:b(x)}},[AM](){return this}}}return h({type:Iy.INIT}),{dispatch:h,subscribe:f,getState:c,replaceReducer:p,[AM]:m}}function Iue(e){Object.keys(e).forEach(t=>{const n=e[t];if(typeof n(void 0,{type:Iy.INIT})>"u")throw new Error(fi(12));if(typeof n(void 0,{type:Iy.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(fi(13))})}function Nue(e){const t=Object.keys(e),n={};for(let o=0;o"u")throw s&&s.type,new Error(fi(14));l[f]=m,u=u||m!==p}return u=u||r.length!==Object.keys(a).length,u?l:a}}function Ny(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,n)=>(...r)=>t(n(...r)))}function Lue(...e){return t=>(n,r)=>{const i=t(n,r);let o=()=>{throw new Error(fi(15))};const a={getState:i.getState,dispatch:(u,...l)=>o(u,...l)},s=e.map(u=>u(a));return o=Ny(...s)(i.dispatch),{...i,dispatch:o}}}function Fue(e){return P5(e)&&"type"in e&&typeof e.type=="string"}var uj=Symbol.for("immer-nothing"),PM=Symbol.for("immer-draftable"),zo=Symbol.for("immer-state");function Fa(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Kd=Object.getPrototypeOf;function Vc(e){return!!e&&!!e[zo]}function yu(e){return e?lj(e)||Array.isArray(e)||!!e[PM]||!!e.constructor?.[PM]||Wx(e)||Hx(e):!1}var jue=Object.prototype.constructor.toString();function lj(e){if(!e||typeof e!="object")return!1;const t=Kd(e);if(t===null)return!0;const n=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;return n===Object?!0:typeof n=="function"&&Function.toString.call(n)===jue}function Ly(e,t){Vx(e)===0?Reflect.ownKeys(e).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function Vx(e){const t=e[zo];return t?t.type_:Array.isArray(e)?1:Wx(e)?2:Hx(e)?3:0}function $C(e,t){return Vx(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function cj(e,t,n){const r=Vx(e);r===2?e.set(t,n):r===3?e.add(n):e[t]=n}function Bue(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}function Wx(e){return e instanceof Map}function Hx(e){return e instanceof Set}function lc(e){return e.copy_||e.base_}function IC(e,t){if(Wx(e))return new Map(e);if(Hx(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);if(!t&&lj(e))return Kd(e)?{...e}:Object.assign(Object.create(null),e);const n=Object.getOwnPropertyDescriptors(e);delete n[zo];let r=Reflect.ownKeys(n);for(let i=0;i1&&(e.set=e.add=e.clear=e.delete=zue),Object.freeze(e),t&&Object.entries(e).forEach(([n,r])=>k5(r,!0))),e}function zue(){Fa(2)}function Kx(e){return Object.isFrozen(e)}var Uue={};function Wc(e){const t=Uue[e];return t||Fa(0,e),t}var X0;function fj(){return X0}function Vue(e,t){return{drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function kM(e,t){t&&(Wc("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function NC(e){LC(e),e.drafts_.forEach(Wue),e.drafts_=null}function LC(e){e===X0&&(X0=e.parent_)}function TM(e){return X0=Vue(X0,e)}function Wue(e){const t=e[zo];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function MM(e,t){t.unfinalizedDrafts_=t.drafts_.length;const n=t.drafts_[0];return e!==void 0&&e!==n?(n[zo].modified_&&(NC(t),Fa(4)),yu(e)&&(e=Fy(t,e),t.parent_||jy(t,e)),t.patches_&&Wc("Patches").generateReplacementPatches_(n[zo].base_,e,t.patches_,t.inversePatches_)):e=Fy(t,n,[]),NC(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==uj?e:void 0}function Fy(e,t,n){if(Kx(t))return t;const r=t[zo];if(!r)return Ly(t,(i,o)=>RM(e,r,t,i,o,n)),t;if(r.scope_!==e)return t;if(!r.modified_)return jy(e,r.base_,!0),r.base_;if(!r.finalized_){r.finalized_=!0,r.scope_.unfinalizedDrafts_--;const i=r.copy_;let o=i,a=!1;r.type_===3&&(o=new Set(i),i.clear(),a=!0),Ly(o,(s,u)=>RM(e,r,i,s,u,n,a)),jy(e,i,!1),n&&e.patches_&&Wc("Patches").generatePatches_(r,n,e.patches_,e.inversePatches_)}return r.copy_}function RM(e,t,n,r,i,o,a){if(Vc(i)){const s=o&&t&&t.type_!==3&&!$C(t.assigned_,r)?o.concat(r):void 0,u=Fy(e,i,s);if(cj(n,r,u),Vc(u))e.canAutoFreeze_=!1;else return}else a&&n.add(i);if(yu(i)&&!Kx(i)){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1)return;Fy(e,i),(!t||!t.scope_.parent_)&&typeof r!="symbol"&&Object.prototype.propertyIsEnumerable.call(n,r)&&jy(e,i)}}function jy(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&k5(t,n)}function Hue(e,t){const n=Array.isArray(e),r={type_:n?1:0,scope_:t?t.scope_:fj(),modified_:!1,finalized_:!1,assigned_:{},parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1};let i=r,o=T5;n&&(i=[r],o=Q0);const{revoke:a,proxy:s}=Proxy.revocable(i,o);return r.draft_=s,r.revoke_=a,s}var T5={get(e,t){if(t===zo)return e;const n=lc(e);if(!$C(n,t))return Kue(e,n,t);const r=n[t];return e.finalized_||!yu(r)?r:r===oS(e.base_,t)?(aS(e),e.copy_[t]=jC(r,e)):r},has(e,t){return t in lc(e)},ownKeys(e){return Reflect.ownKeys(lc(e))},set(e,t,n){const r=dj(lc(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){const i=oS(lc(e),t),o=i?.[zo];if(o&&o.base_===n)return e.copy_[t]=n,e.assigned_[t]=!1,!0;if(Bue(n,i)&&(n!==void 0||$C(e.base_,t)))return!0;aS(e),FC(e)}return e.copy_[t]===n&&(n!==void 0||t in e.copy_)||Number.isNaN(n)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=n,e.assigned_[t]=!0),!0},deleteProperty(e,t){return oS(e.base_,t)!==void 0||t in e.base_?(e.assigned_[t]=!1,aS(e),FC(e)):delete e.assigned_[t],e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){const n=lc(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{writable:!0,configurable:e.type_!==1||t!=="length",enumerable:r.enumerable,value:n[t]}},defineProperty(){Fa(11)},getPrototypeOf(e){return Kd(e.base_)},setPrototypeOf(){Fa(12)}},Q0={};Ly(T5,(e,t)=>{Q0[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)}});Q0.deleteProperty=function(e,t){return Q0.set.call(this,e,t,void 0)};Q0.set=function(e,t,n){return T5.set.call(this,e[0],t,n,e[0])};function oS(e,t){const n=e[zo];return(n?lc(n):e)[t]}function Kue(e,t,n){const r=dj(t,n);return r?"value"in r?r.value:r.get?.call(e.draft_):void 0}function dj(e,t){if(!(t in e))return;let n=Kd(e);for(;n;){const r=Object.getOwnPropertyDescriptor(n,t);if(r)return r;n=Kd(n)}}function FC(e){e.modified_||(e.modified_=!0,e.parent_&&FC(e.parent_))}function aS(e){e.copy_||(e.copy_=IC(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var que=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.produce=(t,n,r)=>{if(typeof t=="function"&&typeof n!="function"){const o=n;n=t;const a=this;return function(u=o,...l){return a.produce(u,c=>n.call(this,c,...l))}}typeof n!="function"&&Fa(6),r!==void 0&&typeof r!="function"&&Fa(7);let i;if(yu(t)){const o=TM(this),a=jC(t,void 0);let s=!0;try{i=n(a),s=!1}finally{s?NC(o):LC(o)}return kM(o,r),MM(i,o)}else if(!t||typeof t!="object"){if(i=n(t),i===void 0&&(i=t),i===uj&&(i=void 0),this.autoFreeze_&&k5(i,!0),r){const o=[],a=[];Wc("Patches").generateReplacementPatches_(t,i,o,a),r(o,a)}return i}else Fa(1,t)},this.produceWithPatches=(t,n)=>{if(typeof t=="function")return(a,...s)=>this.produceWithPatches(a,u=>t(u,...s));let r,i;return[this.produce(t,n,(a,s)=>{r=a,i=s}),r,i]},typeof e?.autoFreeze=="boolean"&&this.setAutoFreeze(e.autoFreeze),typeof e?.useStrictShallowCopy=="boolean"&&this.setUseStrictShallowCopy(e.useStrictShallowCopy)}createDraft(e){yu(e)||Fa(8),Vc(e)&&(e=Gue(e));const t=TM(this),n=jC(e,void 0);return n[zo].isManual_=!0,LC(t),n}finishDraft(e,t){const n=e&&e[zo];(!n||!n.isManual_)&&Fa(9);const{scope_:r}=n;return kM(r,t),MM(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){const i=t[n];if(i.path.length===0&&i.op==="replace"){e=i.value;break}}n>-1&&(t=t.slice(n+1));const r=Wc("Patches").applyPatches_;return Vc(e)?r(e,t):this.produce(e,i=>r(i,t))}};function jC(e,t){const n=Wx(e)?Wc("MapSet").proxyMap_(e,t):Hx(e)?Wc("MapSet").proxySet_(e,t):Hue(e,t);return(t?t.scope_:fj()).drafts_.push(n),n}function Gue(e){return Vc(e)||Fa(10,e),hj(e)}function hj(e){if(!yu(e)||Kx(e))return e;const t=e[zo];let n;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=IC(e,t.scope_.immer_.useStrictShallowCopy_)}else n=IC(e,!0);return Ly(n,(r,i)=>{cj(n,r,hj(i))}),t&&(t.finalized_=!1),n}var Uo=new que,pj=Uo.produce;Uo.produceWithPatches.bind(Uo);Uo.setAutoFreeze.bind(Uo);Uo.setUseStrictShallowCopy.bind(Uo);Uo.applyPatches.bind(Uo);Uo.createDraft.bind(Uo);Uo.finishDraft.bind(Uo);function Yue(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!="function")throw new TypeError(t)}function Zue(e,t=`expected an object, instead received ${typeof e}`){if(typeof e!="object")throw new TypeError(t)}function Xue(e,t="expected all items to be functions, instead received the following types: "){if(!e.every(n=>typeof n=="function")){const n=e.map(r=>typeof r=="function"?`function ${r.name||"unnamed"}()`:typeof r).join(", ");throw new TypeError(`${t}[${n}]`)}}var DM=e=>Array.isArray(e)?e:[e];function Que(e){const t=Array.isArray(e[0])?e[0]:e;return Xue(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function Jue(e,t){const n=[],{length:r}=e;for(let i=0;i{n=Jv(),a.resetResultsCount()},a.resultsCount=()=>o,a.resetResultsCount=()=>{o=0},a}function rle(e,...t){const n=typeof e=="function"?{memoize:e,memoizeOptions:t}:e,r=(...i)=>{let o=0,a=0,s,u={},l=i.pop();typeof l=="object"&&(u=l,l=i.pop()),Yue(l,`createSelector expects an output function after the inputs, but received: [${typeof l}]`);const c={...n,...u},{memoize:f,memoizeOptions:h=[],argsMemoize:p=gj,argsMemoizeOptions:m=[],devModeChecks:v={}}=c,b=DM(h),w=DM(m),x=Que(i),S=f(function(){return o++,l.apply(null,arguments)},...b),O=p(function(){a++;const C=Jue(x,arguments);return s=S.apply(null,C),s},...w);return Object.assign(O,{resultFunc:l,memoizedResultFunc:S,dependencies:x,dependencyRecomputations:()=>a,resetDependencyRecomputations:()=>{a=0},lastResult:()=>s,recomputations:()=>o,resetRecomputations:()=>{o=0},memoize:f,argsMemoize:p})};return Object.assign(r,{withTypes:()=>r}),r}var ile=rle(gj),ole=Object.assign((e,t=ile)=>{Zue(e,`createStructuredSelector expects first argument to be an object where each property is a selector, instead received a ${typeof e}`);const n=Object.keys(e),r=n.map(o=>e[o]);return t(r,(...o)=>o.reduce((a,s,u)=>(a[n[u]]=s,a),{}))},{withTypes:()=>ole});function mj(e){return({dispatch:n,getState:r})=>i=>o=>typeof o=="function"?o(n,r,e):i(o)}var ale=mj(),sle=mj,ule=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]=="object"?Ny:Ny.apply(null,arguments)},lle=e=>e&&typeof e.match=="function";function b0(e,t){function n(...r){if(t){let i=t(...r);if(!i)throw new Error(cu(0));return{type:e,payload:i.payload,..."meta"in i&&{meta:i.meta},..."error"in i&&{error:i.error}}}return{type:e,payload:r[0]}}return n.toString=()=>`${e}`,n.type=e,n.match=r=>Fue(r)&&r.type===e,n}var vj=class i0 extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,i0.prototype)}static get[Symbol.species](){return i0}concat(...t){return super.concat.apply(this,t)}prepend(...t){return t.length===1&&Array.isArray(t[0])?new i0(...t[0].concat(this)):new i0(...t.concat(this))}};function IM(e){return yu(e)?pj(e,()=>{}):e}function NM(e,t,n){return e.has(t)?e.get(t):e.set(t,n(t)).get(t)}function cle(e){return typeof e=="boolean"}var fle=()=>function(t){const{thunk:n=!0,immutableCheck:r=!0,serializableCheck:i=!0,actionCreatorCheck:o=!0}=t??{};let a=new vj;return n&&(cle(n)?a.push(ale):a.push(sle(n.extraArgument))),a},dle="RTK_autoBatch",LM=e=>t=>{setTimeout(t,e)},hle=(e={type:"raf"})=>t=>(...n)=>{const r=t(...n);let i=!0,o=!1,a=!1;const s=new Set,u=e.type==="tick"?queueMicrotask:e.type==="raf"?typeof window<"u"&&window.requestAnimationFrame?window.requestAnimationFrame:LM(10):e.type==="callback"?e.queueNotification:LM(e.timeout),l=()=>{a=!1,o&&(o=!1,s.forEach(c=>c()))};return Object.assign({},r,{subscribe(c){const f=()=>i&&c(),h=r.subscribe(f);return s.add(c),()=>{h(),s.delete(c)}},dispatch(c){try{return i=!c?.meta?.[dle],o=!i,o&&(a||(a=!0,u(l))),r.dispatch(c)}finally{i=!0}}})},ple=e=>function(n){const{autoBatch:r=!0}=n??{};let i=new vj(e);return r&&i.push(hle(typeof r=="object"?r:void 0)),i};function CYe(e){const t=fle(),{reducer:n=void 0,middleware:r,devTools:i=!0,preloadedState:o=void 0,enhancers:a=void 0}=e;let s;if(typeof n=="function")s=n;else if(P5(n))s=Nue(n);else throw new Error(cu(1));let u;typeof r=="function"?u=r(t):u=t();let l=Ny;i&&(l=ule({trace:!1,...typeof i=="object"&&i}));const c=Lue(...u),f=ple(c);let h=typeof a=="function"?a(f):f();const p=l(...h);return sj(s,o,p)}function yj(e){const t={},n=[];let r;const i={addCase(o,a){const s=typeof o=="string"?o:o.type;if(!s)throw new Error(cu(28));if(s in t)throw new Error(cu(29));return t[s]=a,i},addMatcher(o,a){return n.push({matcher:o,reducer:a}),i},addDefaultCase(o){return r=o,i}};return e(i),[t,n,r]}function gle(e){return typeof e=="function"}function mle(e,t){let[n,r,i]=yj(t),o;if(gle(e))o=()=>IM(e());else{const s=IM(e);o=()=>s}function a(s=o(),u){let l=[n[u.type],...r.filter(({matcher:c})=>c(u)).map(({reducer:c})=>c)];return l.filter(c=>!!c).length===0&&(l=[i]),l.reduce((c,f)=>{if(f)if(Vc(c)){const p=f(c,u);return p===void 0?c:p}else{if(yu(c))return pj(c,h=>f(h,u));{const h=f(c,u);if(h===void 0){if(c===null)return c;throw Error("A case reducer on a non-draftable value must not return undefined")}return h}}return c},s)}return a.getInitialState=o,a}var vle=(e,t)=>lle(e)?e.match(t):e(t);function yle(...e){return t=>e.some(n=>vle(n,t))}var ble="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",xle=(e=21)=>{let t="",n=e;for(;n--;)t+=ble[Math.random()*64|0];return t},wle=["name","message","stack","code"],sS=class{constructor(e,t){this.payload=e,this.meta=t}_type},FM=class{constructor(e,t){this.payload=e,this.meta=t}_type},_le=e=>{if(typeof e=="object"&&e!==null){const t={};for(const n of wle)typeof e[n]=="string"&&(t[n]=e[n]);return t}return{message:String(e)}},EYe=(()=>{function e(t,n,r){const i=b0(t+"/fulfilled",(u,l,c,f)=>({payload:u,meta:{...f||{},arg:c,requestId:l,requestStatus:"fulfilled"}})),o=b0(t+"/pending",(u,l,c)=>({payload:void 0,meta:{...c||{},arg:l,requestId:u,requestStatus:"pending"}})),a=b0(t+"/rejected",(u,l,c,f,h)=>({payload:f,error:(r&&r.serializeError||_le)(u||"Rejected"),meta:{...h||{},arg:c,requestId:l,rejectedWithValue:!!f,requestStatus:"rejected",aborted:u?.name==="AbortError",condition:u?.name==="ConditionError"}}));function s(u){return(l,c,f)=>{const h=r?.idGenerator?r.idGenerator(u):xle(),p=new AbortController;let m,v;function b(x){v=x,p.abort()}const w=async function(){let x;try{let O=r?.condition?.(u,{getState:c,extra:f});if(Cle(O)&&(O=await O),O===!1||p.signal.aborted)throw{name:"ConditionError",message:"Aborted due to condition callback returning false."};const E=new Promise((C,k)=>{m=()=>{k({name:"AbortError",message:v||"Aborted"})},p.signal.addEventListener("abort",m)});l(o(h,u,r?.getPendingMeta?.({requestId:h,arg:u},{getState:c,extra:f}))),x=await Promise.race([E,Promise.resolve(n(u,{dispatch:l,getState:c,extra:f,requestId:h,signal:p.signal,abort:b,rejectWithValue:(C,k)=>new sS(C,k),fulfillWithValue:(C,k)=>new FM(C,k)})).then(C=>{if(C instanceof sS)throw C;return C instanceof FM?i(C.payload,h,u,C.meta):i(C,h,u)})])}catch(O){x=O instanceof sS?a(null,h,u,O.payload,O.meta):a(O,h,u)}finally{m&&p.signal.removeEventListener("abort",m)}return r&&!r.dispatchConditionRejection&&a.match(x)&&x.meta.condition||l(x),x}();return Object.assign(w,{abort:b,requestId:h,arg:u,unwrap(){return w.then(Sle)}})}}return Object.assign(s,{pending:o,rejected:a,fulfilled:i,settled:yle(a,i),typePrefix:t})}return e.withTypes=()=>e,e})();function Sle(e){if(e.meta&&e.meta.rejectedWithValue)throw e.payload;if(e.error)throw e.error;return e.payload}function Cle(e){return e!==null&&typeof e=="object"&&typeof e.then=="function"}var Ele=Symbol.for("rtk-slice-createasyncthunk");function Ole(e,t){return`${e}/${t}`}function Ale({creators:e}={}){const t=e?.asyncThunk?.[Ele];return function(r){const{name:i,reducerPath:o=i}=r;if(!i)throw new Error(cu(11));const a=(typeof r.reducers=="function"?r.reducers(kle()):r.reducers)||{},s=Object.keys(a),u={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},l={addCase(x,S){const O=typeof x=="string"?x:x.type;if(!O)throw new Error(cu(12));if(O in u.sliceCaseReducersByType)throw new Error(cu(13));return u.sliceCaseReducersByType[O]=S,l},addMatcher(x,S){return u.sliceMatchers.push({matcher:x,reducer:S}),l},exposeAction(x,S){return u.actionCreators[x]=S,l},exposeCaseReducer(x,S){return u.sliceCaseReducersByName[x]=S,l}};s.forEach(x=>{const S=a[x],O={reducerName:x,type:Ole(i,x),createNotation:typeof r.reducers=="function"};Mle(S)?Dle(O,S,l,t):Tle(O,S,l)});function c(){const[x={},S=[],O=void 0]=typeof r.extraReducers=="function"?yj(r.extraReducers):[r.extraReducers],E={...x,...u.sliceCaseReducersByType};return mle(r.initialState,C=>{for(let k in E)C.addCase(k,E[k]);for(let k of u.sliceMatchers)C.addMatcher(k.matcher,k.reducer);for(let k of S)C.addMatcher(k.matcher,k.reducer);O&&C.addDefaultCase(O)})}const f=x=>x,h=new Map;let p;function m(x,S){return p||(p=c()),p(x,S)}function v(){return p||(p=c()),p.getInitialState()}function b(x,S=!1){function O(C){let k=C[x];return typeof k>"u"&&S&&(k=v()),k}function E(C=f){const k=NM(h,S,()=>new WeakMap);return NM(k,C,()=>{const M={};for(const[L,U]of Object.entries(r.selectors??{}))M[L]=Ple(U,C,v,S);return M})}return{reducerPath:x,getSelectors:E,get selectors(){return E(O)},selectSlice:O}}const w={name:i,reducer:m,actions:u.actionCreators,caseReducers:u.sliceCaseReducersByName,getInitialState:v,...b(o),injectInto(x,{reducerPath:S,...O}={}){const E=S??o;return x.inject({reducerPath:E,reducer:m},O),{...w,...b(E,!0)}}};return w}}function Ple(e,t,n,r){function i(o,...a){let s=t(o);return typeof s>"u"&&r&&(s=n()),e(s,...a)}return i.unwrapped=e,i}var OYe=Ale();function kle(){function e(t,n){return{_reducerDefinitionType:"asyncThunk",payloadCreator:t,...n}}return e.withTypes=()=>e,{reducer(t){return Object.assign({[t.name](...n){return t(...n)}}[t.name],{_reducerDefinitionType:"reducer"})},preparedReducer(t,n){return{_reducerDefinitionType:"reducerWithPrepare",prepare:t,reducer:n}},asyncThunk:e}}function Tle({type:e,reducerName:t,createNotation:n},r,i){let o,a;if("reducer"in r){if(n&&!Rle(r))throw new Error(cu(17));o=r.reducer,a=r.prepare}else o=r;i.addCase(e,o).exposeCaseReducer(t,o).exposeAction(t,a?b0(e,a):b0(e))}function Mle(e){return e._reducerDefinitionType==="asyncThunk"}function Rle(e){return e._reducerDefinitionType==="reducerWithPrepare"}function Dle({type:e,reducerName:t},n,r,i){if(!i)throw new Error(cu(18));const{payloadCreator:o,fulfilled:a,pending:s,rejected:u,settled:l,options:c}=n,f=i(e,o,c);r.exposeAction(t,f),a&&r.addCase(f.fulfilled,a),s&&r.addCase(f.pending,s),u&&r.addCase(f.rejected,u),l&&r.addMatcher(f.settled,l),r.exposeCaseReducer(t,{fulfilled:a||e1,pending:s||e1,rejected:u||e1,settled:l||e1})}function e1(){}function cu(e){return`Minified Redux Toolkit error #${e}; visit https://redux-toolkit.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}function bj(e,t){return function(){return e.apply(t,arguments)}}const{toString:$le}=Object.prototype,{getPrototypeOf:M5}=Object,qx=(e=>t=>{const n=$le.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),ts=e=>(e=e.toLowerCase(),t=>qx(t)===e),Gx=e=>t=>typeof t===e,{isArray:Dh}=Array,J0=Gx("undefined");function Ile(e){return e!==null&&!J0(e)&&e.constructor!==null&&!J0(e.constructor)&&No(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const xj=ts("ArrayBuffer");function Nle(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&xj(e.buffer),t}const Lle=Gx("string"),No=Gx("function"),wj=Gx("number"),Yx=e=>e!==null&&typeof e=="object",Fle=e=>e===!0||e===!1,G1=e=>{if(qx(e)!=="object")return!1;const t=M5(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},jle=ts("Date"),Ble=ts("File"),zle=ts("Blob"),Ule=ts("FileList"),Vle=e=>Yx(e)&&No(e.pipe),Wle=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||No(e.append)&&((t=qx(e))==="formdata"||t==="object"&&No(e.toString)&&e.toString()==="[object FormData]"))},Hle=ts("URLSearchParams"),[Kle,qle,Gle,Yle]=["ReadableStream","Request","Response","Headers"].map(ts),Zle=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function ym(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,i;if(typeof e!="object"&&(e=[e]),Dh(e))for(r=0,i=e.length;r0;)if(i=n[r],t===i.toLowerCase())return i;return null}const wc=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Sj=e=>!J0(e)&&e!==wc;function BC(){const{caseless:e}=Sj(this)&&this||{},t={},n=(r,i)=>{const o=e&&_j(t,i)||i;G1(t[o])&&G1(r)?t[o]=BC(t[o],r):G1(r)?t[o]=BC({},r):Dh(r)?t[o]=r.slice():t[o]=r};for(let r=0,i=arguments.length;r(ym(t,(i,o)=>{n&&No(i)?e[o]=bj(i,n):e[o]=i},{allOwnKeys:r}),e),Qle=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),Jle=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},ece=(e,t,n,r)=>{let i,o,a;const s={};if(t=t||{},e==null)return t;do{for(i=Object.getOwnPropertyNames(e),o=i.length;o-- >0;)a=i[o],(!r||r(a,e,t))&&!s[a]&&(t[a]=e[a],s[a]=!0);e=n!==!1&&M5(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},tce=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return r!==-1&&r===n},nce=e=>{if(!e)return null;if(Dh(e))return e;let t=e.length;if(!wj(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},rce=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&M5(Uint8Array)),ice=(e,t)=>{const r=(e&&e[Symbol.iterator]).call(e);let i;for(;(i=r.next())&&!i.done;){const o=i.value;t.call(e,o[0],o[1])}},oce=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},ace=ts("HTMLFormElement"),sce=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,i){return r.toUpperCase()+i}),jM=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),uce=ts("RegExp"),Cj=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};ym(n,(i,o)=>{let a;(a=t(i,o,e))!==!1&&(r[o]=a||i)}),Object.defineProperties(e,r)},lce=e=>{Cj(e,(t,n)=>{if(No(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=e[n];if(No(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},cce=(e,t)=>{const n={},r=i=>{i.forEach(o=>{n[o]=!0})};return Dh(e)?r(e):r(String(e).split(t)),n},fce=()=>{},dce=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t,uS="abcdefghijklmnopqrstuvwxyz",BM="0123456789",Ej={DIGIT:BM,ALPHA:uS,ALPHA_DIGIT:uS+uS.toUpperCase()+BM},hce=(e=16,t=Ej.ALPHA_DIGIT)=>{let n="";const{length:r}=t;for(;e--;)n+=t[Math.random()*r|0];return n};function pce(e){return!!(e&&No(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}const gce=e=>{const t=new Array(10),n=(r,i)=>{if(Yx(r)){if(t.indexOf(r)>=0)return;if(!("toJSON"in r)){t[i]=r;const o=Dh(r)?[]:{};return ym(r,(a,s)=>{const u=n(a,i+1);!J0(u)&&(o[s]=u)}),t[i]=void 0,o}}return r};return n(e,0)},mce=ts("AsyncFunction"),vce=e=>e&&(Yx(e)||No(e))&&No(e.then)&&No(e.catch),Oj=((e,t)=>e?setImmediate:t?((n,r)=>(wc.addEventListener("message",({source:i,data:o})=>{i===wc&&o===n&&r.length&&r.shift()()},!1),i=>{r.push(i),wc.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",No(wc.postMessage)),yce=typeof queueMicrotask<"u"?queueMicrotask.bind(wc):typeof process<"u"&&process.nextTick||Oj,xe={isArray:Dh,isArrayBuffer:xj,isBuffer:Ile,isFormData:Wle,isArrayBufferView:Nle,isString:Lle,isNumber:wj,isBoolean:Fle,isObject:Yx,isPlainObject:G1,isReadableStream:Kle,isRequest:qle,isResponse:Gle,isHeaders:Yle,isUndefined:J0,isDate:jle,isFile:Ble,isBlob:zle,isRegExp:uce,isFunction:No,isStream:Vle,isURLSearchParams:Hle,isTypedArray:rce,isFileList:Ule,forEach:ym,merge:BC,extend:Xle,trim:Zle,stripBOM:Qle,inherits:Jle,toFlatObject:ece,kindOf:qx,kindOfTest:ts,endsWith:tce,toArray:nce,forEachEntry:ice,matchAll:oce,isHTMLForm:ace,hasOwnProperty:jM,hasOwnProp:jM,reduceDescriptors:Cj,freezeMethods:lce,toObjectSet:cce,toCamelCase:sce,noop:fce,toFiniteNumber:dce,findKey:_j,global:wc,isContextDefined:Sj,ALPHABET:Ej,generateString:hce,isSpecCompliantForm:pce,toJSONObject:gce,isAsyncFn:mce,isThenable:vce,setImmediate:Oj,asap:yce};function qt(e,t,n,r,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),i&&(this.response=i,this.status=i.status?i.status:null)}xe.inherits(qt,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:xe.toJSONObject(this.config),code:this.code,status:this.status}}});const Aj=qt.prototype,Pj={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{Pj[e]={value:e}});Object.defineProperties(qt,Pj);Object.defineProperty(Aj,"isAxiosError",{value:!0});qt.from=(e,t,n,r,i,o)=>{const a=Object.create(Aj);return xe.toFlatObject(e,a,function(u){return u!==Error.prototype},s=>s!=="isAxiosError"),qt.call(a,e.message,t,n,r,i),a.cause=e,a.name=e.name,o&&Object.assign(a,o),a};const bce=null;function zC(e){return xe.isPlainObject(e)||xe.isArray(e)}function kj(e){return xe.endsWith(e,"[]")?e.slice(0,-2):e}function zM(e,t,n){return e?e.concat(t).map(function(i,o){return i=kj(i),!n&&o?"["+i+"]":i}).join(n?".":""):t}function xce(e){return xe.isArray(e)&&!e.some(zC)}const wce=xe.toFlatObject(xe,{},null,function(t){return/^is[A-Z]/.test(t)});function Zx(e,t,n){if(!xe.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=xe.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(v,b){return!xe.isUndefined(b[v])});const r=n.metaTokens,i=n.visitor||c,o=n.dots,a=n.indexes,u=(n.Blob||typeof Blob<"u"&&Blob)&&xe.isSpecCompliantForm(t);if(!xe.isFunction(i))throw new TypeError("visitor must be a function");function l(m){if(m===null)return"";if(xe.isDate(m))return m.toISOString();if(!u&&xe.isBlob(m))throw new qt("Blob is not supported. Use a Buffer instead.");return xe.isArrayBuffer(m)||xe.isTypedArray(m)?u&&typeof Blob=="function"?new Blob([m]):Buffer.from(m):m}function c(m,v,b){let w=m;if(m&&!b&&typeof m=="object"){if(xe.endsWith(v,"{}"))v=r?v:v.slice(0,-2),m=JSON.stringify(m);else if(xe.isArray(m)&&xce(m)||(xe.isFileList(m)||xe.endsWith(v,"[]"))&&(w=xe.toArray(m)))return v=kj(v),w.forEach(function(S,O){!(xe.isUndefined(S)||S===null)&&t.append(a===!0?zM([v],O,o):a===null?v:v+"[]",l(S))}),!1}return zC(m)?!0:(t.append(zM(b,v,o),l(m)),!1)}const f=[],h=Object.assign(wce,{defaultVisitor:c,convertValue:l,isVisitable:zC});function p(m,v){if(!xe.isUndefined(m)){if(f.indexOf(m)!==-1)throw Error("Circular reference detected in "+v.join("."));f.push(m),xe.forEach(m,function(w,x){(!(xe.isUndefined(w)||w===null)&&i.call(t,w,xe.isString(x)?x.trim():x,v,h))===!0&&p(w,v?v.concat(x):[x])}),f.pop()}}if(!xe.isObject(e))throw new TypeError("data must be an object");return p(e),t}function UM(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(r){return t[r]})}function R5(e,t){this._pairs=[],e&&Zx(e,this,t)}const Tj=R5.prototype;Tj.append=function(t,n){this._pairs.push([t,n])};Tj.toString=function(t){const n=t?function(r){return t.call(this,r,UM)}:UM;return this._pairs.map(function(i){return n(i[0])+"="+n(i[1])},"").join("&")};function _ce(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Mj(e,t,n){if(!t)return e;const r=n&&n.encode||_ce;xe.isFunction(n)&&(n={serialize:n});const i=n&&n.serialize;let o;if(i?o=i(t,n):o=xe.isURLSearchParams(t)?t.toString():new R5(t,n).toString(r),o){const a=e.indexOf("#");a!==-1&&(e=e.slice(0,a)),e+=(e.indexOf("?")===-1?"?":"&")+o}return e}class VM{constructor(){this.handlers=[]}use(t,n,r){return this.handlers.push({fulfilled:t,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){xe.forEach(this.handlers,function(r){r!==null&&t(r)})}}const Rj={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Sce=typeof URLSearchParams<"u"?URLSearchParams:R5,Cce=typeof FormData<"u"?FormData:null,Ece=typeof Blob<"u"?Blob:null,Oce={isBrowser:!0,classes:{URLSearchParams:Sce,FormData:Cce,Blob:Ece},protocols:["http","https","file","blob","url","data"]},D5=typeof window<"u"&&typeof document<"u",UC=typeof navigator=="object"&&navigator||void 0,Ace=D5&&(!UC||["ReactNative","NativeScript","NS"].indexOf(UC.product)<0),Pce=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",kce=D5&&window.location.href||"http://localhost",Tce=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:D5,hasStandardBrowserEnv:Ace,hasStandardBrowserWebWorkerEnv:Pce,navigator:UC,origin:kce},Symbol.toStringTag,{value:"Module"})),Mi={...Tce,...Oce};function Mce(e,t){return Zx(e,new Mi.classes.URLSearchParams,Object.assign({visitor:function(n,r,i,o){return Mi.isNode&&xe.isBuffer(n)?(this.append(r,n.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)}},t))}function Rce(e){return xe.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function Dce(e){const t={},n=Object.keys(e);let r;const i=n.length;let o;for(r=0;r=n.length;return a=!a&&xe.isArray(i)?i.length:a,u?(xe.hasOwnProp(i,a)?i[a]=[i[a],r]:i[a]=r,!s):((!i[a]||!xe.isObject(i[a]))&&(i[a]=[]),t(n,r,i[a],o)&&xe.isArray(i[a])&&(i[a]=Dce(i[a])),!s)}if(xe.isFormData(e)&&xe.isFunction(e.entries)){const n={};return xe.forEachEntry(e,(r,i)=>{t(Rce(r),i,n,0)}),n}return null}function $ce(e,t,n){if(xe.isString(e))try{return(t||JSON.parse)(e),xe.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(0,JSON.stringify)(e)}const bm={transitional:Rj,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const r=n.getContentType()||"",i=r.indexOf("application/json")>-1,o=xe.isObject(t);if(o&&xe.isHTMLForm(t)&&(t=new FormData(t)),xe.isFormData(t))return i?JSON.stringify(Dj(t)):t;if(xe.isArrayBuffer(t)||xe.isBuffer(t)||xe.isStream(t)||xe.isFile(t)||xe.isBlob(t)||xe.isReadableStream(t))return t;if(xe.isArrayBufferView(t))return t.buffer;if(xe.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let s;if(o){if(r.indexOf("application/x-www-form-urlencoded")>-1)return Mce(t,this.formSerializer).toString();if((s=xe.isFileList(t))||r.indexOf("multipart/form-data")>-1){const u=this.env&&this.env.FormData;return Zx(s?{"files[]":t}:t,u&&new u,this.formSerializer)}}return o||i?(n.setContentType("application/json",!1),$ce(t)):t}],transformResponse:[function(t){const n=this.transitional||bm.transitional,r=n&&n.forcedJSONParsing,i=this.responseType==="json";if(xe.isResponse(t)||xe.isReadableStream(t))return t;if(t&&xe.isString(t)&&(r&&!this.responseType||i)){const a=!(n&&n.silentJSONParsing)&&i;try{return JSON.parse(t)}catch(s){if(a)throw s.name==="SyntaxError"?qt.from(s,qt.ERR_BAD_RESPONSE,this,null,this.response):s}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Mi.classes.FormData,Blob:Mi.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};xe.forEach(["delete","get","head","post","put","patch"],e=>{bm.headers[e]={}});const Ice=xe.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Nce=e=>{const t={};let n,r,i;return e&&e.split(` +`).forEach(function(a){i=a.indexOf(":"),n=a.substring(0,i).trim().toLowerCase(),r=a.substring(i+1).trim(),!(!n||t[n]&&Ice[n])&&(n==="set-cookie"?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)}),t},WM=Symbol("internals");function Dp(e){return e&&String(e).trim().toLowerCase()}function Y1(e){return e===!1||e==null?e:xe.isArray(e)?e.map(Y1):String(e)}function Lce(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}const Fce=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function lS(e,t,n,r,i){if(xe.isFunction(r))return r.call(this,t,n);if(i&&(t=n),!!xe.isString(t)){if(xe.isString(r))return t.indexOf(r)!==-1;if(xe.isRegExp(r))return r.test(t)}}function jce(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,r)=>n.toUpperCase()+r)}function Bce(e,t){const n=xe.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+n,{value:function(i,o,a){return this[r].call(this,t,i,o,a)},configurable:!0})})}class ho{constructor(t){t&&this.set(t)}set(t,n,r){const i=this;function o(s,u,l){const c=Dp(u);if(!c)throw new Error("header name must be a non-empty string");const f=xe.findKey(i,c);(!f||i[f]===void 0||l===!0||l===void 0&&i[f]!==!1)&&(i[f||u]=Y1(s))}const a=(s,u)=>xe.forEach(s,(l,c)=>o(l,c,u));if(xe.isPlainObject(t)||t instanceof this.constructor)a(t,n);else if(xe.isString(t)&&(t=t.trim())&&!Fce(t))a(Nce(t),n);else if(xe.isHeaders(t))for(const[s,u]of t.entries())o(u,s,r);else t!=null&&o(n,t,r);return this}get(t,n){if(t=Dp(t),t){const r=xe.findKey(this,t);if(r){const i=this[r];if(!n)return i;if(n===!0)return Lce(i);if(xe.isFunction(n))return n.call(this,i,r);if(xe.isRegExp(n))return n.exec(i);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=Dp(t),t){const r=xe.findKey(this,t);return!!(r&&this[r]!==void 0&&(!n||lS(this,this[r],r,n)))}return!1}delete(t,n){const r=this;let i=!1;function o(a){if(a=Dp(a),a){const s=xe.findKey(r,a);s&&(!n||lS(r,r[s],s,n))&&(delete r[s],i=!0)}}return xe.isArray(t)?t.forEach(o):o(t),i}clear(t){const n=Object.keys(this);let r=n.length,i=!1;for(;r--;){const o=n[r];(!t||lS(this,this[o],o,t,!0))&&(delete this[o],i=!0)}return i}normalize(t){const n=this,r={};return xe.forEach(this,(i,o)=>{const a=xe.findKey(r,o);if(a){n[a]=Y1(i),delete n[o];return}const s=t?jce(o):String(o).trim();s!==o&&delete n[o],n[s]=Y1(i),r[s]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return xe.forEach(this,(r,i)=>{r!=null&&r!==!1&&(n[i]=t&&xe.isArray(r)?r.join(", "):r)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(` +`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const r=new this(t);return n.forEach(i=>r.set(i)),r}static accessor(t){const r=(this[WM]=this[WM]={accessors:{}}).accessors,i=this.prototype;function o(a){const s=Dp(a);r[s]||(Bce(i,a),r[s]=!0)}return xe.isArray(t)?t.forEach(o):o(t),this}}ho.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);xe.reduceDescriptors(ho.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}});xe.freezeMethods(ho);function cS(e,t){const n=this||bm,r=t||n,i=ho.from(r.headers);let o=r.data;return xe.forEach(e,function(s){o=s.call(n,o,i.normalize(),t?t.status:void 0)}),i.normalize(),o}function $j(e){return!!(e&&e.__CANCEL__)}function $h(e,t,n){qt.call(this,e??"canceled",qt.ERR_CANCELED,t,n),this.name="CanceledError"}xe.inherits($h,qt,{__CANCEL__:!0});function Ij(e,t,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new qt("Request failed with status code "+n.status,[qt.ERR_BAD_REQUEST,qt.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function zce(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function Uce(e,t){e=e||10;const n=new Array(e),r=new Array(e);let i=0,o=0,a;return t=t!==void 0?t:1e3,function(u){const l=Date.now(),c=r[o];a||(a=l),n[i]=u,r[i]=l;let f=o,h=0;for(;f!==i;)h+=n[f++],f=f%e;if(i=(i+1)%e,i===o&&(o=(o+1)%e),l-a{n=c,i=null,o&&(clearTimeout(o),o=null),e.apply(null,l)};return[(...l)=>{const c=Date.now(),f=c-n;f>=r?a(l,c):(i=l,o||(o=setTimeout(()=>{o=null,a(i)},r-f)))},()=>i&&a(i)]}const By=(e,t,n=3)=>{let r=0;const i=Uce(50,250);return Vce(o=>{const a=o.loaded,s=o.lengthComputable?o.total:void 0,u=a-r,l=i(u),c=a<=s;r=a;const f={loaded:a,total:s,progress:s?a/s:void 0,bytes:u,rate:l||void 0,estimated:l&&s&&c?(s-a)/l:void 0,event:o,lengthComputable:s!=null,[t?"download":"upload"]:!0};e(f)},n)},HM=(e,t)=>{const n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},KM=e=>(...t)=>xe.asap(()=>e(...t)),Wce=Mi.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,Mi.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(Mi.origin),Mi.navigator&&/(msie|trident)/i.test(Mi.navigator.userAgent)):()=>!0,Hce=Mi.hasStandardBrowserEnv?{write(e,t,n,r,i,o){const a=[e+"="+encodeURIComponent(t)];xe.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),xe.isString(r)&&a.push("path="+r),xe.isString(i)&&a.push("domain="+i),o===!0&&a.push("secure"),document.cookie=a.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function Kce(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function qce(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function Nj(e,t){return e&&!Kce(t)?qce(e,t):t}const qM=e=>e instanceof ho?{...e}:e;function Hc(e,t){t=t||{};const n={};function r(l,c,f,h){return xe.isPlainObject(l)&&xe.isPlainObject(c)?xe.merge.call({caseless:h},l,c):xe.isPlainObject(c)?xe.merge({},c):xe.isArray(c)?c.slice():c}function i(l,c,f,h){if(xe.isUndefined(c)){if(!xe.isUndefined(l))return r(void 0,l,f,h)}else return r(l,c,f,h)}function o(l,c){if(!xe.isUndefined(c))return r(void 0,c)}function a(l,c){if(xe.isUndefined(c)){if(!xe.isUndefined(l))return r(void 0,l)}else return r(void 0,c)}function s(l,c,f){if(f in t)return r(l,c);if(f in e)return r(void 0,l)}const u={url:o,method:o,data:o,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s,headers:(l,c,f)=>i(qM(l),qM(c),f,!0)};return xe.forEach(Object.keys(Object.assign({},e,t)),function(c){const f=u[c]||i,h=f(e[c],t[c],c);xe.isUndefined(h)&&f!==s||(n[c]=h)}),n}const Lj=e=>{const t=Hc({},e);let{data:n,withXSRFToken:r,xsrfHeaderName:i,xsrfCookieName:o,headers:a,auth:s}=t;t.headers=a=ho.from(a),t.url=Mj(Nj(t.baseURL,t.url),e.params,e.paramsSerializer),s&&a.set("Authorization","Basic "+btoa((s.username||"")+":"+(s.password?unescape(encodeURIComponent(s.password)):"")));let u;if(xe.isFormData(n)){if(Mi.hasStandardBrowserEnv||Mi.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if((u=a.getContentType())!==!1){const[l,...c]=u?u.split(";").map(f=>f.trim()).filter(Boolean):[];a.setContentType([l||"multipart/form-data",...c].join("; "))}}if(Mi.hasStandardBrowserEnv&&(r&&xe.isFunction(r)&&(r=r(t)),r||r!==!1&&Wce(t.url))){const l=i&&o&&Hce.read(o);l&&a.set(i,l)}return t},Gce=typeof XMLHttpRequest<"u",Yce=Gce&&function(e){return new Promise(function(n,r){const i=Lj(e);let o=i.data;const a=ho.from(i.headers).normalize();let{responseType:s,onUploadProgress:u,onDownloadProgress:l}=i,c,f,h,p,m;function v(){p&&p(),m&&m(),i.cancelToken&&i.cancelToken.unsubscribe(c),i.signal&&i.signal.removeEventListener("abort",c)}let b=new XMLHttpRequest;b.open(i.method.toUpperCase(),i.url,!0),b.timeout=i.timeout;function w(){if(!b)return;const S=ho.from("getAllResponseHeaders"in b&&b.getAllResponseHeaders()),E={data:!s||s==="text"||s==="json"?b.responseText:b.response,status:b.status,statusText:b.statusText,headers:S,config:e,request:b};Ij(function(k){n(k),v()},function(k){r(k),v()},E),b=null}"onloadend"in b?b.onloadend=w:b.onreadystatechange=function(){!b||b.readyState!==4||b.status===0&&!(b.responseURL&&b.responseURL.indexOf("file:")===0)||setTimeout(w)},b.onabort=function(){b&&(r(new qt("Request aborted",qt.ECONNABORTED,e,b)),b=null)},b.onerror=function(){r(new qt("Network Error",qt.ERR_NETWORK,e,b)),b=null},b.ontimeout=function(){let O=i.timeout?"timeout of "+i.timeout+"ms exceeded":"timeout exceeded";const E=i.transitional||Rj;i.timeoutErrorMessage&&(O=i.timeoutErrorMessage),r(new qt(O,E.clarifyTimeoutError?qt.ETIMEDOUT:qt.ECONNABORTED,e,b)),b=null},o===void 0&&a.setContentType(null),"setRequestHeader"in b&&xe.forEach(a.toJSON(),function(O,E){b.setRequestHeader(E,O)}),xe.isUndefined(i.withCredentials)||(b.withCredentials=!!i.withCredentials),s&&s!=="json"&&(b.responseType=i.responseType),l&&([h,m]=By(l,!0),b.addEventListener("progress",h)),u&&b.upload&&([f,p]=By(u),b.upload.addEventListener("progress",f),b.upload.addEventListener("loadend",p)),(i.cancelToken||i.signal)&&(c=S=>{b&&(r(!S||S.type?new $h(null,e,b):S),b.abort(),b=null)},i.cancelToken&&i.cancelToken.subscribe(c),i.signal&&(i.signal.aborted?c():i.signal.addEventListener("abort",c)));const x=zce(i.url);if(x&&Mi.protocols.indexOf(x)===-1){r(new qt("Unsupported protocol "+x+":",qt.ERR_BAD_REQUEST,e));return}b.send(o||null)})},Zce=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let r=new AbortController,i;const o=function(l){if(!i){i=!0,s();const c=l instanceof Error?l:this.reason;r.abort(c instanceof qt?c:new $h(c instanceof Error?c.message:c))}};let a=t&&setTimeout(()=>{a=null,o(new qt(`timeout ${t} of ms exceeded`,qt.ETIMEDOUT))},t);const s=()=>{e&&(a&&clearTimeout(a),a=null,e.forEach(l=>{l.unsubscribe?l.unsubscribe(o):l.removeEventListener("abort",o)}),e=null)};e.forEach(l=>l.addEventListener("abort",o));const{signal:u}=r;return u.unsubscribe=()=>xe.asap(s),u}},Xce=function*(e,t){let n=e.byteLength;if(n{const i=Qce(e,t);let o=0,a,s=u=>{a||(a=!0,r&&r(u))};return new ReadableStream({async pull(u){try{const{done:l,value:c}=await i.next();if(l){s(),u.close();return}let f=c.byteLength;if(n){let h=o+=f;n(h)}u.enqueue(new Uint8Array(c))}catch(l){throw s(l),l}},cancel(u){return s(u),i.return()}},{highWaterMark:2})},Xx=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",Fj=Xx&&typeof ReadableStream=="function",efe=Xx&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),jj=(e,...t)=>{try{return!!e(...t)}catch{return!1}},tfe=Fj&&jj(()=>{let e=!1;const t=new Request(Mi.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),YM=64*1024,VC=Fj&&jj(()=>xe.isReadableStream(new Response("").body)),zy={stream:VC&&(e=>e.body)};Xx&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!zy[t]&&(zy[t]=xe.isFunction(e[t])?n=>n[t]():(n,r)=>{throw new qt(`Response type '${t}' is not supported`,qt.ERR_NOT_SUPPORT,r)})})})(new Response);const nfe=async e=>{if(e==null)return 0;if(xe.isBlob(e))return e.size;if(xe.isSpecCompliantForm(e))return(await new Request(Mi.origin,{method:"POST",body:e}).arrayBuffer()).byteLength;if(xe.isArrayBufferView(e)||xe.isArrayBuffer(e))return e.byteLength;if(xe.isURLSearchParams(e)&&(e=e+""),xe.isString(e))return(await efe(e)).byteLength},rfe=async(e,t)=>{const n=xe.toFiniteNumber(e.getContentLength());return n??nfe(t)},ife=Xx&&(async e=>{let{url:t,method:n,data:r,signal:i,cancelToken:o,timeout:a,onDownloadProgress:s,onUploadProgress:u,responseType:l,headers:c,withCredentials:f="same-origin",fetchOptions:h}=Lj(e);l=l?(l+"").toLowerCase():"text";let p=Zce([i,o&&o.toAbortSignal()],a),m;const v=p&&p.unsubscribe&&(()=>{p.unsubscribe()});let b;try{if(u&&tfe&&n!=="get"&&n!=="head"&&(b=await rfe(c,r))!==0){let E=new Request(t,{method:"POST",body:r,duplex:"half"}),C;if(xe.isFormData(r)&&(C=E.headers.get("content-type"))&&c.setContentType(C),E.body){const[k,M]=HM(b,By(KM(u)));r=GM(E.body,YM,k,M)}}xe.isString(f)||(f=f?"include":"omit");const w="credentials"in Request.prototype;m=new Request(t,{...h,signal:p,method:n.toUpperCase(),headers:c.normalize().toJSON(),body:r,duplex:"half",credentials:w?f:void 0});let x=await fetch(m);const S=VC&&(l==="stream"||l==="response");if(VC&&(s||S&&v)){const E={};["status","statusText","headers"].forEach(L=>{E[L]=x[L]});const C=xe.toFiniteNumber(x.headers.get("content-length")),[k,M]=s&&HM(C,By(KM(s),!0))||[];x=new Response(GM(x.body,YM,k,()=>{M&&M(),v&&v()}),E)}l=l||"text";let O=await zy[xe.findKey(zy,l)||"text"](x,e);return!S&&v&&v(),await new Promise((E,C)=>{Ij(E,C,{data:O,headers:ho.from(x.headers),status:x.status,statusText:x.statusText,config:e,request:m})})}catch(w){throw v&&v(),w&&w.name==="TypeError"&&/fetch/i.test(w.message)?Object.assign(new qt("Network Error",qt.ERR_NETWORK,e,m),{cause:w.cause||w}):qt.from(w,w&&w.code,e,m)}}),WC={http:bce,xhr:Yce,fetch:ife};xe.forEach(WC,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const ZM=e=>`- ${e}`,ofe=e=>xe.isFunction(e)||e===null||e===!1,Bj={getAdapter:e=>{e=xe.isArray(e)?e:[e];const{length:t}=e;let n,r;const i={};for(let o=0;o`adapter ${s} `+(u===!1?"is not supported by the environment":"is not available in the build"));let a=t?o.length>1?`since : +`+o.map(ZM).join(` +`):" "+ZM(o[0]):"as no adapter specified";throw new qt("There is no suitable adapter to dispatch the request "+a,"ERR_NOT_SUPPORT")}return r},adapters:WC};function fS(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new $h(null,e)}function XM(e){return fS(e),e.headers=ho.from(e.headers),e.data=cS.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Bj.getAdapter(e.adapter||bm.adapter)(e).then(function(r){return fS(e),r.data=cS.call(e,e.transformResponse,r),r.headers=ho.from(r.headers),r},function(r){return $j(r)||(fS(e),r&&r.response&&(r.response.data=cS.call(e,e.transformResponse,r.response),r.response.headers=ho.from(r.response.headers))),Promise.reject(r)})}const zj="1.7.9",Qx={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{Qx[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const QM={};Qx.transitional=function(t,n,r){function i(o,a){return"[Axios v"+zj+"] Transitional option '"+o+"'"+a+(r?". "+r:"")}return(o,a,s)=>{if(t===!1)throw new qt(i(a," has been removed"+(n?" in "+n:"")),qt.ERR_DEPRECATED);return n&&!QM[a]&&(QM[a]=!0,console.warn(i(a," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(o,a,s):!0}};Qx.spelling=function(t){return(n,r)=>(console.warn(`${r} is likely a misspelling of ${t}`),!0)};function afe(e,t,n){if(typeof e!="object")throw new qt("options must be an object",qt.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let i=r.length;for(;i-- >0;){const o=r[i],a=t[o];if(a){const s=e[o],u=s===void 0||a(s,o,e);if(u!==!0)throw new qt("option "+o+" must be "+u,qt.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new qt("Unknown option "+o,qt.ERR_BAD_OPTION)}}const Z1={assertOptions:afe,validators:Qx},ls=Z1.validators;class Tc{constructor(t){this.defaults=t,this.interceptors={request:new VM,response:new VM}}async request(t,n){try{return await this._request(t,n)}catch(r){if(r instanceof Error){let i={};Error.captureStackTrace?Error.captureStackTrace(i):i=new Error;const o=i.stack?i.stack.replace(/^.+\n/,""):"";try{r.stack?o&&!String(r.stack).endsWith(o.replace(/^.+\n.+\n/,""))&&(r.stack+=` +`+o):r.stack=o}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=Hc(this.defaults,n);const{transitional:r,paramsSerializer:i,headers:o}=n;r!==void 0&&Z1.assertOptions(r,{silentJSONParsing:ls.transitional(ls.boolean),forcedJSONParsing:ls.transitional(ls.boolean),clarifyTimeoutError:ls.transitional(ls.boolean)},!1),i!=null&&(xe.isFunction(i)?n.paramsSerializer={serialize:i}:Z1.assertOptions(i,{encode:ls.function,serialize:ls.function},!0)),Z1.assertOptions(n,{baseUrl:ls.spelling("baseURL"),withXsrfToken:ls.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let a=o&&xe.merge(o.common,o[n.method]);o&&xe.forEach(["delete","get","head","post","put","patch","common"],m=>{delete o[m]}),n.headers=ho.concat(a,o);const s=[];let u=!0;this.interceptors.request.forEach(function(v){typeof v.runWhen=="function"&&v.runWhen(n)===!1||(u=u&&v.synchronous,s.unshift(v.fulfilled,v.rejected))});const l=[];this.interceptors.response.forEach(function(v){l.push(v.fulfilled,v.rejected)});let c,f=0,h;if(!u){const m=[XM.bind(this),void 0];for(m.unshift.apply(m,s),m.push.apply(m,l),h=m.length,c=Promise.resolve(n);f{if(!r._listeners)return;let o=r._listeners.length;for(;o-- >0;)r._listeners[o](i);r._listeners=null}),this.promise.then=i=>{let o;const a=new Promise(s=>{r.subscribe(s),o=s}).then(i);return a.cancel=function(){r.unsubscribe(o)},a},t(function(o,a,s){r.reason||(r.reason=new $h(o,a,s),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=r=>{t.abort(r)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new $5(function(i){t=i}),cancel:t}}}function sfe(e){return function(n){return e.apply(null,n)}}function ufe(e){return xe.isObject(e)&&e.isAxiosError===!0}const HC={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(HC).forEach(([e,t])=>{HC[t]=e});function Uj(e){const t=new Tc(e),n=bj(Tc.prototype.request,t);return xe.extend(n,Tc.prototype,t,{allOwnKeys:!0}),xe.extend(n,t,null,{allOwnKeys:!0}),n.create=function(i){return Uj(Hc(e,i))},n}const qr=Uj(bm);qr.Axios=Tc;qr.CanceledError=$h;qr.CancelToken=$5;qr.isCancel=$j;qr.VERSION=zj;qr.toFormData=Zx;qr.AxiosError=qt;qr.Cancel=qr.CanceledError;qr.all=function(t){return Promise.all(t)};qr.spread=sfe;qr.isAxiosError=ufe;qr.mergeConfig=Hc;qr.AxiosHeaders=ho;qr.formToJSON=e=>Dj(xe.isHTMLForm(e)?new FormData(e):e);qr.getAdapter=Bj.getAdapter;qr.HttpStatusCode=HC;qr.default=qr;var lfe=e=>{switch(e){case"success":return dfe;case"info":return pfe;case"warning":return hfe;case"error":return gfe;default:return null}},cfe=Array(12).fill(0),ffe=({visible:e,className:t})=>F.createElement("div",{className:["sonner-loading-wrapper",t].filter(Boolean).join(" "),"data-visible":e},F.createElement("div",{className:"sonner-spinner"},cfe.map((n,r)=>F.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${r}`})))),dfe=F.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},F.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),hfe=F.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},F.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),pfe=F.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},F.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),gfe=F.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},F.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),mfe=F.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},F.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),F.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),vfe=()=>{let[e,t]=F.useState(document.hidden);return F.useEffect(()=>{let n=()=>{t(document.hidden)};return document.addEventListener("visibilitychange",n),()=>window.removeEventListener("visibilitychange",n)},[]),e},KC=1,yfe=class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}),this.publish=e=>{this.subscribers.forEach(t=>t(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{var t;let{message:n,...r}=e,i=typeof e?.id=="number"||((t=e.id)==null?void 0:t.length)>0?e.id:KC++,o=this.toasts.find(s=>s.id===i),a=e.dismissible===void 0?!0:e.dismissible;return o?this.toasts=this.toasts.map(s=>s.id===i?(this.publish({...s,...e,id:i,title:n}),{...s,...e,id:i,dismissible:a,title:n}):s):this.addToast({title:n,...r,dismissible:a,id:i}),i},this.dismiss=e=>(e||this.toasts.forEach(t=>{this.subscribers.forEach(n=>n({id:t.id,dismiss:!0}))}),this.subscribers.forEach(t=>t({id:e,dismiss:!0})),e),this.message=(e,t)=>this.create({...t,message:e}),this.error=(e,t)=>this.create({...t,message:e,type:"error"}),this.success=(e,t)=>this.create({...t,type:"success",message:e}),this.info=(e,t)=>this.create({...t,type:"info",message:e}),this.warning=(e,t)=>this.create({...t,type:"warning",message:e}),this.loading=(e,t)=>this.create({...t,type:"loading",message:e}),this.promise=(e,t)=>{if(!t)return;let n;t.loading!==void 0&&(n=this.create({...t,promise:e,type:"loading",message:t.loading,description:typeof t.description!="function"?t.description:void 0}));let r=e instanceof Promise?e:e(),i=n!==void 0,o,a=r.then(async u=>{if(o=["resolve",u],F.isValidElement(u))i=!1,this.create({id:n,type:"default",message:u});else if(xfe(u)&&!u.ok){i=!1;let l=typeof t.error=="function"?await t.error(`HTTP error! status: ${u.status}`):t.error,c=typeof t.description=="function"?await t.description(`HTTP error! status: ${u.status}`):t.description;this.create({id:n,type:"error",message:l,description:c})}else if(t.success!==void 0){i=!1;let l=typeof t.success=="function"?await t.success(u):t.success,c=typeof t.description=="function"?await t.description(u):t.description;this.create({id:n,type:"success",message:l,description:c})}}).catch(async u=>{if(o=["reject",u],t.error!==void 0){i=!1;let l=typeof t.error=="function"?await t.error(u):t.error,c=typeof t.description=="function"?await t.description(u):t.description;this.create({id:n,type:"error",message:l,description:c})}}).finally(()=>{var u;i&&(this.dismiss(n),n=void 0),(u=t.finally)==null||u.call(t)}),s=()=>new Promise((u,l)=>a.then(()=>o[0]==="reject"?l(o[1]):u(o[1])).catch(l));return typeof n!="string"&&typeof n!="number"?{unwrap:s}:Object.assign(n,{unwrap:s})},this.custom=(e,t)=>{let n=t?.id||KC++;return this.create({jsx:e(n),id:n,...t}),n},this.subscribers=[],this.toasts=[]}},Po=new yfe,bfe=(e,t)=>{let n=t?.id||KC++;return Po.addToast({title:e,...t,id:n}),n},xfe=e=>e&&typeof e=="object"&&"ok"in e&&typeof e.ok=="boolean"&&"status"in e&&typeof e.status=="number",wfe=bfe,_fe=()=>Po.toasts,AYe=Object.assign(wfe,{success:Po.success,info:Po.info,warning:Po.warning,error:Po.error,custom:Po.custom,message:Po.message,promise:Po.promise,dismiss:Po.dismiss,loading:Po.loading},{getHistory:_fe});function Sfe(e,{insertAt:t}={}){if(typeof document>"u")return;let n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",t==="top"&&n.firstChild?n.insertBefore(r,n.firstChild):n.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}Sfe(`:where(html[dir="ltr"]),:where([data-sonner-toaster][dir="ltr"]){--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0;--toast-close-button-start: 0;--toast-close-button-end: unset;--toast-close-button-transform: translate(-35%, -35%)}:where(html[dir="rtl"]),:where([data-sonner-toaster][dir="rtl"]){--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto;--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(35%, -35%)}:where([data-sonner-toaster]){position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999;transition:transform .4s ease}:where([data-sonner-toaster][data-lifted="true"]){transform:translateY(-10px)}@media (hover: none) and (pointer: coarse){:where([data-sonner-toaster][data-lifted="true"]){transform:none}}:where([data-sonner-toaster][data-x-position="right"]){right:max(var(--offset),env(safe-area-inset-right))}:where([data-sonner-toaster][data-x-position="left"]){left:max(var(--offset),env(safe-area-inset-left))}:where([data-sonner-toaster][data-x-position="center"]){left:50%;transform:translate(-50%)}:where([data-sonner-toaster][data-y-position="top"]){top:max(var(--offset),env(safe-area-inset-top))}:where([data-sonner-toaster][data-y-position="bottom"]){bottom:max(var(--offset),env(safe-area-inset-bottom))}:where([data-sonner-toast]){--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);filter:blur(0);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}:where([data-sonner-toast][data-styled="true"]){padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}:where([data-sonner-toast]:focus-visible){box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast][data-y-position="top"]){top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}:where([data-sonner-toast][data-y-position="bottom"]){bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}:where([data-sonner-toast]) :where([data-description]){font-weight:400;line-height:1.4;color:inherit}:where([data-sonner-toast]) :where([data-title]){font-weight:500;line-height:1.5;color:inherit}:where([data-sonner-toast]) :where([data-icon]){display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}:where([data-sonner-toast][data-promise="true"]) :where([data-icon])>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}:where([data-sonner-toast]) :where([data-icon])>*{flex-shrink:0}:where([data-sonner-toast]) :where([data-icon]) svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}:where([data-sonner-toast]) :where([data-content]){display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}:where([data-sonner-toast]) :where([data-button]):focus-visible{box-shadow:0 0 0 2px #0006}:where([data-sonner-toast]) :where([data-button]):first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}:where([data-sonner-toast]) :where([data-cancel]){color:var(--normal-text);background:rgba(0,0,0,.08)}:where([data-sonner-toast][data-theme="dark"]) :where([data-cancel]){background:rgba(255,255,255,.3)}:where([data-sonner-toast]) :where([data-close-button]){position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast] [data-close-button]{background:var(--gray1)}:where([data-sonner-toast]) :where([data-close-button]):focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast]) :where([data-disabled="true"]){cursor:not-allowed}:where([data-sonner-toast]):hover :where([data-close-button]):hover{background:var(--gray2);border-color:var(--gray5)}:where([data-sonner-toast][data-swiping="true"]):before{content:"";position:absolute;left:0;right:0;height:100%;z-index:-1}:where([data-sonner-toast][data-y-position="top"][data-swiping="true"]):before{bottom:50%;transform:scaleY(3) translateY(50%)}:where([data-sonner-toast][data-y-position="bottom"][data-swiping="true"]):before{top:50%;transform:scaleY(3) translateY(-50%)}:where([data-sonner-toast][data-swiping="false"][data-removed="true"]):before{content:"";position:absolute;inset:0;transform:scaleY(2)}:where([data-sonner-toast]):after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}:where([data-sonner-toast][data-mounted="true"]){--y: translateY(0);opacity:1}:where([data-sonner-toast][data-expanded="false"][data-front="false"]){--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}:where([data-sonner-toast])>*{transition:opacity .4s}:where([data-sonner-toast][data-expanded="false"][data-front="false"][data-styled="true"])>*{opacity:0}:where([data-sonner-toast][data-visible="false"]){opacity:0;pointer-events:none}:where([data-sonner-toast][data-mounted="true"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}:where([data-sonner-toast][data-removed="true"][data-front="true"][data-swipe-out="false"]){--y: translateY(calc(var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="false"]){--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}:where([data-sonner-toast][data-removed="true"][data-front="false"]):before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount, 0px));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation:swipe-out .2s ease-out forwards}@keyframes swipe-out{0%{transform:translateY(calc(var(--lift) * var(--offset) + var(--swipe-amount)));opacity:1}to{transform:translateY(calc(var(--lift) * var(--offset) + var(--swipe-amount) + var(--lift) * -100%));opacity:0}}@media (max-width: 600px){[data-sonner-toaster]{position:fixed;--mobile-offset: 16px;right:var(--mobile-offset);left:var(--mobile-offset);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset)}[data-sonner-toaster][data-y-position=bottom]{bottom:20px}[data-sonner-toaster][data-y-position=top]{top:20px}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset);right:var(--mobile-offset);transform:none}}[data-sonner-toaster][data-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 91%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 91%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 91%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-theme=dark]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 100%, 12%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 12%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);--error-text: hsl(358, 100%, 81%)}[data-rich-colors=true][data-sonner-toast][data-type=success],[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info],[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning],[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error],[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)} +`);function t1(e){return e.label!==void 0}var Cfe=3,Efe="32px",JM=4e3,Ofe=356,Afe=14,Pfe=20,kfe=200;function Tfe(...e){return e.filter(Boolean).join(" ")}var Mfe=e=>{var t,n,r,i,o,a,s,u,l,c,f;let{invert:h,toast:p,unstyled:m,interacting:v,setHeights:b,visibleToasts:w,heights:x,index:S,toasts:O,expanded:E,removeToast:C,defaultRichColors:k,closeButton:M,style:L,cancelButtonStyle:U,actionButtonStyle:H,className:V="",descriptionClassName:ne="",duration:Z,position:G,gap:q,loadingIcon:W,expandByDefault:j,classNames:K,icons:Y,closeButtonAriaLabel:oe="Close toast",pauseWhenPageIsHidden:ae,cn:ue}=e,[be,we]=F.useState(!1),[He,Ee]=F.useState(!1),[it,ke]=F.useState(!1),[Le,De]=F.useState(!1),[me,yt]=F.useState(!1),[lt,Nt]=F.useState(0),[yn,nn]=F.useState(0),te=F.useRef(p.duration||Z||JM),de=F.useRef(null),ge=F.useRef(null),ze=S===0,Fe=S+1<=w,Ae=p.type,tt=p.dismissible!==!1,mt=p.className||"",xn=p.descriptionClassName||"",Kt=F.useMemo(()=>x.findIndex(_t=>_t.toastId===p.id)||0,[x,p.id]),wn=F.useMemo(()=>{var _t;return(_t=p.closeButton)!=null?_t:M},[p.closeButton,M]);F.useMemo(()=>p.duration||Z||JM,[p.duration,Z]);let Ii=F.useRef(0),br=F.useRef(0),yi=F.useRef(0),sr=F.useRef(null),[si,bi]=G.split("-"),Rr=F.useMemo(()=>x.reduce((_t,hn,_n)=>_n>=Kt?_t:_t+hn.height,0),[x,Kt]),Xi=vfe(),yo=p.invert||h,xi=Ae==="loading";br.current=F.useMemo(()=>Kt*q+Rr,[Kt,Rr]),F.useEffect(()=>{we(!0)},[]),F.useEffect(()=>{let _t=ge.current;if(_t){let hn=_t.getBoundingClientRect().height;return nn(hn),b(_n=>[{toastId:p.id,height:hn,position:p.position},..._n]),()=>b(_n=>_n.filter(qn=>qn.toastId!==p.id))}},[b,p.id]),F.useLayoutEffect(()=>{if(!be)return;let _t=ge.current,hn=_t.style.height;_t.style.height="auto";let _n=_t.getBoundingClientRect().height;_t.style.height=hn,nn(_n),b(qn=>qn.find(ur=>ur.toastId===p.id)?qn.map(ur=>ur.toastId===p.id?{...ur,height:_n}:ur):[{toastId:p.id,height:_n,position:p.position},...qn])},[be,p.title,p.description,b,p.id]);let Dr=F.useCallback(()=>{Ee(!0),Nt(br.current),b(_t=>_t.filter(hn=>hn.toastId!==p.id)),setTimeout(()=>{C(p)},kfe)},[p,C,b,br]);F.useEffect(()=>{if(p.promise&&Ae==="loading"||p.duration===1/0||p.type==="loading")return;let _t;return E||v||ae&&Xi?(()=>{if(yi.current{var hn;(hn=p.onAutoClose)==null||hn.call(p,p),Dr()},te.current)),()=>clearTimeout(_t)},[E,v,p,Ae,ae,Xi,Dr]),F.useEffect(()=>{p.delete&&Dr()},[Dr,p.delete]);function _a(){var _t,hn,_n;return Y!=null&&Y.loading?F.createElement("div",{className:ue(K?.loader,(_t=p?.classNames)==null?void 0:_t.loader,"sonner-loader"),"data-visible":Ae==="loading"},Y.loading):W?F.createElement("div",{className:ue(K?.loader,(hn=p?.classNames)==null?void 0:hn.loader,"sonner-loader"),"data-visible":Ae==="loading"},W):F.createElement(ffe,{className:ue(K?.loader,(_n=p?.classNames)==null?void 0:_n.loader),visible:Ae==="loading"})}return F.createElement("li",{tabIndex:0,ref:ge,className:ue(V,mt,K?.toast,(t=p?.classNames)==null?void 0:t.toast,K?.default,K?.[Ae],(n=p?.classNames)==null?void 0:n[Ae]),"data-sonner-toast":"","data-rich-colors":(r=p.richColors)!=null?r:k,"data-styled":!(p.jsx||p.unstyled||m),"data-mounted":be,"data-promise":!!p.promise,"data-swiped":me,"data-removed":He,"data-visible":Fe,"data-y-position":si,"data-x-position":bi,"data-index":S,"data-front":ze,"data-swiping":it,"data-dismissible":tt,"data-type":Ae,"data-invert":yo,"data-swipe-out":Le,"data-expanded":!!(E||j&&be),style:{"--index":S,"--toasts-before":S,"--z-index":O.length-S,"--offset":`${He?lt:br.current}px`,"--initial-height":j?"auto":`${yn}px`,...L,...p.style},onPointerDown:_t=>{xi||!tt||(de.current=new Date,Nt(br.current),_t.target.setPointerCapture(_t.pointerId),_t.target.tagName!=="BUTTON"&&(ke(!0),sr.current={x:_t.clientX,y:_t.clientY}))},onPointerUp:()=>{var _t,hn,_n,qn;if(Le||!tt)return;sr.current=null;let ur=Number(((_t=ge.current)==null?void 0:_t.style.getPropertyValue("--swipe-amount").replace("px",""))||0),Xr=new Date().getTime()-((hn=de.current)==null?void 0:hn.getTime()),bo=Math.abs(ur)/Xr;if(Math.abs(ur)>=Pfe||bo>.11){Nt(br.current),(_n=p.onDismiss)==null||_n.call(p,p),Dr(),De(!0),yt(!1);return}(qn=ge.current)==null||qn.style.setProperty("--swipe-amount","0px"),ke(!1)},onPointerMove:_t=>{var hn,_n;if(!sr.current||!tt)return;let qn=_t.clientY-sr.current.y,ur=((hn=window.getSelection())==null?void 0:hn.toString().length)>0,Xr=si==="top"?Math.min(0,qn):Math.max(0,qn);Math.abs(Xr)>0&&yt(!0),!ur&&((_n=ge.current)==null||_n.style.setProperty("--swipe-amount",`${Xr}px`))}},wn&&!p.jsx?F.createElement("button",{"aria-label":oe,"data-disabled":xi,"data-close-button":!0,onClick:xi||!tt?()=>{}:()=>{var _t;Dr(),(_t=p.onDismiss)==null||_t.call(p,p)},className:ue(K?.closeButton,(i=p?.classNames)==null?void 0:i.closeButton)},(o=Y?.close)!=null?o:mfe):null,p.jsx||F.isValidElement(p.title)?p.jsx?p.jsx:typeof p.title=="function"?p.title():p.title:F.createElement(F.Fragment,null,Ae||p.icon||p.promise?F.createElement("div",{"data-icon":"",className:ue(K?.icon,(a=p?.classNames)==null?void 0:a.icon)},p.promise||p.type==="loading"&&!p.icon?p.icon||_a():null,p.type!=="loading"?p.icon||Y?.[Ae]||lfe(Ae):null):null,F.createElement("div",{"data-content":"",className:ue(K?.content,(s=p?.classNames)==null?void 0:s.content)},F.createElement("div",{"data-title":"",className:ue(K?.title,(u=p?.classNames)==null?void 0:u.title)},typeof p.title=="function"?p.title():p.title),p.description?F.createElement("div",{"data-description":"",className:ue(ne,xn,K?.description,(l=p?.classNames)==null?void 0:l.description)},typeof p.description=="function"?p.description():p.description):null),F.isValidElement(p.cancel)?p.cancel:p.cancel&&t1(p.cancel)?F.createElement("button",{"data-button":!0,"data-cancel":!0,style:p.cancelButtonStyle||U,onClick:_t=>{var hn,_n;t1(p.cancel)&&tt&&((_n=(hn=p.cancel).onClick)==null||_n.call(hn,_t),Dr())},className:ue(K?.cancelButton,(c=p?.classNames)==null?void 0:c.cancelButton)},p.cancel.label):null,F.isValidElement(p.action)?p.action:p.action&&t1(p.action)?F.createElement("button",{"data-button":!0,"data-action":!0,style:p.actionButtonStyle||H,onClick:_t=>{var hn,_n;t1(p.action)&&((_n=(hn=p.action).onClick)==null||_n.call(hn,_t),!_t.defaultPrevented&&Dr())},className:ue(K?.actionButton,(f=p?.classNames)==null?void 0:f.actionButton)},p.action.label):null))};function eR(){if(typeof window>"u"||typeof document>"u")return"ltr";let e=document.documentElement.getAttribute("dir");return e==="auto"||!e?window.getComputedStyle(document.documentElement).direction:e}var PYe=y.forwardRef(function(e,t){let{invert:n,position:r="bottom-right",hotkey:i=["altKey","KeyT"],expand:o,closeButton:a,className:s,offset:u,theme:l="light",richColors:c,duration:f,style:h,visibleToasts:p=Cfe,toastOptions:m,dir:v=eR(),gap:b=Afe,loadingIcon:w,icons:x,containerAriaLabel:S="Notifications",pauseWhenPageIsHidden:O,cn:E=Tfe}=e,[C,k]=F.useState([]),M=F.useMemo(()=>Array.from(new Set([r].concat(C.filter(ae=>ae.position).map(ae=>ae.position)))),[C,r]),[L,U]=F.useState([]),[H,V]=F.useState(!1),[ne,Z]=F.useState(!1),[G,q]=F.useState(l!=="system"?l:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),W=F.useRef(null),j=i.join("+").replace(/Key/g,"").replace(/Digit/g,""),K=F.useRef(null),Y=F.useRef(!1),oe=F.useCallback(ae=>{k(ue=>{var be;return(be=ue.find(we=>we.id===ae.id))!=null&&be.delete||Po.dismiss(ae.id),ue.filter(({id:we})=>we!==ae.id)})},[]);return F.useEffect(()=>Po.subscribe(ae=>{if(ae.dismiss){k(ue=>ue.map(be=>be.id===ae.id?{...be,delete:!0}:be));return}setTimeout(()=>{jx.flushSync(()=>{k(ue=>{let be=ue.findIndex(we=>we.id===ae.id);return be!==-1?[...ue.slice(0,be),{...ue[be],...ae},...ue.slice(be+1)]:[ae,...ue]})})})}),[]),F.useEffect(()=>{if(l!=="system"){q(l);return}if(l==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?q("dark"):q("light")),typeof window>"u")return;let ae=window.matchMedia("(prefers-color-scheme: dark)");try{ae.addEventListener("change",({matches:ue})=>{q(ue?"dark":"light")})}catch{ae.addListener(({matches:be})=>{try{q(be?"dark":"light")}catch(we){console.error(we)}})}},[l]),F.useEffect(()=>{C.length<=1&&V(!1)},[C]),F.useEffect(()=>{let ae=ue=>{var be,we;i.every(He=>ue[He]||ue.code===He)&&(V(!0),(be=W.current)==null||be.focus()),ue.code==="Escape"&&(document.activeElement===W.current||(we=W.current)!=null&&we.contains(document.activeElement))&&V(!1)};return document.addEventListener("keydown",ae),()=>document.removeEventListener("keydown",ae)},[i]),F.useEffect(()=>{if(W.current)return()=>{K.current&&(K.current.focus({preventScroll:!0}),K.current=null,Y.current=!1)}},[W.current]),F.createElement("section",{"aria-label":`${S} ${j}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false"},M.map((ae,ue)=>{var be;let[we,He]=ae.split("-");return C.length?F.createElement("ol",{key:ae,dir:v==="auto"?eR():v,tabIndex:-1,ref:W,className:s,"data-sonner-toaster":!0,"data-theme":G,"data-y-position":we,"data-lifted":H&&C.length>1&&!o,"data-x-position":He,style:{"--front-toast-height":`${((be=L[0])==null?void 0:be.height)||0}px`,"--offset":typeof u=="number"?`${u}px`:u||Efe,"--width":`${Ofe}px`,"--gap":`${b}px`,...h},onBlur:Ee=>{Y.current&&!Ee.currentTarget.contains(Ee.relatedTarget)&&(Y.current=!1,K.current&&(K.current.focus({preventScroll:!0}),K.current=null))},onFocus:Ee=>{Ee.target instanceof HTMLElement&&Ee.target.dataset.dismissible==="false"||Y.current||(Y.current=!0,K.current=Ee.relatedTarget)},onMouseEnter:()=>V(!0),onMouseMove:()=>V(!0),onMouseLeave:()=>{ne||V(!1)},onPointerDown:Ee=>{Ee.target instanceof HTMLElement&&Ee.target.dataset.dismissible==="false"||Z(!0)},onPointerUp:()=>Z(!1)},C.filter(Ee=>!Ee.position&&ue===0||Ee.position===ae).map((Ee,it)=>{var ke,Le;return F.createElement(Mfe,{key:Ee.id,icons:x,index:it,toast:Ee,defaultRichColors:c,duration:(ke=m?.duration)!=null?ke:f,className:m?.className,descriptionClassName:m?.descriptionClassName,invert:n,visibleToasts:p,closeButton:(Le=m?.closeButton)!=null?Le:a,interacting:ne,position:ae,style:m?.style,unstyled:m?.unstyled,classNames:m?.classNames,cancelButtonStyle:m?.cancelButtonStyle,actionButtonStyle:m?.actionButtonStyle,removeToast:oe,toasts:C.filter(De=>De.position==Ee.position),heights:L.filter(De=>De.position==Ee.position),setHeights:U,expandByDefault:o,gap:b,loadingIcon:w,expanded:H,pauseWhenPageIsHidden:O,cn:E})})):null}))}),Ih=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Kc=typeof window>"u"||"Deno"in globalThis;function oa(){}function Rfe(e,t){return typeof e=="function"?e(t):e}function qC(e){return typeof e=="number"&&e>=0&&e!==1/0}function Vj(e,t){return Math.max(e+(t||0)-Date.now(),0)}function Od(e,t){return typeof e=="function"?e(t):e}function Na(e,t){return typeof e=="function"?e(t):e}function tR(e,t){const{type:n="all",exact:r,fetchStatus:i,predicate:o,queryKey:a,stale:s}=e;if(a){if(r){if(t.queryHash!==I5(a,t.options))return!1}else if(!eg(t.queryKey,a))return!1}if(n!=="all"){const u=t.isActive();if(n==="active"&&!u||n==="inactive"&&u)return!1}return!(typeof s=="boolean"&&t.isStale()!==s||i&&i!==t.state.fetchStatus||o&&!o(t))}function nR(e,t){const{exact:n,status:r,predicate:i,mutationKey:o}=e;if(o){if(!t.options.mutationKey)return!1;if(n){if(qc(t.options.mutationKey)!==qc(o))return!1}else if(!eg(t.options.mutationKey,o))return!1}return!(r&&t.state.status!==r||i&&!i(t))}function I5(e,t){return(t?.queryKeyHashFn||qc)(e)}function qc(e){return JSON.stringify(e,(t,n)=>GC(n)?Object.keys(n).sort().reduce((r,i)=>(r[i]=n[i],r),{}):n)}function eg(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?!Object.keys(t).some(n=>!eg(e[n],t[n])):!1}function Wj(e,t){if(e===t)return e;const n=rR(e)&&rR(t);if(n||GC(e)&&GC(t)){const r=n?e:Object.keys(e),i=r.length,o=n?t:Object.keys(t),a=o.length,s=n?[]:{};let u=0;for(let l=0;l{setTimeout(t,e)})}function YC(e,t,n){return typeof n.structuralSharing=="function"?n.structuralSharing(e,t):n.structuralSharing!==!1?Wj(e,t):t}function $fe(e,t,n=0){const r=[...e,t];return n&&r.length>n?r.slice(1):r}function Ife(e,t,n=0){const r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var N5=Symbol();function Hj(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===N5?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}var Nfe=class extends Ih{#e;#t;#r;constructor(){super(),this.#r=e=>{if(!Kc&&window.addEventListener){const t=()=>e();return window.addEventListener("visibilitychange",t,!1),()=>{window.removeEventListener("visibilitychange",t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#r)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#r=e,this.#t?.(),this.#t=e(t=>{typeof t=="boolean"?this.setFocused(t):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){const e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#e=="boolean"?this.#e:globalThis.document?.visibilityState!=="hidden"}},L5=new Nfe,Lfe=class extends Ih{#e=!0;#t;#r;constructor(){super(),this.#r=e=>{if(!Kc&&window.addEventListener){const t=()=>e(!0),n=()=>e(!1);return window.addEventListener("online",t,!1),window.addEventListener("offline",n,!1),()=>{window.removeEventListener("online",t),window.removeEventListener("offline",n)}}}}onSubscribe(){this.#t||this.setEventListener(this.#r)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#r=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(n=>{n(e)}))}isOnline(){return this.#e}},Vy=new Lfe;function ZC(){let e,t;const n=new Promise((i,o)=>{e=i,t=o});n.status="pending",n.catch(()=>{});function r(i){Object.assign(n,i),delete n.resolve,delete n.reject}return n.resolve=i=>{r({status:"fulfilled",value:i}),e(i)},n.reject=i=>{r({status:"rejected",reason:i}),t(i)},n}function Ffe(e){return Math.min(1e3*2**e,3e4)}function Kj(e){return(e??"online")==="online"?Vy.isOnline():!0}var qj=class extends Error{constructor(e){super("CancelledError"),this.revert=e?.revert,this.silent=e?.silent}};function dS(e){return e instanceof qj}function Gj(e){let t=!1,n=0,r=!1,i;const o=ZC(),a=v=>{r||(h(new qj(v)),e.abort?.())},s=()=>{t=!0},u=()=>{t=!1},l=()=>L5.isFocused()&&(e.networkMode==="always"||Vy.isOnline())&&e.canRun(),c=()=>Kj(e.networkMode)&&e.canRun(),f=v=>{r||(r=!0,e.onSuccess?.(v),i?.(),o.resolve(v))},h=v=>{r||(r=!0,e.onError?.(v),i?.(),o.reject(v))},p=()=>new Promise(v=>{i=b=>{(r||l())&&v(b)},e.onPause?.()}).then(()=>{i=void 0,r||e.onContinue?.()}),m=()=>{if(r)return;let v;const b=n===0?e.initialPromise:void 0;try{v=b??e.fn()}catch(w){v=Promise.reject(w)}Promise.resolve(v).then(f).catch(w=>{if(r)return;const x=e.retry??(Kc?0:3),S=e.retryDelay??Ffe,O=typeof S=="function"?S(n,w):S,E=x===!0||typeof x=="number"&&nl()?void 0:p()).then(()=>{t?h(w):m()})})};return{promise:o,cancel:a,continue:()=>(i?.(),o),cancelRetry:s,continueRetry:u,canStart:c,start:()=>(c()?m():p().then(m),o)}}function jfe(){let e=[],t=0,n=s=>{s()},r=s=>{s()},i=s=>setTimeout(s,0);const o=s=>{t?e.push(s):i(()=>{n(s)})},a=()=>{const s=e;e=[],s.length&&i(()=>{r(()=>{s.forEach(u=>{n(u)})})})};return{batch:s=>{let u;t++;try{u=s()}finally{t--,t||a()}return u},batchCalls:s=>(...u)=>{o(()=>{s(...u)})},schedule:o,setNotifyFunction:s=>{n=s},setBatchNotifyFunction:s=>{r=s},setScheduler:s=>{i=s}}}var Ur=jfe(),Yj=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),qC(this.gcTime)&&(this.#e=setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(Kc?1/0:5*60*1e3))}clearGcTimeout(){this.#e&&(clearTimeout(this.#e),this.#e=void 0)}},Bfe=class extends Yj{#e;#t;#r;#n;#a;#o;constructor(e){super(),this.#o=!1,this.#a=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#r=e.cache,this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#e=zfe(this.options),this.state=e.state??this.#e,this.scheduleGc()}get meta(){return this.options.meta}get promise(){return this.#n?.promise}setOptions(e){this.options={...this.#a,...e},this.updateGcTime(this.options.gcTime)}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&this.#r.remove(this)}setData(e,t){const n=YC(this.state.data,e,this.options);return this.#i({data:n,type:"success",dataUpdatedAt:t?.updatedAt,manual:t?.manual}),n}setState(e,t){this.#i({type:"setState",state:e,setStateOptions:t})}cancel(e){const t=this.#n?.promise;return this.#n?.cancel(e),t?t.then(oa).catch(oa):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.#e)}isActive(){return this.observers.some(e=>Na(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===N5||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStale(){return this.state.isInvalidated?!0:this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0}isStaleByTime(e=0){return this.state.isInvalidated||this.state.data===void 0||!Vj(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(t=>t.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#n?.continue()}onOnline(){this.observers.find(t=>t.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#n?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#r.notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(this.#n&&(this.#o?this.#n.cancel({revert:!0}):this.#n.cancelRetry()),this.scheduleGc()),this.#r.notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.#i({type:"invalidate"})}fetch(e,t){if(this.state.fetchStatus!=="idle"){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#n)return this.#n.continueRetry(),this.#n.promise}if(e&&this.setOptions(e),!this.options.queryFn){const s=this.observers.find(u=>u.options.queryFn);s&&this.setOptions(s.options)}const n=new AbortController,r=s=>{Object.defineProperty(s,"signal",{enumerable:!0,get:()=>(this.#o=!0,n.signal)})},i=()=>{const s=Hj(this.options,t),u={queryKey:this.queryKey,meta:this.meta};return r(u),this.#o=!1,this.options.persister?this.options.persister(s,u,this):s(u)},o={fetchOptions:t,options:this.options,queryKey:this.queryKey,state:this.state,fetchFn:i};r(o),this.options.behavior?.onFetch(o,this),this.#t=this.state,(this.state.fetchStatus==="idle"||this.state.fetchMeta!==o.fetchOptions?.meta)&&this.#i({type:"fetch",meta:o.fetchOptions?.meta});const a=s=>{dS(s)&&s.silent||this.#i({type:"error",error:s}),dS(s)||(this.#r.config.onError?.(s,this),this.#r.config.onSettled?.(this.state.data,s,this)),this.scheduleGc()};return this.#n=Gj({initialPromise:t?.initialPromise,fn:o.fetchFn,abort:n.abort.bind(n),onSuccess:s=>{if(s===void 0){a(new Error(`${this.queryHash} data is undefined`));return}try{this.setData(s)}catch(u){a(u);return}this.#r.config.onSuccess?.(s,this),this.#r.config.onSettled?.(s,this.state.error,this),this.scheduleGc()},onError:a,onFail:(s,u)=>{this.#i({type:"failed",failureCount:s,error:u})},onPause:()=>{this.#i({type:"pause"})},onContinue:()=>{this.#i({type:"continue"})},retry:o.options.retry,retryDelay:o.options.retryDelay,networkMode:o.options.networkMode,canRun:()=>!0}),this.#n.start()}#i(e){const t=n=>{switch(e.type){case"failed":return{...n,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...n,fetchStatus:"paused"};case"continue":return{...n,fetchStatus:"fetching"};case"fetch":return{...n,...Zj(n.data,this.options),fetchMeta:e.meta??null};case"success":return{...n,data:e.data,dataUpdateCount:n.dataUpdateCount+1,dataUpdatedAt:e.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const r=e.error;return dS(r)&&r.revert&&this.#t?{...this.#t,fetchStatus:"idle"}:{...n,error:r,errorUpdateCount:n.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:n.fetchFailureCount+1,fetchFailureReason:r,fetchStatus:"idle",status:"error"};case"invalidate":return{...n,isInvalidated:!0};case"setState":return{...n,...e.state}}};this.state=t(this.state),Ur.batch(()=>{this.observers.forEach(n=>{n.onQueryUpdate()}),this.#r.notify({query:this,type:"updated",action:e})})}};function Zj(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Kj(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function zfe(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"pending",fetchStatus:"idle"}}var Ufe=class extends Ih{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,n){const r=t.queryKey,i=t.queryHash??I5(r,t);let o=this.get(i);return o||(o=new Bfe({cache:this,queryKey:r,queryHash:i,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(o)),o}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){const t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){Ur.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){const t={exact:!0,...e};return this.getAll().find(n=>tR(t,n))}findAll(e={}){const t=this.getAll();return Object.keys(e).length>0?t.filter(n=>tR(e,n)):t}notify(e){Ur.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){Ur.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){Ur.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},Vfe=class extends Yj{#e;#t;#r;constructor(e){super(),this.mutationId=e.mutationId,this.#t=e.mutationCache,this.#e=[],this.state=e.state||Xj(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#e.includes(e)||(this.#e.push(e),this.clearGcTimeout(),this.#t.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.#e=this.#e.filter(t=>t!==e),this.scheduleGc(),this.#t.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.#e.length||(this.state.status==="pending"?this.scheduleGc():this.#t.remove(this))}continue(){return this.#r?.continue()??this.execute(this.state.variables)}async execute(e){this.#r=Gj({fn:()=>this.options.mutationFn?this.options.mutationFn(e):Promise.reject(new Error("No mutationFn found")),onFail:(r,i)=>{this.#n({type:"failed",failureCount:r,error:i})},onPause:()=>{this.#n({type:"pause"})},onContinue:()=>{this.#n({type:"continue"})},retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#t.canRun(this)});const t=this.state.status==="pending",n=!this.#r.canStart();try{if(!t){this.#n({type:"pending",variables:e,isPaused:n}),await this.#t.config.onMutate?.(e,this);const i=await this.options.onMutate?.(e);i!==this.state.context&&this.#n({type:"pending",context:i,variables:e,isPaused:n})}const r=await this.#r.start();return await this.#t.config.onSuccess?.(r,e,this.state.context,this),await this.options.onSuccess?.(r,e,this.state.context),await this.#t.config.onSettled?.(r,null,this.state.variables,this.state.context,this),await this.options.onSettled?.(r,null,e,this.state.context),this.#n({type:"success",data:r}),r}catch(r){try{throw await this.#t.config.onError?.(r,e,this.state.context,this),await this.options.onError?.(r,e,this.state.context),await this.#t.config.onSettled?.(void 0,r,this.state.variables,this.state.context,this),await this.options.onSettled?.(void 0,r,e,this.state.context),r}finally{this.#n({type:"error",error:r})}}finally{this.#t.runNext(this)}}#n(e){const t=n=>{switch(e.type){case"failed":return{...n,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...n,isPaused:!0};case"continue":return{...n,isPaused:!1};case"pending":return{...n,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...n,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...n,data:void 0,error:e.error,failureCount:n.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}};this.state=t(this.state),Ur.batch(()=>{this.#e.forEach(n=>{n.onMutationUpdate(e)}),this.#t.notify({mutation:this,type:"updated",action:e})})}};function Xj(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var Wfe=class extends Ih{constructor(e={}){super(),this.config=e,this.#e=new Map,this.#t=Date.now()}#e;#t;build(e,t,n){const r=new Vfe({mutationCache:this,mutationId:++this.#t,options:e.defaultMutationOptions(t),state:n});return this.add(r),r}add(e){const t=n1(e),n=this.#e.get(t)??[];n.push(e),this.#e.set(t,n),this.notify({type:"added",mutation:e})}remove(e){const t=n1(e);if(this.#e.has(t)){const n=this.#e.get(t)?.filter(r=>r!==e);n&&(n.length===0?this.#e.delete(t):this.#e.set(t,n))}this.notify({type:"removed",mutation:e})}canRun(e){const t=this.#e.get(n1(e))?.find(n=>n.state.status==="pending");return!t||t===e}runNext(e){return this.#e.get(n1(e))?.find(n=>n!==e&&n.state.isPaused)?.continue()??Promise.resolve()}clear(){Ur.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}getAll(){return[...this.#e.values()].flat()}find(e){const t={exact:!0,...e};return this.getAll().find(n=>nR(t,n))}findAll(e={}){return this.getAll().filter(t=>nR(e,t))}notify(e){Ur.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){const e=this.getAll().filter(t=>t.state.isPaused);return Ur.batch(()=>Promise.all(e.map(t=>t.continue().catch(oa))))}};function n1(e){return e.options.scope?.id??String(e.mutationId)}function oR(e){return{onFetch:(t,n)=>{const r=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,o=t.state.data?.pages||[],a=t.state.data?.pageParams||[];let s={pages:[],pageParams:[]},u=0;const l=async()=>{let c=!1;const f=m=>{Object.defineProperty(m,"signal",{enumerable:!0,get:()=>(t.signal.aborted?c=!0:t.signal.addEventListener("abort",()=>{c=!0}),t.signal)})},h=Hj(t.options,t.fetchOptions),p=async(m,v,b)=>{if(c)return Promise.reject();if(v==null&&m.pages.length)return Promise.resolve(m);const w={queryKey:t.queryKey,pageParam:v,direction:b?"backward":"forward",meta:t.options.meta};f(w);const x=await h(w),{maxPages:S}=t.options,O=b?Ife:$fe;return{pages:O(m.pages,x,S),pageParams:O(m.pageParams,v,S)}};if(i&&o.length){const m=i==="backward",v=m?Hfe:aR,b={pages:o,pageParams:a},w=v(r,b);s=await p(b,w,m)}else{const m=e??o.length;do{const v=u===0?a[0]??r.initialPageParam:aR(r,s);if(u>0&&v==null)break;s=await p(s,v),u++}while(ut.options.persister?.(l,{queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n):t.fetchFn=l}}}function aR(e,{pages:t,pageParams:n}){const r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function Hfe(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}var kYe=class{#e;#t;#r;#n;#a;#o;#i;#s;constructor(e={}){this.#e=e.queryCache||new Ufe,this.#t=e.mutationCache||new Wfe,this.#r=e.defaultOptions||{},this.#n=new Map,this.#a=new Map,this.#o=0}mount(){this.#o++,this.#o===1&&(this.#i=L5.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=Vy.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#o--,this.#o===0&&(this.#i?.(),this.#i=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return this.#t.findAll({...e,status:"pending"}).length}getQueryData(e){const t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),n=this.#e.build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(Od(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:t,state:n})=>{const r=n.data;return[t,r]})}setQueryData(e,t,n){const r=this.defaultQueryOptions({queryKey:e}),o=this.#e.get(r.queryHash)?.state.data,a=Rfe(t,o);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return Ur.batch(()=>this.#e.findAll(e).map(({queryKey:r})=>[r,this.setQueryData(r,t,n)]))}getQueryState(e){const t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){const t=this.#e;Ur.batch(()=>{t.findAll(e).forEach(n=>{t.remove(n)})})}resetQueries(e,t){const n=this.#e,r={type:"active",...e};return Ur.batch(()=>(n.findAll(e).forEach(i=>{i.reset()}),this.refetchQueries(r,t)))}cancelQueries(e,t={}){const n={revert:!0,...t},r=Ur.batch(()=>this.#e.findAll(e).map(i=>i.cancel(n)));return Promise.all(r).then(oa).catch(oa)}invalidateQueries(e,t={}){return Ur.batch(()=>{if(this.#e.findAll(e).forEach(r=>{r.invalidate()}),e?.refetchType==="none")return Promise.resolve();const n={...e,type:e?.refetchType??e?.type??"active"};return this.refetchQueries(n,t)})}refetchQueries(e,t={}){const n={...t,cancelRefetch:t.cancelRefetch??!0},r=Ur.batch(()=>this.#e.findAll(e).filter(i=>!i.isDisabled()).map(i=>{let o=i.fetch(void 0,n);return n.throwOnError||(o=o.catch(oa)),i.state.fetchStatus==="paused"?Promise.resolve():o}));return Promise.all(r).then(oa)}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const n=this.#e.build(this,t);return n.isStaleByTime(Od(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(oa).catch(oa)}fetchInfiniteQuery(e){return e.behavior=oR(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(oa).catch(oa)}ensureInfiniteQueryData(e){return e.behavior=oR(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return Vy.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#r}setDefaultOptions(e){this.#r=e}setQueryDefaults(e,t){this.#n.set(qc(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...this.#n.values()],n={};return t.forEach(r=>{eg(e,r.queryKey)&&Object.assign(n,r.defaultOptions)}),n}setMutationDefaults(e,t){this.#a.set(qc(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...this.#a.values()];let n={};return t.forEach(r=>{eg(e,r.mutationKey)&&(n={...n,...r.defaultOptions})}),n}defaultQueryOptions(e){if(e._defaulted)return e;const t={...this.#r.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=I5(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===N5&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#r.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},Kfe=class extends Ih{constructor(e,t){super(),this.options=t,this.#e=e,this.#s=null,this.#i=ZC(),this.options.experimental_prefetchInRender||this.#i.reject(new Error("experimental_prefetchInRender feature flag is not enabled")),this.bindMethods(),this.setOptions(t)}#e;#t=void 0;#r=void 0;#n=void 0;#a;#o;#i;#s;#g;#d;#h;#l;#c;#u;#p=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),sR(this.#t,this.options)?this.#f():this.updateResult(),this.#b())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return XC(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return XC(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#x(),this.#w(),this.#t.removeObserver(this)}setOptions(e,t){const n=this.options,r=this.#t;if(this.options=this.#e.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof Na(this.options.enabled,this.#t)!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#_(),this.#t.setOptions(this.options),n._defaulted&&!Uy(this.options,n)&&this.#e.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#t,observer:this});const i=this.hasListeners();i&&uR(this.#t,r,this.options,n)&&this.#f(),this.updateResult(t),i&&(this.#t!==r||Na(this.options.enabled,this.#t)!==Na(n.enabled,this.#t)||Od(this.options.staleTime,this.#t)!==Od(n.staleTime,this.#t))&&this.#m();const o=this.#v();i&&(this.#t!==r||Na(this.options.enabled,this.#t)!==Na(n.enabled,this.#t)||o!==this.#u)&&this.#y(o)}getOptimisticResult(e){const t=this.#e.getQueryCache().build(this.#e,e),n=this.createResult(t,e);return Gfe(this,n)&&(this.#n=n,this.#o=this.options,this.#a=this.#t.state),n}getCurrentResult(){return this.#n}trackResult(e,t){const n={};return Object.keys(e).forEach(r=>{Object.defineProperty(n,r,{configurable:!1,enumerable:!0,get:()=>(this.trackProp(r),t?.(r),e[r])})}),n}trackProp(e){this.#p.add(e)}getCurrentQuery(){return this.#t}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){const t=this.#e.defaultQueryOptions(e),n=this.#e.getQueryCache().build(this.#e,t);return n.fetch().then(()=>this.createResult(n,t))}fetch(e){return this.#f({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#n))}#f(e){this.#_();let t=this.#t.fetch(this.options,e);return e?.throwOnError||(t=t.catch(oa)),t}#m(){this.#x();const e=Od(this.options.staleTime,this.#t);if(Kc||this.#n.isStale||!qC(e))return;const n=Vj(this.#n.dataUpdatedAt,e)+1;this.#l=setTimeout(()=>{this.#n.isStale||this.updateResult()},n)}#v(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#y(e){this.#w(),this.#u=e,!(Kc||Na(this.options.enabled,this.#t)===!1||!qC(this.#u)||this.#u===0)&&(this.#c=setInterval(()=>{(this.options.refetchIntervalInBackground||L5.isFocused())&&this.#f()},this.#u))}#b(){this.#m(),this.#y(this.#v())}#x(){this.#l&&(clearTimeout(this.#l),this.#l=void 0)}#w(){this.#c&&(clearInterval(this.#c),this.#c=void 0)}createResult(e,t){const n=this.#t,r=this.options,i=this.#n,o=this.#a,a=this.#o,u=e!==n?e.state:this.#r,{state:l}=e;let c={...l},f=!1,h;if(t._optimisticResults){const k=this.hasListeners(),M=!k&&sR(e,t),L=k&&uR(e,n,t,r);(M||L)&&(c={...c,...Zj(l.data,e.options)}),t._optimisticResults==="isRestoring"&&(c.fetchStatus="idle")}let{error:p,errorUpdatedAt:m,status:v}=c;if(t.select&&c.data!==void 0)if(i&&c.data===o?.data&&t.select===this.#g)h=this.#d;else try{this.#g=t.select,h=t.select(c.data),h=YC(i?.data,h,t),this.#d=h,this.#s=null}catch(k){this.#s=k}else h=c.data;if(t.placeholderData!==void 0&&h===void 0&&v==="pending"){let k;if(i?.isPlaceholderData&&t.placeholderData===a?.placeholderData)k=i.data;else if(k=typeof t.placeholderData=="function"?t.placeholderData(this.#h?.state.data,this.#h):t.placeholderData,t.select&&k!==void 0)try{k=t.select(k),this.#s=null}catch(M){this.#s=M}k!==void 0&&(v="success",h=YC(i?.data,k,t),f=!0)}this.#s&&(p=this.#s,h=this.#d,m=Date.now(),v="error");const b=c.fetchStatus==="fetching",w=v==="pending",x=v==="error",S=w&&b,O=h!==void 0,C={status:v,fetchStatus:c.fetchStatus,isPending:w,isSuccess:v==="success",isError:x,isInitialLoading:S,isLoading:S,data:h,dataUpdatedAt:c.dataUpdatedAt,error:p,errorUpdatedAt:m,failureCount:c.fetchFailureCount,failureReason:c.fetchFailureReason,errorUpdateCount:c.errorUpdateCount,isFetched:c.dataUpdateCount>0||c.errorUpdateCount>0,isFetchedAfterMount:c.dataUpdateCount>u.dataUpdateCount||c.errorUpdateCount>u.errorUpdateCount,isFetching:b,isRefetching:b&&!w,isLoadingError:x&&!O,isPaused:c.fetchStatus==="paused",isPlaceholderData:f,isRefetchError:x&&O,isStale:F5(e,t),refetch:this.refetch,promise:this.#i};if(this.options.experimental_prefetchInRender){const k=U=>{C.status==="error"?U.reject(C.error):C.data!==void 0&&U.resolve(C.data)},M=()=>{const U=this.#i=C.promise=ZC();k(U)},L=this.#i;switch(L.status){case"pending":e.queryHash===n.queryHash&&k(L);break;case"fulfilled":(C.status==="error"||C.data!==L.value)&&M();break;case"rejected":(C.status!=="error"||C.error!==L.reason)&&M();break}}return C}updateResult(e){const t=this.#n,n=this.createResult(this.#t,this.options);if(this.#a=this.#t.state,this.#o=this.options,this.#a.data!==void 0&&(this.#h=this.#t),Uy(n,t))return;this.#n=n;const r={},i=()=>{if(!t)return!0;const{notifyOnChangeProps:o}=this.options,a=typeof o=="function"?o():o;if(a==="all"||!a&&!this.#p.size)return!0;const s=new Set(a??this.#p);return this.options.throwOnError&&s.add("error"),Object.keys(this.#n).some(u=>{const l=u;return this.#n[l]!==t[l]&&s.has(l)})};e?.listeners!==!1&&i()&&(r.listeners=!0),this.#S({...r,...e})}#_(){const e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#t)return;const t=this.#t;this.#t=e,this.#r=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#b()}#S(e){Ur.batch(()=>{e.listeners&&this.listeners.forEach(t=>{t(this.#n)}),this.#e.getQueryCache().notify({query:this.#t,type:"observerResultsUpdated"})})}};function qfe(e,t){return Na(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&t.retryOnMount===!1)}function sR(e,t){return qfe(e,t)||e.state.data!==void 0&&XC(e,t,t.refetchOnMount)}function XC(e,t,n){if(Na(t.enabled,e)!==!1){const r=typeof n=="function"?n(e):n;return r==="always"||r!==!1&&F5(e,t)}return!1}function uR(e,t,n,r){return(e!==t||Na(r.enabled,e)===!1)&&(!n.suspense||e.state.status!=="error")&&F5(e,n)}function F5(e,t){return Na(t.enabled,e)!==!1&&e.isStaleByTime(Od(t.staleTime,e))}function Gfe(e,t){return!Uy(e.getCurrentResult(),t)}var Yfe=class extends Ih{#e;#t=void 0;#r;#n;constructor(t,n){super(),this.#e=t,this.setOptions(n),this.bindMethods(),this.#a()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(t){const n=this.options;this.options=this.#e.defaultMutationOptions(t),Uy(this.options,n)||this.#e.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#r,observer:this}),n?.mutationKey&&this.options.mutationKey&&qc(n.mutationKey)!==qc(this.options.mutationKey)?this.reset():this.#r?.state.status==="pending"&&this.#r.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#r?.removeObserver(this)}onMutationUpdate(t){this.#a(),this.#o(t)}getCurrentResult(){return this.#t}reset(){this.#r?.removeObserver(this),this.#r=void 0,this.#a(),this.#o()}mutate(t,n){return this.#n=n,this.#r?.removeObserver(this),this.#r=this.#e.getMutationCache().build(this.#e,this.options),this.#r.addObserver(this),this.#r.execute(t)}#a(){const t=this.#r?.state??Xj();this.#t={...t,isPending:t.status==="pending",isSuccess:t.status==="success",isError:t.status==="error",isIdle:t.status==="idle",mutate:this.mutate,reset:this.reset}}#o(t){Ur.batch(()=>{if(this.#n&&this.hasListeners()){const n=this.#t.variables,r=this.#t.context;t?.type==="success"?(this.#n.onSuccess?.(t.data,n,r),this.#n.onSettled?.(t.data,null,n,r)):t?.type==="error"&&(this.#n.onError?.(t.error,n,r),this.#n.onSettled?.(void 0,t.error,n,r))}this.listeners.forEach(n=>{n(this.#t)})})}},Qj=y.createContext(void 0),Jj=e=>{const t=y.useContext(Qj);if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},MYe=({client:e,children:t})=>(y.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),I.jsx(Qj.Provider,{value:e,children:t})),eB=y.createContext(!1),Zfe=()=>y.useContext(eB);eB.Provider;function Xfe(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var Qfe=y.createContext(Xfe()),Jfe=()=>y.useContext(Qfe);function tB(e,t){return typeof e=="function"?e(...t):!!e}function QC(){}var ede=(e,t)=>{(e.suspense||e.throwOnError||e.experimental_prefetchInRender)&&(t.isReset()||(e.retryOnMount=!1))},tde=e=>{y.useEffect(()=>{e.clearReset()},[e])},nde=({result:e,errorResetBoundary:t,throwOnError:n,query:r})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&tB(n,[e.error,r]),rde=e=>{e.suspense&&(e.staleTime===void 0&&(e.staleTime=1e3),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3)))},ide=(e,t)=>e.isLoading&&e.isFetching&&!t,ode=(e,t)=>e?.suspense&&t.isPending,lR=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function ade(e,t,n){const r=Jj(),i=Zfe(),o=Jfe(),a=r.defaultQueryOptions(e);r.getDefaultOptions().queries?._experimental_beforeQuery?.(a),a._optimisticResults=i?"isRestoring":"optimistic",rde(a),ede(a,o),tde(o);const s=!r.getQueryCache().get(a.queryHash),[u]=y.useState(()=>new t(r,a)),l=u.getOptimisticResult(a);if(y.useSyncExternalStore(y.useCallback(c=>{const f=i?QC:u.subscribe(Ur.batchCalls(c));return u.updateResult(),f},[u,i]),()=>u.getCurrentResult(),()=>u.getCurrentResult()),y.useEffect(()=>{u.setOptions(a,{listeners:!1})},[a,u]),ode(a,l))throw lR(a,u,o);if(nde({result:l,errorResetBoundary:o,throwOnError:a.throwOnError,query:r.getQueryCache().get(a.queryHash)}))throw l.error;return r.getDefaultOptions().queries?._experimental_afterQuery?.(a,l),a.experimental_prefetchInRender&&!Kc&&ide(l,i)&&(s?lR(a,u,o):r.getQueryCache().get(a.queryHash)?.promise)?.catch(QC).finally(()=>{u.updateResult()}),a.notifyOnChangeProps?l:u.trackResult(l)}function RYe(e,t){return ade(e,Kfe)}function DYe(e,t){const n=Jj(),[r]=y.useState(()=>new Yfe(n,e));y.useEffect(()=>{r.setOptions(e)},[r,e]);const i=y.useSyncExternalStore(y.useCallback(a=>r.subscribe(Ur.batchCalls(a)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),o=y.useCallback((a,s)=>{r.mutate(a,s).catch(QC)},[r]);if(i.error&&tB(r.options.throwOnError,[i.error]))throw i.error;return{...i,mutate:o,mutateAsync:i.mutate}}const It=e=>typeof e=="string",$p=()=>{let e,t;const n=new Promise((r,i)=>{e=r,t=i});return n.resolve=e,n.reject=t,n},cR=e=>e==null?"":""+e,sde=(e,t,n)=>{e.forEach(r=>{t[r]&&(n[r]=t[r])})},ude=/###/g,fR=e=>e&&e.indexOf("###")>-1?e.replace(ude,"."):e,dR=e=>!e||It(e),x0=(e,t,n)=>{const r=It(t)?t.split("."):t;let i=0;for(;i{const{obj:r,k:i}=x0(e,t,Object);if(r!==void 0||t.length===1){r[i]=n;return}let o=t[t.length-1],a=t.slice(0,t.length-1),s=x0(e,a,Object);for(;s.obj===void 0&&a.length;)o=`${a[a.length-1]}.${o}`,a=a.slice(0,a.length-1),s=x0(e,a,Object),s?.obj&&typeof s.obj[`${s.k}.${o}`]<"u"&&(s.obj=void 0);s.obj[`${s.k}.${o}`]=n},lde=(e,t,n,r)=>{const{obj:i,k:o}=x0(e,t,Object);i[o]=i[o]||[],i[o].push(n)},Wy=(e,t)=>{const{obj:n,k:r}=x0(e,t);if(n&&Object.prototype.hasOwnProperty.call(n,r))return n[r]},cde=(e,t,n)=>{const r=Wy(e,n);return r!==void 0?r:Wy(t,n)},nB=(e,t,n)=>{for(const r in t)r!=="__proto__"&&r!=="constructor"&&(r in e?It(e[r])||e[r]instanceof String||It(t[r])||t[r]instanceof String?n&&(e[r]=t[r]):nB(e[r],t[r],n):e[r]=t[r]);return e},Bf=e=>e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var fde={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};const dde=e=>It(e)?e.replace(/[&<>"'\/]/g,t=>fde[t]):e;class hde{constructor(t){this.capacity=t,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(t){const n=this.regExpMap.get(t);if(n!==void 0)return n;const r=new RegExp(t);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(t,r),this.regExpQueue.push(t),r}}const pde=[" ",",","?","!",";"],gde=new hde(20),mde=(e,t,n)=>{t=t||"",n=n||"";const r=pde.filter(a=>t.indexOf(a)<0&&n.indexOf(a)<0);if(r.length===0)return!0;const i=gde.getRegExp(`(${r.map(a=>a==="?"?"\\?":a).join("|")})`);let o=!i.test(e);if(!o){const a=e.indexOf(n);a>0&&!i.test(e.substring(0,a))&&(o=!0)}return o},JC=function(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!e)return;if(e[t])return Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0;const r=t.split(n);let i=e;for(let o=0;o-1&&ue?.replace("_","-"),vde={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console?.[e]?.apply?.(console,t)}};let yde=class eE{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(t,n)}init(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=n.prefix||"i18next:",this.logger=t||vde,this.options=n,this.debug=n.debug}log(){for(var t=arguments.length,n=new Array(t),r=0;r{this.observers[r]||(this.observers[r]=new Map);const i=this.observers[r].get(n)||0;this.observers[r].set(n,i+1)}),this}off(t,n){if(this.observers[t]){if(!n){delete this.observers[t];return}this.observers[t].delete(n)}}emit(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i{let[s,u]=a;for(let l=0;l{let[s,u]=a;for(let l=0;l1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=t||{},this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(t){this.options.ns.indexOf(t)<0&&this.options.ns.push(t)}removeNamespaces(t){const n=this.options.ns.indexOf(t);n>-1&&this.options.ns.splice(n,1)}getResource(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const o=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,a=i.ignoreJSONStructure!==void 0?i.ignoreJSONStructure:this.options.ignoreJSONStructure;let s;t.indexOf(".")>-1?s=t.split("."):(s=[t,n],r&&(Array.isArray(r)?s.push(...r):It(r)&&o?s.push(...r.split(o)):s.push(r)));const u=Wy(this.data,s);return!u&&!n&&!r&&t.indexOf(".")>-1&&(t=s[0],n=s[1],r=s.slice(2).join(".")),u||!a||!It(r)?u:JC(this.data?.[t]?.[n],r,o)}addResource(t,n,r,i){let o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const a=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator;let s=[t,n];r&&(s=s.concat(a?r.split(a):r)),t.indexOf(".")>-1&&(s=t.split("."),i=n,n=s[1]),this.addNamespaces(n),hR(this.data,s,i),o.silent||this.emit("added",t,n,r,i)}addResources(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const o in r)(It(r[o])||Array.isArray(r[o]))&&this.addResource(t,n,o,r[o],{silent:!0});i.silent||this.emit("added",t,n,r)}addResourceBundle(t,n,r,i,o){let a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1,skipCopy:!1},s=[t,n];t.indexOf(".")>-1&&(s=t.split("."),i=r,r=n,n=s[1]),this.addNamespaces(n);let u=Wy(this.data,s)||{};a.skipCopy||(r=JSON.parse(JSON.stringify(r))),i?nB(u,r,o):u={...u,...r},hR(this.data,s,u),a.silent||this.emit("added",t,n,r)}removeResourceBundle(t,n){this.hasResourceBundle(t,n)&&delete this.data[t][n],this.removeNamespaces(n),this.emit("removed",t,n)}hasResourceBundle(t,n){return this.getResource(t,n)!==void 0}getResourceBundle(t,n){return n||(n=this.options.defaultNS),this.getResource(t,n)}getDataByLanguage(t){return this.data[t]}hasLanguageSomeTranslations(t){const n=this.getDataByLanguage(t);return!!(n&&Object.keys(n)||[]).find(i=>n[i]&&Object.keys(n[i]).length>0)}toJSON(){return this.data}}var rB={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,i){return e.forEach(o=>{t=this.processors[o]?.process(t,n,r,i)??t}),t}};const gR={};class Ky extends Jx{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),sde(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],t,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=ms.create("translator")}changeLanguage(t){t&&(this.language=t)}exists(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};return t==null?!1:this.resolve(t,n)?.res!==void 0}extractFromKey(t,n){let r=n.nsSeparator!==void 0?n.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const i=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator;let o=n.ns||this.options.defaultNS||[];const a=r&&t.indexOf(r)>-1,s=!this.options.userDefinedKeySeparator&&!n.keySeparator&&!this.options.userDefinedNsSeparator&&!n.nsSeparator&&!mde(t,r,i);if(a&&!s){const u=t.match(this.interpolator.nestingRegexp);if(u&&u.length>0)return{key:t,namespaces:It(o)?[o]:o};const l=t.split(r);(r!==i||r===i&&this.options.ns.indexOf(l[0])>-1)&&(o=l.shift()),t=l.join(i)}return{key:t,namespaces:It(o)?[o]:o}}translate(t,n,r){if(typeof n!="object"&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),typeof n=="object"&&(n={...n}),n||(n={}),t==null)return"";Array.isArray(t)||(t=[String(t)]);const i=n.returnDetails!==void 0?n.returnDetails:this.options.returnDetails,o=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator,{key:a,namespaces:s}=this.extractFromKey(t[t.length-1],n),u=s[s.length-1],l=n.lng||this.language,c=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(l?.toLowerCase()==="cimode"){if(c){const O=n.nsSeparator||this.options.nsSeparator;return i?{res:`${u}${O}${a}`,usedKey:a,exactUsedKey:a,usedLng:l,usedNS:u,usedParams:this.getUsedParamsDetails(n)}:`${u}${O}${a}`}return i?{res:a,usedKey:a,exactUsedKey:a,usedLng:l,usedNS:u,usedParams:this.getUsedParamsDetails(n)}:a}const f=this.resolve(t,n);let h=f?.res;const p=f?.usedKey||a,m=f?.exactUsedKey||a,v=Object.prototype.toString.apply(h),b=["[object Number]","[object Function]","[object RegExp]"],w=n.joinArrays!==void 0?n.joinArrays:this.options.joinArrays,x=!this.i18nFormat||this.i18nFormat.handleAsObject,S=!It(h)&&typeof h!="boolean"&&typeof h!="number";if(x&&h&&S&&b.indexOf(v)<0&&!(It(w)&&Array.isArray(h))){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const O=this.options.returnedObjectHandler?this.options.returnedObjectHandler(p,h,{...n,ns:s}):`key '${a} (${this.language})' returned an object instead of string.`;return i?(f.res=O,f.usedParams=this.getUsedParamsDetails(n),f):O}if(o){const O=Array.isArray(h),E=O?[]:{},C=O?m:p;for(const k in h)if(Object.prototype.hasOwnProperty.call(h,k)){const M=`${C}${o}${k}`;E[k]=this.translate(M,{...n,joinArrays:!1,ns:s}),E[k]===M&&(E[k]=h[k])}h=E}}else if(x&&It(w)&&Array.isArray(h))h=h.join(w),h&&(h=this.extendTranslation(h,t,n,r));else{let O=!1,E=!1;const C=n.count!==void 0&&!It(n.count),k=Ky.hasDefaultValue(n),M=C?this.pluralResolver.getSuffix(l,n.count,n):"",L=n.ordinal&&C?this.pluralResolver.getSuffix(l,n.count,{ordinal:!1}):"",U=C&&!n.ordinal&&n.count===0,H=U&&n[`defaultValue${this.options.pluralSeparator}zero`]||n[`defaultValue${M}`]||n[`defaultValue${L}`]||n.defaultValue;!this.isValidLookup(h)&&k&&(O=!0,h=H),this.isValidLookup(h)||(E=!0,h=a);const ne=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&E?void 0:h,Z=k&&H!==h&&this.options.updateMissing;if(E||O||Z){if(this.logger.log(Z?"updateKey":"missingKey",l,u,a,Z?H:h),o){const j=this.resolve(a,{...n,keySeparator:!1});j&&j.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let G=[];const q=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if(this.options.saveMissingTo==="fallback"&&q&&q[0])for(let j=0;j{const oe=k&&Y!==h?Y:ne;this.options.missingKeyHandler?this.options.missingKeyHandler(j,u,K,oe,Z,n):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(j,u,K,oe,Z,n),this.emit("missingKey",j,u,K,h)};this.options.saveMissing&&(this.options.saveMissingPlurals&&C?G.forEach(j=>{const K=this.pluralResolver.getSuffixes(j,n);U&&n[`defaultValue${this.options.pluralSeparator}zero`]&&K.indexOf(`${this.options.pluralSeparator}zero`)<0&&K.push(`${this.options.pluralSeparator}zero`),K.forEach(Y=>{W([j],a+Y,n[`defaultValue${Y}`]||H)})}):W(G,a,H))}h=this.extendTranslation(h,t,n,f,r),E&&h===a&&this.options.appendNamespaceToMissingKey&&(h=`${u}:${a}`),(E||O)&&this.options.parseMissingKeyHandler&&(h=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${u}:${a}`:a,O?h:void 0))}return i?(f.res=h,f.usedParams=this.getUsedParamsDetails(n),f):h}extendTranslation(t,n,r,i,o){var a=this;if(this.i18nFormat?.parse)t=this.i18nFormat.parse(t,{...this.options.interpolation.defaultVariables,...r},r.lng||this.language||i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const l=It(t)&&(r?.interpolation?.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let c;if(l){const h=t.match(this.interpolator.nestingRegexp);c=h&&h.length}let f=r.replace&&!It(r.replace)?r.replace:r;if(this.options.interpolation.defaultVariables&&(f={...this.options.interpolation.defaultVariables,...f}),t=this.interpolator.interpolate(t,f,r.lng||this.language||i.usedLng,r),l){const h=t.match(this.interpolator.nestingRegexp),p=h&&h.length;c1&&arguments[1]!==void 0?arguments[1]:{},r,i,o,a,s;return It(t)&&(t=[t]),t.forEach(u=>{if(this.isValidLookup(r))return;const l=this.extractFromKey(u,n),c=l.key;i=c;let f=l.namespaces;this.options.fallbackNS&&(f=f.concat(this.options.fallbackNS));const h=n.count!==void 0&&!It(n.count),p=h&&!n.ordinal&&n.count===0,m=n.context!==void 0&&(It(n.context)||typeof n.context=="number")&&n.context!=="",v=n.lngs?n.lngs:this.languageUtils.toResolveHierarchy(n.lng||this.language,n.fallbackLng);f.forEach(b=>{this.isValidLookup(r)||(s=b,!gR[`${v[0]}-${b}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(s)&&(gR[`${v[0]}-${b}`]=!0,this.logger.warn(`key "${i}" for languages "${v.join(", ")}" won't get resolved as namespace "${s}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),v.forEach(w=>{if(this.isValidLookup(r))return;a=w;const x=[c];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(x,c,w,b,n);else{let O;h&&(O=this.pluralResolver.getSuffix(w,n.count,n));const E=`${this.options.pluralSeparator}zero`,C=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(h&&(x.push(c+O),n.ordinal&&O.indexOf(C)===0&&x.push(c+O.replace(C,this.options.pluralSeparator)),p&&x.push(c+E)),m){const k=`${c}${this.options.contextSeparator}${n.context}`;x.push(k),h&&(x.push(k+O),n.ordinal&&O.indexOf(C)===0&&x.push(k+O.replace(C,this.options.pluralSeparator)),p&&x.push(k+E))}}let S;for(;S=x.pop();)this.isValidLookup(r)||(o=S,r=this.getResource(w,b,S,n))}))})}),{res:r,usedKey:i,exactUsedKey:o,usedLng:a,usedNS:s}}isValidLookup(t){return t!==void 0&&!(!this.options.returnNull&&t===null)&&!(!this.options.returnEmptyString&&t==="")}getResource(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat?.getResource?this.i18nFormat.getResource(t,n,r,i):this.resourceStore.getResource(t,n,r,i)}getUsedParamsDetails(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const n=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],r=t.replace&&!It(t.replace);let i=r?t.replace:t;if(r&&typeof t.count<"u"&&(i.count=t.count),this.options.interpolation.defaultVariables&&(i={...this.options.interpolation.defaultVariables,...i}),!r){i={...i};for(const o of n)delete i[o]}return i}static hasDefaultValue(t){const n="defaultValue";for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)&&n===r.substring(0,n.length)&&t[r]!==void 0)return!0;return!1}}class mR{constructor(t){this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=ms.create("languageUtils")}getScriptPartFromCode(t){if(t=Hy(t),!t||t.indexOf("-")<0)return null;const n=t.split("-");return n.length===2||(n.pop(),n[n.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(n.join("-"))}getLanguagePartFromCode(t){if(t=Hy(t),!t||t.indexOf("-")<0)return t;const n=t.split("-");return this.formatLanguageCode(n[0])}formatLanguageCode(t){if(It(t)&&t.indexOf("-")>-1){let n;try{n=Intl.getCanonicalLocales(t)[0]}catch{}return n&&this.options.lowerCaseLng&&(n=n.toLowerCase()),n||(this.options.lowerCaseLng?t.toLowerCase():t)}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}isSupportedCode(t){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(t=this.getLanguagePartFromCode(t)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(t)>-1}getBestMatchFromCodes(t){if(!t)return null;let n;return t.forEach(r=>{if(n)return;const i=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(i))&&(n=i)}),!n&&this.options.supportedLngs&&t.forEach(r=>{if(n)return;const i=this.getLanguagePartFromCode(r);if(this.isSupportedCode(i))return n=i;n=this.options.supportedLngs.find(o=>{if(o===i)return o;if(!(o.indexOf("-")<0&&i.indexOf("-")<0)&&(o.indexOf("-")>0&&i.indexOf("-")<0&&o.substring(0,o.indexOf("-"))===i||o.indexOf(i)===0&&i.length>1))return o})}),n||(n=this.getFallbackCodes(this.options.fallbackLng)[0]),n}getFallbackCodes(t,n){if(!t)return[];if(typeof t=="function"&&(t=t(n)),It(t)&&(t=[t]),Array.isArray(t))return t;if(!n)return t.default||[];let r=t[n];return r||(r=t[this.getScriptPartFromCode(n)]),r||(r=t[this.formatLanguageCode(n)]),r||(r=t[this.getLanguagePartFromCode(n)]),r||(r=t.default),r||[]}toResolveHierarchy(t,n){const r=this.getFallbackCodes(n||this.options.fallbackLng||[],t),i=[],o=a=>{a&&(this.isSupportedCode(a)?i.push(a):this.logger.warn(`rejecting language code not found in supportedLngs: ${a}`))};return It(t)&&(t.indexOf("-")>-1||t.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&o(this.formatLanguageCode(t)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&o(this.getScriptPartFromCode(t)),this.options.load!=="currentOnly"&&o(this.getLanguagePartFromCode(t))):It(t)&&o(this.formatLanguageCode(t)),r.forEach(a=>{i.indexOf(a)<0&&o(this.formatLanguageCode(a))}),i}}const vR={zero:0,one:1,two:2,few:3,many:4,other:5},yR={select:e=>e===1?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class bde{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=t,this.options=n,this.logger=ms.create("pluralResolver"),this.pluralRulesCache={}}addRule(t,n){this.rules[t]=n}clearCache(){this.pluralRulesCache={}}getRule(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=Hy(t==="dev"?"en":t),i=n.ordinal?"ordinal":"cardinal",o=JSON.stringify({cleanedCode:r,type:i});if(o in this.pluralRulesCache)return this.pluralRulesCache[o];let a;try{a=new Intl.PluralRules(r,{type:i})}catch{if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),yR;if(!t.match(/-|_/))return yR;const u=this.languageUtils.getLanguagePartFromCode(t);a=this.getRule(u,n)}return this.pluralRulesCache[o]=a,a}needsPlural(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=this.getRule(t,n);return r||(r=this.getRule("dev",n)),r?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(t,r).map(i=>`${n}${i}`)}getSuffixes(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=this.getRule(t,n);return r||(r=this.getRule("dev",n)),r?r.resolvedOptions().pluralCategories.sort((i,o)=>vR[i]-vR[o]).map(i=>`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${i}`):[]}getSuffix(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const i=this.getRule(t,r);return i?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${i.select(n)}`:(this.logger.warn(`no plural rule found for: ${t}`),this.getSuffix("dev",n,r))}}const bR=function(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=cde(e,t,n);return!o&&i&&It(n)&&(o=JC(e,n,r),o===void 0&&(o=JC(t,n,r))),o},hS=e=>e.replace(/\$/g,"$$$$");class xde{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=ms.create("interpolator"),this.options=t,this.format=t?.interpolation?.format||(n=>n),this.init(t)}init(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};t.interpolation||(t.interpolation={escapeValue:!0});const{escape:n,escapeValue:r,useRawValueToEscape:i,prefix:o,prefixEscaped:a,suffix:s,suffixEscaped:u,formatSeparator:l,unescapeSuffix:c,unescapePrefix:f,nestingPrefix:h,nestingPrefixEscaped:p,nestingSuffix:m,nestingSuffixEscaped:v,nestingOptionsSeparator:b,maxReplaces:w,alwaysFormat:x}=t.interpolation;this.escape=n!==void 0?n:dde,this.escapeValue=r!==void 0?r:!0,this.useRawValueToEscape=i!==void 0?i:!1,this.prefix=o?Bf(o):a||"{{",this.suffix=s?Bf(s):u||"}}",this.formatSeparator=l||",",this.unescapePrefix=c?"":f||"-",this.unescapeSuffix=this.unescapePrefix?"":c||"",this.nestingPrefix=h?Bf(h):p||Bf("$t("),this.nestingSuffix=m?Bf(m):v||Bf(")"),this.nestingOptionsSeparator=b||",",this.maxReplaces=w||1e3,this.alwaysFormat=x!==void 0?x:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const t=(n,r)=>n?.source===r?(n.lastIndex=0,n):new RegExp(r,"g");this.regexp=t(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=t(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=t(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(t,n,r,i){let o,a,s;const u=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},l=p=>{if(p.indexOf(this.formatSeparator)<0){const w=bR(n,u,p,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(w,void 0,r,{...i,...n,interpolationkey:p}):w}const m=p.split(this.formatSeparator),v=m.shift().trim(),b=m.join(this.formatSeparator).trim();return this.format(bR(n,u,v,this.options.keySeparator,this.options.ignoreJSONStructure),b,r,{...i,...n,interpolationkey:v})};this.resetRegExp();const c=i?.missingInterpolationHandler||this.options.missingInterpolationHandler,f=i?.interpolation?.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:p=>hS(p)},{regex:this.regexp,safeValue:p=>this.escapeValue?hS(this.escape(p)):hS(p)}].forEach(p=>{for(s=0;o=p.regex.exec(t);){const m=o[1].trim();if(a=l(m),a===void 0)if(typeof c=="function"){const b=c(t,o,i);a=It(b)?b:""}else if(i&&Object.prototype.hasOwnProperty.call(i,m))a="";else if(f){a=o[0];continue}else this.logger.warn(`missed to pass in variable ${m} for interpolating ${t}`),a="";else!It(a)&&!this.useRawValueToEscape&&(a=cR(a));const v=p.safeValue(a);if(t=t.replace(o[0],v),f?(p.regex.lastIndex+=a.length,p.regex.lastIndex-=o[0].length):p.regex.lastIndex=0,s++,s>=this.maxReplaces)break}}),t}nest(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i,o,a;const s=(u,l)=>{const c=this.nestingOptionsSeparator;if(u.indexOf(c)<0)return u;const f=u.split(new RegExp(`${c}[ ]*{`));let h=`{${f[1]}`;u=f[0],h=this.interpolate(h,a);const p=h.match(/'/g),m=h.match(/"/g);((p?.length??0)%2===0&&!m||m.length%2!==0)&&(h=h.replace(/'/g,'"'));try{a=JSON.parse(h),l&&(a={...l,...a})}catch(v){return this.logger.warn(`failed parsing options string in nesting for key ${u}`,v),`${u}${c}${h}`}return a.defaultValue&&a.defaultValue.indexOf(this.prefix)>-1&&delete a.defaultValue,u};for(;i=this.nestingRegexp.exec(t);){let u=[];a={...r},a=a.replace&&!It(a.replace)?a.replace:a,a.applyPostProcessor=!1,delete a.defaultValue;let l=!1;if(i[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(i[1])){const c=i[1].split(this.formatSeparator).map(f=>f.trim());i[1]=c.shift(),u=c,l=!0}if(o=n(s.call(this,i[1].trim(),a),a),o&&i[0]===t&&!It(o))return o;It(o)||(o=cR(o)),o||(this.logger.warn(`missed to resolve ${i[1]} for nesting ${t}`),o=""),l&&(o=u.reduce((c,f)=>this.format(c,f,r.lng,{...r,interpolationkey:i[1].trim()}),o.trim())),t=t.replace(i[0],o),this.regexp.lastIndex=0}return t}}const wde=e=>{let t=e.toLowerCase().trim();const n={};if(e.indexOf("(")>-1){const r=e.split("(");t=r[0].toLowerCase().trim();const i=r[1].substring(0,r[1].length-1);t==="currency"&&i.indexOf(":")<0?n.currency||(n.currency=i.trim()):t==="relativetime"&&i.indexOf(":")<0?n.range||(n.range=i.trim()):i.split(";").forEach(a=>{if(a){const[s,...u]=a.split(":"),l=u.join(":").trim().replace(/^'+|'+$/g,""),c=s.trim();n[c]||(n[c]=l),l==="false"&&(n[c]=!1),l==="true"&&(n[c]=!0),isNaN(l)||(n[c]=parseInt(l,10))}})}return{formatName:t,formatOptions:n}},zf=e=>{const t={};return(n,r,i)=>{let o=i;i&&i.interpolationkey&&i.formatParams&&i.formatParams[i.interpolationkey]&&i[i.interpolationkey]&&(o={...o,[i.interpolationkey]:void 0});const a=r+JSON.stringify(o);let s=t[a];return s||(s=e(Hy(r),i),t[a]=s),s(n)}};class _de{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=ms.create("formatter"),this.options=t,this.formats={number:zf((n,r)=>{const i=new Intl.NumberFormat(n,{...r});return o=>i.format(o)}),currency:zf((n,r)=>{const i=new Intl.NumberFormat(n,{...r,style:"currency"});return o=>i.format(o)}),datetime:zf((n,r)=>{const i=new Intl.DateTimeFormat(n,{...r});return o=>i.format(o)}),relativetime:zf((n,r)=>{const i=new Intl.RelativeTimeFormat(n,{...r});return o=>i.format(o,r.range||"day")}),list:zf((n,r)=>{const i=new Intl.ListFormat(n,{...r});return o=>i.format(o)})},this.init(t)}init(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};this.formatSeparator=n.interpolation.formatSeparator||","}add(t,n){this.formats[t.toLowerCase().trim()]=n}addCached(t,n){this.formats[t.toLowerCase().trim()]=zf(n)}format(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const o=n.split(this.formatSeparator);if(o.length>1&&o[0].indexOf("(")>1&&o[0].indexOf(")")<0&&o.find(s=>s.indexOf(")")>-1)){const s=o.findIndex(u=>u.indexOf(")")>-1);o[0]=[o[0],...o.splice(1,s)].join(this.formatSeparator)}return o.reduce((s,u)=>{const{formatName:l,formatOptions:c}=wde(u);if(this.formats[l]){let f=s;try{const h=i?.formatParams?.[i.interpolationkey]||{},p=h.locale||h.lng||i.locale||i.lng||r;f=this.formats[l](s,p,{...c,...i,...h})}catch(h){this.logger.warn(h)}return f}else this.logger.warn(`there was no format function for ${l}`);return s},t)}}const Sde=(e,t)=>{e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)};class Cde extends Jx{constructor(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=t,this.store=n,this.services=r,this.languageUtils=r.languageUtils,this.options=i,this.logger=ms.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(r,i.backend,i)}queueLoad(t,n,r,i){const o={},a={},s={},u={};return t.forEach(l=>{let c=!0;n.forEach(f=>{const h=`${l}|${f}`;!r.reload&&this.store.hasResourceBundle(l,f)?this.state[h]=2:this.state[h]<0||(this.state[h]===1?a[h]===void 0&&(a[h]=!0):(this.state[h]=1,c=!1,a[h]===void 0&&(a[h]=!0),o[h]===void 0&&(o[h]=!0),u[f]===void 0&&(u[f]=!0)))}),c||(s[l]=!0)}),(Object.keys(o).length||Object.keys(a).length)&&this.queue.push({pending:a,pendingCount:Object.keys(a).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(o),pending:Object.keys(a),toLoadLanguages:Object.keys(s),toLoadNamespaces:Object.keys(u)}}loaded(t,n,r){const i=t.split("|"),o=i[0],a=i[1];n&&this.emit("failedLoading",o,a,n),!n&&r&&this.store.addResourceBundle(o,a,r,void 0,void 0,{skipCopy:!0}),this.state[t]=n?-1:2,n&&r&&(this.state[t]=0);const s={};this.queue.forEach(u=>{lde(u.loaded,[o],a),Sde(u,t),n&&u.errors.push(n),u.pendingCount===0&&!u.done&&(Object.keys(u.loaded).forEach(l=>{s[l]||(s[l]={});const c=u.loaded[l];c.length&&c.forEach(f=>{s[l][f]===void 0&&(s[l][f]=!0)})}),u.done=!0,u.errors.length?u.callback(u.errors):u.callback())}),this.emit("loaded",s),this.queue=this.queue.filter(u=>!u.done)}read(t,n,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,a=arguments.length>5?arguments[5]:void 0;if(!t.length)return a(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:t,ns:n,fcName:r,tried:i,wait:o,callback:a});return}this.readingCalls++;const s=(l,c)=>{if(this.readingCalls--,this.waitingReads.length>0){const f=this.waitingReads.shift();this.read(f.lng,f.ns,f.fcName,f.tried,f.wait,f.callback)}if(l&&c&&i{this.read.call(this,t,n,r,i+1,o*2,a)},o);return}a(l,c)},u=this.backend[r].bind(this.backend);if(u.length===2){try{const l=u(t,n);l&&typeof l.then=="function"?l.then(c=>s(null,c)).catch(s):s(null,l)}catch(l){s(l)}return}return u(t,n,s)}prepareLoading(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();It(t)&&(t=this.languageUtils.toResolveHierarchy(t)),It(n)&&(n=[n]);const o=this.queueLoad(t,n,r,i);if(!o.toLoad.length)return o.pending.length||i(),null;o.toLoad.forEach(a=>{this.loadOne(a)})}load(t,n,r){this.prepareLoading(t,n,{},r)}reload(t,n,r){this.prepareLoading(t,n,{reload:!0},r)}loadOne(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const r=t.split("|"),i=r[0],o=r[1];this.read(i,o,"read",void 0,void 0,(a,s)=>{a&&this.logger.warn(`${n}loading namespace ${o} for language ${i} failed`,a),!a&&s&&this.logger.log(`${n}loaded namespace ${o} for language ${i}`,s),this.loaded(t,a,s)})}saveMissing(t,n,r,i,o){let a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},s=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if(this.services?.utils?.hasLoadedNamespace&&!this.services?.utils?.hasLoadedNamespace(n)){this.logger.warn(`did not save key "${r}" as the namespace "${n}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(r==null||r==="")){if(this.backend?.create){const u={...a,isUpdate:o},l=this.backend.create.bind(this.backend);if(l.length<6)try{let c;l.length===5?c=l(t,n,r,i,u):c=l(t,n,r,i),c&&typeof c.then=="function"?c.then(f=>s(null,f)).catch(s):s(null,c)}catch(c){s(c)}else l(t,n,r,i,s,u)}!t||!t[0]||this.store.addResource(t[0],n,r,i)}}}const xR=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:e=>{let t={};if(typeof e[1]=="object"&&(t=e[1]),It(e[1])&&(t.defaultValue=e[1]),It(e[2])&&(t.tDescription=e[2]),typeof e[2]=="object"||typeof e[3]=="object"){const n=e[3]||e[2];Object.keys(n).forEach(r=>{t[r]=n[r]})}return t},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}),wR=e=>(It(e.ns)&&(e.ns=[e.ns]),It(e.fallbackLng)&&(e.fallbackLng=[e.fallbackLng]),It(e.fallbackNS)&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs?.indexOf?.("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),typeof e.initImmediate=="boolean"&&(e.initAsync=e.initImmediate),e),r1=()=>{},Ede=e=>{Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(n=>{typeof e[n]=="function"&&(e[n]=e[n].bind(e))})};let iB=class tE extends Jx{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(super(),this.options=wR(t),this.services={},this.logger=ms,this.modules={external:[]},Ede(this),n&&!this.isInitialized&&!t.isClone){if(!this.options.initAsync)return this.init(t,n),this;setTimeout(()=>{this.init(t,n)},0)}}init(){var t=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;this.isInitializing=!0,typeof n=="function"&&(r=n,n={}),n.defaultNS==null&&n.ns&&(It(n.ns)?n.defaultNS=n.ns:n.ns.indexOf("translation")<0&&(n.defaultNS=n.ns[0]));const i=xR();this.options={...i,...this.options,...wR(n)},this.options.interpolation={...i.interpolation,...this.options.interpolation},n.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=n.keySeparator),n.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=n.nsSeparator);const o=c=>c?typeof c=="function"?new c:c:null;if(!this.options.isClone){this.modules.logger?ms.init(o(this.modules.logger),this.options):ms.init(null,this.options);let c;this.modules.formatter?c=this.modules.formatter:c=_de;const f=new mR(this.options);this.store=new pR(this.options.resources,this.options);const h=this.services;h.logger=ms,h.resourceStore=this.store,h.languageUtils=f,h.pluralResolver=new bde(f,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),c&&(!this.options.interpolation.format||this.options.interpolation.format===i.interpolation.format)&&(h.formatter=o(c),h.formatter.init(h,this.options),this.options.interpolation.format=h.formatter.format.bind(h.formatter)),h.interpolator=new xde(this.options),h.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},h.backendConnector=new Cde(o(this.modules.backend),h.resourceStore,h,this.options),h.backendConnector.on("*",function(p){for(var m=arguments.length,v=new Array(m>1?m-1:0),b=1;b1?m-1:0),b=1;b{p.init&&p.init(this)})}if(this.format=this.options.interpolation.format,r||(r=r1),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const c=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);c.length>0&&c[0]!=="dev"&&(this.options.lng=c[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(c=>{this[c]=function(){return t.store[c](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(c=>{this[c]=function(){return t.store[c](...arguments),t}});const u=$p(),l=()=>{const c=(f,h)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),u.resolve(h),r(f,h)};if(this.languages&&!this.isInitialized)return c(null,this.t.bind(this));this.changeLanguage(this.options.lng,c)};return this.options.resources||!this.options.initAsync?l():setTimeout(l,0),u}loadResources(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:r1;const i=It(t)?t:this.language;if(typeof t=="function"&&(r=t),!this.options.resources||this.options.partialBundledLanguages){if(i?.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return r();const o=[],a=s=>{if(!s||s==="cimode")return;this.services.languageUtils.toResolveHierarchy(s).forEach(l=>{l!=="cimode"&&o.indexOf(l)<0&&o.push(l)})};i?a(i):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(u=>a(u)),this.options.preload?.forEach?.(s=>a(s)),this.services.backendConnector.load(o,this.options.ns,s=>{!s&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(s)})}else r(null)}reloadResources(t,n,r){const i=$p();return typeof t=="function"&&(r=t,t=void 0),typeof n=="function"&&(r=n,n=void 0),t||(t=this.languages),n||(n=this.options.ns),r||(r=r1),this.services.backendConnector.reload(t,n,o=>{i.resolve(),r(o)}),i}use(t){if(!t)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!t.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return t.type==="backend"&&(this.modules.backend=t),(t.type==="logger"||t.log&&t.warn&&t.error)&&(this.modules.logger=t),t.type==="languageDetector"&&(this.modules.languageDetector=t),t.type==="i18nFormat"&&(this.modules.i18nFormat=t),t.type==="postProcessor"&&rB.addPostProcessor(t),t.type==="formatter"&&(this.modules.formatter=t),t.type==="3rdParty"&&this.modules.external.push(t),this}setResolvedLanguage(t){if(!(!t||!this.languages)&&!(["cimode","dev"].indexOf(t)>-1))for(let n=0;n-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}}changeLanguage(t,n){var r=this;this.isLanguageChangingTo=t;const i=$p();this.emit("languageChanging",t);const o=u=>{this.language=u,this.languages=this.services.languageUtils.toResolveHierarchy(u),this.resolvedLanguage=void 0,this.setResolvedLanguage(u)},a=(u,l)=>{l?(o(l),this.translator.changeLanguage(l),this.isLanguageChangingTo=void 0,this.emit("languageChanged",l),this.logger.log("languageChanged",l)):this.isLanguageChangingTo=void 0,i.resolve(function(){return r.t(...arguments)}),n&&n(u,function(){return r.t(...arguments)})},s=u=>{!t&&!u&&this.services.languageDetector&&(u=[]);const l=It(u)?u:this.services.languageUtils.getBestMatchFromCodes(u);l&&(this.language||o(l),this.translator.language||this.translator.changeLanguage(l),this.services.languageDetector?.cacheUserLanguage?.(l)),this.loadResources(l,c=>{a(c,l)})};return!t&&this.services.languageDetector&&!this.services.languageDetector.async?s(this.services.languageDetector.detect()):!t&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(s):this.services.languageDetector.detect(s):s(t),i}getFixedT(t,n,r){var i=this;const o=function(a,s){let u;if(typeof s!="object"){for(var l=arguments.length,c=new Array(l>2?l-2:0),f=2;f`${u.keyPrefix}${h}${m}`):p=u.keyPrefix?`${u.keyPrefix}${h}${a}`:a,i.t(p,u)};return It(t)?o.lng=t:o.lngs=t,o.ns=n,o.keyPrefix=r,o}t(){for(var t=arguments.length,n=new Array(t),r=0;r1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=n.lng||this.resolvedLanguage||this.languages[0],i=this.options?this.options.fallbackLng:!1,o=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const a=(s,u)=>{const l=this.services.backendConnector.state[`${s}|${u}`];return l===-1||l===0||l===2};if(n.precheck){const s=n.precheck(this,a);if(s!==void 0)return s}return!!(this.hasResourceBundle(r,t)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||a(r,t)&&(!i||a(o,t)))}loadNamespaces(t,n){const r=$p();return this.options.ns?(It(t)&&(t=[t]),t.forEach(i=>{this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}),this.loadResources(i=>{r.resolve(),n&&n(i)}),r):(n&&n(),Promise.resolve())}loadLanguages(t,n){const r=$p();It(t)&&(t=[t]);const i=this.options.preload||[],o=t.filter(a=>i.indexOf(a)<0&&this.services.languageUtils.isSupportedCode(a));return o.length?(this.options.preload=i.concat(o),this.loadResources(a=>{r.resolve(),n&&n(a)}),r):(n&&n(),Promise.resolve())}dir(t){if(t||(t=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language)),!t)return"rtl";const n=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],r=this.services?.languageUtils||new mR(xR());return n.indexOf(r.getLanguagePartFromCode(t))>-1||t.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;return new tE(t,n)}cloneInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:r1;const r=t.forkResourceStore;r&&delete t.forkResourceStore;const i={...this.options,...t,isClone:!0},o=new tE(i);if((t.debug!==void 0||t.prefix!==void 0)&&(o.logger=o.logger.clone(t)),["store","services","language"].forEach(s=>{o[s]=this[s]}),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},r){const s=Object.keys(this.store.data).reduce((u,l)=>(u[l]={...this.store.data[l]},Object.keys(u[l]).reduce((c,f)=>(c[f]={...u[l][f]},c),{})),{});o.store=new pR(s,i),o.services.resourceStore=o.store}return o.translator=new Ky(o.services,i),o.translator.on("*",function(s){for(var u=arguments.length,l=new Array(u>1?u-1:0),c=1;c{const i=[n,{code:t,...r||{}}];if(e?.services?.logger?.forward)return e.services.logger.forward(i,"warn","react-i18next::",!0);Mc(i[0])&&(i[0]=`react-i18next:: ${i[0]}`),e?.services?.logger?.warn?e.services.logger.warn(...i):console?.warn&&console.warn(...i)},_R={},nE=(e,t,n,r)=>{Mc(n)&&_R[n]||(Mc(n)&&(_R[n]=new Date),Ode(e,t,n,r))},oB=(e,t)=>()=>{if(e.isInitialized)t();else{const n=()=>{setTimeout(()=>{e.off("initialized",n)},0),t()};e.on("initialized",n)}},rE=(e,t,n)=>{e.loadNamespaces(t,oB(e,n))},SR=(e,t,n,r)=>{if(Mc(n)&&(n=[n]),e.options.preload&&e.options.preload.indexOf(t)>-1)return rE(e,n,r);n.forEach(i=>{e.options.ns.indexOf(i)<0&&e.options.ns.push(i)}),e.loadLanguages(t,oB(e,r))},Ade=(e,t,n={})=>!t.languages||!t.languages.length?(nE(t,"NO_LANGUAGES","i18n.languages were undefined or empty",{languages:t.languages}),!0):t.hasLoadedNamespace(e,{lng:n.lng,precheck:(r,i)=>{if(n.bindI18n?.indexOf("languageChanging")>-1&&r.services.backendConnector.backend&&r.isLanguageChangingTo&&!i(r.isLanguageChangingTo,e))return!1}}),Mc=e=>typeof e=="string",Pde=e=>typeof e=="object"&&e!==null,kde=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,Tde={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},Mde=e=>Tde[e],Rde=e=>e.replace(kde,Mde);let iE={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:Rde};const Dde=(e={})=>{iE={...iE,...e}},$de=()=>iE;let aB;const Ide=e=>{aB=e},Nde=()=>aB,IYe={type:"3rdParty",init(e){Dde(e.options.react),Ide(e)}},Lde=y.createContext();class Fde{constructor(){this.usedNamespaces={}}addUsedNamespaces(t){t.forEach(n=>{this.usedNamespaces[n]||(this.usedNamespaces[n]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const jde=(e,t)=>{const n=y.useRef();return y.useEffect(()=>{n.current=e},[e,t]),n.current},sB=(e,t,n,r)=>e.getFixedT(t,n,r),Bde=(e,t,n,r)=>y.useCallback(sB(e,t,n,r),[e,t,n,r]),NYe=(e,t={})=>{const{i18n:n}=t,{i18n:r,defaultNS:i}=y.useContext(Lde)||{},o=n||r||Nde();if(o&&!o.reportNamespaces&&(o.reportNamespaces=new Fde),!o){nE(o,"NO_I18NEXT_INSTANCE","useTranslation: You will need to pass in an i18next instance by using initReactI18next");const O=(C,k)=>Mc(k)?k:Pde(k)&&Mc(k.defaultValue)?k.defaultValue:Array.isArray(C)?C[C.length-1]:C,E=[O,{},!1];return E.t=O,E.i18n={},E.ready=!1,E}o.options.react?.wait&&nE(o,"DEPRECATED_OPTION","useTranslation: It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const a={...$de(),...o.options.react,...t},{useSuspense:s,keyPrefix:u}=a;let l=e||i||o.options?.defaultNS;l=Mc(l)?[l]:l||["translation"],o.reportNamespaces.addUsedNamespaces?.(l);const c=(o.isInitialized||o.initializedStoreOnce)&&l.every(O=>Ade(O,o,a)),f=Bde(o,t.lng||null,a.nsMode==="fallback"?l:l[0],u),h=()=>f,p=()=>sB(o,t.lng||null,a.nsMode==="fallback"?l:l[0],u),[m,v]=y.useState(h);let b=l.join();t.lng&&(b=`${t.lng}${b}`);const w=jde(b),x=y.useRef(!0);y.useEffect(()=>{const{bindI18n:O,bindI18nStore:E}=a;x.current=!0,!c&&!s&&(t.lng?SR(o,t.lng,l,()=>{x.current&&v(p)}):rE(o,l,()=>{x.current&&v(p)})),c&&w&&w!==b&&x.current&&v(p);const C=()=>{x.current&&v(p)};return O&&o?.on(O,C),E&&o?.store.on(E,C),()=>{x.current=!1,o&&O?.split(" ").forEach(k=>o.off(k,C)),E&&o&&E.split(" ").forEach(k=>o.store.off(k,C))}},[o,b]),y.useEffect(()=>{x.current&&c&&v(h)},[o,u,c]);const S=[m,o,c];if(S.t=m,S.i18n=o,S.ready=c,c||!c&&!s)return S;throw new Promise(O=>{t.lng?SR(o,t.lng,l,()=>O()):rE(o,l,()=>O())})},{slice:zde,forEach:Ude}=[];function Vde(e){return Ude.call(zde.call(arguments,1),t=>{if(t)for(const n in t)e[n]===void 0&&(e[n]=t[n])}),e}const CR=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,Wde=function(e,t){const r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{path:"/"},i=encodeURIComponent(t);let o=`${e}=${i}`;if(r.maxAge>0){const a=r.maxAge-0;if(Number.isNaN(a))throw new Error("maxAge should be a Number");o+=`; Max-Age=${Math.floor(a)}`}if(r.domain){if(!CR.test(r.domain))throw new TypeError("option domain is invalid");o+=`; Domain=${r.domain}`}if(r.path){if(!CR.test(r.path))throw new TypeError("option path is invalid");o+=`; Path=${r.path}`}if(r.expires){if(typeof r.expires.toUTCString!="function")throw new TypeError("option expires is invalid");o+=`; Expires=${r.expires.toUTCString()}`}if(r.httpOnly&&(o+="; HttpOnly"),r.secure&&(o+="; Secure"),r.sameSite)switch(typeof r.sameSite=="string"?r.sameSite.toLowerCase():r.sameSite){case!0:o+="; SameSite=Strict";break;case"lax":o+="; SameSite=Lax";break;case"strict":o+="; SameSite=Strict";break;case"none":o+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return o},ER={create(e,t,n,r){let i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{path:"/",sameSite:"strict"};n&&(i.expires=new Date,i.expires.setTime(i.expires.getTime()+n*60*1e3)),r&&(i.domain=r),document.cookie=Wde(e,encodeURIComponent(t),i)},read(e){const t=`${e}=`,n=document.cookie.split(";");for(let r=0;r-1&&(r=window.location.hash.substring(window.location.hash.indexOf("?")));const o=r.substring(1).split("&");for(let a=0;a0&&o[a].substring(0,s)===t&&(n=o[a].substring(s+1))}}return n}};let Ip=null;const OR=()=>{if(Ip!==null)return Ip;try{Ip=window!=="undefined"&&window.localStorage!==null;const e="i18next.translate.boo";window.localStorage.setItem(e,"foo"),window.localStorage.removeItem(e)}catch{Ip=!1}return Ip};var qde={name:"localStorage",lookup(e){let{lookupLocalStorage:t}=e;if(t&&OR())return window.localStorage.getItem(t)||void 0},cacheUserLanguage(e,t){let{lookupLocalStorage:n}=t;n&&OR()&&window.localStorage.setItem(n,e)}};let Np=null;const AR=()=>{if(Np!==null)return Np;try{Np=window!=="undefined"&&window.sessionStorage!==null;const e="i18next.translate.boo";window.sessionStorage.setItem(e,"foo"),window.sessionStorage.removeItem(e)}catch{Np=!1}return Np};var Gde={name:"sessionStorage",lookup(e){let{lookupSessionStorage:t}=e;if(t&&AR())return window.sessionStorage.getItem(t)||void 0},cacheUserLanguage(e,t){let{lookupSessionStorage:n}=t;n&&AR()&&window.sessionStorage.setItem(n,e)}},Yde={name:"navigator",lookup(e){const t=[];if(typeof navigator<"u"){const{languages:n,userLanguage:r,language:i}=navigator;if(n)for(let o=0;o0?t:void 0}},Zde={name:"htmlTag",lookup(e){let{htmlTag:t}=e,n;const r=t||(typeof document<"u"?document.documentElement:null);return r&&typeof r.getAttribute=="function"&&(n=r.getAttribute("lang")),n}},Xde={name:"path",lookup(e){let{lookupFromPathIndex:t}=e;if(typeof window>"u")return;const n=window.location.pathname.match(/\/([a-zA-Z-]*)/g);return Array.isArray(n)?n[typeof t=="number"?t:0]?.replace("/",""):void 0}},Qde={name:"subdomain",lookup(e){let{lookupFromSubdomainIndex:t}=e;const n=typeof t=="number"?t+1:1,r=typeof window<"u"&&window.location?.hostname?.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);if(r)return r[n]}};let uB=!1;try{document.cookie,uB=!0}catch{}const lB=["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"];uB||lB.splice(1,1);const Jde=()=>({order:lB,lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"],convertDetectedLanguage:e=>e});class ehe{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.type="languageDetector",this.detectors={},this.init(t,n)}init(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{languageUtils:{}},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=t,this.options=Vde(n,this.options||{},Jde()),typeof this.options.convertDetectedLanguage=="string"&&this.options.convertDetectedLanguage.indexOf("15897")>-1&&(this.options.convertDetectedLanguage=i=>i.replace("-","_")),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=r,this.addDetector(Hde),this.addDetector(Kde),this.addDetector(qde),this.addDetector(Gde),this.addDetector(Yde),this.addDetector(Zde),this.addDetector(Xde),this.addDetector(Qde)}addDetector(t){return this.detectors[t.name]=t,this}detect(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.options.order,n=[];return t.forEach(r=>{if(this.detectors[r]){let i=this.detectors[r].lookup(this.options);i&&typeof i=="string"&&(i=[i]),i&&(n=n.concat(i))}}),n=n.map(r=>this.options.convertDetectedLanguage(r)),this.services&&this.services.languageUtils&&this.services.languageUtils.getBestMatchFromCodes?n:n.length>0?n[0]:null}cacheUserLanguage(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.options.caches;n&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(t)>-1||n.forEach(r=>{this.detectors[r]&&this.detectors[r].cacheUserLanguage(t,this.options)}))}}ehe.type="languageDetector";var xm=e=>e.type==="checkbox",_c=e=>e instanceof Date,zi=e=>e==null;const cB=e=>typeof e=="object";var Or=e=>!zi(e)&&!Array.isArray(e)&&cB(e)&&!_c(e),fB=e=>Or(e)&&e.target?xm(e.target)?e.target.checked:e.target.value:e,the=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,dB=(e,t)=>e.has(the(t)),nhe=e=>{const t=e.constructor&&e.constructor.prototype;return Or(t)&&t.hasOwnProperty("isPrototypeOf")},j5=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function no(e){let t;const n=Array.isArray(e),r=typeof FileList<"u"?e instanceof FileList:!1;if(e instanceof Date)t=new Date(e);else if(e instanceof Set)t=new Set(e);else if(!(j5&&(e instanceof Blob||r))&&(n||Or(e)))if(t=n?[]:{},!n&&!nhe(e))t=e;else for(const i in e)e.hasOwnProperty(i)&&(t[i]=no(e[i]));else return e;return t}var e2=e=>Array.isArray(e)?e.filter(Boolean):[],Sr=e=>e===void 0,Ze=(e,t,n)=>{if(!t||!Or(e))return n;const r=e2(t.split(/[,[\].]+?/)).reduce((i,o)=>zi(i)?i:i[o],e);return Sr(r)||r===e?Sr(e[t])?n:e[t]:r},aa=e=>typeof e=="boolean",B5=e=>/^\w*$/.test(e),hB=e=>e2(e.replace(/["|']|\]/g,"").split(/\.|\[/)),An=(e,t,n)=>{let r=-1;const i=B5(t)?[t]:hB(t),o=i.length,a=o-1;for(;++rF.useContext(pB),LYe=e=>{const{children:t,...n}=e;return F.createElement(pB.Provider,{value:n},t)};var gB=(e,t,n,r=!0)=>{const i={defaultValues:t._defaultValues};for(const o in e)Object.defineProperty(i,o,{get:()=>{const a=o;return t._proxyFormState[a]!==ja.all&&(t._proxyFormState[a]=!r||ja.all),n&&(n[a]=!0),e[a]}});return i},io=e=>Or(e)&&!Object.keys(e).length,mB=(e,t,n,r)=>{n(e);const{name:i,...o}=e;return io(o)||Object.keys(o).length>=Object.keys(t).length||Object.keys(o).find(a=>t[a]===(!r||ja.all))},w0=e=>Array.isArray(e)?e:[e],vB=(e,t,n)=>!e||!t||e===t||w0(e).some(r=>r&&(n?r===t:r.startsWith(t)||t.startsWith(r)));function U5(e){const t=F.useRef(e);t.current=e,F.useEffect(()=>{const n=!e.disabled&&t.current.subject&&t.current.subject.subscribe({next:t.current.next});return()=>{n&&n.unsubscribe()}},[e.disabled])}function rhe(e){const t=z5(),{control:n=t.control,disabled:r,name:i,exact:o}=e,[a,s]=F.useState(n._formState),u=F.useRef(!0),l=F.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1}),c=F.useRef(i);return c.current=i,U5({disabled:r,next:f=>u.current&&vB(c.current,f.name,o)&&mB(f,l.current,n._updateFormState)&&s({...n._formState,...f}),subject:n._subjects.state}),F.useEffect(()=>(u.current=!0,l.current.isValid&&n._updateValid(!0),()=>{u.current=!1}),[n]),F.useMemo(()=>gB(a,n,l.current,!1),[a,n])}var vs=e=>typeof e=="string",yB=(e,t,n,r,i)=>vs(e)?(r&&t.watch.add(e),Ze(n,e,i)):Array.isArray(e)?e.map(o=>(r&&t.watch.add(o),Ze(n,o))):(r&&(t.watchAll=!0),n);function ihe(e){const t=z5(),{control:n=t.control,name:r,defaultValue:i,disabled:o,exact:a}=e,s=F.useRef(r);s.current=r,U5({disabled:o,subject:n._subjects.values,next:c=>{vB(s.current,c.name,a)&&l(no(yB(s.current,n._names,c.values||n._formValues,!1,i)))}});const[u,l]=F.useState(n._getWatch(r,i));return F.useEffect(()=>n._removeUnmounted()),u}function ohe(e){const t=z5(),{name:n,disabled:r,control:i=t.control,shouldUnregister:o}=e,a=dB(i._names.array,n),s=ihe({control:i,name:n,defaultValue:Ze(i._formValues,n,Ze(i._defaultValues,n,e.defaultValue)),exact:!0}),u=rhe({control:i,name:n,exact:!0}),l=F.useRef(i.register(n,{...e.rules,value:s,...aa(e.disabled)?{disabled:e.disabled}:{}})),c=F.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!Ze(u.errors,n)},isDirty:{enumerable:!0,get:()=>!!Ze(u.dirtyFields,n)},isTouched:{enumerable:!0,get:()=>!!Ze(u.touchedFields,n)},isValidating:{enumerable:!0,get:()=>!!Ze(u.validatingFields,n)},error:{enumerable:!0,get:()=>Ze(u.errors,n)}}),[u,n]),f=F.useMemo(()=>({name:n,value:s,...aa(r)||u.disabled?{disabled:u.disabled||r}:{},onChange:h=>l.current.onChange({target:{value:fB(h),name:n},type:qy.CHANGE}),onBlur:()=>l.current.onBlur({target:{value:Ze(i._formValues,n),name:n},type:qy.BLUR}),ref:h=>{const p=Ze(i._fields,n);p&&h&&(p._f.ref={focus:()=>h.focus(),select:()=>h.select(),setCustomValidity:m=>h.setCustomValidity(m),reportValidity:()=>h.reportValidity()})}}),[n,i._formValues,r,u.disabled,s,i._fields]);return F.useEffect(()=>{const h=i._options.shouldUnregister||o,p=(m,v)=>{const b=Ze(i._fields,m);b&&b._f&&(b._f.mount=v)};if(p(n,!0),h){const m=no(Ze(i._options.defaultValues,n));An(i._defaultValues,n,m),Sr(Ze(i._formValues,n))&&An(i._formValues,n,m)}return!a&&i.register(n),()=>{(a?h&&!i._state.action:h)?i.unregister(n):p(n,!1)}},[n,i,a,o]),F.useEffect(()=>{i._updateDisabledField({disabled:r,fields:i._fields,name:n})},[r,n,i]),F.useMemo(()=>({field:f,formState:u,fieldState:c}),[f,u,c])}const FYe=e=>e.render(ohe(e));var bB=(e,t,n,r,i)=>t?{...n[e],types:{...n[e]&&n[e].types?n[e].types:{},[r]:i||!0}}:{},PR=e=>({isOnSubmit:!e||e===ja.onSubmit,isOnBlur:e===ja.onBlur,isOnChange:e===ja.onChange,isOnAll:e===ja.all,isOnTouch:e===ja.onTouched}),kR=(e,t,n)=>!n&&(t.watchAll||t.watch.has(e)||[...t.watch].some(r=>e.startsWith(r)&&/^\.\w+/.test(e.slice(r.length))));const _0=(e,t,n,r)=>{for(const i of n||Object.keys(e)){const o=Ze(e,i);if(o){const{_f:a,...s}=o;if(a){if(a.refs&&a.refs[0]&&t(a.refs[0],i)&&!r)return!0;if(a.ref&&t(a.ref,a.name)&&!r)return!0;if(_0(s,t))break}else if(Or(s)&&_0(s,t))break}}};var ahe=(e,t,n)=>{const r=w0(Ze(e,n));return An(r,"root",t[n]),An(e,n,r),e},V5=e=>e.type==="file",hs=e=>typeof e=="function",Gy=e=>{if(!j5)return!1;const t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},X1=e=>vs(e),W5=e=>e.type==="radio",Yy=e=>e instanceof RegExp;const TR={value:!1,isValid:!1},MR={value:!0,isValid:!0};var xB=e=>{if(Array.isArray(e)){if(e.length>1){const t=e.filter(n=>n&&n.checked&&!n.disabled).map(n=>n.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!Sr(e[0].attributes.value)?Sr(e[0].value)||e[0].value===""?MR:{value:e[0].value,isValid:!0}:MR:TR}return TR};const RR={isValid:!1,value:null};var wB=e=>Array.isArray(e)?e.reduce((t,n)=>n&&n.checked&&!n.disabled?{isValid:!0,value:n.value}:t,RR):RR;function DR(e,t,n="validate"){if(X1(e)||Array.isArray(e)&&e.every(X1)||aa(e)&&!e)return{type:n,message:X1(e)?e:"",ref:t}}var Uf=e=>Or(e)&&!Yy(e)?e:{value:e,message:""},$R=async(e,t,n,r,i,o)=>{const{ref:a,refs:s,required:u,maxLength:l,minLength:c,min:f,max:h,pattern:p,validate:m,name:v,valueAsNumber:b,mount:w}=e._f,x=Ze(n,v);if(!w||t.has(v))return{};const S=s?s[0]:a,O=V=>{i&&S.reportValidity&&(S.setCustomValidity(aa(V)?"":V||""),S.reportValidity())},E={},C=W5(a),k=xm(a),M=C||k,L=(b||V5(a))&&Sr(a.value)&&Sr(x)||Gy(a)&&a.value===""||x===""||Array.isArray(x)&&!x.length,U=bB.bind(null,v,r,E),H=(V,ne,Z,G=qs.maxLength,q=qs.minLength)=>{const W=V?ne:Z;E[v]={type:V?G:q,message:W,ref:a,...U(V?G:q,W)}};if(o?!Array.isArray(x)||!x.length:u&&(!M&&(L||zi(x))||aa(x)&&!x||k&&!xB(s).isValid||C&&!wB(s).isValid)){const{value:V,message:ne}=X1(u)?{value:!!u,message:u}:Uf(u);if(V&&(E[v]={type:qs.required,message:ne,ref:S,...U(qs.required,ne)},!r))return O(ne),E}if(!L&&(!zi(f)||!zi(h))){let V,ne;const Z=Uf(h),G=Uf(f);if(!zi(x)&&!isNaN(x)){const q=a.valueAsNumber||x&&+x;zi(Z.value)||(V=q>Z.value),zi(G.value)||(ne=qnew Date(new Date().toDateString()+" "+Y),j=a.type=="time",K=a.type=="week";vs(Z.value)&&x&&(V=j?W(x)>W(Z.value):K?x>Z.value:q>new Date(Z.value)),vs(G.value)&&x&&(ne=j?W(x)+V.value,G=!zi(ne.value)&&x.length<+ne.value;if((Z||G)&&(H(Z,V.message,ne.message),!r))return O(E[v].message),E}if(p&&!L&&vs(x)){const{value:V,message:ne}=Uf(p);if(Yy(V)&&!x.match(V)&&(E[v]={type:qs.pattern,message:ne,ref:a,...U(qs.pattern,ne)},!r))return O(ne),E}if(m){if(hs(m)){const V=await m(x,n),ne=DR(V,S);if(ne&&(E[v]={...ne,...U(qs.validate,ne.message)},!r))return O(ne.message),E}else if(Or(m)){let V={};for(const ne in m){if(!io(V)&&!r)break;const Z=DR(await m[ne](x,n),S,ne);Z&&(V={...Z,...U(ne,Z.message)},O(Z.message),r&&(E[v]=V))}if(!io(V)&&(E[v]={ref:S,...V},!r))return E}}return O(!0),E};function she(e,t){const n=t.slice(0,-1).length;let r=0;for(;r{let e=[];return{get observers(){return e},next:i=>{for(const o of e)o.next&&o.next(i)},subscribe:i=>(e.push(i),{unsubscribe:()=>{e=e.filter(o=>o!==i)}}),unsubscribe:()=>{e=[]}}},oE=e=>zi(e)||!cB(e);function nl(e,t){if(oE(e)||oE(t))return e===t;if(_c(e)&&_c(t))return e.getTime()===t.getTime();const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(const i of n){const o=e[i];if(!r.includes(i))return!1;if(i!=="ref"){const a=t[i];if(_c(o)&&_c(a)||Or(o)&&Or(a)||Array.isArray(o)&&Array.isArray(a)?!nl(o,a):o!==a)return!1}}return!0}var _B=e=>e.type==="select-multiple",lhe=e=>W5(e)||xm(e),gS=e=>Gy(e)&&e.isConnected,SB=e=>{for(const t in e)if(hs(e[t]))return!0;return!1};function Zy(e,t={}){const n=Array.isArray(e);if(Or(e)||n)for(const r in e)Array.isArray(e[r])||Or(e[r])&&!SB(e[r])?(t[r]=Array.isArray(e[r])?[]:{},Zy(e[r],t[r])):zi(e[r])||(t[r]=!0);return t}function CB(e,t,n){const r=Array.isArray(e);if(Or(e)||r)for(const i in e)Array.isArray(e[i])||Or(e[i])&&!SB(e[i])?Sr(t)||oE(n[i])?n[i]=Array.isArray(e[i])?Zy(e[i],[]):{...Zy(e[i])}:CB(e[i],zi(t)?{}:t[i],n[i]):n[i]=!nl(e[i],t[i]);return n}var Lp=(e,t)=>CB(e,t,Zy(t)),EB=(e,{valueAsNumber:t,valueAsDate:n,setValueAs:r})=>Sr(e)?e:t?e===""?NaN:e&&+e:n&&vs(e)?new Date(e):r?r(e):e;function mS(e){const t=e.ref;return V5(t)?t.files:W5(t)?wB(e.refs).value:_B(t)?[...t.selectedOptions].map(({value:n})=>n):xm(t)?xB(e.refs).value:EB(Sr(t.value)?e.ref.value:t.value,e)}var che=(e,t,n,r)=>{const i={};for(const o of e){const a=Ze(t,o);a&&An(i,o,a._f)}return{criteriaMode:n,names:[...e],fields:i,shouldUseNativeValidation:r}},Fp=e=>Sr(e)?e:Yy(e)?e.source:Or(e)?Yy(e.value)?e.value.source:e.value:e;const IR="AsyncFunction";var fhe=e=>!!e&&!!e.validate&&!!(hs(e.validate)&&e.validate.constructor.name===IR||Or(e.validate)&&Object.values(e.validate).find(t=>t.constructor.name===IR)),dhe=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate);function NR(e,t,n){const r=Ze(e,n);if(r||B5(n))return{error:r,name:n};const i=n.split(".");for(;i.length;){const o=i.join("."),a=Ze(t,o),s=Ze(e,o);if(a&&!Array.isArray(a)&&n!==o)return{name:n};if(s&&s.type)return{name:o,error:s};i.pop()}return{name:n}}var hhe=(e,t,n,r,i)=>i.isOnAll?!1:!n&&i.isOnTouch?!(t||e):(n?r.isOnBlur:i.isOnBlur)?!e:(n?r.isOnChange:i.isOnChange)?e:!0,phe=(e,t)=>!e2(Ze(e,t)).length&&Br(e,t);const ghe={mode:ja.onSubmit,reValidateMode:ja.onChange,shouldFocusError:!0};function mhe(e={}){let t={...ghe,...e},n={submitCount:0,isDirty:!1,isLoading:hs(t.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:t.errors||{},disabled:t.disabled||!1},r={},i=Or(t.defaultValues)||Or(t.values)?no(t.defaultValues||t.values)||{}:{},o=t.shouldUnregister?{}:no(i),a={action:!1,mount:!1,watch:!1},s={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},u,l=0;const c={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},f={values:pS(),array:pS(),state:pS()},h=PR(t.mode),p=PR(t.reValidateMode),m=t.criteriaMode===ja.all,v=te=>de=>{clearTimeout(l),l=setTimeout(te,de)},b=async te=>{if(!t.disabled&&(c.isValid||te)){const de=t.resolver?io((await M()).errors):await U(r,!0);de!==n.isValid&&f.state.next({isValid:de})}},w=(te,de)=>{!t.disabled&&(c.isValidating||c.validatingFields)&&((te||Array.from(s.mount)).forEach(ge=>{ge&&(de?An(n.validatingFields,ge,de):Br(n.validatingFields,ge))}),f.state.next({validatingFields:n.validatingFields,isValidating:!io(n.validatingFields)}))},x=(te,de=[],ge,ze,Fe=!0,Ae=!0)=>{if(ze&&ge&&!t.disabled){if(a.action=!0,Ae&&Array.isArray(Ze(r,te))){const tt=ge(Ze(r,te),ze.argA,ze.argB);Fe&&An(r,te,tt)}if(Ae&&Array.isArray(Ze(n.errors,te))){const tt=ge(Ze(n.errors,te),ze.argA,ze.argB);Fe&&An(n.errors,te,tt),phe(n.errors,te)}if(c.touchedFields&&Ae&&Array.isArray(Ze(n.touchedFields,te))){const tt=ge(Ze(n.touchedFields,te),ze.argA,ze.argB);Fe&&An(n.touchedFields,te,tt)}c.dirtyFields&&(n.dirtyFields=Lp(i,o)),f.state.next({name:te,isDirty:V(te,de),dirtyFields:n.dirtyFields,errors:n.errors,isValid:n.isValid})}else An(o,te,de)},S=(te,de)=>{An(n.errors,te,de),f.state.next({errors:n.errors})},O=te=>{n.errors=te,f.state.next({errors:n.errors,isValid:!1})},E=(te,de,ge,ze)=>{const Fe=Ze(r,te);if(Fe){const Ae=Ze(o,te,Sr(ge)?Ze(i,te):ge);Sr(Ae)||ze&&ze.defaultChecked||de?An(o,te,de?Ae:mS(Fe._f)):G(te,Ae),a.mount&&b()}},C=(te,de,ge,ze,Fe)=>{let Ae=!1,tt=!1;const mt={name:te};if(!t.disabled){const xn=!!(Ze(r,te)&&Ze(r,te)._f&&Ze(r,te)._f.disabled);if(!ge||ze){c.isDirty&&(tt=n.isDirty,n.isDirty=mt.isDirty=V(),Ae=tt!==mt.isDirty);const Kt=xn||nl(Ze(i,te),de);tt=!!(!xn&&Ze(n.dirtyFields,te)),Kt||xn?Br(n.dirtyFields,te):An(n.dirtyFields,te,!0),mt.dirtyFields=n.dirtyFields,Ae=Ae||c.dirtyFields&&tt!==!Kt}if(ge){const Kt=Ze(n.touchedFields,te);Kt||(An(n.touchedFields,te,ge),mt.touchedFields=n.touchedFields,Ae=Ae||c.touchedFields&&Kt!==ge)}Ae&&Fe&&f.state.next(mt)}return Ae?mt:{}},k=(te,de,ge,ze)=>{const Fe=Ze(n.errors,te),Ae=c.isValid&&aa(de)&&n.isValid!==de;if(t.delayError&&ge?(u=v(()=>S(te,ge)),u(t.delayError)):(clearTimeout(l),u=null,ge?An(n.errors,te,ge):Br(n.errors,te)),(ge?!nl(Fe,ge):Fe)||!io(ze)||Ae){const tt={...ze,...Ae&&aa(de)?{isValid:de}:{},errors:n.errors,name:te};n={...n,...tt},f.state.next(tt)}},M=async te=>{w(te,!0);const de=await t.resolver(o,t.context,che(te||s.mount,r,t.criteriaMode,t.shouldUseNativeValidation));return w(te),de},L=async te=>{const{errors:de}=await M(te);if(te)for(const ge of te){const ze=Ze(de,ge);ze?An(n.errors,ge,ze):Br(n.errors,ge)}else n.errors=de;return de},U=async(te,de,ge={valid:!0})=>{for(const ze in te){const Fe=te[ze];if(Fe){const{_f:Ae,...tt}=Fe;if(Ae){const mt=s.array.has(Ae.name),xn=Fe._f&&fhe(Fe._f);xn&&c.validatingFields&&w([ze],!0);const Kt=await $R(Fe,s.disabled,o,m,t.shouldUseNativeValidation&&!de,mt);if(xn&&c.validatingFields&&w([ze]),Kt[Ae.name]&&(ge.valid=!1,de))break;!de&&(Ze(Kt,Ae.name)?mt?ahe(n.errors,Kt,Ae.name):An(n.errors,Ae.name,Kt[Ae.name]):Br(n.errors,Ae.name))}!io(tt)&&await U(tt,de,ge)}}return ge.valid},H=()=>{for(const te of s.unMount){const de=Ze(r,te);de&&(de._f.refs?de._f.refs.every(ge=>!gS(ge)):!gS(de._f.ref))&&He(te)}s.unMount=new Set},V=(te,de)=>!t.disabled&&(te&&de&&An(o,te,de),!nl(oe(),i)),ne=(te,de,ge)=>yB(te,s,{...a.mount?o:Sr(de)?i:vs(te)?{[te]:de}:de},ge,de),Z=te=>e2(Ze(a.mount?o:i,te,t.shouldUnregister?Ze(i,te,[]):[])),G=(te,de,ge={})=>{const ze=Ze(r,te);let Fe=de;if(ze){const Ae=ze._f;Ae&&(!Ae.disabled&&An(o,te,EB(de,Ae)),Fe=Gy(Ae.ref)&&zi(de)?"":de,_B(Ae.ref)?[...Ae.ref.options].forEach(tt=>tt.selected=Fe.includes(tt.value)):Ae.refs?xm(Ae.ref)?Ae.refs.length>1?Ae.refs.forEach(tt=>(!tt.defaultChecked||!tt.disabled)&&(tt.checked=Array.isArray(Fe)?!!Fe.find(mt=>mt===tt.value):Fe===tt.value)):Ae.refs[0]&&(Ae.refs[0].checked=!!Fe):Ae.refs.forEach(tt=>tt.checked=tt.value===Fe):V5(Ae.ref)?Ae.ref.value="":(Ae.ref.value=Fe,Ae.ref.type||f.values.next({name:te,values:{...o}})))}(ge.shouldDirty||ge.shouldTouch)&&C(te,Fe,ge.shouldTouch,ge.shouldDirty,!0),ge.shouldValidate&&Y(te)},q=(te,de,ge)=>{for(const ze in de){const Fe=de[ze],Ae=`${te}.${ze}`,tt=Ze(r,Ae);(s.array.has(te)||Or(Fe)||tt&&!tt._f)&&!_c(Fe)?q(Ae,Fe,ge):G(Ae,Fe,ge)}},W=(te,de,ge={})=>{const ze=Ze(r,te),Fe=s.array.has(te),Ae=no(de);An(o,te,Ae),Fe?(f.array.next({name:te,values:{...o}}),(c.isDirty||c.dirtyFields)&&ge.shouldDirty&&f.state.next({name:te,dirtyFields:Lp(i,o),isDirty:V(te,Ae)})):ze&&!ze._f&&!zi(Ae)?q(te,Ae,ge):G(te,Ae,ge),kR(te,s)&&f.state.next({...n}),f.values.next({name:a.mount?te:void 0,values:{...o}})},j=async te=>{a.mount=!0;const de=te.target;let ge=de.name,ze=!0;const Fe=Ze(r,ge),Ae=()=>de.type?mS(Fe._f):fB(te),tt=mt=>{ze=Number.isNaN(mt)||_c(mt)&&isNaN(mt.getTime())||nl(mt,Ze(o,ge,mt))};if(Fe){let mt,xn;const Kt=Ae(),wn=te.type===qy.BLUR||te.type===qy.FOCUS_OUT,Ii=!dhe(Fe._f)&&!t.resolver&&!Ze(n.errors,ge)&&!Fe._f.deps||hhe(wn,Ze(n.touchedFields,ge),n.isSubmitted,p,h),br=kR(ge,s,wn);An(o,ge,Kt),wn?(Fe._f.onBlur&&Fe._f.onBlur(te),u&&u(0)):Fe._f.onChange&&Fe._f.onChange(te);const yi=C(ge,Kt,wn,!1),sr=!io(yi)||br;if(!wn&&f.values.next({name:ge,type:te.type,values:{...o}}),Ii)return c.isValid&&(t.mode==="onBlur"&&wn?b():wn||b()),sr&&f.state.next({name:ge,...br?{}:yi});if(!wn&&br&&f.state.next({...n}),t.resolver){const{errors:si}=await M([ge]);if(tt(Kt),ze){const bi=NR(n.errors,r,ge),Rr=NR(si,r,bi.name||ge);mt=Rr.error,ge=Rr.name,xn=io(si)}}else w([ge],!0),mt=(await $R(Fe,s.disabled,o,m,t.shouldUseNativeValidation))[ge],w([ge]),tt(Kt),ze&&(mt?xn=!1:c.isValid&&(xn=await U(r,!0)));ze&&(Fe._f.deps&&Y(Fe._f.deps),k(ge,xn,mt,yi))}},K=(te,de)=>{if(Ze(n.errors,de)&&te.focus)return te.focus(),1},Y=async(te,de={})=>{let ge,ze;const Fe=w0(te);if(t.resolver){const Ae=await L(Sr(te)?te:Fe);ge=io(Ae),ze=te?!Fe.some(tt=>Ze(Ae,tt)):ge}else te?(ze=(await Promise.all(Fe.map(async Ae=>{const tt=Ze(r,Ae);return await U(tt&&tt._f?{[Ae]:tt}:tt)}))).every(Boolean),!(!ze&&!n.isValid)&&b()):ze=ge=await U(r);return f.state.next({...!vs(te)||c.isValid&&ge!==n.isValid?{}:{name:te},...t.resolver||!te?{isValid:ge}:{},errors:n.errors}),de.shouldFocus&&!ze&&_0(r,K,te?Fe:s.mount),ze},oe=te=>{const de={...a.mount?o:i};return Sr(te)?de:vs(te)?Ze(de,te):te.map(ge=>Ze(de,ge))},ae=(te,de)=>({invalid:!!Ze((de||n).errors,te),isDirty:!!Ze((de||n).dirtyFields,te),error:Ze((de||n).errors,te),isValidating:!!Ze(n.validatingFields,te),isTouched:!!Ze((de||n).touchedFields,te)}),ue=te=>{te&&w0(te).forEach(de=>Br(n.errors,de)),f.state.next({errors:te?n.errors:{}})},be=(te,de,ge)=>{const ze=(Ze(r,te,{_f:{}})._f||{}).ref,Fe=Ze(n.errors,te)||{},{ref:Ae,message:tt,type:mt,...xn}=Fe;An(n.errors,te,{...xn,...de,ref:ze}),f.state.next({name:te,errors:n.errors,isValid:!1}),ge&&ge.shouldFocus&&ze&&ze.focus&&ze.focus()},we=(te,de)=>hs(te)?f.values.subscribe({next:ge=>te(ne(void 0,de),ge)}):ne(te,de,!0),He=(te,de={})=>{for(const ge of te?w0(te):s.mount)s.mount.delete(ge),s.array.delete(ge),de.keepValue||(Br(r,ge),Br(o,ge)),!de.keepError&&Br(n.errors,ge),!de.keepDirty&&Br(n.dirtyFields,ge),!de.keepTouched&&Br(n.touchedFields,ge),!de.keepIsValidating&&Br(n.validatingFields,ge),!t.shouldUnregister&&!de.keepDefaultValue&&Br(i,ge);f.values.next({values:{...o}}),f.state.next({...n,...de.keepDirty?{isDirty:V()}:{}}),!de.keepIsValid&&b()},Ee=({disabled:te,name:de,field:ge,fields:ze})=>{(aa(te)&&a.mount||te||s.disabled.has(de))&&(te?s.disabled.add(de):s.disabled.delete(de),C(de,mS(ge?ge._f:Ze(ze,de)._f),!1,!1,!0))},it=(te,de={})=>{let ge=Ze(r,te);const ze=aa(de.disabled)||aa(t.disabled);return An(r,te,{...ge||{},_f:{...ge&&ge._f?ge._f:{ref:{name:te}},name:te,mount:!0,...de}}),s.mount.add(te),ge?Ee({field:ge,disabled:aa(de.disabled)?de.disabled:t.disabled,name:te}):E(te,!0,de.value),{...ze?{disabled:de.disabled||t.disabled}:{},...t.progressive?{required:!!de.required,min:Fp(de.min),max:Fp(de.max),minLength:Fp(de.minLength),maxLength:Fp(de.maxLength),pattern:Fp(de.pattern)}:{},name:te,onChange:j,onBlur:j,ref:Fe=>{if(Fe){it(te,de),ge=Ze(r,te);const Ae=Sr(Fe.value)&&Fe.querySelectorAll&&Fe.querySelectorAll("input,select,textarea")[0]||Fe,tt=lhe(Ae),mt=ge._f.refs||[];if(tt?mt.find(xn=>xn===Ae):Ae===ge._f.ref)return;An(r,te,{_f:{...ge._f,...tt?{refs:[...mt.filter(gS),Ae,...Array.isArray(Ze(i,te))?[{}]:[]],ref:{type:Ae.type,name:te}}:{ref:Ae}}}),E(te,!1,void 0,Ae)}else ge=Ze(r,te,{}),ge._f&&(ge._f.mount=!1),(t.shouldUnregister||de.shouldUnregister)&&!(dB(s.array,te)&&a.action)&&s.unMount.add(te)}}},ke=()=>t.shouldFocusError&&_0(r,K,s.mount),Le=te=>{aa(te)&&(f.state.next({disabled:te}),_0(r,(de,ge)=>{const ze=Ze(r,ge);ze&&(de.disabled=ze._f.disabled||te,Array.isArray(ze._f.refs)&&ze._f.refs.forEach(Fe=>{Fe.disabled=ze._f.disabled||te}))},0,!1))},De=(te,de)=>async ge=>{let ze;ge&&(ge.preventDefault&&ge.preventDefault(),ge.persist&&ge.persist());let Fe=no(o);if(s.disabled.size)for(const Ae of s.disabled)An(Fe,Ae,void 0);if(f.state.next({isSubmitting:!0}),t.resolver){const{errors:Ae,values:tt}=await M();n.errors=Ae,Fe=tt}else await U(r);if(Br(n.errors,"root"),io(n.errors)){f.state.next({errors:{}});try{await te(Fe,ge)}catch(Ae){ze=Ae}}else de&&await de({...n.errors},ge),ke(),setTimeout(ke);if(f.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:io(n.errors)&&!ze,submitCount:n.submitCount+1,errors:n.errors}),ze)throw ze},me=(te,de={})=>{Ze(r,te)&&(Sr(de.defaultValue)?W(te,no(Ze(i,te))):(W(te,de.defaultValue),An(i,te,no(de.defaultValue))),de.keepTouched||Br(n.touchedFields,te),de.keepDirty||(Br(n.dirtyFields,te),n.isDirty=de.defaultValue?V(te,no(Ze(i,te))):V()),de.keepError||(Br(n.errors,te),c.isValid&&b()),f.state.next({...n}))},yt=(te,de={})=>{const ge=te?no(te):i,ze=no(ge),Fe=io(te),Ae=Fe?i:ze;if(de.keepDefaultValues||(i=ge),!de.keepValues){if(de.keepDirtyValues){const tt=new Set([...s.mount,...Object.keys(Lp(i,o))]);for(const mt of Array.from(tt))Ze(n.dirtyFields,mt)?An(Ae,mt,Ze(o,mt)):W(mt,Ze(Ae,mt))}else{if(j5&&Sr(te))for(const tt of s.mount){const mt=Ze(r,tt);if(mt&&mt._f){const xn=Array.isArray(mt._f.refs)?mt._f.refs[0]:mt._f.ref;if(Gy(xn)){const Kt=xn.closest("form");if(Kt){Kt.reset();break}}}}r={}}o=t.shouldUnregister?de.keepDefaultValues?no(i):{}:no(Ae),f.array.next({values:{...Ae}}),f.values.next({values:{...Ae}})}s={mount:de.keepDirtyValues?s.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},a.mount=!c.isValid||!!de.keepIsValid||!!de.keepDirtyValues,a.watch=!!t.shouldUnregister,f.state.next({submitCount:de.keepSubmitCount?n.submitCount:0,isDirty:Fe?!1:de.keepDirty?n.isDirty:!!(de.keepDefaultValues&&!nl(te,i)),isSubmitted:de.keepIsSubmitted?n.isSubmitted:!1,dirtyFields:Fe?{}:de.keepDirtyValues?de.keepDefaultValues&&o?Lp(i,o):n.dirtyFields:de.keepDefaultValues&&te?Lp(i,te):de.keepDirty?n.dirtyFields:{},touchedFields:de.keepTouched?n.touchedFields:{},errors:de.keepErrors?n.errors:{},isSubmitSuccessful:de.keepIsSubmitSuccessful?n.isSubmitSuccessful:!1,isSubmitting:!1})},lt=(te,de)=>yt(hs(te)?te(o):te,de);return{control:{register:it,unregister:He,getFieldState:ae,handleSubmit:De,setError:be,_executeSchema:M,_getWatch:ne,_getDirty:V,_updateValid:b,_removeUnmounted:H,_updateFieldArray:x,_updateDisabledField:Ee,_getFieldArray:Z,_reset:yt,_resetDefaultValues:()=>hs(t.defaultValues)&&t.defaultValues().then(te=>{lt(te,t.resetOptions),f.state.next({isLoading:!1})}),_updateFormState:te=>{n={...n,...te}},_disableForm:Le,_subjects:f,_proxyFormState:c,_setErrors:O,get _fields(){return r},get _formValues(){return o},get _state(){return a},set _state(te){a=te},get _defaultValues(){return i},get _names(){return s},set _names(te){s=te},get _formState(){return n},set _formState(te){n=te},get _options(){return t},set _options(te){t={...t,...te}}},trigger:Y,register:it,handleSubmit:De,watch:we,setValue:W,getValues:oe,reset:lt,resetField:me,clearErrors:ue,unregister:He,setError:be,setFocus:(te,de={})=>{const ge=Ze(r,te),ze=ge&&ge._f;if(ze){const Fe=ze.refs?ze.refs[0]:ze.ref;Fe.focus&&(Fe.focus(),de.shouldSelect&&hs(Fe.select)&&Fe.select())}},getFieldState:ae}}function jYe(e={}){const t=F.useRef(void 0),n=F.useRef(void 0),[r,i]=F.useState({isDirty:!1,isValidating:!1,isLoading:hs(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,defaultValues:hs(e.defaultValues)?void 0:e.defaultValues});t.current||(t.current={...mhe(e),formState:r});const o=t.current.control;return o._options=e,U5({subject:o._subjects.state,next:a=>{mB(a,o._proxyFormState,o._updateFormState,!0)&&i({...o._formState})}}),F.useEffect(()=>o._disableForm(e.disabled),[o,e.disabled]),F.useEffect(()=>{if(o._proxyFormState.isDirty){const a=o._getDirty();a!==r.isDirty&&o._subjects.state.next({isDirty:a})}},[o,r.isDirty]),F.useEffect(()=>{e.values&&!nl(e.values,n.current)?(o._reset(e.values,o._options.resetOptions),n.current=e.values,i(a=>({...a}))):o._resetDefaultValues()},[e.values,o]),F.useEffect(()=>{e.errors&&o._setErrors(e.errors)},[e.errors,o]),F.useEffect(()=>{o._state.mount||(o._updateValid(),o._state.mount=!0),o._state.watch&&(o._state.watch=!1,o._subjects.state.next({...o._formState})),o._removeUnmounted()}),F.useEffect(()=>{e.shouldUnregister&&o._subjects.values.next({values:o._getWatch()})},[e.shouldUnregister,o]),t.current.formState=gB(r,o),t.current}var gn;(function(e){e.assertEqual=i=>i;function t(i){}e.assertIs=t;function n(i){throw new Error}e.assertNever=n,e.arrayToEnum=i=>{const o={};for(const a of i)o[a]=a;return o},e.getValidEnumValues=i=>{const o=e.objectKeys(i).filter(s=>typeof i[i[s]]!="number"),a={};for(const s of o)a[s]=i[s];return e.objectValues(a)},e.objectValues=i=>e.objectKeys(i).map(function(o){return i[o]}),e.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{const o=[];for(const a in i)Object.prototype.hasOwnProperty.call(i,a)&&o.push(a);return o},e.find=(i,o)=>{for(const a of i)if(o(a))return a},e.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&isFinite(i)&&Math.floor(i)===i;function r(i,o=" | "){return i.map(a=>typeof a=="string"?`'${a}'`:a).join(o)}e.joinValues=r,e.jsonStringifyReplacer=(i,o)=>typeof o=="bigint"?o.toString():o})(gn||(gn={}));var aE;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(aE||(aE={}));const rt=gn.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),nu=e=>{switch(typeof e){case"undefined":return rt.undefined;case"string":return rt.string;case"number":return isNaN(e)?rt.nan:rt.number;case"boolean":return rt.boolean;case"function":return rt.function;case"bigint":return rt.bigint;case"symbol":return rt.symbol;case"object":return Array.isArray(e)?rt.array:e===null?rt.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?rt.promise:typeof Map<"u"&&e instanceof Map?rt.map:typeof Set<"u"&&e instanceof Set?rt.set:typeof Date<"u"&&e instanceof Date?rt.date:rt.object;default:return rt.unknown}},Ue=gn.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),vhe=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:");class Lo extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};const n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}format(t){const n=t||function(o){return o.message},r={_errors:[]},i=o=>{for(const a of o.issues)if(a.code==="invalid_union")a.unionErrors.map(i);else if(a.code==="invalid_return_type")i(a.returnTypeError);else if(a.code==="invalid_arguments")i(a.argumentsError);else if(a.path.length===0)r._errors.push(n(a));else{let s=r,u=0;for(;un.message){const n={},r=[];for(const i of this.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}}Lo.create=e=>new Lo(e);const qd=(e,t)=>{let n;switch(e.code){case Ue.invalid_type:e.received===rt.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case Ue.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,gn.jsonStringifyReplacer)}`;break;case Ue.unrecognized_keys:n=`Unrecognized key(s) in object: ${gn.joinValues(e.keys,", ")}`;break;case Ue.invalid_union:n="Invalid input";break;case Ue.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${gn.joinValues(e.options)}`;break;case Ue.invalid_enum_value:n=`Invalid enum value. Expected ${gn.joinValues(e.options)}, received '${e.received}'`;break;case Ue.invalid_arguments:n="Invalid function arguments";break;case Ue.invalid_return_type:n="Invalid function return type";break;case Ue.invalid_date:n="Invalid date";break;case Ue.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:gn.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case Ue.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case Ue.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case Ue.custom:n="Invalid input";break;case Ue.invalid_intersection_types:n="Intersection results could not be merged";break;case Ue.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case Ue.not_finite:n="Number must be finite";break;default:n=t.defaultError,gn.assertNever(e)}return{message:n}};let OB=qd;function yhe(e){OB=e}function Xy(){return OB}const Qy=e=>{const{data:t,path:n,errorMaps:r,issueData:i}=e,o=[...n,...i.path||[]],a={...i,path:o};if(i.message!==void 0)return{...i,path:o,message:i.message};let s="";const u=r.filter(l=>!!l).slice().reverse();for(const l of u)s=l(a,{data:t,defaultError:s}).message;return{...i,path:o,message:s}},bhe=[];function et(e,t){const n=Xy(),r=Qy({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===qd?void 0:qd].filter(i=>!!i)});e.common.issues.push(r)}class $i{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){const r=[];for(const i of n){if(i.status==="aborted")return Dt;i.status==="dirty"&&t.dirty(),r.push(i.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){const r=[];for(const i of n){const o=await i.key,a=await i.value;r.push({key:o,value:a})}return $i.mergeObjectSync(t,r)}static mergeObjectSync(t,n){const r={};for(const i of n){const{key:o,value:a}=i;if(o.status==="aborted"||a.status==="aborted")return Dt;o.status==="dirty"&&t.dirty(),a.status==="dirty"&&t.dirty(),o.value!=="__proto__"&&(typeof a.value<"u"||i.alwaysSet)&&(r[o.value]=a.value)}return{status:t.value,value:r}}}const Dt=Object.freeze({status:"aborted"}),gd=e=>({status:"dirty",value:e}),Hi=e=>({status:"valid",value:e}),sE=e=>e.status==="aborted",uE=e=>e.status==="dirty",Gc=e=>e.status==="valid",tg=e=>typeof Promise<"u"&&e instanceof Promise;function Jy(e,t,n,r){if(typeof t=="function"?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t.get(e)}function AB(e,t,n,r,i){if(typeof t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return t.set(e,n),n}var dt;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(dt||(dt={}));var o0,a0;class ks{constructor(t,n,r,i){this._cachedPath=[],this.parent=t,this.data=n,this._path=r,this._key=i}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const LR=(e,t)=>{if(Gc(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const n=new Lo(e.common.issues);return this._error=n,this._error}}};function Gt(e){if(!e)return{};const{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(a,s)=>{var u,l;const{message:c}=e;return a.code==="invalid_enum_value"?{message:c??s.defaultError}:typeof s.data>"u"?{message:(u=c??r)!==null&&u!==void 0?u:s.defaultError}:a.code!=="invalid_type"?{message:s.defaultError}:{message:(l=c??n)!==null&&l!==void 0?l:s.defaultError}},description:i}}class en{get description(){return this._def.description}_getType(t){return nu(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:nu(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new $i,ctx:{common:t.parent.common,data:t.data,parsedType:nu(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){const n=this._parse(t);if(tg(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){const n=this._parse(t);return Promise.resolve(n)}parse(t,n){const r=this.safeParse(t,n);if(r.success)return r.data;throw r.error}safeParse(t,n){var r;const i={common:{issues:[],async:(r=n?.async)!==null&&r!==void 0?r:!1,contextualErrorMap:n?.errorMap},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:nu(t)},o=this._parseSync({data:t,path:i.path,parent:i});return LR(i,o)}"~validate"(t){var n,r;const i={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:nu(t)};if(!this["~standard"].async)try{const o=this._parseSync({data:t,path:[],parent:i});return Gc(o)?{value:o.value}:{issues:i.common.issues}}catch(o){!((r=(n=o?.message)===null||n===void 0?void 0:n.toLowerCase())===null||r===void 0)&&r.includes("encountered")&&(this["~standard"].async=!0),i.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:i}).then(o=>Gc(o)?{value:o.value}:{issues:i.common.issues})}async parseAsync(t,n){const r=await this.safeParseAsync(t,n);if(r.success)return r.data;throw r.error}async safeParseAsync(t,n){const r={common:{issues:[],contextualErrorMap:n?.errorMap,async:!0},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:nu(t)},i=this._parse({data:t,path:r.path,parent:r}),o=await(tg(i)?i:Promise.resolve(i));return LR(r,o)}refine(t,n){const r=i=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(i):n;return this._refinement((i,o)=>{const a=t(i),s=()=>o.addIssue({code:Ue.custom,...r(i)});return typeof Promise<"u"&&a instanceof Promise?a.then(u=>u?!0:(s(),!1)):a?!0:(s(),!1)})}refinement(t,n){return this._refinement((r,i)=>t(r)?!0:(i.addIssue(typeof n=="function"?n(r,i):n),!1))}_refinement(t){return new Ya({schema:this,typeName:Tt.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:n=>this["~validate"](n)}}optional(){return Es.create(this,this._def)}nullable(){return Ml.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Ha.create(this)}promise(){return Yd.create(this,this._def)}or(t){return og.create([this,t],this._def)}and(t){return ag.create(this,t,this._def)}transform(t){return new Ya({...Gt(this._def),schema:this,typeName:Tt.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const n=typeof t=="function"?t:()=>t;return new fg({...Gt(this._def),innerType:this,defaultValue:n,typeName:Tt.ZodDefault})}brand(){return new H5({typeName:Tt.ZodBranded,type:this,...Gt(this._def)})}catch(t){const n=typeof t=="function"?t:()=>t;return new dg({...Gt(this._def),innerType:this,catchValue:n,typeName:Tt.ZodCatch})}describe(t){const n=this.constructor;return new n({...this._def,description:t})}pipe(t){return wm.create(this,t)}readonly(){return hg.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const xhe=/^c[^\s-]{8,}$/i,whe=/^[0-9a-z]+$/,_he=/^[0-9A-HJKMNP-TV-Z]{26}$/i,She=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Che=/^[a-z0-9_-]{21}$/i,Ehe=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Ohe=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Ahe=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Phe="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let vS;const khe=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,The=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,Mhe=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Rhe=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Dhe=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,$he=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,PB="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Ihe=new RegExp(`^${PB}$`);function kB(e){let t="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";return e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`),t}function Nhe(e){return new RegExp(`^${kB(e)}$`)}function TB(e){let t=`${PB}T${kB(e)}`;const n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function Lhe(e,t){return!!((t==="v4"||!t)&&khe.test(e)||(t==="v6"||!t)&&Mhe.test(e))}function Fhe(e,t){if(!Ehe.test(e))return!1;try{const[n]=e.split("."),r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),i=JSON.parse(atob(r));return!(typeof i!="object"||i===null||!i.typ||!i.alg||t&&i.alg!==t)}catch{return!1}}function jhe(e,t){return!!((t==="v4"||!t)&&The.test(e)||(t==="v6"||!t)&&Rhe.test(e))}class za extends en{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==rt.string){const o=this._getOrReturnCtx(t);return et(o,{code:Ue.invalid_type,expected:rt.string,received:o.parsedType}),Dt}const r=new $i;let i;for(const o of this._def.checks)if(o.kind==="min")t.data.lengtho.value&&(i=this._getOrReturnCtx(t,i),et(i,{code:Ue.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="length"){const a=t.data.length>o.value,s=t.data.lengtht.test(i),{validation:n,code:Ue.invalid_string,...dt.errToObj(r)})}_addCheck(t){return new za({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...dt.errToObj(t)})}url(t){return this._addCheck({kind:"url",...dt.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...dt.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...dt.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...dt.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...dt.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...dt.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...dt.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...dt.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...dt.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...dt.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...dt.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...dt.errToObj(t)})}datetime(t){var n,r;return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:(n=t?.offset)!==null&&n!==void 0?n:!1,local:(r=t?.local)!==null&&r!==void 0?r:!1,...dt.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,...dt.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...dt.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...dt.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,...dt.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...dt.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...dt.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...dt.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...dt.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...dt.errToObj(n)})}nonempty(t){return this.min(1,dt.errToObj(t))}trim(){return new za({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new za({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new za({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value{var t;return new za({checks:[],typeName:Tt.ZodString,coerce:(t=e?.coerce)!==null&&t!==void 0?t:!1,...Gt(e)})};function Bhe(e,t){const n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,i=n>r?n:r,o=parseInt(e.toFixed(i).replace(".","")),a=parseInt(t.toFixed(i).replace(".",""));return o%a/Math.pow(10,i)}class Pl extends en{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==rt.number){const o=this._getOrReturnCtx(t);return et(o,{code:Ue.invalid_type,expected:rt.number,received:o.parsedType}),Dt}let r;const i=new $i;for(const o of this._def.checks)o.kind==="int"?gn.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),et(r,{code:Ue.invalid_type,expected:"integer",received:"float",message:o.message}),i.dirty()):o.kind==="min"?(o.inclusive?t.datao.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),et(r,{code:Ue.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),i.dirty()):o.kind==="multipleOf"?Bhe(t.data,o.value)!==0&&(r=this._getOrReturnCtx(t,r),et(r,{code:Ue.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),et(r,{code:Ue.not_finite,message:o.message}),i.dirty()):gn.assertNever(o);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,dt.toString(n))}gt(t,n){return this.setLimit("min",t,!1,dt.toString(n))}lte(t,n){return this.setLimit("max",t,!0,dt.toString(n))}lt(t,n){return this.setLimit("max",t,!1,dt.toString(n))}setLimit(t,n,r,i){return new Pl({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:dt.toString(i)}]})}_addCheck(t){return new Pl({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:dt.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:dt.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:dt.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:dt.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:dt.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:dt.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:dt.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:dt.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:dt.toString(t)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.valuet.kind==="int"||t.kind==="multipleOf"&&gn.isInteger(t.value))}get isFinite(){let t=null,n=null;for(const r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.valuenew Pl({checks:[],typeName:Tt.ZodNumber,coerce:e?.coerce||!1,...Gt(e)});class kl extends en{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==rt.bigint)return this._getInvalidInput(t);let r;const i=new $i;for(const o of this._def.checks)o.kind==="min"?(o.inclusive?t.datao.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),et(r,{code:Ue.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),i.dirty()):o.kind==="multipleOf"?t.data%o.value!==BigInt(0)&&(r=this._getOrReturnCtx(t,r),et(r,{code:Ue.not_multiple_of,multipleOf:o.value,message:o.message}),i.dirty()):gn.assertNever(o);return{status:i.value,value:t.data}}_getInvalidInput(t){const n=this._getOrReturnCtx(t);return et(n,{code:Ue.invalid_type,expected:rt.bigint,received:n.parsedType}),Dt}gte(t,n){return this.setLimit("min",t,!0,dt.toString(n))}gt(t,n){return this.setLimit("min",t,!1,dt.toString(n))}lte(t,n){return this.setLimit("max",t,!0,dt.toString(n))}lt(t,n){return this.setLimit("max",t,!1,dt.toString(n))}setLimit(t,n,r,i){return new kl({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:dt.toString(i)}]})}_addCheck(t){return new kl({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:dt.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:dt.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:dt.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:dt.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:dt.toString(n)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value{var t;return new kl({checks:[],typeName:Tt.ZodBigInt,coerce:(t=e?.coerce)!==null&&t!==void 0?t:!1,...Gt(e)})};class ng extends en{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==rt.boolean){const r=this._getOrReturnCtx(t);return et(r,{code:Ue.invalid_type,expected:rt.boolean,received:r.parsedType}),Dt}return Hi(t.data)}}ng.create=e=>new ng({typeName:Tt.ZodBoolean,coerce:e?.coerce||!1,...Gt(e)});class Yc extends en{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==rt.date){const o=this._getOrReturnCtx(t);return et(o,{code:Ue.invalid_type,expected:rt.date,received:o.parsedType}),Dt}if(isNaN(t.data.getTime())){const o=this._getOrReturnCtx(t);return et(o,{code:Ue.invalid_date}),Dt}const r=new $i;let i;for(const o of this._def.checks)o.kind==="min"?t.data.getTime()o.value&&(i=this._getOrReturnCtx(t,i),et(i,{code:Ue.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):gn.assertNever(o);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new Yc({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:dt.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:dt.toString(n)})}get minDate(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.valuenew Yc({checks:[],coerce:e?.coerce||!1,typeName:Tt.ZodDate,...Gt(e)});class eb extends en{_parse(t){if(this._getType(t)!==rt.symbol){const r=this._getOrReturnCtx(t);return et(r,{code:Ue.invalid_type,expected:rt.symbol,received:r.parsedType}),Dt}return Hi(t.data)}}eb.create=e=>new eb({typeName:Tt.ZodSymbol,...Gt(e)});class rg extends en{_parse(t){if(this._getType(t)!==rt.undefined){const r=this._getOrReturnCtx(t);return et(r,{code:Ue.invalid_type,expected:rt.undefined,received:r.parsedType}),Dt}return Hi(t.data)}}rg.create=e=>new rg({typeName:Tt.ZodUndefined,...Gt(e)});class ig extends en{_parse(t){if(this._getType(t)!==rt.null){const r=this._getOrReturnCtx(t);return et(r,{code:Ue.invalid_type,expected:rt.null,received:r.parsedType}),Dt}return Hi(t.data)}}ig.create=e=>new ig({typeName:Tt.ZodNull,...Gt(e)});class Gd extends en{constructor(){super(...arguments),this._any=!0}_parse(t){return Hi(t.data)}}Gd.create=e=>new Gd({typeName:Tt.ZodAny,...Gt(e)});class Rc extends en{constructor(){super(...arguments),this._unknown=!0}_parse(t){return Hi(t.data)}}Rc.create=e=>new Rc({typeName:Tt.ZodUnknown,...Gt(e)});class bu extends en{_parse(t){const n=this._getOrReturnCtx(t);return et(n,{code:Ue.invalid_type,expected:rt.never,received:n.parsedType}),Dt}}bu.create=e=>new bu({typeName:Tt.ZodNever,...Gt(e)});class tb extends en{_parse(t){if(this._getType(t)!==rt.undefined){const r=this._getOrReturnCtx(t);return et(r,{code:Ue.invalid_type,expected:rt.void,received:r.parsedType}),Dt}return Hi(t.data)}}tb.create=e=>new tb({typeName:Tt.ZodVoid,...Gt(e)});class Ha extends en{_parse(t){const{ctx:n,status:r}=this._processInputParams(t),i=this._def;if(n.parsedType!==rt.array)return et(n,{code:Ue.invalid_type,expected:rt.array,received:n.parsedType}),Dt;if(i.exactLength!==null){const a=n.data.length>i.exactLength.value,s=n.data.lengthi.maxLength.value&&(et(n,{code:Ue.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((a,s)=>i.type._parseAsync(new ks(n,a,n.path,s)))).then(a=>$i.mergeArray(r,a));const o=[...n.data].map((a,s)=>i.type._parseSync(new ks(n,a,n.path,s)));return $i.mergeArray(r,o)}get element(){return this._def.type}min(t,n){return new Ha({...this._def,minLength:{value:t,message:dt.toString(n)}})}max(t,n){return new Ha({...this._def,maxLength:{value:t,message:dt.toString(n)}})}length(t,n){return new Ha({...this._def,exactLength:{value:t,message:dt.toString(n)}})}nonempty(t){return this.min(1,t)}}Ha.create=(e,t)=>new Ha({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Tt.ZodArray,...Gt(t)});function ed(e){if(e instanceof cr){const t={};for(const n in e.shape){const r=e.shape[n];t[n]=Es.create(ed(r))}return new cr({...e._def,shape:()=>t})}else return e instanceof Ha?new Ha({...e._def,type:ed(e.element)}):e instanceof Es?Es.create(ed(e.unwrap())):e instanceof Ml?Ml.create(ed(e.unwrap())):e instanceof Ts?Ts.create(e.items.map(t=>ed(t))):e}class cr extends en{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const t=this._def.shape(),n=gn.objectKeys(t);return this._cached={shape:t,keys:n}}_parse(t){if(this._getType(t)!==rt.object){const l=this._getOrReturnCtx(t);return et(l,{code:Ue.invalid_type,expected:rt.object,received:l.parsedType}),Dt}const{status:r,ctx:i}=this._processInputParams(t),{shape:o,keys:a}=this._getCached(),s=[];if(!(this._def.catchall instanceof bu&&this._def.unknownKeys==="strip"))for(const l in i.data)a.includes(l)||s.push(l);const u=[];for(const l of a){const c=o[l],f=i.data[l];u.push({key:{status:"valid",value:l},value:c._parse(new ks(i,f,i.path,l)),alwaysSet:l in i.data})}if(this._def.catchall instanceof bu){const l=this._def.unknownKeys;if(l==="passthrough")for(const c of s)u.push({key:{status:"valid",value:c},value:{status:"valid",value:i.data[c]}});else if(l==="strict")s.length>0&&(et(i,{code:Ue.unrecognized_keys,keys:s}),r.dirty());else if(l!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const l=this._def.catchall;for(const c of s){const f=i.data[c];u.push({key:{status:"valid",value:c},value:l._parse(new ks(i,f,i.path,c)),alwaysSet:c in i.data})}}return i.common.async?Promise.resolve().then(async()=>{const l=[];for(const c of u){const f=await c.key,h=await c.value;l.push({key:f,value:h,alwaysSet:c.alwaysSet})}return l}).then(l=>$i.mergeObjectSync(r,l)):$i.mergeObjectSync(r,u)}get shape(){return this._def.shape()}strict(t){return dt.errToObj,new cr({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{var i,o,a,s;const u=(a=(o=(i=this._def).errorMap)===null||o===void 0?void 0:o.call(i,n,r).message)!==null&&a!==void 0?a:r.defaultError;return n.code==="unrecognized_keys"?{message:(s=dt.errToObj(t).message)!==null&&s!==void 0?s:u}:{message:u}}}:{}})}strip(){return new cr({...this._def,unknownKeys:"strip"})}passthrough(){return new cr({...this._def,unknownKeys:"passthrough"})}extend(t){return new cr({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new cr({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:Tt.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new cr({...this._def,catchall:t})}pick(t){const n={};return gn.objectKeys(t).forEach(r=>{t[r]&&this.shape[r]&&(n[r]=this.shape[r])}),new cr({...this._def,shape:()=>n})}omit(t){const n={};return gn.objectKeys(this.shape).forEach(r=>{t[r]||(n[r]=this.shape[r])}),new cr({...this._def,shape:()=>n})}deepPartial(){return ed(this)}partial(t){const n={};return gn.objectKeys(this.shape).forEach(r=>{const i=this.shape[r];t&&!t[r]?n[r]=i:n[r]=i.optional()}),new cr({...this._def,shape:()=>n})}required(t){const n={};return gn.objectKeys(this.shape).forEach(r=>{if(t&&!t[r])n[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof Es;)o=o._def.innerType;n[r]=o}}),new cr({...this._def,shape:()=>n})}keyof(){return MB(gn.objectKeys(this.shape))}}cr.create=(e,t)=>new cr({shape:()=>e,unknownKeys:"strip",catchall:bu.create(),typeName:Tt.ZodObject,...Gt(t)});cr.strictCreate=(e,t)=>new cr({shape:()=>e,unknownKeys:"strict",catchall:bu.create(),typeName:Tt.ZodObject,...Gt(t)});cr.lazycreate=(e,t)=>new cr({shape:e,unknownKeys:"strip",catchall:bu.create(),typeName:Tt.ZodObject,...Gt(t)});class og extends en{_parse(t){const{ctx:n}=this._processInputParams(t),r=this._def.options;function i(o){for(const s of o)if(s.result.status==="valid")return s.result;for(const s of o)if(s.result.status==="dirty")return n.common.issues.push(...s.ctx.common.issues),s.result;const a=o.map(s=>new Lo(s.ctx.common.issues));return et(n,{code:Ue.invalid_union,unionErrors:a}),Dt}if(n.common.async)return Promise.all(r.map(async o=>{const a={...n,common:{...n.common,issues:[]},parent:null};return{result:await o._parseAsync({data:n.data,path:n.path,parent:a}),ctx:a}})).then(i);{let o;const a=[];for(const u of r){const l={...n,common:{...n.common,issues:[]},parent:null},c=u._parseSync({data:n.data,path:n.path,parent:l});if(c.status==="valid")return c;c.status==="dirty"&&!o&&(o={result:c,ctx:l}),l.common.issues.length&&a.push(l.common.issues)}if(o)return n.common.issues.push(...o.ctx.common.issues),o.result;const s=a.map(u=>new Lo(u));return et(n,{code:Ue.invalid_union,unionErrors:s}),Dt}}get options(){return this._def.options}}og.create=(e,t)=>new og({options:e,typeName:Tt.ZodUnion,...Gt(t)});const Zs=e=>e instanceof ug?Zs(e.schema):e instanceof Ya?Zs(e.innerType()):e instanceof lg?[e.value]:e instanceof Tl?e.options:e instanceof cg?gn.objectValues(e.enum):e instanceof fg?Zs(e._def.innerType):e instanceof rg?[void 0]:e instanceof ig?[null]:e instanceof Es?[void 0,...Zs(e.unwrap())]:e instanceof Ml?[null,...Zs(e.unwrap())]:e instanceof H5||e instanceof hg?Zs(e.unwrap()):e instanceof dg?Zs(e._def.innerType):[];class t2 extends en{_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==rt.object)return et(n,{code:Ue.invalid_type,expected:rt.object,received:n.parsedType}),Dt;const r=this.discriminator,i=n.data[r],o=this.optionsMap.get(i);return o?n.common.async?o._parseAsync({data:n.data,path:n.path,parent:n}):o._parseSync({data:n.data,path:n.path,parent:n}):(et(n,{code:Ue.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),Dt)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){const i=new Map;for(const o of n){const a=Zs(o.shape[t]);if(!a.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(const s of a){if(i.has(s))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(s)}`);i.set(s,o)}}return new t2({typeName:Tt.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...Gt(r)})}}function lE(e,t){const n=nu(e),r=nu(t);if(e===t)return{valid:!0,data:e};if(n===rt.object&&r===rt.object){const i=gn.objectKeys(t),o=gn.objectKeys(e).filter(s=>i.indexOf(s)!==-1),a={...e,...t};for(const s of o){const u=lE(e[s],t[s]);if(!u.valid)return{valid:!1};a[s]=u.data}return{valid:!0,data:a}}else if(n===rt.array&&r===rt.array){if(e.length!==t.length)return{valid:!1};const i=[];for(let o=0;o{if(sE(o)||sE(a))return Dt;const s=lE(o.value,a.value);return s.valid?((uE(o)||uE(a))&&n.dirty(),{status:n.value,value:s.data}):(et(r,{code:Ue.invalid_intersection_types}),Dt)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([o,a])=>i(o,a)):i(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}ag.create=(e,t,n)=>new ag({left:e,right:t,typeName:Tt.ZodIntersection,...Gt(n)});class Ts extends en{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==rt.array)return et(r,{code:Ue.invalid_type,expected:rt.array,received:r.parsedType}),Dt;if(r.data.lengththis._def.items.length&&(et(r,{code:Ue.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());const o=[...r.data].map((a,s)=>{const u=this._def.items[s]||this._def.rest;return u?u._parse(new ks(r,a,r.path,s)):null}).filter(a=>!!a);return r.common.async?Promise.all(o).then(a=>$i.mergeArray(n,a)):$i.mergeArray(n,o)}get items(){return this._def.items}rest(t){return new Ts({...this._def,rest:t})}}Ts.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Ts({items:e,typeName:Tt.ZodTuple,rest:null,...Gt(t)})};class sg extends en{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==rt.object)return et(r,{code:Ue.invalid_type,expected:rt.object,received:r.parsedType}),Dt;const i=[],o=this._def.keyType,a=this._def.valueType;for(const s in r.data)i.push({key:o._parse(new ks(r,s,r.path,s)),value:a._parse(new ks(r,r.data[s],r.path,s)),alwaysSet:s in r.data});return r.common.async?$i.mergeObjectAsync(n,i):$i.mergeObjectSync(n,i)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof en?new sg({keyType:t,valueType:n,typeName:Tt.ZodRecord,...Gt(r)}):new sg({keyType:za.create(),valueType:t,typeName:Tt.ZodRecord,...Gt(n)})}}class nb extends en{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==rt.map)return et(r,{code:Ue.invalid_type,expected:rt.map,received:r.parsedType}),Dt;const i=this._def.keyType,o=this._def.valueType,a=[...r.data.entries()].map(([s,u],l)=>({key:i._parse(new ks(r,s,r.path,[l,"key"])),value:o._parse(new ks(r,u,r.path,[l,"value"]))}));if(r.common.async){const s=new Map;return Promise.resolve().then(async()=>{for(const u of a){const l=await u.key,c=await u.value;if(l.status==="aborted"||c.status==="aborted")return Dt;(l.status==="dirty"||c.status==="dirty")&&n.dirty(),s.set(l.value,c.value)}return{status:n.value,value:s}})}else{const s=new Map;for(const u of a){const l=u.key,c=u.value;if(l.status==="aborted"||c.status==="aborted")return Dt;(l.status==="dirty"||c.status==="dirty")&&n.dirty(),s.set(l.value,c.value)}return{status:n.value,value:s}}}}nb.create=(e,t,n)=>new nb({valueType:t,keyType:e,typeName:Tt.ZodMap,...Gt(n)});class Zc extends en{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==rt.set)return et(r,{code:Ue.invalid_type,expected:rt.set,received:r.parsedType}),Dt;const i=this._def;i.minSize!==null&&r.data.sizei.maxSize.value&&(et(r,{code:Ue.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),n.dirty());const o=this._def.valueType;function a(u){const l=new Set;for(const c of u){if(c.status==="aborted")return Dt;c.status==="dirty"&&n.dirty(),l.add(c.value)}return{status:n.value,value:l}}const s=[...r.data.values()].map((u,l)=>o._parse(new ks(r,u,r.path,l)));return r.common.async?Promise.all(s).then(u=>a(u)):a(s)}min(t,n){return new Zc({...this._def,minSize:{value:t,message:dt.toString(n)}})}max(t,n){return new Zc({...this._def,maxSize:{value:t,message:dt.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}}Zc.create=(e,t)=>new Zc({valueType:e,minSize:null,maxSize:null,typeName:Tt.ZodSet,...Gt(t)});class Ad extends en{constructor(){super(...arguments),this.validate=this.implement}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==rt.function)return et(n,{code:Ue.invalid_type,expected:rt.function,received:n.parsedType}),Dt;function r(s,u){return Qy({data:s,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Xy(),qd].filter(l=>!!l),issueData:{code:Ue.invalid_arguments,argumentsError:u}})}function i(s,u){return Qy({data:s,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Xy(),qd].filter(l=>!!l),issueData:{code:Ue.invalid_return_type,returnTypeError:u}})}const o={errorMap:n.common.contextualErrorMap},a=n.data;if(this._def.returns instanceof Yd){const s=this;return Hi(async function(...u){const l=new Lo([]),c=await s._def.args.parseAsync(u,o).catch(p=>{throw l.addIssue(r(u,p)),l}),f=await Reflect.apply(a,this,c);return await s._def.returns._def.type.parseAsync(f,o).catch(p=>{throw l.addIssue(i(f,p)),l})})}else{const s=this;return Hi(function(...u){const l=s._def.args.safeParse(u,o);if(!l.success)throw new Lo([r(u,l.error)]);const c=Reflect.apply(a,this,l.data),f=s._def.returns.safeParse(c,o);if(!f.success)throw new Lo([i(c,f.error)]);return f.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new Ad({...this._def,args:Ts.create(t).rest(Rc.create())})}returns(t){return new Ad({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,r){return new Ad({args:t||Ts.create([]).rest(Rc.create()),returns:n||Rc.create(),typeName:Tt.ZodFunction,...Gt(r)})}}class ug extends en{get schema(){return this._def.getter()}_parse(t){const{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}}ug.create=(e,t)=>new ug({getter:e,typeName:Tt.ZodLazy,...Gt(t)});class lg extends en{_parse(t){if(t.data!==this._def.value){const n=this._getOrReturnCtx(t);return et(n,{received:n.data,code:Ue.invalid_literal,expected:this._def.value}),Dt}return{status:"valid",value:t.data}}get value(){return this._def.value}}lg.create=(e,t)=>new lg({value:e,typeName:Tt.ZodLiteral,...Gt(t)});function MB(e,t){return new Tl({values:e,typeName:Tt.ZodEnum,...Gt(t)})}class Tl extends en{constructor(){super(...arguments),o0.set(this,void 0)}_parse(t){if(typeof t.data!="string"){const n=this._getOrReturnCtx(t),r=this._def.values;return et(n,{expected:gn.joinValues(r),received:n.parsedType,code:Ue.invalid_type}),Dt}if(Jy(this,o0)||AB(this,o0,new Set(this._def.values)),!Jy(this,o0).has(t.data)){const n=this._getOrReturnCtx(t),r=this._def.values;return et(n,{received:n.data,code:Ue.invalid_enum_value,options:r}),Dt}return Hi(t.data)}get options(){return this._def.values}get enum(){const t={};for(const n of this._def.values)t[n]=n;return t}get Values(){const t={};for(const n of this._def.values)t[n]=n;return t}get Enum(){const t={};for(const n of this._def.values)t[n]=n;return t}extract(t,n=this._def){return Tl.create(t,{...this._def,...n})}exclude(t,n=this._def){return Tl.create(this.options.filter(r=>!t.includes(r)),{...this._def,...n})}}o0=new WeakMap;Tl.create=MB;class cg extends en{constructor(){super(...arguments),a0.set(this,void 0)}_parse(t){const n=gn.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==rt.string&&r.parsedType!==rt.number){const i=gn.objectValues(n);return et(r,{expected:gn.joinValues(i),received:r.parsedType,code:Ue.invalid_type}),Dt}if(Jy(this,a0)||AB(this,a0,new Set(gn.getValidEnumValues(this._def.values))),!Jy(this,a0).has(t.data)){const i=gn.objectValues(n);return et(r,{received:r.data,code:Ue.invalid_enum_value,options:i}),Dt}return Hi(t.data)}get enum(){return this._def.values}}a0=new WeakMap;cg.create=(e,t)=>new cg({values:e,typeName:Tt.ZodNativeEnum,...Gt(t)});class Yd extends en{unwrap(){return this._def.type}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==rt.promise&&n.common.async===!1)return et(n,{code:Ue.invalid_type,expected:rt.promise,received:n.parsedType}),Dt;const r=n.parsedType===rt.promise?n.data:Promise.resolve(n.data);return Hi(r.then(i=>this._def.type.parseAsync(i,{path:n.path,errorMap:n.common.contextualErrorMap})))}}Yd.create=(e,t)=>new Yd({type:e,typeName:Tt.ZodPromise,...Gt(t)});class Ya extends en{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Tt.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){const{status:n,ctx:r}=this._processInputParams(t),i=this._def.effect||null,o={addIssue:a=>{et(r,a),a.fatal?n.abort():n.dirty()},get path(){return r.path}};if(o.addIssue=o.addIssue.bind(o),i.type==="preprocess"){const a=i.transform(r.data,o);if(r.common.async)return Promise.resolve(a).then(async s=>{if(n.value==="aborted")return Dt;const u=await this._def.schema._parseAsync({data:s,path:r.path,parent:r});return u.status==="aborted"?Dt:u.status==="dirty"||n.value==="dirty"?gd(u.value):u});{if(n.value==="aborted")return Dt;const s=this._def.schema._parseSync({data:a,path:r.path,parent:r});return s.status==="aborted"?Dt:s.status==="dirty"||n.value==="dirty"?gd(s.value):s}}if(i.type==="refinement"){const a=s=>{const u=i.refinement(s,o);if(r.common.async)return Promise.resolve(u);if(u instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return s};if(r.common.async===!1){const s=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?Dt:(s.status==="dirty"&&n.dirty(),a(s.value),{status:n.value,value:s.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(s=>s.status==="aborted"?Dt:(s.status==="dirty"&&n.dirty(),a(s.value).then(()=>({status:n.value,value:s.value}))))}if(i.type==="transform")if(r.common.async===!1){const a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!Gc(a))return a;const s=i.transform(a.value,o);if(s instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:s}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>Gc(a)?Promise.resolve(i.transform(a.value,o)).then(s=>({status:n.value,value:s})):a);gn.assertNever(i)}}Ya.create=(e,t,n)=>new Ya({schema:e,typeName:Tt.ZodEffects,effect:t,...Gt(n)});Ya.createWithPreprocess=(e,t,n)=>new Ya({schema:t,effect:{type:"preprocess",transform:e},typeName:Tt.ZodEffects,...Gt(n)});class Es extends en{_parse(t){return this._getType(t)===rt.undefined?Hi(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}Es.create=(e,t)=>new Es({innerType:e,typeName:Tt.ZodOptional,...Gt(t)});class Ml extends en{_parse(t){return this._getType(t)===rt.null?Hi(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}Ml.create=(e,t)=>new Ml({innerType:e,typeName:Tt.ZodNullable,...Gt(t)});class fg extends en{_parse(t){const{ctx:n}=this._processInputParams(t);let r=n.data;return n.parsedType===rt.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}}fg.create=(e,t)=>new fg({innerType:e,typeName:Tt.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...Gt(t)});class dg extends en{_parse(t){const{ctx:n}=this._processInputParams(t),r={...n,common:{...n.common,issues:[]}},i=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return tg(i)?i.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Lo(r.common.issues)},input:r.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new Lo(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}dg.create=(e,t)=>new dg({innerType:e,typeName:Tt.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...Gt(t)});class rb extends en{_parse(t){if(this._getType(t)!==rt.nan){const r=this._getOrReturnCtx(t);return et(r,{code:Ue.invalid_type,expected:rt.nan,received:r.parsedType}),Dt}return{status:"valid",value:t.data}}}rb.create=e=>new rb({typeName:Tt.ZodNaN,...Gt(e)});const zhe=Symbol("zod_brand");class H5 extends en{_parse(t){const{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}}class wm extends en{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{const o=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?Dt:o.status==="dirty"?(n.dirty(),gd(o.value)):this._def.out._parseAsync({data:o.value,path:r.path,parent:r})})();{const i=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return i.status==="aborted"?Dt:i.status==="dirty"?(n.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:r.path,parent:r})}}static create(t,n){return new wm({in:t,out:n,typeName:Tt.ZodPipeline})}}class hg extends en{_parse(t){const n=this._def.innerType._parse(t),r=i=>(Gc(i)&&(i.value=Object.freeze(i.value)),i);return tg(n)?n.then(i=>r(i)):r(n)}unwrap(){return this._def.innerType}}hg.create=(e,t)=>new hg({innerType:e,typeName:Tt.ZodReadonly,...Gt(t)});function RB(e,t={},n){return e?Gd.create().superRefine((r,i)=>{var o,a;if(!e(r)){const s=typeof t=="function"?t(r):typeof t=="string"?{message:t}:t,u=(a=(o=s.fatal)!==null&&o!==void 0?o:n)!==null&&a!==void 0?a:!0,l=typeof s=="string"?{message:s}:s;i.addIssue({code:"custom",...l,fatal:u})}}):Gd.create()}const Uhe={object:cr.lazycreate};var Tt;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(Tt||(Tt={}));const Vhe=(e,t={message:`Input not instance of ${e.name}`})=>RB(n=>n instanceof e,t),DB=za.create,$B=Pl.create,Whe=rb.create,Hhe=kl.create,IB=ng.create,Khe=Yc.create,qhe=eb.create,Ghe=rg.create,Yhe=ig.create,Zhe=Gd.create,Xhe=Rc.create,Qhe=bu.create,Jhe=tb.create,epe=Ha.create,tpe=cr.create,npe=cr.strictCreate,rpe=og.create,ipe=t2.create,ope=ag.create,ape=Ts.create,spe=sg.create,upe=nb.create,lpe=Zc.create,cpe=Ad.create,fpe=ug.create,dpe=lg.create,hpe=Tl.create,ppe=cg.create,gpe=Yd.create,FR=Ya.create,mpe=Es.create,vpe=Ml.create,ype=Ya.createWithPreprocess,bpe=wm.create,xpe=()=>DB().optional(),wpe=()=>$B().optional(),_pe=()=>IB().optional(),Spe={string:e=>za.create({...e,coerce:!0}),number:e=>Pl.create({...e,coerce:!0}),boolean:e=>ng.create({...e,coerce:!0}),bigint:e=>kl.create({...e,coerce:!0}),date:e=>Yc.create({...e,coerce:!0})},Cpe=Dt;var BYe=Object.freeze({__proto__:null,defaultErrorMap:qd,setErrorMap:yhe,getErrorMap:Xy,makeIssue:Qy,EMPTY_PATH:bhe,addIssueToContext:et,ParseStatus:$i,INVALID:Dt,DIRTY:gd,OK:Hi,isAborted:sE,isDirty:uE,isValid:Gc,isAsync:tg,get util(){return gn},get objectUtil(){return aE},ZodParsedType:rt,getParsedType:nu,ZodType:en,datetimeRegex:TB,ZodString:za,ZodNumber:Pl,ZodBigInt:kl,ZodBoolean:ng,ZodDate:Yc,ZodSymbol:eb,ZodUndefined:rg,ZodNull:ig,ZodAny:Gd,ZodUnknown:Rc,ZodNever:bu,ZodVoid:tb,ZodArray:Ha,ZodObject:cr,ZodUnion:og,ZodDiscriminatedUnion:t2,ZodIntersection:ag,ZodTuple:Ts,ZodRecord:sg,ZodMap:nb,ZodSet:Zc,ZodFunction:Ad,ZodLazy:ug,ZodLiteral:lg,ZodEnum:Tl,ZodNativeEnum:cg,ZodPromise:Yd,ZodEffects:Ya,ZodTransformer:Ya,ZodOptional:Es,ZodNullable:Ml,ZodDefault:fg,ZodCatch:dg,ZodNaN:rb,BRAND:zhe,ZodBranded:H5,ZodPipeline:wm,ZodReadonly:hg,custom:RB,Schema:en,ZodSchema:en,late:Uhe,get ZodFirstPartyTypeKind(){return Tt},coerce:Spe,any:Zhe,array:epe,bigint:Hhe,boolean:IB,date:Khe,discriminatedUnion:ipe,effect:FR,enum:hpe,function:cpe,instanceof:Vhe,intersection:ope,lazy:fpe,literal:dpe,map:upe,nan:Whe,nativeEnum:ppe,never:Qhe,null:Yhe,nullable:vpe,number:$B,object:tpe,oboolean:_pe,onumber:wpe,optional:mpe,ostring:xpe,pipeline:bpe,preprocess:ype,promise:gpe,record:spe,set:lpe,strictObject:npe,string:DB,symbol:qhe,transformer:FR,tuple:ape,undefined:Ghe,union:rpe,unknown:Xhe,void:Jhe,NEVER:Cpe,ZodIssueCode:Ue,quotelessJson:vhe,ZodError:Lo});const jR=(e,t,n)=>{if(e&&"reportValidity"in e){const r=Ze(n,t);e.setCustomValidity(r&&r.message||""),e.reportValidity()}},NB=(e,t)=>{for(const n in t.fields){const r=t.fields[n];r&&r.ref&&"reportValidity"in r.ref?jR(r.ref,n,e):r.refs&&r.refs.forEach(i=>jR(i,n,e))}},Epe=(e,t)=>{t.shouldUseNativeValidation&&NB(e,t);const n={};for(const r in e){const i=Ze(t.fields,r),o=Object.assign(e[r]||{},{ref:i&&i.ref});if(Ope(t.names||Object.keys(e),r)){const a=Object.assign({},Ze(n,r));An(a,"root",o),An(n,r,a)}else An(n,r,o)}return n},Ope=(e,t)=>e.some(n=>n.startsWith(t+"."));var Ape=function(e,t){for(var n={};e.length;){var r=e[0],i=r.code,o=r.message,a=r.path.join(".");if(!n[a])if("unionErrors"in r){var s=r.unionErrors[0].errors[0];n[a]={message:s.message,type:s.code}}else n[a]={message:o,type:i};if("unionErrors"in r&&r.unionErrors.forEach(function(c){return c.errors.forEach(function(f){return e.push(f)})}),t){var u=n[a].types,l=u&&u[r.code];n[a]=bB(a,t,n,i,l?[].concat(l,r.message):r.message)}e.shift()}return n},zYe=function(e,t,n){return n===void 0&&(n={}),function(r,i,o){try{return Promise.resolve(function(a,s){try{var u=Promise.resolve(e[n.mode==="sync"?"parse":"parseAsync"](r,t)).then(function(l){return o.shouldUseNativeValidation&&NB({},o),{errors:{},values:n.raw?r:l}})}catch(l){return s(l)}return u&&u.then?u.then(void 0,s):u}(0,function(a){if(function(s){return Array.isArray(s?.errors)}(a))return{values:{},errors:Epe(Ape(a.errors,!o.shouldUseNativeValidation&&o.criteriaMode==="all"),o)};throw a}))}catch(a){return Promise.reject(a)}}},Ppe=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],pt=Ppe.reduce((e,t)=>{const n=y.forwardRef((r,i)=>{const{asChild:o,...a}=r,s=o?Al:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),I.jsx(s,{...a,ref:i})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function LB(e,t){e&&Au.flushSync(()=>e.dispatchEvent(t))}var kpe="Label",FB=y.forwardRef((e,t)=>I.jsx(pt.label,{...e,ref:t,onMouseDown:n=>{n.target.closest("button, input, select, textarea")||(e.onMouseDown?.(n),!n.defaultPrevented&&n.detail>1&&n.preventDefault())}}));FB.displayName=kpe;var UYe=FB,jB={exports:{}};(function(e,t){(function(n,r){e.exports=r()})(La,function(){var n=1e3,r=6e4,i=36e5,o="millisecond",a="second",s="minute",u="hour",l="day",c="week",f="month",h="quarter",p="year",m="date",v="Invalid Date",b=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,w=/\[([^\]]+)]|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,x={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(Z){var G=["th","st","nd","rd"],q=Z%100;return"["+Z+(G[(q-20)%10]||G[q]||G[0])+"]"}},S=function(Z,G,q){var W=String(Z);return!W||W.length>=G?Z:""+Array(G+1-W.length).join(q)+Z},O={s:S,z:function(Z){var G=-Z.utcOffset(),q=Math.abs(G),W=Math.floor(q/60),j=q%60;return(G<=0?"+":"-")+S(W,2,"0")+":"+S(j,2,"0")},m:function Z(G,q){if(G.date()1)return Z(Y[0])}else{var oe=G.name;C[oe]=G,j=oe}return!W&&j&&(E=j),j||!W&&E},U=function(Z,G){if(M(Z))return Z.clone();var q=typeof G=="object"?G:{};return q.date=Z,q.args=arguments,new V(q)},H=O;H.l=L,H.i=M,H.w=function(Z,G){return U(Z,{locale:G.$L,utc:G.$u,x:G.$x,$offset:G.$offset})};var V=function(){function Z(q){this.$L=L(q.locale,null,!0),this.parse(q),this.$x=this.$x||q.x||{},this[k]=!0}var G=Z.prototype;return G.parse=function(q){this.$d=function(W){var j=W.date,K=W.utc;if(j===null)return new Date(NaN);if(H.u(j))return new Date;if(j instanceof Date)return new Date(j);if(typeof j=="string"&&!/Z$/i.test(j)){var Y=j.match(b);if(Y){var oe=Y[2]-1||0,ae=(Y[7]||"0").substring(0,3);return K?new Date(Date.UTC(Y[1],oe,Y[3]||1,Y[4]||0,Y[5]||0,Y[6]||0,ae)):new Date(Y[1],oe,Y[3]||1,Y[4]||0,Y[5]||0,Y[6]||0,ae)}}return new Date(j)}(q),this.init()},G.init=function(){var q=this.$d;this.$y=q.getFullYear(),this.$M=q.getMonth(),this.$D=q.getDate(),this.$W=q.getDay(),this.$H=q.getHours(),this.$m=q.getMinutes(),this.$s=q.getSeconds(),this.$ms=q.getMilliseconds()},G.$utils=function(){return H},G.isValid=function(){return this.$d.toString()!==v},G.isSame=function(q,W){var j=U(q);return this.startOf(W)<=j&&j<=this.endOf(W)},G.isAfter=function(q,W){return U(q){const{children:a,...s}=o,u=y.useMemo(()=>s,Object.values(s));return I.jsx(n.Provider,{value:u,children:a})};r.displayName=e+"Provider";function i(o){const a=y.useContext(n);if(a)return a;if(t!==void 0)return t;throw new Error(`\`${o}\` must be used within \`${e}\``)}return[r,i]}function vi(e,t=[]){let n=[];function r(o,a){const s=y.createContext(a),u=n.length;n=[...n,a];const l=f=>{const{scope:h,children:p,...m}=f,v=h?.[e]?.[u]||s,b=y.useMemo(()=>m,Object.values(m));return I.jsx(v.Provider,{value:b,children:p})};l.displayName=o+"Provider";function c(f,h){const p=h?.[e]?.[u]||s,m=y.useContext(p);if(m)return m;if(a!==void 0)return a;throw new Error(`\`${f}\` must be used within \`${o}\``)}return[l,c]}const i=()=>{const o=n.map(a=>y.createContext(a));return function(s){const u=s?.[e]||o;return y.useMemo(()=>({[`__scope${e}`]:{...s,[e]:u}}),[s,u])}};return i.scopeName=e,[r,Rpe(i,...t)]}function Rpe(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(o){const a=r.reduce((s,{useScope:u,scopeName:l})=>{const f=u(o)[`__scope${l}`];return{...s,...f}},{});return y.useMemo(()=>({[`__scope${t.scopeName}`]:a}),[a])}};return n.scopeName=t.scopeName,n}var Dpe=globalThis?.document?y.useLayoutEffect:()=>{},$pe=P4.useId||(()=>{}),Ipe=0;function Fo(e){const[t,n]=y.useState($pe());return Dpe(()=>{e||n(r=>r??String(Ipe++))},[e]),e||(t?`radix-${t}`:"")}function Vr(e){const t=y.useRef(e);return y.useEffect(()=>{t.current=e}),y.useMemo(()=>(...n)=>t.current?.(...n),[])}function Za({prop:e,defaultProp:t,onChange:n=()=>{}}){const[r,i]=Npe({defaultProp:t,onChange:n}),o=e!==void 0,a=o?e:r,s=Vr(n),u=y.useCallback(l=>{if(o){const f=typeof l=="function"?l(e):l;f!==e&&s(f)}else i(l)},[o,e,i,s]);return[a,u]}function Npe({defaultProp:e,onChange:t}){const n=y.useState(e),[r]=n,i=y.useRef(r),o=Vr(t);return y.useEffect(()=>{i.current!==r&&(o(r),i.current=r)},[r,i,o]),n}function Lpe(e){const t=y.useRef(e);return y.useEffect(()=>{t.current=e}),y.useMemo(()=>(...n)=>t.current?.(...n),[])}function Fpe(e,t=globalThis?.document){const n=Lpe(e);y.useEffect(()=>{const r=i=>{i.key==="Escape"&&n(i)};return t.addEventListener("keydown",r,{capture:!0}),()=>t.removeEventListener("keydown",r,{capture:!0})},[n,t])}var jpe="DismissableLayer",cE="dismissableLayer.update",Bpe="dismissableLayer.pointerDownOutside",zpe="dismissableLayer.focusOutside",BR,BB=y.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Nh=y.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:i,onFocusOutside:o,onInteractOutside:a,onDismiss:s,...u}=e,l=y.useContext(BB),[c,f]=y.useState(null),h=c?.ownerDocument??globalThis?.document,[,p]=y.useState({}),m=Yt(t,k=>f(k)),v=Array.from(l.layers),[b]=[...l.layersWithOutsidePointerEventsDisabled].slice(-1),w=v.indexOf(b),x=c?v.indexOf(c):-1,S=l.layersWithOutsidePointerEventsDisabled.size>0,O=x>=w,E=Wpe(k=>{const M=k.target,L=[...l.branches].some(U=>U.contains(M));!O||L||(i?.(k),a?.(k),k.defaultPrevented||s?.())},h),C=Hpe(k=>{const M=k.target;[...l.branches].some(U=>U.contains(M))||(o?.(k),a?.(k),k.defaultPrevented||s?.())},h);return Fpe(k=>{x===l.layers.size-1&&(r?.(k),!k.defaultPrevented&&s&&(k.preventDefault(),s()))},h),y.useEffect(()=>{if(c)return n&&(l.layersWithOutsidePointerEventsDisabled.size===0&&(BR=h.body.style.pointerEvents,h.body.style.pointerEvents="none"),l.layersWithOutsidePointerEventsDisabled.add(c)),l.layers.add(c),zR(),()=>{n&&l.layersWithOutsidePointerEventsDisabled.size===1&&(h.body.style.pointerEvents=BR)}},[c,h,n,l]),y.useEffect(()=>()=>{c&&(l.layers.delete(c),l.layersWithOutsidePointerEventsDisabled.delete(c),zR())},[c,l]),y.useEffect(()=>{const k=()=>p({});return document.addEventListener(cE,k),()=>document.removeEventListener(cE,k)},[]),I.jsx(pt.div,{...u,ref:m,style:{pointerEvents:S?O?"auto":"none":void 0,...e.style},onFocusCapture:Ye(e.onFocusCapture,C.onFocusCapture),onBlurCapture:Ye(e.onBlurCapture,C.onBlurCapture),onPointerDownCapture:Ye(e.onPointerDownCapture,E.onPointerDownCapture)})});Nh.displayName=jpe;var Upe="DismissableLayerBranch",Vpe=y.forwardRef((e,t)=>{const n=y.useContext(BB),r=y.useRef(null),i=Yt(t,r);return y.useEffect(()=>{const o=r.current;if(o)return n.branches.add(o),()=>{n.branches.delete(o)}},[n.branches]),I.jsx(pt.div,{...e,ref:i})});Vpe.displayName=Upe;function Wpe(e,t=globalThis?.document){const n=Vr(e),r=y.useRef(!1),i=y.useRef(()=>{});return y.useEffect(()=>{const o=s=>{if(s.target&&!r.current){let u=function(){zB(Bpe,n,l,{discrete:!0})};const l={originalEvent:s};s.pointerType==="touch"?(t.removeEventListener("click",i.current),i.current=u,t.addEventListener("click",i.current,{once:!0})):u()}else t.removeEventListener("click",i.current);r.current=!1},a=window.setTimeout(()=>{t.addEventListener("pointerdown",o)},0);return()=>{window.clearTimeout(a),t.removeEventListener("pointerdown",o),t.removeEventListener("click",i.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function Hpe(e,t=globalThis?.document){const n=Vr(e),r=y.useRef(!1);return y.useEffect(()=>{const i=o=>{o.target&&!r.current&&zB(zpe,n,{originalEvent:o},{discrete:!1})};return t.addEventListener("focusin",i),()=>t.removeEventListener("focusin",i)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function zR(){const e=new CustomEvent(cE);document.dispatchEvent(e)}function zB(e,t,n,{discrete:r}){const i=n.originalEvent.target,o=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?LB(i,o):i.dispatchEvent(o)}var yS="focusScope.autoFocusOnMount",bS="focusScope.autoFocusOnUnmount",UR={bubbles:!1,cancelable:!0},Kpe="FocusScope",_m=y.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:o,...a}=e,[s,u]=y.useState(null),l=Vr(i),c=Vr(o),f=y.useRef(null),h=Yt(t,v=>u(v)),p=y.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;y.useEffect(()=>{if(r){let v=function(S){if(p.paused||!s)return;const O=S.target;s.contains(O)?f.current=O:Gu(f.current,{select:!0})},b=function(S){if(p.paused||!s)return;const O=S.relatedTarget;O!==null&&(s.contains(O)||Gu(f.current,{select:!0}))},w=function(S){if(document.activeElement===document.body)for(const E of S)E.removedNodes.length>0&&Gu(s)};document.addEventListener("focusin",v),document.addEventListener("focusout",b);const x=new MutationObserver(w);return s&&x.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",v),document.removeEventListener("focusout",b),x.disconnect()}}},[r,s,p.paused]),y.useEffect(()=>{if(s){WR.add(p);const v=document.activeElement;if(!s.contains(v)){const w=new CustomEvent(yS,UR);s.addEventListener(yS,l),s.dispatchEvent(w),w.defaultPrevented||(qpe(Qpe(UB(s)),{select:!0}),document.activeElement===v&&Gu(s))}return()=>{s.removeEventListener(yS,l),setTimeout(()=>{const w=new CustomEvent(bS,UR);s.addEventListener(bS,c),s.dispatchEvent(w),w.defaultPrevented||Gu(v??document.body,{select:!0}),s.removeEventListener(bS,c),WR.remove(p)},0)}}},[s,l,c,p]);const m=y.useCallback(v=>{if(!n&&!r||p.paused)return;const b=v.key==="Tab"&&!v.altKey&&!v.ctrlKey&&!v.metaKey,w=document.activeElement;if(b&&w){const x=v.currentTarget,[S,O]=Gpe(x);S&&O?!v.shiftKey&&w===O?(v.preventDefault(),n&&Gu(S,{select:!0})):v.shiftKey&&w===S&&(v.preventDefault(),n&&Gu(O,{select:!0})):w===x&&v.preventDefault()}},[n,r,p.paused]);return I.jsx(pt.div,{tabIndex:-1,...a,ref:h,onKeyDown:m})});_m.displayName=Kpe;function qpe(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(Gu(r,{select:t}),document.activeElement!==n)return}function Gpe(e){const t=UB(e),n=VR(t,e),r=VR(t.reverse(),e);return[n,r]}function UB(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const i=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||i?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function VR(e,t){for(const n of e)if(!Ype(n,{upTo:t}))return n}function Ype(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function Zpe(e){return e instanceof HTMLInputElement&&"select"in e}function Gu(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&Zpe(e)&&t&&e.select()}}var WR=Xpe();function Xpe(){let e=[];return{add(t){const n=e[0];t!==n&&n?.pause(),e=HR(e,t),e.unshift(t)},remove(t){e=HR(e,t),e[0]?.resume()}}}function HR(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function Qpe(e){return e.filter(t=>t.tagName!=="A")}var ii=globalThis?.document?y.useLayoutEffect:()=>{},Jpe="Portal",Lh=y.forwardRef((e,t)=>{const{container:n,...r}=e,[i,o]=y.useState(!1);ii(()=>o(!0),[]);const a=n||i&&globalThis?.document?.body;return a?jx.createPortal(I.jsx(pt.div,{...r,ref:t}),a):null});Lh.displayName=Jpe;function e0e(e,t){return y.useReducer((n,r)=>t[n][r]??n,e)}var Gr=e=>{const{present:t,children:n}=e,r=t0e(t),i=typeof n=="function"?n({present:r.isPresent}):y.Children.only(n),o=Yt(r.ref,n0e(i));return typeof n=="function"||r.isPresent?y.cloneElement(i,{ref:o}):null};Gr.displayName="Presence";function t0e(e){const[t,n]=y.useState(),r=y.useRef({}),i=y.useRef(e),o=y.useRef("none"),a=e?"mounted":"unmounted",[s,u]=e0e(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return y.useEffect(()=>{const l=i1(r.current);o.current=s==="mounted"?l:"none"},[s]),ii(()=>{const l=r.current,c=i.current;if(c!==e){const h=o.current,p=i1(l);e?u("MOUNT"):p==="none"||l?.display==="none"?u("UNMOUNT"):u(c&&h!==p?"ANIMATION_OUT":"UNMOUNT"),i.current=e}},[e,u]),ii(()=>{if(t){let l;const c=t.ownerDocument.defaultView??window,f=p=>{const v=i1(r.current).includes(p.animationName);if(p.target===t&&v&&(u("ANIMATION_END"),!i.current)){const b=t.style.animationFillMode;t.style.animationFillMode="forwards",l=c.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=b)})}},h=p=>{p.target===t&&(o.current=i1(r.current))};return t.addEventListener("animationstart",h),t.addEventListener("animationcancel",f),t.addEventListener("animationend",f),()=>{c.clearTimeout(l),t.removeEventListener("animationstart",h),t.removeEventListener("animationcancel",f),t.removeEventListener("animationend",f)}}else u("ANIMATION_END")},[t,u]),{isPresent:["mounted","unmountSuspended"].includes(s),ref:y.useCallback(l=>{l&&(r.current=getComputedStyle(l)),n(l)},[])}}function i1(e){return e?.animationName||"none"}function n0e(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var xS=0;function n2(){y.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??KR()),document.body.insertAdjacentElement("beforeend",e[1]??KR()),xS++,()=>{xS===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),xS--}},[])}function KR(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var Ri=function(){return Ri=Object.assign||function(t){for(var n,r=1,i=arguments.length;r"u")return m0e;var t=v0e(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},b0e=g0e(),Pd="data-scroll-locked",x0e=function(e,t,n,r){var i=e.left,o=e.top,a=e.right,s=e.gap;return n===void 0&&(n="margin"),` + .`.concat(r0e,` { + overflow: hidden `).concat(r,`; + padding-right: `).concat(s,"px ").concat(r,`; + } + body[`).concat(Pd,`] { + overflow: hidden `).concat(r,`; + overscroll-behavior: contain; + `).concat([t&&"position: relative ".concat(r,";"),n==="margin"&&` + padding-left: `.concat(i,`px; + padding-top: `).concat(o,`px; + padding-right: `).concat(a,`px; + margin-left:0; + margin-top:0; + margin-right: `).concat(s,"px ").concat(r,`; + `),n==="padding"&&"padding-right: ".concat(s,"px ").concat(r,";")].filter(Boolean).join(""),` + } + + .`).concat(Q1,` { + right: `).concat(s,"px ").concat(r,`; + } + + .`).concat(J1,` { + margin-right: `).concat(s,"px ").concat(r,`; + } + + .`).concat(Q1," .").concat(Q1,` { + right: 0 `).concat(r,`; + } + + .`).concat(J1," .").concat(J1,` { + margin-right: 0 `).concat(r,`; + } + + body[`).concat(Pd,`] { + `).concat(i0e,": ").concat(s,`px; + } +`)},GR=function(){var e=parseInt(document.body.getAttribute(Pd)||"0",10);return isFinite(e)?e:0},w0e=function(){y.useEffect(function(){return document.body.setAttribute(Pd,(GR()+1).toString()),function(){var e=GR()-1;e<=0?document.body.removeAttribute(Pd):document.body.setAttribute(Pd,e.toString())}},[])},_0e=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,i=r===void 0?"margin":r;w0e();var o=y.useMemo(function(){return y0e(i)},[i]);return y.createElement(b0e,{styles:x0e(o,!t,i,n?"":"!important")})};function S0e(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=GB();return t&&e.setAttribute("nonce",t),e}function C0e(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function E0e(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var O0e=function(){var e=0,t=null;return{add:function(n){e==0&&(t=S0e())&&(C0e(t,n),E0e(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},A0e=function(){var e=O0e();return function(t,n){y.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},q5=function(){var e=A0e(),t=function(n){var r=n.styles,i=n.dynamic;return e(r,i),null};return t},fE=!1;if(typeof window<"u")try{var o1=Object.defineProperty({},"passive",{get:function(){return fE=!0,!0}});window.addEventListener("test",o1,o1),window.removeEventListener("test",o1,o1)}catch{fE=!1}var Vf=fE?{passive:!1}:!1,P0e=function(e){return e.tagName==="TEXTAREA"},YB=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!P0e(e)&&n[t]==="visible")},k0e=function(e){return YB(e,"overflowY")},T0e=function(e){return YB(e,"overflowX")},YR=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var i=ZB(e,r);if(i){var o=XB(e,r),a=o[1],s=o[2];if(a>s)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},M0e=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},R0e=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},ZB=function(e,t){return e==="v"?k0e(t):T0e(t)},XB=function(e,t){return e==="v"?M0e(t):R0e(t)},D0e=function(e,t){return e==="h"&&t==="rtl"?-1:1},$0e=function(e,t,n,r,i){var o=D0e(e,window.getComputedStyle(t).direction),a=o*r,s=n.target,u=t.contains(s),l=!1,c=a>0,f=0,h=0;do{var p=XB(e,s),m=p[0],v=p[1],b=p[2],w=v-b-o*m;(m||w)&&ZB(e,s)&&(f+=w,h+=m),s instanceof ShadowRoot?s=s.host:s=s.parentNode}while(!u&&s!==document.body||u&&(t.contains(s)||t===s));return(c&&(Math.abs(f)<1||!i)||!c&&(Math.abs(h)<1||!i))&&(l=!0),l},a1=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},ZR=function(e){return[e.deltaX,e.deltaY]},XR=function(e){return e&&"current"in e?e.current:e},I0e=function(e,t){return e[0]===t[0]&&e[1]===t[1]},N0e=function(e){return` + .block-interactivity-`.concat(e,` {pointer-events: none;} + .allow-interactivity-`).concat(e,` {pointer-events: all;} +`)},L0e=0,Wf=[];function F0e(e){var t=y.useRef([]),n=y.useRef([0,0]),r=y.useRef(),i=y.useState(L0e++)[0],o=y.useState(q5)[0],a=y.useRef(e);y.useEffect(function(){a.current=e},[e]),y.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(i));var v=VB([e.lockRef.current],(e.shards||[]).map(XR),!0).filter(Boolean);return v.forEach(function(b){return b.classList.add("allow-interactivity-".concat(i))}),function(){document.body.classList.remove("block-interactivity-".concat(i)),v.forEach(function(b){return b.classList.remove("allow-interactivity-".concat(i))})}}},[e.inert,e.lockRef.current,e.shards]);var s=y.useCallback(function(v,b){if("touches"in v&&v.touches.length===2||v.type==="wheel"&&v.ctrlKey)return!a.current.allowPinchZoom;var w=a1(v),x=n.current,S="deltaX"in v?v.deltaX:x[0]-w[0],O="deltaY"in v?v.deltaY:x[1]-w[1],E,C=v.target,k=Math.abs(S)>Math.abs(O)?"h":"v";if("touches"in v&&k==="h"&&C.type==="range")return!1;var M=YR(k,C);if(!M)return!0;if(M?E=k:(E=k==="v"?"h":"v",M=YR(k,C)),!M)return!1;if(!r.current&&"changedTouches"in v&&(S||O)&&(r.current=E),!E)return!0;var L=r.current||E;return $0e(L,b,v,L==="h"?S:O,!0)},[]),u=y.useCallback(function(v){var b=v;if(!(!Wf.length||Wf[Wf.length-1]!==o)){var w="deltaY"in b?ZR(b):a1(b),x=t.current.filter(function(E){return E.name===b.type&&(E.target===b.target||b.target===E.shadowParent)&&I0e(E.delta,w)})[0];if(x&&x.should){b.cancelable&&b.preventDefault();return}if(!x){var S=(a.current.shards||[]).map(XR).filter(Boolean).filter(function(E){return E.contains(b.target)}),O=S.length>0?s(b,S[0]):!a.current.noIsolation;O&&b.cancelable&&b.preventDefault()}}},[]),l=y.useCallback(function(v,b,w,x){var S={name:v,delta:b,target:w,should:x,shadowParent:j0e(w)};t.current.push(S),setTimeout(function(){t.current=t.current.filter(function(O){return O!==S})},1)},[]),c=y.useCallback(function(v){n.current=a1(v),r.current=void 0},[]),f=y.useCallback(function(v){l(v.type,ZR(v),v.target,s(v,e.lockRef.current))},[]),h=y.useCallback(function(v){l(v.type,a1(v),v.target,s(v,e.lockRef.current))},[]);y.useEffect(function(){return Wf.push(o),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:h}),document.addEventListener("wheel",u,Vf),document.addEventListener("touchmove",u,Vf),document.addEventListener("touchstart",c,Vf),function(){Wf=Wf.filter(function(v){return v!==o}),document.removeEventListener("wheel",u,Vf),document.removeEventListener("touchmove",u,Vf),document.removeEventListener("touchstart",c,Vf)}},[]);var p=e.removeScrollBar,m=e.inert;return y.createElement(y.Fragment,null,m?y.createElement(o,{styles:N0e(i)}):null,p?y.createElement(_0e,{gapMode:e.gapMode}):null)}function j0e(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const B0e=KB(qB,F0e);var Sm=y.forwardRef(function(e,t){return y.createElement(r2,Ri({},e,{ref:t,sideCar:B0e}))});Sm.classNames=r2.classNames;var z0e=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Hf=new WeakMap,s1=new WeakMap,u1={},CS=0,QB=function(e){return e&&(e.host||QB(e.parentNode))},U0e=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=QB(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},V0e=function(e,t,n,r){var i=U0e(t,Array.isArray(e)?e:[e]);u1[n]||(u1[n]=new WeakMap);var o=u1[n],a=[],s=new Set,u=new Set(i),l=function(f){!f||s.has(f)||(s.add(f),l(f.parentNode))};i.forEach(l);var c=function(f){!f||u.has(f)||Array.prototype.forEach.call(f.children,function(h){if(s.has(h))c(h);else try{var p=h.getAttribute(r),m=p!==null&&p!=="false",v=(Hf.get(h)||0)+1,b=(o.get(h)||0)+1;Hf.set(h,v),o.set(h,b),a.push(h),v===1&&m&&s1.set(h,!0),b===1&&h.setAttribute(n,"true"),m||h.setAttribute(r,"true")}catch(w){console.error("aria-hidden: cannot operate on ",h,w)}})};return c(t),s.clear(),CS++,function(){a.forEach(function(f){var h=Hf.get(f)-1,p=o.get(f)-1;Hf.set(f,h),o.set(f,p),h||(s1.has(f)||f.removeAttribute(r),s1.delete(f)),p||f.removeAttribute(n)}),CS--,CS||(Hf=new WeakMap,Hf=new WeakMap,s1=new WeakMap,u1={})}},Cm=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),i=z0e(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll("[aria-live]"))),V0e(r,i,n,"aria-hidden")):function(){return null}},G5="Dialog",[JB,ez]=vi(G5),[W0e,ns]=JB(G5),tz=e=>{const{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:o,modal:a=!0}=e,s=y.useRef(null),u=y.useRef(null),[l=!1,c]=Za({prop:r,defaultProp:i,onChange:o});return I.jsx(W0e,{scope:t,triggerRef:s,contentRef:u,contentId:Fo(),titleId:Fo(),descriptionId:Fo(),open:l,onOpenChange:c,onOpenToggle:y.useCallback(()=>c(f=>!f),[c]),modal:a,children:n})};tz.displayName=G5;var nz="DialogTrigger",rz=y.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,i=ns(nz,n),o=Yt(t,i.triggerRef);return I.jsx(pt.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.contentId,"data-state":X5(i.open),...r,ref:o,onClick:Ye(e.onClick,i.onOpenToggle)})});rz.displayName=nz;var Y5="DialogPortal",[H0e,iz]=JB(Y5,{forceMount:void 0}),oz=e=>{const{__scopeDialog:t,forceMount:n,children:r,container:i}=e,o=ns(Y5,t);return I.jsx(H0e,{scope:t,forceMount:n,children:y.Children.map(r,a=>I.jsx(Gr,{present:n||o.open,children:I.jsx(Lh,{asChild:!0,container:i,children:a})}))})};oz.displayName=Y5;var ib="DialogOverlay",az=y.forwardRef((e,t)=>{const n=iz(ib,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,o=ns(ib,e.__scopeDialog);return o.modal?I.jsx(Gr,{present:r||o.open,children:I.jsx(K0e,{...i,ref:t})}):null});az.displayName=ib;var K0e=y.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,i=ns(ib,n);return I.jsx(Sm,{as:Al,allowPinchZoom:!0,shards:[i.contentRef],children:I.jsx(pt.div,{"data-state":X5(i.open),...r,ref:t,style:{pointerEvents:"auto",...r.style}})})}),Xc="DialogContent",sz=y.forwardRef((e,t)=>{const n=iz(Xc,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,o=ns(Xc,e.__scopeDialog);return I.jsx(Gr,{present:r||o.open,children:o.modal?I.jsx(q0e,{...i,ref:t}):I.jsx(G0e,{...i,ref:t})})});sz.displayName=Xc;var q0e=y.forwardRef((e,t)=>{const n=ns(Xc,e.__scopeDialog),r=y.useRef(null),i=Yt(t,n.contentRef,r);return y.useEffect(()=>{const o=r.current;if(o)return Cm(o)},[]),I.jsx(uz,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Ye(e.onCloseAutoFocus,o=>{o.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:Ye(e.onPointerDownOutside,o=>{const a=o.detail.originalEvent,s=a.button===0&&a.ctrlKey===!0;(a.button===2||s)&&o.preventDefault()}),onFocusOutside:Ye(e.onFocusOutside,o=>o.preventDefault())})}),G0e=y.forwardRef((e,t)=>{const n=ns(Xc,e.__scopeDialog),r=y.useRef(!1),i=y.useRef(!1);return I.jsx(uz,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:o=>{e.onCloseAutoFocus?.(o),o.defaultPrevented||(r.current||n.triggerRef.current?.focus(),o.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:o=>{e.onInteractOutside?.(o),o.defaultPrevented||(r.current=!0,o.detail.originalEvent.type==="pointerdown"&&(i.current=!0));const a=o.target;n.triggerRef.current?.contains(a)&&o.preventDefault(),o.detail.originalEvent.type==="focusin"&&i.current&&o.preventDefault()}})}),uz=y.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:o,...a}=e,s=ns(Xc,n),u=y.useRef(null),l=Yt(t,u);return n2(),I.jsxs(I.Fragment,{children:[I.jsx(_m,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:o,children:I.jsx(Nh,{role:"dialog",id:s.contentId,"aria-describedby":s.descriptionId,"aria-labelledby":s.titleId,"data-state":X5(s.open),...a,ref:l,onDismiss:()=>s.onOpenChange(!1)})}),I.jsxs(I.Fragment,{children:[I.jsx(Z0e,{titleId:s.titleId}),I.jsx(Q0e,{contentRef:u,descriptionId:s.descriptionId})]})]})}),Z5="DialogTitle",lz=y.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,i=ns(Z5,n);return I.jsx(pt.h2,{id:i.titleId,...r,ref:t})});lz.displayName=Z5;var cz="DialogDescription",fz=y.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,i=ns(cz,n);return I.jsx(pt.p,{id:i.descriptionId,...r,ref:t})});fz.displayName=cz;var dz="DialogClose",hz=y.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,i=ns(dz,n);return I.jsx(pt.button,{type:"button",...r,ref:t,onClick:Ye(e.onClick,()=>i.onOpenChange(!1))})});hz.displayName=dz;function X5(e){return e?"open":"closed"}var pz="DialogTitleWarning",[Y0e,gz]=Mpe(pz,{contentName:Xc,titleName:Z5,docsSlug:"dialog"}),Z0e=({titleId:e})=>{const t=gz(pz),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users. + +If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component. + +For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return y.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},X0e="DialogDescriptionWarning",Q0e=({contentRef:e,descriptionId:t})=>{const r=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${gz(X0e).contentName}}.`;return y.useEffect(()=>{const i=e.current?.getAttribute("aria-describedby");t&&i&&(document.getElementById(t)||console.warn(r))},[r,e,t]),null},J0e=tz,ege=rz,tge=oz,nge=az,rge=sz,ige=lz,oge=fz,mz=hz;function Yr(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var age=["color"],WYe=y.forwardRef(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=Yr(e,age);return y.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},i,{ref:t}),y.createElement("path",{d:"M11.4669 3.72684C11.7558 3.91574 11.8369 4.30308 11.648 4.59198L7.39799 11.092C7.29783 11.2452 7.13556 11.3467 6.95402 11.3699C6.77247 11.3931 6.58989 11.3355 6.45446 11.2124L3.70446 8.71241C3.44905 8.48022 3.43023 8.08494 3.66242 7.82953C3.89461 7.57412 4.28989 7.55529 4.5453 7.78749L6.75292 9.79441L10.6018 3.90792C10.7907 3.61902 11.178 3.53795 11.4669 3.72684Z",fill:r,fillRule:"evenodd",clipRule:"evenodd"}))}),sge=["color"],HYe=y.forwardRef(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=Yr(e,sge);return y.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},i,{ref:t}),y.createElement("path",{d:"M7.49991 0.877045C3.84222 0.877045 0.877075 3.84219 0.877075 7.49988C0.877075 11.1575 3.84222 14.1227 7.49991 14.1227C11.1576 14.1227 14.1227 11.1575 14.1227 7.49988C14.1227 3.84219 11.1576 0.877045 7.49991 0.877045ZM1.82708 7.49988C1.82708 4.36686 4.36689 1.82704 7.49991 1.82704C10.6329 1.82704 13.1727 4.36686 13.1727 7.49988C13.1727 10.6329 10.6329 13.1727 7.49991 13.1727C4.36689 13.1727 1.82708 10.6329 1.82708 7.49988ZM10.1589 5.53774C10.3178 5.31191 10.2636 5.00001 10.0378 4.84109C9.81194 4.68217 9.50004 4.73642 9.34112 4.96225L6.51977 8.97154L5.35681 7.78706C5.16334 7.59002 4.84677 7.58711 4.64973 7.78058C4.45268 7.97404 4.44978 8.29061 4.64325 8.48765L6.22658 10.1003C6.33054 10.2062 6.47617 10.2604 6.62407 10.2483C6.77197 10.2363 6.90686 10.1591 6.99226 10.0377L10.1589 5.53774Z",fill:r,fillRule:"evenodd",clipRule:"evenodd"}))}),uge=["color"],KYe=y.forwardRef(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=Yr(e,uge);return y.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},i,{ref:t}),y.createElement("path",{d:"M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z",fill:r,fillRule:"evenodd",clipRule:"evenodd"}))}),lge=["color"],qYe=y.forwardRef(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=Yr(e,lge);return y.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},i,{ref:t}),y.createElement("path",{d:"M8.84182 3.13514C9.04327 3.32401 9.05348 3.64042 8.86462 3.84188L5.43521 7.49991L8.86462 11.1579C9.05348 11.3594 9.04327 11.6758 8.84182 11.8647C8.64036 12.0535 8.32394 12.0433 8.13508 11.8419L4.38508 7.84188C4.20477 7.64955 4.20477 7.35027 4.38508 7.15794L8.13508 3.15794C8.32394 2.95648 8.64036 2.94628 8.84182 3.13514Z",fill:r,fillRule:"evenodd",clipRule:"evenodd"}))}),cge=["color"],GYe=y.forwardRef(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=Yr(e,cge);return y.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},i,{ref:t}),y.createElement("path",{d:"M6.1584 3.13508C6.35985 2.94621 6.67627 2.95642 6.86514 3.15788L10.6151 7.15788C10.7954 7.3502 10.7954 7.64949 10.6151 7.84182L6.86514 11.8418C6.67627 12.0433 6.35985 12.0535 6.1584 11.8646C5.95694 11.6757 5.94673 11.3593 6.1356 11.1579L9.565 7.49985L6.1356 3.84182C5.94673 3.64036 5.95694 3.32394 6.1584 3.13508Z",fill:r,fillRule:"evenodd",clipRule:"evenodd"}))}),fge=["color"],YYe=y.forwardRef(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=Yr(e,fge);return y.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},i,{ref:t}),y.createElement("path",{d:"M3.13523 8.84197C3.3241 9.04343 3.64052 9.05363 3.84197 8.86477L7.5 5.43536L11.158 8.86477C11.3595 9.05363 11.6759 9.04343 11.8648 8.84197C12.0536 8.64051 12.0434 8.32409 11.842 8.13523L7.84197 4.38523C7.64964 4.20492 7.35036 4.20492 7.15803 4.38523L3.15803 8.13523C2.95657 8.32409 2.94637 8.64051 3.13523 8.84197Z",fill:r,fillRule:"evenodd",clipRule:"evenodd"}))}),dge=["color"],ZYe=y.forwardRef(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=Yr(e,dge);return y.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},i,{ref:t}),y.createElement("path",{d:"M0.877075 7.49991C0.877075 3.84222 3.84222 0.877075 7.49991 0.877075C11.1576 0.877075 14.1227 3.84222 14.1227 7.49991C14.1227 11.1576 11.1576 14.1227 7.49991 14.1227C3.84222 14.1227 0.877075 11.1576 0.877075 7.49991ZM7.49991 1.82708C4.36689 1.82708 1.82708 4.36689 1.82708 7.49991C1.82708 10.6329 4.36689 13.1727 7.49991 13.1727C10.6329 13.1727 13.1727 10.6329 13.1727 7.49991C13.1727 4.36689 10.6329 1.82708 7.49991 1.82708Z",fill:r,fillRule:"evenodd",clipRule:"evenodd"}))}),hge=["color"],XYe=y.forwardRef(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=Yr(e,hge);return y.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},i,{ref:t}),y.createElement("path",{d:"M11.7816 4.03157C12.0062 3.80702 12.0062 3.44295 11.7816 3.2184C11.5571 2.99385 11.193 2.99385 10.9685 3.2184L7.50005 6.68682L4.03164 3.2184C3.80708 2.99385 3.44301 2.99385 3.21846 3.2184C2.99391 3.44295 2.99391 3.80702 3.21846 4.03157L6.68688 7.49999L3.21846 10.9684C2.99391 11.193 2.99391 11.557 3.21846 11.7816C3.44301 12.0061 3.80708 12.0061 4.03164 11.7816L7.50005 8.31316L10.9685 11.7816C11.193 12.0061 11.5571 12.0061 11.7816 11.7816C12.0062 11.557 12.0062 11.193 11.7816 10.9684L8.31322 7.49999L11.7816 4.03157Z",fill:r,fillRule:"evenodd",clipRule:"evenodd"}))}),pge=["color"],QYe=y.forwardRef(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=Yr(e,pge);return y.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},i,{ref:t}),y.createElement("path",{d:"M0.877075 7.49988C0.877075 3.84219 3.84222 0.877045 7.49991 0.877045C11.1576 0.877045 14.1227 3.84219 14.1227 7.49988C14.1227 11.1575 11.1576 14.1227 7.49991 14.1227C3.84222 14.1227 0.877075 11.1575 0.877075 7.49988ZM7.49991 1.82704C4.36689 1.82704 1.82708 4.36686 1.82708 7.49988C1.82708 10.6329 4.36689 13.1727 7.49991 13.1727C10.6329 13.1727 13.1727 10.6329 13.1727 7.49988C13.1727 4.36686 10.6329 1.82704 7.49991 1.82704ZM9.85358 5.14644C10.0488 5.3417 10.0488 5.65829 9.85358 5.85355L8.20713 7.49999L9.85358 9.14644C10.0488 9.3417 10.0488 9.65829 9.85358 9.85355C9.65832 10.0488 9.34173 10.0488 9.14647 9.85355L7.50002 8.2071L5.85358 9.85355C5.65832 10.0488 5.34173 10.0488 5.14647 9.85355C4.95121 9.65829 4.95121 9.3417 5.14647 9.14644L6.79292 7.49999L5.14647 5.85355C4.95121 5.65829 4.95121 5.3417 5.14647 5.14644C5.34173 4.95118 5.65832 4.95118 5.85358 5.14644L7.50002 6.79289L9.14647 5.14644C9.34173 4.95118 9.65832 4.95118 9.85358 5.14644Z",fill:r,fillRule:"evenodd",clipRule:"evenodd"}))}),gge=["color"],JYe=y.forwardRef(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=Yr(e,gge);return y.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},i,{ref:t}),y.createElement("path",{d:"M9.875 7.5C9.875 8.81168 8.81168 9.875 7.5 9.875C6.18832 9.875 5.125 8.81168 5.125 7.5C5.125 6.18832 6.18832 5.125 7.5 5.125C8.81168 5.125 9.875 6.18832 9.875 7.5Z",fill:r}))}),mge=["color"],eZe=y.forwardRef(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=Yr(e,mge);return y.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},i,{ref:t}),y.createElement("path",{d:"M6.85355 3.85355C7.04882 3.65829 7.04882 3.34171 6.85355 3.14645C6.65829 2.95118 6.34171 2.95118 6.14645 3.14645L2.14645 7.14645C1.95118 7.34171 1.95118 7.65829 2.14645 7.85355L6.14645 11.8536C6.34171 12.0488 6.65829 12.0488 6.85355 11.8536C7.04882 11.6583 7.04882 11.3417 6.85355 11.1464L3.20711 7.5L6.85355 3.85355ZM12.8536 3.85355C13.0488 3.65829 13.0488 3.34171 12.8536 3.14645C12.6583 2.95118 12.3417 2.95118 12.1464 3.14645L8.14645 7.14645C7.95118 7.34171 7.95118 7.65829 8.14645 7.85355L12.1464 11.8536C12.3417 12.0488 12.6583 12.0488 12.8536 11.8536C13.0488 11.6583 13.0488 11.3417 12.8536 11.1464L9.20711 7.5L12.8536 3.85355Z",fill:r,fillRule:"evenodd",clipRule:"evenodd"}))}),vge=["color"],tZe=y.forwardRef(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=Yr(e,vge);return y.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},i,{ref:t}),y.createElement("path",{d:"M2.14645 11.1464C1.95118 11.3417 1.95118 11.6583 2.14645 11.8536C2.34171 12.0488 2.65829 12.0488 2.85355 11.8536L6.85355 7.85355C7.04882 7.65829 7.04882 7.34171 6.85355 7.14645L2.85355 3.14645C2.65829 2.95118 2.34171 2.95118 2.14645 3.14645C1.95118 3.34171 1.95118 3.65829 2.14645 3.85355L5.79289 7.5L2.14645 11.1464ZM8.14645 11.1464C7.95118 11.3417 7.95118 11.6583 8.14645 11.8536C8.34171 12.0488 8.65829 12.0488 8.85355 11.8536L12.8536 7.85355C13.0488 7.65829 13.0488 7.34171 12.8536 7.14645L8.85355 3.14645C8.65829 2.95118 8.34171 2.95118 8.14645 3.14645C7.95118 3.34171 7.95118 3.65829 8.14645 3.85355L11.7929 7.5L8.14645 11.1464Z",fill:r,fillRule:"evenodd",clipRule:"evenodd"}))}),yge=["color"],nZe=y.forwardRef(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=Yr(e,yge);return y.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},i,{ref:t}),y.createElement("path",{d:"M5.5 4.625C6.12132 4.625 6.625 4.12132 6.625 3.5C6.625 2.87868 6.12132 2.375 5.5 2.375C4.87868 2.375 4.375 2.87868 4.375 3.5C4.375 4.12132 4.87868 4.625 5.5 4.625ZM9.5 4.625C10.1213 4.625 10.625 4.12132 10.625 3.5C10.625 2.87868 10.1213 2.375 9.5 2.375C8.87868 2.375 8.375 2.87868 8.375 3.5C8.375 4.12132 8.87868 4.625 9.5 4.625ZM10.625 7.5C10.625 8.12132 10.1213 8.625 9.5 8.625C8.87868 8.625 8.375 8.12132 8.375 7.5C8.375 6.87868 8.87868 6.375 9.5 6.375C10.1213 6.375 10.625 6.87868 10.625 7.5ZM5.5 8.625C6.12132 8.625 6.625 8.12132 6.625 7.5C6.625 6.87868 6.12132 6.375 5.5 6.375C4.87868 6.375 4.375 6.87868 4.375 7.5C4.375 8.12132 4.87868 8.625 5.5 8.625ZM10.625 11.5C10.625 12.1213 10.1213 12.625 9.5 12.625C8.87868 12.625 8.375 12.1213 8.375 11.5C8.375 10.8787 8.87868 10.375 9.5 10.375C10.1213 10.375 10.625 10.8787 10.625 11.5ZM5.5 12.625C6.12132 12.625 6.625 12.1213 6.625 11.5C6.625 10.8787 6.12132 10.375 5.5 10.375C4.87868 10.375 4.375 10.8787 4.375 11.5C4.375 12.1213 4.87868 12.625 5.5 12.625Z",fill:r,fillRule:"evenodd",clipRule:"evenodd"}))}),bge=["color"],rZe=y.forwardRef(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=Yr(e,bge);return y.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},i,{ref:t}),y.createElement("path",{d:"M10 6.5C10 8.433 8.433 10 6.5 10C4.567 10 3 8.433 3 6.5C3 4.567 4.567 3 6.5 3C8.433 3 10 4.567 10 6.5ZM9.30884 10.0159C8.53901 10.6318 7.56251 11 6.5 11C4.01472 11 2 8.98528 2 6.5C2 4.01472 4.01472 2 6.5 2C8.98528 2 11 4.01472 11 6.5C11 7.56251 10.6318 8.53901 10.0159 9.30884L12.8536 12.1464C13.0488 12.3417 13.0488 12.6583 12.8536 12.8536C12.6583 13.0488 12.3417 13.0488 12.1464 12.8536L9.30884 10.0159Z",fill:r,fillRule:"evenodd",clipRule:"evenodd"}))}),xge=["color"],iZe=y.forwardRef(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=Yr(e,xge);return y.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},i,{ref:t}),y.createElement("path",{d:"M5.5 3C4.67157 3 4 3.67157 4 4.5C4 5.32843 4.67157 6 5.5 6C6.32843 6 7 5.32843 7 4.5C7 3.67157 6.32843 3 5.5 3ZM3 5C3.01671 5 3.03323 4.99918 3.04952 4.99758C3.28022 6.1399 4.28967 7 5.5 7C6.71033 7 7.71978 6.1399 7.95048 4.99758C7.96677 4.99918 7.98329 5 8 5H13.5C13.7761 5 14 4.77614 14 4.5C14 4.22386 13.7761 4 13.5 4H8C7.98329 4 7.96677 4.00082 7.95048 4.00242C7.71978 2.86009 6.71033 2 5.5 2C4.28967 2 3.28022 2.86009 3.04952 4.00242C3.03323 4.00082 3.01671 4 3 4H1.5C1.22386 4 1 4.22386 1 4.5C1 4.77614 1.22386 5 1.5 5H3ZM11.9505 10.9976C11.7198 12.1399 10.7103 13 9.5 13C8.28967 13 7.28022 12.1399 7.04952 10.9976C7.03323 10.9992 7.01671 11 7 11H1.5C1.22386 11 1 10.7761 1 10.5C1 10.2239 1.22386 10 1.5 10H7C7.01671 10 7.03323 10.0008 7.04952 10.0024C7.28022 8.8601 8.28967 8 9.5 8C10.7103 8 11.7198 8.8601 11.9505 10.0024C11.9668 10.0008 11.9833 10 12 10H13.5C13.7761 10 14 10.2239 14 10.5C14 10.7761 13.7761 11 13.5 11H12C11.9833 11 11.9668 10.9992 11.9505 10.9976ZM8 10.5C8 9.67157 8.67157 9 9.5 9C10.3284 9 11 9.67157 11 10.5C11 11.3284 10.3284 12 9.5 12C8.67157 12 8 11.3284 8 10.5Z",fill:r,fillRule:"evenodd",clipRule:"evenodd"}))}),wge=["color"],oZe=y.forwardRef(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=Yr(e,wge);return y.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},i,{ref:t}),y.createElement("path",{d:"M12.1464 1.14645C12.3417 0.951184 12.6583 0.951184 12.8535 1.14645L14.8535 3.14645C15.0488 3.34171 15.0488 3.65829 14.8535 3.85355L10.9109 7.79618C10.8349 7.87218 10.7471 7.93543 10.651 7.9835L6.72359 9.94721C6.53109 10.0435 6.29861 10.0057 6.14643 9.85355C5.99425 9.70137 5.95652 9.46889 6.05277 9.27639L8.01648 5.34897C8.06455 5.25283 8.1278 5.16507 8.2038 5.08907L12.1464 1.14645ZM12.5 2.20711L8.91091 5.79618L7.87266 7.87267L8.12731 8.12732L10.2038 7.08907L13.7929 3.5L12.5 2.20711ZM9.99998 2L8.99998 3H4.9C4.47171 3 4.18056 3.00039 3.95552 3.01877C3.73631 3.03668 3.62421 3.06915 3.54601 3.10899C3.35785 3.20487 3.20487 3.35785 3.10899 3.54601C3.06915 3.62421 3.03669 3.73631 3.01878 3.95552C3.00039 4.18056 3 4.47171 3 4.9V11.1C3 11.5283 3.00039 11.8194 3.01878 12.0445C3.03669 12.2637 3.06915 12.3758 3.10899 12.454C3.20487 12.6422 3.35785 12.7951 3.54601 12.891C3.62421 12.9309 3.73631 12.9633 3.95552 12.9812C4.18056 12.9996 4.47171 13 4.9 13H11.1C11.5283 13 11.8194 12.9996 12.0445 12.9812C12.2637 12.9633 12.3758 12.9309 12.454 12.891C12.6422 12.7951 12.7951 12.6422 12.891 12.454C12.9309 12.3758 12.9633 12.2637 12.9812 12.0445C12.9996 11.8194 13 11.5283 13 11.1V6.99998L14 5.99998V11.1V11.1207C14 11.5231 14 11.8553 13.9779 12.1259C13.9549 12.407 13.9057 12.6653 13.782 12.908C13.5903 13.2843 13.2843 13.5903 12.908 13.782C12.6653 13.9057 12.407 13.9549 12.1259 13.9779C11.8553 14 11.5231 14 11.1207 14H11.1H4.9H4.87934C4.47686 14 4.14468 14 3.87409 13.9779C3.59304 13.9549 3.33469 13.9057 3.09202 13.782C2.7157 13.5903 2.40973 13.2843 2.21799 12.908C2.09434 12.6653 2.04506 12.407 2.0221 12.1259C1.99999 11.8553 1.99999 11.5231 2 11.1207V11.1206V11.1V4.9V4.87935V4.87932V4.87931C1.99999 4.47685 1.99999 4.14468 2.0221 3.87409C2.04506 3.59304 2.09434 3.33469 2.21799 3.09202C2.40973 2.71569 2.7157 2.40973 3.09202 2.21799C3.33469 2.09434 3.59304 2.04506 3.87409 2.0221C4.14468 1.99999 4.47685 1.99999 4.87932 2H4.87935H4.9H9.99998Z",fill:r,fillRule:"evenodd",clipRule:"evenodd"}))}),_ge=["color"],aZe=y.forwardRef(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=Yr(e,_ge);return y.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},i,{ref:t}),y.createElement("path",{d:"M7.49991 0.876892C3.84222 0.876892 0.877075 3.84204 0.877075 7.49972C0.877075 11.1574 3.84222 14.1226 7.49991 14.1226C11.1576 14.1226 14.1227 11.1574 14.1227 7.49972C14.1227 3.84204 11.1576 0.876892 7.49991 0.876892ZM1.82707 7.49972C1.82707 4.36671 4.36689 1.82689 7.49991 1.82689C10.6329 1.82689 13.1727 4.36671 13.1727 7.49972C13.1727 10.6327 10.6329 13.1726 7.49991 13.1726C4.36689 13.1726 1.82707 10.6327 1.82707 7.49972ZM7.50003 4C7.77617 4 8.00003 4.22386 8.00003 4.5V7H10.5C10.7762 7 11 7.22386 11 7.5C11 7.77614 10.7762 8 10.5 8H8.00003V10.5C8.00003 10.7761 7.77617 11 7.50003 11C7.22389 11 7.00003 10.7761 7.00003 10.5V8H4.50003C4.22389 8 4.00003 7.77614 4.00003 7.5C4.00003 7.22386 4.22389 7 4.50003 7H7.00003V4.5C7.00003 4.22386 7.22389 4 7.50003 4Z",fill:r,fillRule:"evenodd",clipRule:"evenodd"}))}),Sge=["color"],sZe=y.forwardRef(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=Yr(e,Sge);return y.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},i,{ref:t}),y.createElement("path",{d:"M0.877075 7.49972C0.877075 3.84204 3.84222 0.876892 7.49991 0.876892C11.1576 0.876892 14.1227 3.84204 14.1227 7.49972C14.1227 11.1574 11.1576 14.1226 7.49991 14.1226C3.84222 14.1226 0.877075 11.1574 0.877075 7.49972ZM7.49991 1.82689C4.36689 1.82689 1.82708 4.36671 1.82708 7.49972C1.82708 10.6327 4.36689 13.1726 7.49991 13.1726C10.6329 13.1726 13.1727 10.6327 13.1727 7.49972C13.1727 4.36671 10.6329 1.82689 7.49991 1.82689ZM8.24993 10.5C8.24993 10.9142 7.91414 11.25 7.49993 11.25C7.08571 11.25 6.74993 10.9142 6.74993 10.5C6.74993 10.0858 7.08571 9.75 7.49993 9.75C7.91414 9.75 8.24993 10.0858 8.24993 10.5ZM6.05003 6.25C6.05003 5.57211 6.63511 4.925 7.50003 4.925C8.36496 4.925 8.95003 5.57211 8.95003 6.25C8.95003 6.74118 8.68002 6.99212 8.21447 7.27494C8.16251 7.30651 8.10258 7.34131 8.03847 7.37854L8.03841 7.37858C7.85521 7.48497 7.63788 7.61119 7.47449 7.73849C7.23214 7.92732 6.95003 8.23198 6.95003 8.7C6.95004 9.00376 7.19628 9.25 7.50004 9.25C7.8024 9.25 8.04778 9.00601 8.05002 8.70417L8.05056 8.7033C8.05924 8.6896 8.08493 8.65735 8.15058 8.6062C8.25207 8.52712 8.36508 8.46163 8.51567 8.37436L8.51571 8.37433C8.59422 8.32883 8.68296 8.27741 8.78559 8.21506C9.32004 7.89038 10.05 7.35382 10.05 6.25C10.05 4.92789 8.93511 3.825 7.50003 3.825C6.06496 3.825 4.95003 4.92789 4.95003 6.25C4.95003 6.55376 5.19628 6.8 5.50003 6.8C5.80379 6.8 6.05003 6.55376 6.05003 6.25Z",fill:r,fillRule:"evenodd",clipRule:"evenodd"}))}),Cge=["color"],uZe=y.forwardRef(function(e,t){var n=e.color,r=n===void 0?"currentColor":n,i=Yr(e,Cge);return y.createElement("svg",Object.assign({width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},i,{ref:t}),y.createElement("path",{d:"M5.49998 0.5C5.49998 0.223858 5.72383 0 5.99998 0H7.49998H8.99998C9.27612 0 9.49998 0.223858 9.49998 0.5C9.49998 0.776142 9.27612 1 8.99998 1H7.99998V2.11922C9.09832 2.20409 10.119 2.56622 10.992 3.13572C11.0116 3.10851 11.0336 3.08252 11.058 3.05806L11.858 2.25806C12.1021 2.01398 12.4978 2.01398 12.7419 2.25806C12.986 2.50214 12.986 2.89786 12.7419 3.14194L11.967 3.91682C13.1595 5.07925 13.9 6.70314 13.9 8.49998C13.9 12.0346 11.0346 14.9 7.49998 14.9C3.96535 14.9 1.09998 12.0346 1.09998 8.49998C1.09998 5.13362 3.69904 2.3743 6.99998 2.11922V1H5.99998C5.72383 1 5.49998 0.776142 5.49998 0.5ZM2.09998 8.49998C2.09998 5.51764 4.51764 3.09998 7.49998 3.09998C10.4823 3.09998 12.9 5.51764 12.9 8.49998C12.9 11.4823 10.4823 13.9 7.49998 13.9C4.51764 13.9 2.09998 11.4823 2.09998 8.49998ZM7.99998 4.5C7.99998 4.22386 7.77612 4 7.49998 4C7.22383 4 6.99998 4.22386 6.99998 4.5V9.5C6.99998 9.77614 7.22383 10 7.49998 10C7.77612 10 7.99998 9.77614 7.99998 9.5V4.5Z",fill:r,fillRule:"evenodd",clipRule:"evenodd"}))}),Ege=["title"],Oge=["title"],Age=["title"];function pg(){return pg=Object.assign||function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Pge(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}var lZe=function(t){var n=t.title,r=Q5(t,Ege);return F.createElement("svg",pg({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 513 342"},r),n&&F.createElement("title",null,n),F.createElement("path",{fill:"#D80027",d:"M0 0h513v342H0z"}),F.createElement("path",{d:"m226.8 239.2-9.7-15.6-17.9 4.4 11.9-14.1-9.7-15.6 17.1 6.9 11.8-14.1-1.3 18.4 17.1 6.9-17.9 4.4zM290.6 82l-10.1 15.4 11.6 14.3-17.7-4.8-10.1 15.5-1-18.4-17.7-4.8 17.2-6.6-1-18.4 11.6 14.3zm-54.4-56.6-2 18.3 16.8 7.6-18 3.8-2 18.3-9.2-16-17.9 3.8 12.3-13.7-9.2-15.9 16.8 7.5zm56.6 136.4-14.9 10.9 5.8 17.5-14.9-10.8-14.9 11 5.6-17.6-14.9-10.7 18.4-.1 5.6-17.6 5.8 17.5zM115 46.3l17.3 53.5h56.2l-45.4 32.9 17.3 53.5-45.4-33-45.5 33 17.4-53.5-45.5-32.9h56.3z",fill:"#FFDA44"}))},cZe=function(t){var n=t.title,r=Q5(t,Oge);return F.createElement("svg",pg({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 513 342"},r),n&&F.createElement("title",null,n),F.createElement("g",{fill:"#FFF"},F.createElement("path",{d:"M0 0h513v341.3H0V0z"}),F.createElement("path",{d:"M311.7 230 513 341.3v-31.5L369.3 230h-57.6zM200.3 111.3 0 0v31.5l143.7 79.8h56.6z"})),F.createElement("path",{d:"M393.8 230 513 295.7V230H393.8zm-82.1 0L513 341.3v-31.5L369.3 230h-57.6zm146.9 111.3-147-81.7v81.7h147zM90.3 230 0 280.2V230h90.3zm110 14.2v97.2H25.5l174.8-97.2zm-82.1-132.9L0 45.6v65.7h118.2zm82.1 0L0 0v31.5l143.7 79.8h56.6zM53.4 0l147 81.7V0h-147zm368.3 111.3L513 61.1v50.2h-91.3zm-110-14.2V0h174.9L311.7 97.1z",fill:"#0052B4"}),F.createElement("g",{fill:"#D80027"},F.createElement("path",{d:"M288 0h-64v138.7H0v64h224v138.7h64V202.7h224v-64H288V0z"}),F.createElement("path",{d:"M311.7 230 513 341.3v-31.5L369.3 230h-57.6zm-168 0L0 309.9v31.5L200.3 230h-56.6zm56.6-118.7L0 0v31.5l143.7 79.8h56.6zm168 0L513 31.5V0L311.7 111.3h56.6z"})))},fZe=function(t){var n=t.title,r=Q5(t,Age);return F.createElement("svg",pg({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 900 600"},r),n&&F.createElement("title",null,n),F.createElement("path",{fill:"#FFF",d:"M0 0h900v600H0z"}),F.createElement("g",{transform:"rotate(-56.31)"},F.createElement("path",{d:"M-75 228.3H75m-150 37.5H75m-150 37.5H75m-150 475H75m-150 37.5H75m-150 37.5H75",stroke:"#000",strokeWidth:25}),F.createElement("path",{stroke:"#FFF",strokeWidth:12.5,d:"M0 753.3v125"}),F.createElement("circle",{fill:"#ca163a",cy:540.8,r:150}),F.createElement("path",{fill:"#0e4896",d:"M0 390.8c-41.4 0-75 33.6-75 75s33.6 75 75 75 75 33.6 75 75-33.6 75-75 75c-82.8 0-150-67.2-150-150s67.2-150 150-150z"})),F.createElement("path",{d:"m231.56 535.73-83.205-124.808M262.76 514.928l-83.205-124.807m114.407 104.006-83.205-124.808m478.43-138.675-83.205-124.807M720.39 209.843 637.184 85.036m114.407 104.006L668.386 64.234",stroke:"#000",strokeWidth:25}),F.createElement("path",{stroke:"#FFF",strokeWidth:12.5,d:"m205.6 462.897 31.202-20.8m389.981-259.989 36.444-24.296m31.202-20.801 31.202-20.801"}))};function J5(e){const t=e+"CollectionProvider",[n,r]=vi(t),[i,o]=n(t,{collectionRef:{current:null},itemMap:new Map}),a=p=>{const{scope:m,children:v}=p,b=F.useRef(null),w=F.useRef(new Map).current;return I.jsx(i,{scope:m,itemMap:w,collectionRef:b,children:v})};a.displayName=t;const s=e+"CollectionSlot",u=F.forwardRef((p,m)=>{const{scope:v,children:b}=p,w=o(s,v),x=Yt(m,w.collectionRef);return I.jsx(Al,{ref:x,children:b})});u.displayName=s;const l=e+"CollectionItemSlot",c="data-radix-collection-item",f=F.forwardRef((p,m)=>{const{scope:v,children:b,...w}=p,x=F.useRef(null),S=Yt(m,x),O=o(l,v);return F.useEffect(()=>(O.itemMap.set(x,{ref:x,...w}),()=>void O.itemMap.delete(x))),I.jsx(Al,{[c]:"",ref:S,children:b})});f.displayName=l;function h(p){const m=o(e+"CollectionConsumer",p);return F.useCallback(()=>{const b=m.collectionRef.current;if(!b)return[];const w=Array.from(b.querySelectorAll(`[${c}]`));return Array.from(m.itemMap.values()).sort((O,E)=>w.indexOf(O.ref.current)-w.indexOf(E.ref.current))},[m.collectionRef,m.itemMap])}return[{Provider:a,Slot:u,ItemSlot:f},h,r]}var kge=y.createContext(void 0);function Em(e){const t=y.useContext(kge);return e||t||"ltr"}const Tge=["top","right","bottom","left"],Rl=Math.min,Ro=Math.max,ob=Math.round,l1=Math.floor,Dl=e=>({x:e,y:e}),Mge={left:"right",right:"left",bottom:"top",top:"bottom"},Rge={start:"end",end:"start"};function dE(e,t,n){return Ro(e,Rl(t,n))}function xu(e,t){return typeof e=="function"?e(t):e}function wu(e){return e.split("-")[0]}function Fh(e){return e.split("-")[1]}function eO(e){return e==="x"?"y":"x"}function tO(e){return e==="y"?"height":"width"}function jh(e){return["top","bottom"].includes(wu(e))?"y":"x"}function nO(e){return eO(jh(e))}function Dge(e,t,n){n===void 0&&(n=!1);const r=Fh(e),i=nO(e),o=tO(i);let a=i==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[o]>t.floating[o]&&(a=ab(a)),[a,ab(a)]}function $ge(e){const t=ab(e);return[hE(e),t,hE(t)]}function hE(e){return e.replace(/start|end/g,t=>Rge[t])}function Ige(e,t,n){const r=["left","right"],i=["right","left"],o=["top","bottom"],a=["bottom","top"];switch(e){case"top":case"bottom":return n?t?i:r:t?r:i;case"left":case"right":return t?o:a;default:return[]}}function Nge(e,t,n,r){const i=Fh(e);let o=Ige(wu(e),n==="start",r);return i&&(o=o.map(a=>a+"-"+i),t&&(o=o.concat(o.map(hE)))),o}function ab(e){return e.replace(/left|right|bottom|top/g,t=>Mge[t])}function Lge(e){return{top:0,right:0,bottom:0,left:0,...e}}function vz(e){return typeof e!="number"?Lge(e):{top:e,right:e,bottom:e,left:e}}function sb(e){return{...e,top:e.y,left:e.x,right:e.x+e.width,bottom:e.y+e.height}}function QR(e,t,n){let{reference:r,floating:i}=e;const o=jh(t),a=nO(t),s=tO(a),u=wu(t),l=o==="y",c=r.x+r.width/2-i.width/2,f=r.y+r.height/2-i.height/2,h=r[s]/2-i[s]/2;let p;switch(u){case"top":p={x:c,y:r.y-i.height};break;case"bottom":p={x:c,y:r.y+r.height};break;case"right":p={x:r.x+r.width,y:f};break;case"left":p={x:r.x-i.width,y:f};break;default:p={x:r.x,y:r.y}}switch(Fh(t)){case"start":p[a]-=h*(n&&l?-1:1);break;case"end":p[a]+=h*(n&&l?-1:1);break}return p}const Fge=async(e,t,n)=>{const{placement:r="bottom",strategy:i="absolute",middleware:o=[],platform:a}=n,s=o.filter(Boolean),u=await(a.isRTL==null?void 0:a.isRTL(t));let l=await a.getElementRects({reference:e,floating:t,strategy:i}),{x:c,y:f}=QR(l,r,u),h=r,p={},m=0;for(let v=0;v({name:"arrow",options:e,async fn(t){const{x:n,y:r,placement:i,rects:o,platform:a,elements:s,middlewareData:u}=t,{element:l,padding:c=0}=xu(e,t)||{};if(l==null)return{};const f=vz(c),h={x:n,y:r},p=nO(i),m=tO(p),v=await a.getDimensions(l),b=p==="y",w=b?"top":"left",x=b?"bottom":"right",S=b?"clientHeight":"clientWidth",O=o.reference[m]+o.reference[p]-h[p]-o.floating[m],E=h[p]-o.reference[p],C=await(a.getOffsetParent==null?void 0:a.getOffsetParent(l));let k=C?C[S]:0;(!k||!await(a.isElement==null?void 0:a.isElement(C)))&&(k=s.floating[S]||o.floating[m]);const M=O/2-E/2,L=k/2-v[m]/2-1,U=Rl(f[w],L),H=Rl(f[x],L),V=U,ne=k-v[m]-H,Z=k/2-v[m]/2+M,G=dE(V,Z,ne),q=!u.arrow&&Fh(i)!=null&&Z!==G&&o.reference[m]/2-(ZV<=0)){var L,U;const V=(((L=o.flip)==null?void 0:L.index)||0)+1,ne=E[V];if(ne)return{data:{index:V,overflows:M},reset:{placement:ne}};let Z=(U=M.filter(G=>G.overflows[0]<=0).sort((G,q)=>G.overflows[1]-q.overflows[1])[0])==null?void 0:U.placement;if(!Z)switch(p){case"bestFit":{var H;const G=(H=M.map(q=>[q.placement,q.overflows.filter(W=>W>0).reduce((W,j)=>W+j,0)]).sort((q,W)=>q[1]-W[1])[0])==null?void 0:H[0];G&&(Z=G);break}case"initialPlacement":Z=s;break}if(i!==Z)return{reset:{placement:Z}}}return{}}}};function JR(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function e9(e){return Tge.some(t=>e[t]>=0)}const zge=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n}=t,{strategy:r="referenceHidden",...i}=xu(e,t);switch(r){case"referenceHidden":{const o=await gg(t,{...i,elementContext:"reference"}),a=JR(o,n.reference);return{data:{referenceHiddenOffsets:a,referenceHidden:e9(a)}}}case"escaped":{const o=await gg(t,{...i,altBoundary:!0}),a=JR(o,n.floating);return{data:{escapedOffsets:a,escaped:e9(a)}}}default:return{}}}}};async function Uge(e,t){const{placement:n,platform:r,elements:i}=e,o=await(r.isRTL==null?void 0:r.isRTL(i.floating)),a=wu(n),s=Fh(n),u=jh(n)==="y",l=["left","top"].includes(a)?-1:1,c=o&&u?-1:1,f=xu(t,e);let{mainAxis:h,crossAxis:p,alignmentAxis:m}=typeof f=="number"?{mainAxis:f,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...f};return s&&typeof m=="number"&&(p=s==="end"?m*-1:m),u?{x:p*c,y:h*l}:{x:h*l,y:p*c}}const Vge=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,r;const{x:i,y:o,placement:a,middlewareData:s}=t,u=await Uge(t,e);return a===((n=s.offset)==null?void 0:n.placement)&&(r=s.arrow)!=null&&r.alignmentOffset?{}:{x:i+u.x,y:o+u.y,data:{...u,placement:a}}}}},Wge=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:i}=t,{mainAxis:o=!0,crossAxis:a=!1,limiter:s={fn:b=>{let{x:w,y:x}=b;return{x:w,y:x}}},...u}=xu(e,t),l={x:n,y:r},c=await gg(t,u),f=jh(wu(i)),h=eO(f);let p=l[h],m=l[f];if(o){const b=h==="y"?"top":"left",w=h==="y"?"bottom":"right",x=p+c[b],S=p-c[w];p=dE(x,p,S)}if(a){const b=f==="y"?"top":"left",w=f==="y"?"bottom":"right",x=m+c[b],S=m-c[w];m=dE(x,m,S)}const v=s.fn({...t,[h]:p,[f]:m});return{...v,data:{x:v.x-n,y:v.y-r}}}}},Hge=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:r,placement:i,rects:o,middlewareData:a}=t,{offset:s=0,mainAxis:u=!0,crossAxis:l=!0}=xu(e,t),c={x:n,y:r},f=jh(i),h=eO(f);let p=c[h],m=c[f];const v=xu(s,t),b=typeof v=="number"?{mainAxis:v,crossAxis:0}:{mainAxis:0,crossAxis:0,...v};if(u){const S=h==="y"?"height":"width",O=o.reference[h]-o.floating[S]+b.mainAxis,E=o.reference[h]+o.reference[S]-b.mainAxis;pE&&(p=E)}if(l){var w,x;const S=h==="y"?"width":"height",O=["top","left"].includes(wu(i)),E=o.reference[f]-o.floating[S]+(O&&((w=a.offset)==null?void 0:w[f])||0)+(O?0:b.crossAxis),C=o.reference[f]+o.reference[S]+(O?0:((x=a.offset)==null?void 0:x[f])||0)-(O?b.crossAxis:0);mC&&(m=C)}return{[h]:p,[f]:m}}}},Kge=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){const{placement:n,rects:r,platform:i,elements:o}=t,{apply:a=()=>{},...s}=xu(e,t),u=await gg(t,s),l=wu(n),c=Fh(n),f=jh(n)==="y",{width:h,height:p}=r.floating;let m,v;l==="top"||l==="bottom"?(m=l,v=c===(await(i.isRTL==null?void 0:i.isRTL(o.floating))?"start":"end")?"left":"right"):(v=l,m=c==="end"?"top":"bottom");const b=p-u[m],w=h-u[v],x=!t.middlewareData.shift;let S=b,O=w;if(f){const C=h-u.left-u.right;O=c||x?Rl(w,C):C}else{const C=p-u.top-u.bottom;S=c||x?Rl(b,C):C}if(x&&!c){const C=Ro(u.left,0),k=Ro(u.right,0),M=Ro(u.top,0),L=Ro(u.bottom,0);f?O=h-2*(C!==0||k!==0?C+k:Ro(u.left,u.right)):S=p-2*(M!==0||L!==0?M+L:Ro(u.top,u.bottom))}await a({...t,availableWidth:O,availableHeight:S});const E=await i.getDimensions(o.floating);return h!==E.width||p!==E.height?{reset:{rects:!0}}:{}}}};function $l(e){return yz(e)?(e.nodeName||"").toLowerCase():"#document"}function jo(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function ku(e){var t;return(t=(yz(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function yz(e){return e instanceof Node||e instanceof jo(e).Node}function _u(e){return e instanceof Element||e instanceof jo(e).Element}function Ms(e){return e instanceof HTMLElement||e instanceof jo(e).HTMLElement}function t9(e){return typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof jo(e).ShadowRoot}function Om(e){const{overflow:t,overflowX:n,overflowY:r,display:i}=ma(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!["inline","contents"].includes(i)}function qge(e){return["table","td","th"].includes($l(e))}function rO(e){const t=iO(),n=ma(e);return n.transform!=="none"||n.perspective!=="none"||(n.containerType?n.containerType!=="normal":!1)||!t&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!t&&(n.filter?n.filter!=="none":!1)||["transform","perspective","filter"].some(r=>(n.willChange||"").includes(r))||["paint","layout","strict","content"].some(r=>(n.contain||"").includes(r))}function Gge(e){let t=Zd(e);for(;Ms(t)&&!i2(t);){if(rO(t))return t;t=Zd(t)}return null}function iO(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}function i2(e){return["html","body","#document"].includes($l(e))}function ma(e){return jo(e).getComputedStyle(e)}function o2(e){return _u(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Zd(e){if($l(e)==="html")return e;const t=e.assignedSlot||e.parentNode||t9(e)&&e.host||ku(e);return t9(t)?t.host:t}function bz(e){const t=Zd(e);return i2(t)?e.ownerDocument?e.ownerDocument.body:e.body:Ms(t)&&Om(t)?t:bz(t)}function mg(e,t,n){var r;t===void 0&&(t=[]),n===void 0&&(n=!0);const i=bz(e),o=i===((r=e.ownerDocument)==null?void 0:r.body),a=jo(i);return o?t.concat(a,a.visualViewport||[],Om(i)?i:[],a.frameElement&&n?mg(a.frameElement):[]):t.concat(i,mg(i,[],n))}function xz(e){const t=ma(e);let n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const i=Ms(e),o=i?e.offsetWidth:n,a=i?e.offsetHeight:r,s=ob(n)!==o||ob(r)!==a;return s&&(n=o,r=a),{width:n,height:r,$:s}}function oO(e){return _u(e)?e:e.contextElement}function kd(e){const t=oO(e);if(!Ms(t))return Dl(1);const n=t.getBoundingClientRect(),{width:r,height:i,$:o}=xz(t);let a=(o?ob(n.width):n.width)/r,s=(o?ob(n.height):n.height)/i;return(!a||!Number.isFinite(a))&&(a=1),(!s||!Number.isFinite(s))&&(s=1),{x:a,y:s}}const Yge=Dl(0);function wz(e){const t=jo(e);return!iO()||!t.visualViewport?Yge:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Zge(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==jo(e)?!1:t}function Qc(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);const i=e.getBoundingClientRect(),o=oO(e);let a=Dl(1);t&&(r?_u(r)&&(a=kd(r)):a=kd(e));const s=Zge(o,n,r)?wz(o):Dl(0);let u=(i.left+s.x)/a.x,l=(i.top+s.y)/a.y,c=i.width/a.x,f=i.height/a.y;if(o){const h=jo(o),p=r&&_u(r)?jo(r):r;let m=h,v=m.frameElement;for(;v&&r&&p!==m;){const b=kd(v),w=v.getBoundingClientRect(),x=ma(v),S=w.left+(v.clientLeft+parseFloat(x.paddingLeft))*b.x,O=w.top+(v.clientTop+parseFloat(x.paddingTop))*b.y;u*=b.x,l*=b.y,c*=b.x,f*=b.y,u+=S,l+=O,m=jo(v),v=m.frameElement}}return sb({width:c,height:f,x:u,y:l})}const Xge=[":popover-open",":modal"];function _z(e){return Xge.some(t=>{try{return e.matches(t)}catch{return!1}})}function Qge(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e;const o=i==="fixed",a=ku(r),s=t?_z(t.floating):!1;if(r===a||s&&o)return n;let u={scrollLeft:0,scrollTop:0},l=Dl(1);const c=Dl(0),f=Ms(r);if((f||!f&&!o)&&(($l(r)!=="body"||Om(a))&&(u=o2(r)),Ms(r))){const h=Qc(r);l=kd(r),c.x=h.x+r.clientLeft,c.y=h.y+r.clientTop}return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-u.scrollLeft*l.x+c.x,y:n.y*l.y-u.scrollTop*l.y+c.y}}function Jge(e){return Array.from(e.getClientRects())}function Sz(e){return Qc(ku(e)).left+o2(e).scrollLeft}function eme(e){const t=ku(e),n=o2(e),r=e.ownerDocument.body,i=Ro(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),o=Ro(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight);let a=-n.scrollLeft+Sz(e);const s=-n.scrollTop;return ma(r).direction==="rtl"&&(a+=Ro(t.clientWidth,r.clientWidth)-i),{width:i,height:o,x:a,y:s}}function tme(e,t){const n=jo(e),r=ku(e),i=n.visualViewport;let o=r.clientWidth,a=r.clientHeight,s=0,u=0;if(i){o=i.width,a=i.height;const l=iO();(!l||l&&t==="fixed")&&(s=i.offsetLeft,u=i.offsetTop)}return{width:o,height:a,x:s,y:u}}function nme(e,t){const n=Qc(e,!0,t==="fixed"),r=n.top+e.clientTop,i=n.left+e.clientLeft,o=Ms(e)?kd(e):Dl(1),a=e.clientWidth*o.x,s=e.clientHeight*o.y,u=i*o.x,l=r*o.y;return{width:a,height:s,x:u,y:l}}function n9(e,t,n){let r;if(t==="viewport")r=tme(e,n);else if(t==="document")r=eme(ku(e));else if(_u(t))r=nme(t,n);else{const i=wz(e);r={...t,x:t.x-i.x,y:t.y-i.y}}return sb(r)}function Cz(e,t){const n=Zd(e);return n===t||!_u(n)||i2(n)?!1:ma(n).position==="fixed"||Cz(n,t)}function rme(e,t){const n=t.get(e);if(n)return n;let r=mg(e,[],!1).filter(s=>_u(s)&&$l(s)!=="body"),i=null;const o=ma(e).position==="fixed";let a=o?Zd(e):e;for(;_u(a)&&!i2(a);){const s=ma(a),u=rO(a);!u&&s.position==="fixed"&&(i=null),(o?!u&&!i:!u&&s.position==="static"&&!!i&&["absolute","fixed"].includes(i.position)||Om(a)&&!u&&Cz(e,a))?r=r.filter(c=>c!==a):i=s,a=Zd(a)}return t.set(e,r),r}function ime(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e;const a=[...n==="clippingAncestors"?rme(t,this._c):[].concat(n),r],s=a[0],u=a.reduce((l,c)=>{const f=n9(t,c,i);return l.top=Ro(f.top,l.top),l.right=Rl(f.right,l.right),l.bottom=Rl(f.bottom,l.bottom),l.left=Ro(f.left,l.left),l},n9(t,s,i));return{width:u.right-u.left,height:u.bottom-u.top,x:u.left,y:u.top}}function ome(e){const{width:t,height:n}=xz(e);return{width:t,height:n}}function ame(e,t,n){const r=Ms(t),i=ku(t),o=n==="fixed",a=Qc(e,!0,o,t);let s={scrollLeft:0,scrollTop:0};const u=Dl(0);if(r||!r&&!o)if(($l(t)!=="body"||Om(i))&&(s=o2(t)),r){const f=Qc(t,!0,o,t);u.x=f.x+t.clientLeft,u.y=f.y+t.clientTop}else i&&(u.x=Sz(i));const l=a.left+s.scrollLeft-u.x,c=a.top+s.scrollTop-u.y;return{x:l,y:c,width:a.width,height:a.height}}function r9(e,t){return!Ms(e)||ma(e).position==="fixed"?null:t?t(e):e.offsetParent}function Ez(e,t){const n=jo(e);if(!Ms(e)||_z(e))return n;let r=r9(e,t);for(;r&&qge(r)&&ma(r).position==="static";)r=r9(r,t);return r&&($l(r)==="html"||$l(r)==="body"&&ma(r).position==="static"&&!rO(r))?n:r||Gge(e)||n}const sme=async function(e){const t=this.getOffsetParent||Ez,n=this.getDimensions;return{reference:ame(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,...await n(e.floating)}}};function ume(e){return ma(e).direction==="rtl"}const lme={convertOffsetParentRelativeRectToViewportRelativeRect:Qge,getDocumentElement:ku,getClippingRect:ime,getOffsetParent:Ez,getElementRects:sme,getClientRects:Jge,getDimensions:ome,getScale:kd,isElement:_u,isRTL:ume};function cme(e,t){let n=null,r;const i=ku(e);function o(){var s;clearTimeout(r),(s=n)==null||s.disconnect(),n=null}function a(s,u){s===void 0&&(s=!1),u===void 0&&(u=1),o();const{left:l,top:c,width:f,height:h}=e.getBoundingClientRect();if(s||t(),!f||!h)return;const p=l1(c),m=l1(i.clientWidth-(l+f)),v=l1(i.clientHeight-(c+h)),b=l1(l),x={rootMargin:-p+"px "+-m+"px "+-v+"px "+-b+"px",threshold:Ro(0,Rl(1,u))||1};let S=!0;function O(E){const C=E[0].intersectionRatio;if(C!==u){if(!S)return a();C?a(!1,C):r=setTimeout(()=>{a(!1,1e-7)},100)}S=!1}try{n=new IntersectionObserver(O,{...x,root:i.ownerDocument})}catch{n=new IntersectionObserver(O,x)}n.observe(e)}return a(!0),o}function fme(e,t,n,r){r===void 0&&(r={});const{ancestorScroll:i=!0,ancestorResize:o=!0,elementResize:a=typeof ResizeObserver=="function",layoutShift:s=typeof IntersectionObserver=="function",animationFrame:u=!1}=r,l=oO(e),c=i||o?[...l?mg(l):[],...mg(t)]:[];c.forEach(w=>{i&&w.addEventListener("scroll",n,{passive:!0}),o&&w.addEventListener("resize",n)});const f=l&&s?cme(l,n):null;let h=-1,p=null;a&&(p=new ResizeObserver(w=>{let[x]=w;x&&x.target===l&&p&&(p.unobserve(t),cancelAnimationFrame(h),h=requestAnimationFrame(()=>{var S;(S=p)==null||S.observe(t)})),n()}),l&&!u&&p.observe(l),p.observe(t));let m,v=u?Qc(e):null;u&&b();function b(){const w=Qc(e);v&&(w.x!==v.x||w.y!==v.y||w.width!==v.width||w.height!==v.height)&&n(),v=w,m=requestAnimationFrame(b)}return n(),()=>{var w;c.forEach(x=>{i&&x.removeEventListener("scroll",n),o&&x.removeEventListener("resize",n)}),f?.(),(w=p)==null||w.disconnect(),p=null,u&&cancelAnimationFrame(m)}}const dme=Wge,hme=Bge,pme=Kge,gme=zge,i9=jge,mme=Hge,vme=(e,t,n)=>{const r=new Map,i={platform:lme,...n},o={...i.platform,_c:r};return Fge(e,t,{...i,platform:o})},yme=e=>{function t(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:e,fn(n){const{element:r,padding:i}=typeof e=="function"?e(n):e;return r&&t(r)?r.current!=null?i9({element:r.current,padding:i}).fn(n):{}:r?i9({element:r,padding:i}).fn(n):{}}}};var ey=typeof document<"u"?y.useLayoutEffect:y.useEffect;function ub(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!ub(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){const o=i[r];if(!(o==="_owner"&&e.$$typeof)&&!ub(e[o],t[o]))return!1}return!0}return e!==e&&t!==t}function Oz(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function o9(e,t){const n=Oz(e);return Math.round(t*n)/n}function a9(e){const t=y.useRef(e);return ey(()=>{t.current=e}),t}function bme(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:i,elements:{reference:o,floating:a}={},transform:s=!0,whileElementsMounted:u,open:l}=e,[c,f]=y.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[h,p]=y.useState(r);ub(h,r)||p(r);const[m,v]=y.useState(null),[b,w]=y.useState(null),x=y.useCallback(W=>{W!==C.current&&(C.current=W,v(W))},[]),S=y.useCallback(W=>{W!==k.current&&(k.current=W,w(W))},[]),O=o||m,E=a||b,C=y.useRef(null),k=y.useRef(null),M=y.useRef(c),L=u!=null,U=a9(u),H=a9(i),V=y.useCallback(()=>{if(!C.current||!k.current)return;const W={placement:t,strategy:n,middleware:h};H.current&&(W.platform=H.current),vme(C.current,k.current,W).then(j=>{const K={...j,isPositioned:!0};ne.current&&!ub(M.current,K)&&(M.current=K,Au.flushSync(()=>{f(K)}))})},[h,t,n,H]);ey(()=>{l===!1&&M.current.isPositioned&&(M.current.isPositioned=!1,f(W=>({...W,isPositioned:!1})))},[l]);const ne=y.useRef(!1);ey(()=>(ne.current=!0,()=>{ne.current=!1}),[]),ey(()=>{if(O&&(C.current=O),E&&(k.current=E),O&&E){if(U.current)return U.current(O,E,V);V()}},[O,E,V,U,L]);const Z=y.useMemo(()=>({reference:C,floating:k,setReference:x,setFloating:S}),[x,S]),G=y.useMemo(()=>({reference:O,floating:E}),[O,E]),q=y.useMemo(()=>{const W={position:n,left:0,top:0};if(!G.floating)return W;const j=o9(G.floating,c.x),K=o9(G.floating,c.y);return s?{...W,transform:"translate("+j+"px, "+K+"px)",...Oz(G.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:j,top:K}},[n,s,G.floating,c.x,c.y]);return y.useMemo(()=>({...c,update:V,refs:Z,elements:G,floatingStyles:q}),[c,V,Z,G,q])}var xme="Arrow",Az=y.forwardRef((e,t)=>{const{children:n,width:r=10,height:i=5,...o}=e;return I.jsx(pt.svg,{...o,ref:t,width:r,height:i,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:I.jsx("polygon",{points:"0,0 30,0 15,10"})})});Az.displayName=xme;var wme=Az;function aO(e){const[t,n]=y.useState(void 0);return ii(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const r=new ResizeObserver(i=>{if(!Array.isArray(i)||!i.length)return;const o=i[0];let a,s;if("borderBoxSize"in o){const u=o.borderBoxSize,l=Array.isArray(u)?u[0]:u;a=l.inlineSize,s=l.blockSize}else a=e.offsetWidth,s=e.offsetHeight;n({width:a,height:s})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}else n(void 0)},[e]),t}var sO="Popper",[Pz,zl]=vi(sO),[_me,kz]=Pz(sO),Tz=e=>{const{__scopePopper:t,children:n}=e,[r,i]=y.useState(null);return I.jsx(_me,{scope:t,anchor:r,onAnchorChange:i,children:n})};Tz.displayName=sO;var Mz="PopperAnchor",Rz=y.forwardRef((e,t)=>{const{__scopePopper:n,virtualRef:r,...i}=e,o=kz(Mz,n),a=y.useRef(null),s=Yt(t,a);return y.useEffect(()=>{o.onAnchorChange(r?.current||a.current)}),r?null:I.jsx(pt.div,{...i,ref:s})});Rz.displayName=Mz;var uO="PopperContent",[Sme,Cme]=Pz(uO),Dz=y.forwardRef((e,t)=>{const{__scopePopper:n,side:r="bottom",sideOffset:i=0,align:o="center",alignOffset:a=0,arrowPadding:s=0,avoidCollisions:u=!0,collisionBoundary:l=[],collisionPadding:c=0,sticky:f="partial",hideWhenDetached:h=!1,updatePositionStrategy:p="optimized",onPlaced:m,...v}=e,b=kz(uO,n),[w,x]=y.useState(null),S=Yt(t,Ee=>x(Ee)),[O,E]=y.useState(null),C=aO(O),k=C?.width??0,M=C?.height??0,L=r+(o!=="center"?"-"+o:""),U=typeof c=="number"?c:{top:0,right:0,bottom:0,left:0,...c},H=Array.isArray(l)?l:[l],V=H.length>0,ne={padding:U,boundary:H.filter(Ome),altBoundary:V},{refs:Z,floatingStyles:G,placement:q,isPositioned:W,middlewareData:j}=bme({strategy:"fixed",placement:L,whileElementsMounted:(...Ee)=>fme(...Ee,{animationFrame:p==="always"}),elements:{reference:b.anchor},middleware:[Vge({mainAxis:i+M,alignmentAxis:a}),u&&dme({mainAxis:!0,crossAxis:!1,limiter:f==="partial"?mme():void 0,...ne}),u&&hme({...ne}),pme({...ne,apply:({elements:Ee,rects:it,availableWidth:ke,availableHeight:Le})=>{const{width:De,height:me}=it.reference,yt=Ee.floating.style;yt.setProperty("--radix-popper-available-width",`${ke}px`),yt.setProperty("--radix-popper-available-height",`${Le}px`),yt.setProperty("--radix-popper-anchor-width",`${De}px`),yt.setProperty("--radix-popper-anchor-height",`${me}px`)}}),O&&yme({element:O,padding:s}),Ame({arrowWidth:k,arrowHeight:M}),h&&gme({strategy:"referenceHidden",...ne})]}),[K,Y]=Nz(q),oe=Vr(m);ii(()=>{W&&oe?.()},[W,oe]);const ae=j.arrow?.x,ue=j.arrow?.y,be=j.arrow?.centerOffset!==0,[we,He]=y.useState();return ii(()=>{w&&He(window.getComputedStyle(w).zIndex)},[w]),I.jsx("div",{ref:Z.setFloating,"data-radix-popper-content-wrapper":"",style:{...G,transform:W?G.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:we,"--radix-popper-transform-origin":[j.transformOrigin?.x,j.transformOrigin?.y].join(" "),...j.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:I.jsx(Sme,{scope:n,placedSide:K,onArrowChange:E,arrowX:ae,arrowY:ue,shouldHideArrow:be,children:I.jsx(pt.div,{"data-side":K,"data-align":Y,...v,ref:S,style:{...v.style,animation:W?void 0:"none"}})})})});Dz.displayName=uO;var $z="PopperArrow",Eme={top:"bottom",right:"left",bottom:"top",left:"right"},Iz=y.forwardRef(function(t,n){const{__scopePopper:r,...i}=t,o=Cme($z,r),a=Eme[o.placedSide];return I.jsx("span",{ref:o.onArrowChange,style:{position:"absolute",left:o.arrowX,top:o.arrowY,[a]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[o.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[o.placedSide],visibility:o.shouldHideArrow?"hidden":void 0},children:I.jsx(wme,{...i,ref:n,style:{...i.style,display:"block"}})})});Iz.displayName=$z;function Ome(e){return e!==null}var Ame=e=>({name:"transformOrigin",options:e,fn(t){const{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,s=a?0:e.arrowWidth,u=a?0:e.arrowHeight,[l,c]=Nz(n),f={start:"0%",center:"50%",end:"100%"}[c],h=(i.arrow?.x??0)+s/2,p=(i.arrow?.y??0)+u/2;let m="",v="";return l==="bottom"?(m=a?f:`${h}px`,v=`${-u}px`):l==="top"?(m=a?f:`${h}px`,v=`${r.floating.height+u}px`):l==="right"?(m=`${-u}px`,v=a?f:`${p}px`):l==="left"&&(m=`${r.floating.width+u}px`,v=a?f:`${p}px`),{data:{x:m,y:v}}}});function Nz(e){const[t,n="center"]=e.split("-");return[t,n]}var a2=Tz,Am=Rz,s2=Dz,u2=Iz,ES="rovingFocusGroup.onEntryFocus",Pme={bubbles:!1,cancelable:!0},l2="RovingFocusGroup",[pE,Lz,kme]=J5(l2),[Tme,c2]=vi(l2,[kme]),[Mme,Rme]=Tme(l2),Fz=y.forwardRef((e,t)=>I.jsx(pE.Provider,{scope:e.__scopeRovingFocusGroup,children:I.jsx(pE.Slot,{scope:e.__scopeRovingFocusGroup,children:I.jsx(Dme,{...e,ref:t})})}));Fz.displayName=l2;var Dme=y.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:r,loop:i=!1,dir:o,currentTabStopId:a,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:u,onEntryFocus:l,preventScrollOnEntryFocus:c=!1,...f}=e,h=y.useRef(null),p=Yt(t,h),m=Em(o),[v=null,b]=Za({prop:a,defaultProp:s,onChange:u}),[w,x]=y.useState(!1),S=Vr(l),O=Lz(n),E=y.useRef(!1),[C,k]=y.useState(0);return y.useEffect(()=>{const M=h.current;if(M)return M.addEventListener(ES,S),()=>M.removeEventListener(ES,S)},[S]),I.jsx(Mme,{scope:n,orientation:r,dir:m,loop:i,currentTabStopId:v,onItemFocus:y.useCallback(M=>b(M),[b]),onItemShiftTab:y.useCallback(()=>x(!0),[]),onFocusableItemAdd:y.useCallback(()=>k(M=>M+1),[]),onFocusableItemRemove:y.useCallback(()=>k(M=>M-1),[]),children:I.jsx(pt.div,{tabIndex:w||C===0?-1:0,"data-orientation":r,...f,ref:p,style:{outline:"none",...e.style},onMouseDown:Ye(e.onMouseDown,()=>{E.current=!0}),onFocus:Ye(e.onFocus,M=>{const L=!E.current;if(M.target===M.currentTarget&&L&&!w){const U=new CustomEvent(ES,Pme);if(M.currentTarget.dispatchEvent(U),!U.defaultPrevented){const H=O().filter(q=>q.focusable),V=H.find(q=>q.active),ne=H.find(q=>q.id===v),G=[V,ne,...H].filter(Boolean).map(q=>q.ref.current);zz(G,c)}}E.current=!1}),onBlur:Ye(e.onBlur,()=>x(!1))})})}),jz="RovingFocusGroupItem",Bz=y.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:o,...a}=e,s=Fo(),u=o||s,l=Rme(jz,n),c=l.currentTabStopId===u,f=Lz(n),{onFocusableItemAdd:h,onFocusableItemRemove:p}=l;return y.useEffect(()=>{if(r)return h(),()=>p()},[r,h,p]),I.jsx(pE.ItemSlot,{scope:n,id:u,focusable:r,active:i,children:I.jsx(pt.span,{tabIndex:c?0:-1,"data-orientation":l.orientation,...a,ref:t,onMouseDown:Ye(e.onMouseDown,m=>{r?l.onItemFocus(u):m.preventDefault()}),onFocus:Ye(e.onFocus,()=>l.onItemFocus(u)),onKeyDown:Ye(e.onKeyDown,m=>{if(m.key==="Tab"&&m.shiftKey){l.onItemShiftTab();return}if(m.target!==m.currentTarget)return;const v=Nme(m,l.orientation,l.dir);if(v!==void 0){if(m.metaKey||m.ctrlKey||m.altKey||m.shiftKey)return;m.preventDefault();let w=f().filter(x=>x.focusable).map(x=>x.ref.current);if(v==="last")w.reverse();else if(v==="prev"||v==="next"){v==="prev"&&w.reverse();const x=w.indexOf(m.currentTarget);w=l.loop?Lme(w,x+1):w.slice(x+1)}setTimeout(()=>zz(w))}})})})});Bz.displayName=jz;var $me={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function Ime(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function Nme(e,t,n){const r=Ime(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return $me[r]}function zz(e,t=!1){const n=document.activeElement;for(const r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function Lme(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var Uz=Fz,Vz=Bz,gE=["Enter"," "],Fme=["ArrowDown","PageUp","Home"],Wz=["ArrowUp","PageDown","End"],jme=[...Fme,...Wz],Bme={ltr:[...gE,"ArrowRight"],rtl:[...gE,"ArrowLeft"]},zme={ltr:["ArrowLeft"],rtl:["ArrowRight"]},Pm="Menu",[vg,Ume,Vme]=J5(Pm),[hf,Hz]=vi(Pm,[Vme,zl,c2]),f2=zl(),Kz=c2(),[Wme,pf]=hf(Pm),[Hme,km]=hf(Pm),qz=e=>{const{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:o,modal:a=!0}=e,s=f2(t),[u,l]=y.useState(null),c=y.useRef(!1),f=Vr(o),h=Em(i);return y.useEffect(()=>{const p=()=>{c.current=!0,document.addEventListener("pointerdown",m,{capture:!0,once:!0}),document.addEventListener("pointermove",m,{capture:!0,once:!0})},m=()=>c.current=!1;return document.addEventListener("keydown",p,{capture:!0}),()=>{document.removeEventListener("keydown",p,{capture:!0}),document.removeEventListener("pointerdown",m,{capture:!0}),document.removeEventListener("pointermove",m,{capture:!0})}},[]),I.jsx(a2,{...s,children:I.jsx(Wme,{scope:t,open:n,onOpenChange:f,content:u,onContentChange:l,children:I.jsx(Hme,{scope:t,onClose:y.useCallback(()=>f(!1),[f]),isUsingKeyboardRef:c,dir:h,modal:a,children:r})})})};qz.displayName=Pm;var Kme="MenuAnchor",lO=y.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e,i=f2(n);return I.jsx(Am,{...i,...r,ref:t})});lO.displayName=Kme;var cO="MenuPortal",[qme,Gz]=hf(cO,{forceMount:void 0}),Yz=e=>{const{__scopeMenu:t,forceMount:n,children:r,container:i}=e,o=pf(cO,t);return I.jsx(qme,{scope:t,forceMount:n,children:I.jsx(Gr,{present:n||o.open,children:I.jsx(Lh,{asChild:!0,container:i,children:r})})})};Yz.displayName=cO;var da="MenuContent",[Gme,fO]=hf(da),Zz=y.forwardRef((e,t)=>{const n=Gz(da,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,o=pf(da,e.__scopeMenu),a=km(da,e.__scopeMenu);return I.jsx(vg.Provider,{scope:e.__scopeMenu,children:I.jsx(Gr,{present:r||o.open,children:I.jsx(vg.Slot,{scope:e.__scopeMenu,children:a.modal?I.jsx(Yme,{...i,ref:t}):I.jsx(Zme,{...i,ref:t})})})})}),Yme=y.forwardRef((e,t)=>{const n=pf(da,e.__scopeMenu),r=y.useRef(null),i=Yt(t,r);return y.useEffect(()=>{const o=r.current;if(o)return Cm(o)},[]),I.jsx(dO,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:Ye(e.onFocusOutside,o=>o.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),Zme=y.forwardRef((e,t)=>{const n=pf(da,e.__scopeMenu);return I.jsx(dO,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),dO=y.forwardRef((e,t)=>{const{__scopeMenu:n,loop:r=!1,trapFocus:i,onOpenAutoFocus:o,onCloseAutoFocus:a,disableOutsidePointerEvents:s,onEntryFocus:u,onEscapeKeyDown:l,onPointerDownOutside:c,onFocusOutside:f,onInteractOutside:h,onDismiss:p,disableOutsideScroll:m,...v}=e,b=pf(da,n),w=km(da,n),x=f2(n),S=Kz(n),O=Ume(n),[E,C]=y.useState(null),k=y.useRef(null),M=Yt(t,k,b.onContentChange),L=y.useRef(0),U=y.useRef(""),H=y.useRef(0),V=y.useRef(null),ne=y.useRef("right"),Z=y.useRef(0),G=m?Sm:y.Fragment,q=m?{as:Al,allowPinchZoom:!0}:void 0,W=K=>{const Y=U.current+K,oe=O().filter(Ee=>!Ee.disabled),ae=document.activeElement,ue=oe.find(Ee=>Ee.ref.current===ae)?.textValue,be=oe.map(Ee=>Ee.textValue),we=uve(be,Y,ue),He=oe.find(Ee=>Ee.textValue===we)?.ref.current;(function Ee(it){U.current=it,window.clearTimeout(L.current),it!==""&&(L.current=window.setTimeout(()=>Ee(""),1e3))})(Y),He&&setTimeout(()=>He.focus())};y.useEffect(()=>()=>window.clearTimeout(L.current),[]),n2();const j=y.useCallback(K=>ne.current===V.current?.side&&cve(K,V.current?.area),[]);return I.jsx(Gme,{scope:n,searchRef:U,onItemEnter:y.useCallback(K=>{j(K)&&K.preventDefault()},[j]),onItemLeave:y.useCallback(K=>{j(K)||(k.current?.focus(),C(null))},[j]),onTriggerLeave:y.useCallback(K=>{j(K)&&K.preventDefault()},[j]),pointerGraceTimerRef:H,onPointerGraceIntentChange:y.useCallback(K=>{V.current=K},[]),children:I.jsx(G,{...q,children:I.jsx(_m,{asChild:!0,trapped:i,onMountAutoFocus:Ye(o,K=>{K.preventDefault(),k.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:a,children:I.jsx(Nh,{asChild:!0,disableOutsidePointerEvents:s,onEscapeKeyDown:l,onPointerDownOutside:c,onFocusOutside:f,onInteractOutside:h,onDismiss:p,children:I.jsx(Uz,{asChild:!0,...S,dir:w.dir,orientation:"vertical",loop:r,currentTabStopId:E,onCurrentTabStopIdChange:C,onEntryFocus:Ye(u,K=>{w.isUsingKeyboardRef.current||K.preventDefault()}),preventScrollOnEntryFocus:!0,children:I.jsx(s2,{role:"menu","aria-orientation":"vertical","data-state":dU(b.open),"data-radix-menu-content":"",dir:w.dir,...x,...v,ref:M,style:{outline:"none",...v.style},onKeyDown:Ye(v.onKeyDown,K=>{const oe=K.target.closest("[data-radix-menu-content]")===K.currentTarget,ae=K.ctrlKey||K.altKey||K.metaKey,ue=K.key.length===1;oe&&(K.key==="Tab"&&K.preventDefault(),!ae&&ue&&W(K.key));const be=k.current;if(K.target!==be||!jme.includes(K.key))return;K.preventDefault();const He=O().filter(Ee=>!Ee.disabled).map(Ee=>Ee.ref.current);Wz.includes(K.key)&&He.reverse(),ave(He)}),onBlur:Ye(e.onBlur,K=>{K.currentTarget.contains(K.target)||(window.clearTimeout(L.current),U.current="")}),onPointerMove:Ye(e.onPointerMove,yg(K=>{const Y=K.target,oe=Z.current!==K.clientX;if(K.currentTarget.contains(Y)&&oe){const ae=K.clientX>Z.current?"right":"left";ne.current=ae,Z.current=K.clientX}}))})})})})})})});Zz.displayName=da;var Xme="MenuGroup",hO=y.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return I.jsx(pt.div,{role:"group",...r,ref:t})});hO.displayName=Xme;var Qme="MenuLabel",Xz=y.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return I.jsx(pt.div,{...r,ref:t})});Xz.displayName=Qme;var lb="MenuItem",s9="menu.itemSelect",d2=y.forwardRef((e,t)=>{const{disabled:n=!1,onSelect:r,...i}=e,o=y.useRef(null),a=km(lb,e.__scopeMenu),s=fO(lb,e.__scopeMenu),u=Yt(t,o),l=y.useRef(!1),c=()=>{const f=o.current;if(!n&&f){const h=new CustomEvent(s9,{bubbles:!0,cancelable:!0});f.addEventListener(s9,p=>r?.(p),{once:!0}),LB(f,h),h.defaultPrevented?l.current=!1:a.onClose()}};return I.jsx(Qz,{...i,ref:u,disabled:n,onClick:Ye(e.onClick,c),onPointerDown:f=>{e.onPointerDown?.(f),l.current=!0},onPointerUp:Ye(e.onPointerUp,f=>{l.current||f.currentTarget?.click()}),onKeyDown:Ye(e.onKeyDown,f=>{const h=s.searchRef.current!=="";n||h&&f.key===" "||gE.includes(f.key)&&(f.currentTarget.click(),f.preventDefault())})})});d2.displayName=lb;var Qz=y.forwardRef((e,t)=>{const{__scopeMenu:n,disabled:r=!1,textValue:i,...o}=e,a=fO(lb,n),s=Kz(n),u=y.useRef(null),l=Yt(t,u),[c,f]=y.useState(!1),[h,p]=y.useState("");return y.useEffect(()=>{const m=u.current;m&&p((m.textContent??"").trim())},[o.children]),I.jsx(vg.ItemSlot,{scope:n,disabled:r,textValue:i??h,children:I.jsx(Vz,{asChild:!0,...s,focusable:!r,children:I.jsx(pt.div,{role:"menuitem","data-highlighted":c?"":void 0,"aria-disabled":r||void 0,"data-disabled":r?"":void 0,...o,ref:l,onPointerMove:Ye(e.onPointerMove,yg(m=>{r?a.onItemLeave(m):(a.onItemEnter(m),m.defaultPrevented||m.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:Ye(e.onPointerLeave,yg(m=>a.onItemLeave(m))),onFocus:Ye(e.onFocus,()=>f(!0)),onBlur:Ye(e.onBlur,()=>f(!1))})})})}),Jme="MenuCheckboxItem",Jz=y.forwardRef((e,t)=>{const{checked:n=!1,onCheckedChange:r,...i}=e;return I.jsx(iU,{scope:e.__scopeMenu,checked:n,children:I.jsx(d2,{role:"menuitemcheckbox","aria-checked":cb(n)?"mixed":n,...i,ref:t,"data-state":gO(n),onSelect:Ye(i.onSelect,()=>r?.(cb(n)?!0:!n),{checkForDefaultPrevented:!1})})})});Jz.displayName=Jme;var eU="MenuRadioGroup",[eve,tve]=hf(eU,{value:void 0,onValueChange:()=>{}}),tU=y.forwardRef((e,t)=>{const{value:n,onValueChange:r,...i}=e,o=Vr(r);return I.jsx(eve,{scope:e.__scopeMenu,value:n,onValueChange:o,children:I.jsx(hO,{...i,ref:t})})});tU.displayName=eU;var nU="MenuRadioItem",rU=y.forwardRef((e,t)=>{const{value:n,...r}=e,i=tve(nU,e.__scopeMenu),o=n===i.value;return I.jsx(iU,{scope:e.__scopeMenu,checked:o,children:I.jsx(d2,{role:"menuitemradio","aria-checked":o,...r,ref:t,"data-state":gO(o),onSelect:Ye(r.onSelect,()=>i.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});rU.displayName=nU;var pO="MenuItemIndicator",[iU,nve]=hf(pO,{checked:!1}),oU=y.forwardRef((e,t)=>{const{__scopeMenu:n,forceMount:r,...i}=e,o=nve(pO,n);return I.jsx(Gr,{present:r||cb(o.checked)||o.checked===!0,children:I.jsx(pt.span,{...i,ref:t,"data-state":gO(o.checked)})})});oU.displayName=pO;var rve="MenuSeparator",aU=y.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return I.jsx(pt.div,{role:"separator","aria-orientation":"horizontal",...r,ref:t})});aU.displayName=rve;var ive="MenuArrow",sU=y.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e,i=f2(n);return I.jsx(u2,{...i,...r,ref:t})});sU.displayName=ive;var ove="MenuSub",[dZe,uU]=hf(ove),s0="MenuSubTrigger",lU=y.forwardRef((e,t)=>{const n=pf(s0,e.__scopeMenu),r=km(s0,e.__scopeMenu),i=uU(s0,e.__scopeMenu),o=fO(s0,e.__scopeMenu),a=y.useRef(null),{pointerGraceTimerRef:s,onPointerGraceIntentChange:u}=o,l={__scopeMenu:e.__scopeMenu},c=y.useCallback(()=>{a.current&&window.clearTimeout(a.current),a.current=null},[]);return y.useEffect(()=>c,[c]),y.useEffect(()=>{const f=s.current;return()=>{window.clearTimeout(f),u(null)}},[s,u]),I.jsx(lO,{asChild:!0,...l,children:I.jsx(Qz,{id:i.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":i.contentId,"data-state":dU(n.open),...e,ref:Ux(t,i.onTriggerChange),onClick:f=>{e.onClick?.(f),!(e.disabled||f.defaultPrevented)&&(f.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:Ye(e.onPointerMove,yg(f=>{o.onItemEnter(f),!f.defaultPrevented&&!e.disabled&&!n.open&&!a.current&&(o.onPointerGraceIntentChange(null),a.current=window.setTimeout(()=>{n.onOpenChange(!0),c()},100))})),onPointerLeave:Ye(e.onPointerLeave,yg(f=>{c();const h=n.content?.getBoundingClientRect();if(h){const p=n.content?.dataset.side,m=p==="right",v=m?-5:5,b=h[m?"left":"right"],w=h[m?"right":"left"];o.onPointerGraceIntentChange({area:[{x:f.clientX+v,y:f.clientY},{x:b,y:h.top},{x:w,y:h.top},{x:w,y:h.bottom},{x:b,y:h.bottom}],side:p}),window.clearTimeout(s.current),s.current=window.setTimeout(()=>o.onPointerGraceIntentChange(null),300)}else{if(o.onTriggerLeave(f),f.defaultPrevented)return;o.onPointerGraceIntentChange(null)}})),onKeyDown:Ye(e.onKeyDown,f=>{const h=o.searchRef.current!=="";e.disabled||h&&f.key===" "||Bme[r.dir].includes(f.key)&&(n.onOpenChange(!0),n.content?.focus(),f.preventDefault())})})})});lU.displayName=s0;var cU="MenuSubContent",fU=y.forwardRef((e,t)=>{const n=Gz(da,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,o=pf(da,e.__scopeMenu),a=km(da,e.__scopeMenu),s=uU(cU,e.__scopeMenu),u=y.useRef(null),l=Yt(t,u);return I.jsx(vg.Provider,{scope:e.__scopeMenu,children:I.jsx(Gr,{present:r||o.open,children:I.jsx(vg.Slot,{scope:e.__scopeMenu,children:I.jsx(dO,{id:s.contentId,"aria-labelledby":s.triggerId,...i,ref:l,align:"start",side:a.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:c=>{a.isUsingKeyboardRef.current&&u.current?.focus(),c.preventDefault()},onCloseAutoFocus:c=>c.preventDefault(),onFocusOutside:Ye(e.onFocusOutside,c=>{c.target!==s.trigger&&o.onOpenChange(!1)}),onEscapeKeyDown:Ye(e.onEscapeKeyDown,c=>{a.onClose(),c.preventDefault()}),onKeyDown:Ye(e.onKeyDown,c=>{const f=c.currentTarget.contains(c.target),h=zme[a.dir].includes(c.key);f&&h&&(o.onOpenChange(!1),s.trigger?.focus(),c.preventDefault())})})})})})});fU.displayName=cU;function dU(e){return e?"open":"closed"}function cb(e){return e==="indeterminate"}function gO(e){return cb(e)?"indeterminate":e?"checked":"unchecked"}function ave(e){const t=document.activeElement;for(const n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function sve(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function uve(e,t,n){const i=t.length>1&&Array.from(t).every(l=>l===t[0])?t[0]:t,o=n?e.indexOf(n):-1;let a=sve(e,Math.max(o,0));i.length===1&&(a=a.filter(l=>l!==n));const u=a.find(l=>l.toLowerCase().startsWith(i.toLowerCase()));return u!==n?u:void 0}function lve(e,t){const{x:n,y:r}=e;let i=!1;for(let o=0,a=t.length-1;or!=c>r&&n<(l-s)*(r-u)/(c-u)+s&&(i=!i)}return i}function cve(e,t){if(!t)return!1;const n={x:e.clientX,y:e.clientY};return lve(n,t)}function yg(e){return t=>t.pointerType==="mouse"?e(t):void 0}var fve=qz,dve=lO,hve=Yz,pve=Zz,gve=hO,mve=Xz,vve=d2,yve=Jz,bve=tU,xve=rU,wve=oU,_ve=aU,Sve=sU,Cve=lU,Eve=fU,mO="DropdownMenu",[Ove,hZe]=vi(mO,[Hz]),Zi=Hz(),[Ave,hU]=Ove(mO),pU=e=>{const{__scopeDropdownMenu:t,children:n,dir:r,open:i,defaultOpen:o,onOpenChange:a,modal:s=!0}=e,u=Zi(t),l=y.useRef(null),[c=!1,f]=Za({prop:i,defaultProp:o,onChange:a});return I.jsx(Ave,{scope:t,triggerId:Fo(),triggerRef:l,contentId:Fo(),open:c,onOpenChange:f,onOpenToggle:y.useCallback(()=>f(h=>!h),[f]),modal:s,children:I.jsx(fve,{...u,open:c,onOpenChange:f,dir:r,modal:s,children:n})})};pU.displayName=mO;var gU="DropdownMenuTrigger",mU=y.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,disabled:r=!1,...i}=e,o=hU(gU,n),a=Zi(n);return I.jsx(dve,{asChild:!0,...a,children:I.jsx(pt.button,{type:"button",id:o.triggerId,"aria-haspopup":"menu","aria-expanded":o.open,"aria-controls":o.open?o.contentId:void 0,"data-state":o.open?"open":"closed","data-disabled":r?"":void 0,disabled:r,...i,ref:Ux(t,o.triggerRef),onPointerDown:Ye(e.onPointerDown,s=>{!r&&s.button===0&&s.ctrlKey===!1&&(o.onOpenToggle(),o.open||s.preventDefault())}),onKeyDown:Ye(e.onKeyDown,s=>{r||(["Enter"," "].includes(s.key)&&o.onOpenToggle(),s.key==="ArrowDown"&&o.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(s.key)&&s.preventDefault())})})})});mU.displayName=gU;var Pve="DropdownMenuPortal",vU=e=>{const{__scopeDropdownMenu:t,...n}=e,r=Zi(t);return I.jsx(hve,{...r,...n})};vU.displayName=Pve;var yU="DropdownMenuContent",bU=y.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,i=hU(yU,n),o=Zi(n),a=y.useRef(!1);return I.jsx(pve,{id:i.contentId,"aria-labelledby":i.triggerId,...o,...r,ref:t,onCloseAutoFocus:Ye(e.onCloseAutoFocus,s=>{a.current||i.triggerRef.current?.focus(),a.current=!1,s.preventDefault()}),onInteractOutside:Ye(e.onInteractOutside,s=>{const u=s.detail.originalEvent,l=u.button===0&&u.ctrlKey===!0,c=u.button===2||l;(!i.modal||c)&&(a.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});bU.displayName=yU;var kve="DropdownMenuGroup",xU=y.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,i=Zi(n);return I.jsx(gve,{...i,...r,ref:t})});xU.displayName=kve;var Tve="DropdownMenuLabel",wU=y.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,i=Zi(n);return I.jsx(mve,{...i,...r,ref:t})});wU.displayName=Tve;var Mve="DropdownMenuItem",_U=y.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,i=Zi(n);return I.jsx(vve,{...i,...r,ref:t})});_U.displayName=Mve;var Rve="DropdownMenuCheckboxItem",SU=y.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,i=Zi(n);return I.jsx(yve,{...i,...r,ref:t})});SU.displayName=Rve;var Dve="DropdownMenuRadioGroup",$ve=y.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,i=Zi(n);return I.jsx(bve,{...i,...r,ref:t})});$ve.displayName=Dve;var Ive="DropdownMenuRadioItem",CU=y.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,i=Zi(n);return I.jsx(xve,{...i,...r,ref:t})});CU.displayName=Ive;var Nve="DropdownMenuItemIndicator",EU=y.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,i=Zi(n);return I.jsx(wve,{...i,...r,ref:t})});EU.displayName=Nve;var Lve="DropdownMenuSeparator",OU=y.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,i=Zi(n);return I.jsx(_ve,{...i,...r,ref:t})});OU.displayName=Lve;var Fve="DropdownMenuArrow",jve=y.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,i=Zi(n);return I.jsx(Sve,{...i,...r,ref:t})});jve.displayName=Fve;var Bve="DropdownMenuSubTrigger",AU=y.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,i=Zi(n);return I.jsx(Cve,{...i,...r,ref:t})});AU.displayName=Bve;var zve="DropdownMenuSubContent",PU=y.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,i=Zi(n);return I.jsx(Eve,{...i,...r,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});PU.displayName=zve;var pZe=pU,gZe=mU,mZe=vU,vZe=bU,yZe=xU,bZe=wU,xZe=_U,wZe=SU,_Ze=CU,SZe=EU,CZe=OU,EZe=AU,OZe=PU,vO="Collapsible",[Uve,AZe]=vi(vO),[Vve,yO]=Uve(vO),kU=y.forwardRef((e,t)=>{const{__scopeCollapsible:n,open:r,defaultOpen:i,disabled:o,onOpenChange:a,...s}=e,[u=!1,l]=Za({prop:r,defaultProp:i,onChange:a});return I.jsx(Vve,{scope:n,disabled:o,contentId:Fo(),open:u,onOpenToggle:y.useCallback(()=>l(c=>!c),[l]),children:I.jsx(pt.div,{"data-state":xO(u),"data-disabled":o?"":void 0,...s,ref:t})})});kU.displayName=vO;var TU="CollapsibleTrigger",Wve=y.forwardRef((e,t)=>{const{__scopeCollapsible:n,...r}=e,i=yO(TU,n);return I.jsx(pt.button,{type:"button","aria-controls":i.contentId,"aria-expanded":i.open||!1,"data-state":xO(i.open),"data-disabled":i.disabled?"":void 0,disabled:i.disabled,...r,ref:t,onClick:Ye(e.onClick,i.onOpenToggle)})});Wve.displayName=TU;var bO="CollapsibleContent",Hve=y.forwardRef((e,t)=>{const{forceMount:n,...r}=e,i=yO(bO,e.__scopeCollapsible);return I.jsx(Gr,{present:n||i.open,children:({present:o})=>I.jsx(Kve,{...r,ref:t,present:o})})});Hve.displayName=bO;var Kve=y.forwardRef((e,t)=>{const{__scopeCollapsible:n,present:r,children:i,...o}=e,a=yO(bO,n),[s,u]=y.useState(r),l=y.useRef(null),c=Yt(t,l),f=y.useRef(0),h=f.current,p=y.useRef(0),m=p.current,v=a.open||s,b=y.useRef(v),w=y.useRef(void 0);return y.useEffect(()=>{const x=requestAnimationFrame(()=>b.current=!1);return()=>cancelAnimationFrame(x)},[]),ii(()=>{const x=l.current;if(x){w.current=w.current||{transitionDuration:x.style.transitionDuration,animationName:x.style.animationName},x.style.transitionDuration="0s",x.style.animationName="none";const S=x.getBoundingClientRect();f.current=S.height,p.current=S.width,b.current||(x.style.transitionDuration=w.current.transitionDuration,x.style.animationName=w.current.animationName),u(r)}},[a.open,r]),I.jsx(pt.div,{"data-state":xO(a.open),"data-disabled":a.disabled?"":void 0,id:a.contentId,hidden:!v,...o,ref:c,style:{"--radix-collapsible-content-height":h?`${h}px`:void 0,"--radix-collapsible-content-width":m?`${m}px`:void 0,...e.style},children:v&&i})});function xO(e){return e?"open":"closed"}var PZe=kU,qve="VisuallyHidden",wO=y.forwardRef((e,t)=>I.jsx(pt.span,{...e,ref:t,style:{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",...e.style}}));wO.displayName=qve;var Gve=wO,[h2,kZe]=vi("Tooltip",[zl]),p2=zl(),MU="TooltipProvider",Yve=700,mE="tooltip.open",[Zve,_O]=h2(MU),RU=e=>{const{__scopeTooltip:t,delayDuration:n=Yve,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:o}=e,[a,s]=y.useState(!0),u=y.useRef(!1),l=y.useRef(0);return y.useEffect(()=>{const c=l.current;return()=>window.clearTimeout(c)},[]),I.jsx(Zve,{scope:t,isOpenDelayed:a,delayDuration:n,onOpen:y.useCallback(()=>{window.clearTimeout(l.current),s(!1)},[]),onClose:y.useCallback(()=>{window.clearTimeout(l.current),l.current=window.setTimeout(()=>s(!0),r)},[r]),isPointerInTransitRef:u,onPointerInTransitChange:y.useCallback(c=>{u.current=c},[]),disableHoverableContent:i,children:o})};RU.displayName=MU;var g2="Tooltip",[Xve,Tm]=h2(g2),DU=e=>{const{__scopeTooltip:t,children:n,open:r,defaultOpen:i=!1,onOpenChange:o,disableHoverableContent:a,delayDuration:s}=e,u=_O(g2,e.__scopeTooltip),l=p2(t),[c,f]=y.useState(null),h=Fo(),p=y.useRef(0),m=a??u.disableHoverableContent,v=s??u.delayDuration,b=y.useRef(!1),[w=!1,x]=Za({prop:r,defaultProp:i,onChange:k=>{k?(u.onOpen(),document.dispatchEvent(new CustomEvent(mE))):u.onClose(),o?.(k)}}),S=y.useMemo(()=>w?b.current?"delayed-open":"instant-open":"closed",[w]),O=y.useCallback(()=>{window.clearTimeout(p.current),p.current=0,b.current=!1,x(!0)},[x]),E=y.useCallback(()=>{window.clearTimeout(p.current),p.current=0,x(!1)},[x]),C=y.useCallback(()=>{window.clearTimeout(p.current),p.current=window.setTimeout(()=>{b.current=!0,x(!0),p.current=0},v)},[v,x]);return y.useEffect(()=>()=>{p.current&&(window.clearTimeout(p.current),p.current=0)},[]),I.jsx(a2,{...l,children:I.jsx(Xve,{scope:t,contentId:h,open:w,stateAttribute:S,trigger:c,onTriggerChange:f,onTriggerEnter:y.useCallback(()=>{u.isOpenDelayed?C():O()},[u.isOpenDelayed,C,O]),onTriggerLeave:y.useCallback(()=>{m?E():(window.clearTimeout(p.current),p.current=0)},[E,m]),onOpen:O,onClose:E,disableHoverableContent:m,children:n})})};DU.displayName=g2;var vE="TooltipTrigger",$U=y.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,i=Tm(vE,n),o=_O(vE,n),a=p2(n),s=y.useRef(null),u=Yt(t,s,i.onTriggerChange),l=y.useRef(!1),c=y.useRef(!1),f=y.useCallback(()=>l.current=!1,[]);return y.useEffect(()=>()=>document.removeEventListener("pointerup",f),[f]),I.jsx(Am,{asChild:!0,...a,children:I.jsx(pt.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...r,ref:u,onPointerMove:Ye(e.onPointerMove,h=>{h.pointerType!=="touch"&&!c.current&&!o.isPointerInTransitRef.current&&(i.onTriggerEnter(),c.current=!0)}),onPointerLeave:Ye(e.onPointerLeave,()=>{i.onTriggerLeave(),c.current=!1}),onPointerDown:Ye(e.onPointerDown,()=>{l.current=!0,document.addEventListener("pointerup",f,{once:!0})}),onFocus:Ye(e.onFocus,()=>{l.current||i.onOpen()}),onBlur:Ye(e.onBlur,i.onClose),onClick:Ye(e.onClick,i.onClose)})})});$U.displayName=vE;var SO="TooltipPortal",[Qve,Jve]=h2(SO,{forceMount:void 0}),IU=e=>{const{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,o=Tm(SO,t);return I.jsx(Qve,{scope:t,forceMount:n,children:I.jsx(Gr,{present:n||o.open,children:I.jsx(Lh,{asChild:!0,container:i,children:r})})})};IU.displayName=SO;var Xd="TooltipContent",NU=y.forwardRef((e,t)=>{const n=Jve(Xd,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i="top",...o}=e,a=Tm(Xd,e.__scopeTooltip);return I.jsx(Gr,{present:r||a.open,children:a.disableHoverableContent?I.jsx(LU,{side:i,...o,ref:t}):I.jsx(e1e,{side:i,...o,ref:t})})}),e1e=y.forwardRef((e,t)=>{const n=Tm(Xd,e.__scopeTooltip),r=_O(Xd,e.__scopeTooltip),i=y.useRef(null),o=Yt(t,i),[a,s]=y.useState(null),{trigger:u,onClose:l}=n,c=i.current,{onPointerInTransitChange:f}=r,h=y.useCallback(()=>{s(null),f(!1)},[f]),p=y.useCallback((m,v)=>{const b=m.currentTarget,w={x:m.clientX,y:m.clientY},x=i1e(w,b.getBoundingClientRect()),S=o1e(w,x),O=a1e(v.getBoundingClientRect()),E=u1e([...S,...O]);s(E),f(!0)},[f]);return y.useEffect(()=>()=>h(),[h]),y.useEffect(()=>{if(u&&c){const m=b=>p(b,c),v=b=>p(b,u);return u.addEventListener("pointerleave",m),c.addEventListener("pointerleave",v),()=>{u.removeEventListener("pointerleave",m),c.removeEventListener("pointerleave",v)}}},[u,c,p,h]),y.useEffect(()=>{if(a){const m=v=>{const b=v.target,w={x:v.clientX,y:v.clientY},x=u?.contains(b)||c?.contains(b),S=!s1e(w,a);x?h():S&&(h(),l())};return document.addEventListener("pointermove",m),()=>document.removeEventListener("pointermove",m)}},[u,c,a,l,h]),I.jsx(LU,{...e,ref:o})}),[t1e,n1e]=h2(g2,{isInside:!1}),LU=y.forwardRef((e,t)=>{const{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:o,onPointerDownOutside:a,...s}=e,u=Tm(Xd,n),l=p2(n),{onClose:c}=u;return y.useEffect(()=>(document.addEventListener(mE,c),()=>document.removeEventListener(mE,c)),[c]),y.useEffect(()=>{if(u.trigger){const f=h=>{h.target?.contains(u.trigger)&&c()};return window.addEventListener("scroll",f,{capture:!0}),()=>window.removeEventListener("scroll",f,{capture:!0})}},[u.trigger,c]),I.jsx(Nh,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:o,onPointerDownOutside:a,onFocusOutside:f=>f.preventDefault(),onDismiss:c,children:I.jsxs(s2,{"data-state":u.stateAttribute,...l,...s,ref:t,style:{...s.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[I.jsx(O5,{children:r}),I.jsx(t1e,{scope:n,isInside:!0,children:I.jsx(Gve,{id:u.contentId,role:"tooltip",children:i||r})})]})})});NU.displayName=Xd;var FU="TooltipArrow",r1e=y.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,i=p2(n);return n1e(FU,n).isInside?null:I.jsx(u2,{...i,...r,ref:t})});r1e.displayName=FU;function i1e(e,t){const n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),o=Math.abs(t.left-e.x);switch(Math.min(n,r,i,o)){case o:return"left";case i:return"right";case n:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function o1e(e,t,n=5){const r=[];switch(t){case"top":r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function a1e(e){const{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function s1e(e,t){const{x:n,y:r}=e;let i=!1;for(let o=0,a=t.length-1;or!=c>r&&n<(l-s)*(r-u)/(c-u)+s&&(i=!i)}return i}function u1e(e){const t=e.slice();return t.sort((n,r)=>n.xr.x?1:n.yr.y?1:0),l1e(t)}function l1e(e){if(e.length<=1)return e.slice();const t=[];for(let r=0;r=2;){const o=t[t.length-1],a=t[t.length-2];if((o.x-a.x)*(i.y-a.y)>=(o.y-a.y)*(i.x-a.x))t.pop();else break}t.push(i)}t.pop();const n=[];for(let r=e.length-1;r>=0;r--){const i=e[r];for(;n.length>=2;){const o=n[n.length-1],a=n[n.length-2];if((o.x-a.x)*(i.y-a.y)>=(o.y-a.y)*(i.x-a.x))n.pop();else break}n.push(i)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var TZe=RU,MZe=DU,RZe=$U,DZe=IU,$Ze=NU;/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const c1e=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),jU=(...e)=>e.filter((t,n,r)=>!!t&&r.indexOf(t)===n).join(" ");/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */var f1e={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const d1e=y.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:i="",children:o,iconNode:a,...s},u)=>y.createElement("svg",{ref:u,...f1e,width:t,height:t,stroke:e,strokeWidth:r?Number(n)*24/Number(t):n,className:jU("lucide",i),...s},[...a.map(([l,c])=>y.createElement(l,c)),...Array.isArray(o)?o:[o]]));/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Vt=(e,t)=>{const n=y.forwardRef(({className:r,...i},o)=>y.createElement(d1e,{ref:o,iconNode:t,className:jU(`lucide-${c1e(e)}`,r),...i}));return n.displayName=`${e}`,n};/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const IZe=Vt("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const NZe=Vt("ArrowDownToLine",[["path",{d:"M12 17V3",key:"1cwfxf"}],["path",{d:"m6 11 6 6 6-6",key:"12ii2o"}],["path",{d:"M19 21H5",key:"150jfl"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const LZe=Vt("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const FZe=Vt("ArrowUpDown",[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const jZe=Vt("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const BZe=Vt("BarChart3",[["path",{d:"M3 3v18h18",key:"1s2lah"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const zZe=Vt("Bell",[["path",{d:"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9",key:"1qo2s2"}],["path",{d:"M10.3 21a1.94 1.94 0 0 0 3.4 0",key:"qgo35s"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const UZe=Vt("Calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const VZe=Vt("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const WZe=Vt("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const HZe=Vt("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const KZe=Vt("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const qZe=Vt("CircleAlert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const GZe=Vt("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const YZe=Vt("CircleHelp",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const ZZe=Vt("CirclePlus",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 12h8",key:"1wcyev"}],["path",{d:"M12 8v8",key:"napkw2"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const XZe=Vt("ClipboardCopy",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const QZe=Vt("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const JZe=Vt("Cpu",[["rect",{width:"16",height:"16",x:"4",y:"4",rx:"2",key:"14l7u7"}],["rect",{width:"6",height:"6",x:"9",y:"9",rx:"1",key:"5aljv4"}],["path",{d:"M15 2v2",key:"13l42r"}],["path",{d:"M15 20v2",key:"15mkzm"}],["path",{d:"M2 15h2",key:"1gxd5l"}],["path",{d:"M2 9h2",key:"1bbxkp"}],["path",{d:"M20 15h2",key:"19e6y8"}],["path",{d:"M20 9h2",key:"19tzq7"}],["path",{d:"M9 2v2",key:"165o2o"}],["path",{d:"M9 20v2",key:"i2bqo8"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const eXe=Vt("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const tXe=Vt("Ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const nXe=Vt("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const rXe=Vt("Globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const iXe=Vt("GripVertical",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const oXe=Vt("Image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const aXe=Vt("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const sXe=Vt("MessagesSquare",[["path",{d:"M14 9a2 2 0 0 1-2 2H6l-4 4V4c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2z",key:"jj09z8"}],["path",{d:"M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1",key:"1cx29u"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const uXe=Vt("Network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const lXe=Vt("Package",[["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}],["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const cXe=Vt("Pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const fXe=Vt("Percent",[["line",{x1:"19",x2:"5",y1:"5",y2:"19",key:"1x9vlm"}],["circle",{cx:"6.5",cy:"6.5",r:"2.5",key:"4mh3h7"}],["circle",{cx:"17.5",cy:"17.5",r:"2.5",key:"1mdrzq"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const dXe=Vt("Power",[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const hXe=Vt("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const pXe=Vt("RotateCw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const gXe=Vt("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const mXe=Vt("Server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const vXe=Vt("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const yXe=Vt("ShieldBan",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m4.243 5.21 14.39 12.472",key:"1c9a7c"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const bXe=Vt("Timer",[["line",{x1:"10",x2:"14",y1:"2",y2:"2",key:"14vaq8"}],["line",{x1:"12",x2:"15",y1:"14",y2:"11",key:"17fdiu"}],["circle",{cx:"12",cy:"14",r:"8",key:"1e1u0o"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const xXe=Vt("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const wXe=Vt("TrendingUp",[["polyline",{points:"22 7 13.5 15.5 8.5 10.5 2 17",key:"126l90"}],["polyline",{points:"16 7 22 7 22 13",key:"kwv8wd"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const _Xe=Vt("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const SXe=Vt("Users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["path",{d:"M16 3.13a4 4 0 0 1 0 7.75",key:"1da9ce"}]]);/** + * @license lucide-react v0.399.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const CXe=Vt("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);var u9=1,h1e=.9,p1e=.8,g1e=.17,OS=.1,AS=.999,m1e=.9999,v1e=.99,y1e=/[\\\/_+.#"@\[\(\{&]/,b1e=/[\\\/_+.#"@\[\(\{&]/g,x1e=/[\s-]/,BU=/[\s-]/g;function yE(e,t,n,r,i,o,a){if(o===t.length)return i===e.length?u9:v1e;var s=`${i},${o}`;if(a[s]!==void 0)return a[s];for(var u=r.charAt(o),l=n.indexOf(u,i),c=0,f,h,p,m;l>=0;)f=yE(e,t,n,r,l+1,o+1,a),f>c&&(l===i?f*=u9:y1e.test(e.charAt(l-1))?(f*=p1e,p=e.slice(i,l-1).match(b1e),p&&i>0&&(f*=Math.pow(AS,p.length))):x1e.test(e.charAt(l-1))?(f*=h1e,m=e.slice(i,l-1).match(BU),m&&i>0&&(f*=Math.pow(AS,m.length))):(f*=g1e,i>0&&(f*=Math.pow(AS,l-i))),e.charAt(l)!==t.charAt(o)&&(f*=m1e)),(ff&&(f=h*OS)),f>c&&(c=f),l=n.indexOf(u,l+1);return a[s]=c,c}function l9(e){return e.toLowerCase().replace(BU," ")}function w1e(e,t){return yE(e,t,l9(e),l9(t),0,0,{})}function Ki(){return Ki=Object.assign?Object.assign.bind():function(e){for(var t=1;te.forEach(n=>_1e(n,t))}function Mm(...e){return y.useCallback(zU(...e),e)}function S1e(e,t=[]){let n=[];function r(o,a){const s=y.createContext(a),u=n.length;n=[...n,a];function l(f){const{scope:h,children:p,...m}=f,v=h?.[e][u]||s,b=y.useMemo(()=>m,Object.values(m));return y.createElement(v.Provider,{value:b},p)}function c(f,h){const p=h?.[e][u]||s,m=y.useContext(p);if(m)return m;if(a!==void 0)return a;throw new Error(`\`${f}\` must be used within \`${o}\``)}return l.displayName=o+"Provider",[l,c]}const i=()=>{const o=n.map(a=>y.createContext(a));return function(s){const u=s?.[e]||o;return y.useMemo(()=>({[`__scope${e}`]:{...s,[e]:u}}),[s,u])}};return i.scopeName=e,[r,C1e(i,...t)]}function C1e(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const r=e.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(o){const a=r.reduce((s,{useScope:u,scopeName:l})=>{const f=u(o)[`__scope${l}`];return{...s,...f}},{});return y.useMemo(()=>({[`__scope${t.scopeName}`]:a}),[a])}};return n.scopeName=t.scopeName,n}const E1e=globalThis?.document?y.useLayoutEffect:()=>{},O1e=P4.useId||(()=>{});let A1e=0;function PS(e){const[t,n]=y.useState(O1e());return E1e(()=>{e||n(r=>r??String(A1e++))},[e]),e||(t?`radix-${t}`:"")}function UU(e){const t=y.useRef(e);return y.useEffect(()=>{t.current=e}),y.useMemo(()=>(...n)=>{var r;return(r=t.current)===null||r===void 0?void 0:r.call(t,...n)},[])}function P1e({prop:e,defaultProp:t,onChange:n=()=>{}}){const[r,i]=k1e({defaultProp:t,onChange:n}),o=e!==void 0,a=o?e:r,s=UU(n),u=y.useCallback(l=>{if(o){const f=typeof l=="function"?l(e):l;f!==e&&s(f)}else i(l)},[o,e,i,s]);return[a,u]}function k1e({defaultProp:e,onChange:t}){const n=y.useState(e),[r]=n,i=y.useRef(r),o=UU(t);return y.useEffect(()=>{i.current!==r&&(o(r),i.current=r)},[r,i,o]),n}const CO=y.forwardRef((e,t)=>{const{children:n,...r}=e,i=y.Children.toArray(n),o=i.find(M1e);if(o){const a=o.props.children,s=i.map(u=>u===o?y.Children.count(a)>1?y.Children.only(null):y.isValidElement(a)?a.props.children:null:u);return y.createElement(bE,Ki({},r,{ref:t}),y.isValidElement(a)?y.cloneElement(a,void 0,s):null)}return y.createElement(bE,Ki({},r,{ref:t}),n)});CO.displayName="Slot";const bE=y.forwardRef((e,t)=>{const{children:n,...r}=e;return y.isValidElement(n)?y.cloneElement(n,{...R1e(r,n.props),ref:zU(t,n.ref)}):y.Children.count(n)>1?y.Children.only(null):null});bE.displayName="SlotClone";const T1e=({children:e})=>y.createElement(y.Fragment,null,e);function M1e(e){return y.isValidElement(e)&&e.type===T1e}function R1e(e,t){const n={...t};for(const r in t){const i=e[r],o=t[r];/^on[A-Z]/.test(r)?n[r]=(...s)=>{o?.(...s),i?.(...s)}:r==="style"?n[r]={...i,...o}:r==="className"&&(n[r]=[i,o].filter(Boolean).join(" "))}return{...e,...n}}const D1e=["a","button","div","h2","h3","img","li","nav","ol","p","span","svg","ul"],m2=D1e.reduce((e,t)=>{const n=y.forwardRef((r,i)=>{const{asChild:o,...a}=r,s=o?CO:t;return y.useEffect(()=>{window[Symbol.for("radix-ui")]=!0},[]),y.createElement(s,Ki({},a,{ref:i}))});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function $1e(e,t){e&&Au.flushSync(()=>e.dispatchEvent(t))}function EO(e){const t=y.useRef(e);return y.useEffect(()=>{t.current=e}),y.useMemo(()=>(...n)=>{var r;return(r=t.current)===null||r===void 0?void 0:r.call(t,...n)},[])}function I1e(e){const t=EO(e);y.useEffect(()=>{const n=r=>{r.key==="Escape"&&t(r)};return document.addEventListener("keydown",n),()=>document.removeEventListener("keydown",n)},[t])}const xE="dismissableLayer.update",N1e="dismissableLayer.pointerDownOutside",L1e="dismissableLayer.focusOutside";let c9;const F1e=y.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),j1e=y.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:i,onFocusOutside:o,onInteractOutside:a,onDismiss:s,...u}=e,l=y.useContext(F1e),[c,f]=y.useState(null),[,h]=y.useState({}),p=Mm(t,C=>f(C)),m=Array.from(l.layers),[v]=[...l.layersWithOutsidePointerEventsDisabled].slice(-1),b=m.indexOf(v),w=c?m.indexOf(c):-1,x=l.layersWithOutsidePointerEventsDisabled.size>0,S=w>=b,O=B1e(C=>{const k=C.target,M=[...l.branches].some(L=>L.contains(k));!S||M||(i?.(C),a?.(C),C.defaultPrevented||s?.())}),E=z1e(C=>{const k=C.target;[...l.branches].some(L=>L.contains(k))||(o?.(C),a?.(C),C.defaultPrevented||s?.())});return I1e(C=>{w===l.layers.size-1&&(r?.(C),!C.defaultPrevented&&s&&(C.preventDefault(),s()))}),y.useEffect(()=>{if(c)return n&&(l.layersWithOutsidePointerEventsDisabled.size===0&&(c9=document.body.style.pointerEvents,document.body.style.pointerEvents="none"),l.layersWithOutsidePointerEventsDisabled.add(c)),l.layers.add(c),f9(),()=>{n&&l.layersWithOutsidePointerEventsDisabled.size===1&&(document.body.style.pointerEvents=c9)}},[c,n,l]),y.useEffect(()=>()=>{c&&(l.layers.delete(c),l.layersWithOutsidePointerEventsDisabled.delete(c),f9())},[c,l]),y.useEffect(()=>{const C=()=>h({});return document.addEventListener(xE,C),()=>document.removeEventListener(xE,C)},[]),y.createElement(m2.div,Ki({},u,{ref:p,style:{pointerEvents:x?S?"auto":"none":void 0,...e.style},onFocusCapture:Td(e.onFocusCapture,E.onFocusCapture),onBlurCapture:Td(e.onBlurCapture,E.onBlurCapture),onPointerDownCapture:Td(e.onPointerDownCapture,O.onPointerDownCapture)}))});function B1e(e){const t=EO(e),n=y.useRef(!1),r=y.useRef(()=>{});return y.useEffect(()=>{const i=a=>{if(a.target&&!n.current){let u=function(){VU(N1e,t,s,{discrete:!0})};const s={originalEvent:a};a.pointerType==="touch"?(document.removeEventListener("click",r.current),r.current=u,document.addEventListener("click",r.current,{once:!0})):u()}n.current=!1},o=window.setTimeout(()=>{document.addEventListener("pointerdown",i)},0);return()=>{window.clearTimeout(o),document.removeEventListener("pointerdown",i),document.removeEventListener("click",r.current)}},[t]),{onPointerDownCapture:()=>n.current=!0}}function z1e(e){const t=EO(e),n=y.useRef(!1);return y.useEffect(()=>{const r=i=>{i.target&&!n.current&&VU(L1e,t,{originalEvent:i},{discrete:!1})};return document.addEventListener("focusin",r),()=>document.removeEventListener("focusin",r)},[t]),{onFocusCapture:()=>n.current=!0,onBlurCapture:()=>n.current=!1}}function f9(){const e=new CustomEvent(xE);document.dispatchEvent(e)}function VU(e,t,n,{discrete:r}){const i=n.originalEvent.target,o=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?$1e(i,o):i.dispatchEvent(o)}function d9(e){const t=y.useRef(e);return y.useEffect(()=>{t.current=e}),y.useMemo(()=>(...n)=>{var r;return(r=t.current)===null||r===void 0?void 0:r.call(t,...n)},[])}const kS="focusScope.autoFocusOnMount",TS="focusScope.autoFocusOnUnmount",h9={bubbles:!1,cancelable:!0},U1e=y.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:o,...a}=e,[s,u]=y.useState(null),l=d9(i),c=d9(o),f=y.useRef(null),h=Mm(t,v=>u(v)),p=y.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;y.useEffect(()=>{if(r){let v=function(w){if(p.paused||!s)return;const x=w.target;s.contains(x)?f.current=x:cc(f.current,{select:!0})},b=function(w){p.paused||!s||s.contains(w.relatedTarget)||cc(f.current,{select:!0})};return document.addEventListener("focusin",v),document.addEventListener("focusout",b),()=>{document.removeEventListener("focusin",v),document.removeEventListener("focusout",b)}}},[r,s,p.paused]),y.useEffect(()=>{if(s){g9.add(p);const v=document.activeElement;if(!s.contains(v)){const w=new CustomEvent(kS,h9);s.addEventListener(kS,l),s.dispatchEvent(w),w.defaultPrevented||(V1e(G1e(WU(s)),{select:!0}),document.activeElement===v&&cc(s))}return()=>{s.removeEventListener(kS,l),setTimeout(()=>{const w=new CustomEvent(TS,h9);s.addEventListener(TS,c),s.dispatchEvent(w),w.defaultPrevented||cc(v??document.body,{select:!0}),s.removeEventListener(TS,c),g9.remove(p)},0)}}},[s,l,c,p]);const m=y.useCallback(v=>{if(!n&&!r||p.paused)return;const b=v.key==="Tab"&&!v.altKey&&!v.ctrlKey&&!v.metaKey,w=document.activeElement;if(b&&w){const x=v.currentTarget,[S,O]=W1e(x);S&&O?!v.shiftKey&&w===O?(v.preventDefault(),n&&cc(S,{select:!0})):v.shiftKey&&w===S&&(v.preventDefault(),n&&cc(O,{select:!0})):w===x&&v.preventDefault()}},[n,r,p.paused]);return y.createElement(m2.div,Ki({tabIndex:-1},a,{ref:h,onKeyDown:m}))});function V1e(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(cc(r,{select:t}),document.activeElement!==n)return}function W1e(e){const t=WU(e),n=p9(t,e),r=p9(t.reverse(),e);return[n,r]}function WU(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const i=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||i?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function p9(e,t){for(const n of e)if(!H1e(n,{upTo:t}))return n}function H1e(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function K1e(e){return e instanceof HTMLInputElement&&"select"in e}function cc(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&K1e(e)&&t&&e.select()}}const g9=q1e();function q1e(){let e=[];return{add(t){const n=e[0];t!==n&&n?.pause(),e=m9(e,t),e.unshift(t)},remove(t){var n;e=m9(e,t),(n=e[0])===null||n===void 0||n.resume()}}}function m9(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function G1e(e){return e.filter(t=>t.tagName!=="A")}const Y1e=y.forwardRef((e,t)=>{var n;const{container:r=globalThis==null||(n=globalThis.document)===null||n===void 0?void 0:n.body,...i}=e;return r?jx.createPortal(y.createElement(m2.div,Ki({},i,{ref:t})),r):null}),v9=globalThis?.document?y.useLayoutEffect:()=>{};function Z1e(e,t){return y.useReducer((n,r)=>{const i=t[n][r];return i??n},e)}const v2=e=>{const{present:t,children:n}=e,r=X1e(t),i=typeof n=="function"?n({present:r.isPresent}):y.Children.only(n),o=Mm(r.ref,i.ref);return typeof n=="function"||r.isPresent?y.cloneElement(i,{ref:o}):null};v2.displayName="Presence";function X1e(e){const[t,n]=y.useState(),r=y.useRef({}),i=y.useRef(e),o=y.useRef("none"),a=e?"mounted":"unmounted",[s,u]=Z1e(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return y.useEffect(()=>{const l=c1(r.current);o.current=s==="mounted"?l:"none"},[s]),v9(()=>{const l=r.current,c=i.current;if(c!==e){const h=o.current,p=c1(l);e?u("MOUNT"):p==="none"||l?.display==="none"?u("UNMOUNT"):u(c&&h!==p?"ANIMATION_OUT":"UNMOUNT"),i.current=e}},[e,u]),v9(()=>{if(t){const l=f=>{const p=c1(r.current).includes(f.animationName);f.target===t&&p&&Au.flushSync(()=>u("ANIMATION_END"))},c=f=>{f.target===t&&(o.current=c1(r.current))};return t.addEventListener("animationstart",c),t.addEventListener("animationcancel",l),t.addEventListener("animationend",l),()=>{t.removeEventListener("animationstart",c),t.removeEventListener("animationcancel",l),t.removeEventListener("animationend",l)}}else u("ANIMATION_END")},[t,u]),{isPresent:["mounted","unmountSuspended"].includes(s),ref:y.useCallback(l=>{l&&(r.current=getComputedStyle(l)),n(l)},[])}}function c1(e){return e?.animationName||"none"}let MS=0;function Q1e(){y.useEffect(()=>{var e,t;const n=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",(e=n[0])!==null&&e!==void 0?e:y9()),document.body.insertAdjacentElement("beforeend",(t=n[1])!==null&&t!==void 0?t:y9()),MS++,()=>{MS===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(r=>r.remove()),MS--}},[])}function y9(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.cssText="outline: none; opacity: 0; position: fixed; pointer-events: none",e}var ty="right-scroll-bar-position",ny="width-before-scroll-bar",J1e="with-scroll-bars-hidden",eye="--removed-body-scroll-bar-size";function RS(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function tye(e,t){var n=y.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var i=n.value;i!==r&&(n.value=r,n.callback(r,i))}}}})[0];return n.callback=t,n.facade}var nye=typeof window<"u"?y.useLayoutEffect:y.useEffect,b9=new WeakMap;function rye(e,t){var n=tye(null,function(r){return e.forEach(function(i){return RS(i,r)})});return nye(function(){var r=b9.get(n);if(r){var i=new Set(r),o=new Set(e),a=n.current;i.forEach(function(s){o.has(s)||RS(s,null)}),o.forEach(function(s){i.has(s)||RS(s,a)})}b9.set(n,e)},[e]),n}var HU=WB(),DS=function(){},y2=y.forwardRef(function(e,t){var n=y.useRef(null),r=y.useState({onScrollCapture:DS,onWheelCapture:DS,onTouchMoveCapture:DS}),i=r[0],o=r[1],a=e.forwardProps,s=e.children,u=e.className,l=e.removeScrollBar,c=e.enabled,f=e.shards,h=e.sideCar,p=e.noIsolation,m=e.inert,v=e.allowPinchZoom,b=e.as,w=b===void 0?"div":b,x=K5(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as"]),S=h,O=rye([n,t]),E=Ri(Ri({},x),i);return y.createElement(y.Fragment,null,c&&y.createElement(S,{sideCar:HU,removeScrollBar:l,shards:f,noIsolation:p,inert:m,setCallbacks:o,allowPinchZoom:!!v,lockRef:n}),a?y.cloneElement(y.Children.only(s),Ri(Ri({},E),{ref:O})):y.createElement(w,Ri({},E,{className:u,ref:O}),s))});y2.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};y2.classNames={fullWidth:ny,zeroRight:ty};var iye={left:0,top:0,right:0,gap:0},$S=function(e){return parseInt(e||"",10)||0},oye=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],i=t[e==="padding"?"paddingRight":"marginRight"];return[$S(n),$S(r),$S(i)]},aye=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return iye;var t=oye(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},sye=q5(),Md="data-scroll-locked",uye=function(e,t,n,r){var i=e.left,o=e.top,a=e.right,s=e.gap;return n===void 0&&(n="margin"),` + .`.concat(J1e,` { + overflow: hidden `).concat(r,`; + padding-right: `).concat(s,"px ").concat(r,`; + } + body[`).concat(Md,`] { + overflow: hidden `).concat(r,`; + overscroll-behavior: contain; + `).concat([t&&"position: relative ".concat(r,";"),n==="margin"&&` + padding-left: `.concat(i,`px; + padding-top: `).concat(o,`px; + padding-right: `).concat(a,`px; + margin-left:0; + margin-top:0; + margin-right: `).concat(s,"px ").concat(r,`; + `),n==="padding"&&"padding-right: ".concat(s,"px ").concat(r,";")].filter(Boolean).join(""),` + } + + .`).concat(ty,` { + right: `).concat(s,"px ").concat(r,`; + } + + .`).concat(ny,` { + margin-right: `).concat(s,"px ").concat(r,`; + } + + .`).concat(ty," .").concat(ty,` { + right: 0 `).concat(r,`; + } + + .`).concat(ny," .").concat(ny,` { + margin-right: 0 `).concat(r,`; + } + + body[`).concat(Md,`] { + `).concat(eye,": ").concat(s,`px; + } +`)},x9=function(){var e=parseInt(document.body.getAttribute(Md)||"0",10);return isFinite(e)?e:0},lye=function(){y.useEffect(function(){return document.body.setAttribute(Md,(x9()+1).toString()),function(){var e=x9()-1;e<=0?document.body.removeAttribute(Md):document.body.setAttribute(Md,e.toString())}},[])},cye=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,i=r===void 0?"margin":r;lye();var o=y.useMemo(function(){return aye(i)},[i]);return y.createElement(sye,{styles:uye(o,!t,i,n?"":"!important")})},wE=!1;if(typeof window<"u")try{var f1=Object.defineProperty({},"passive",{get:function(){return wE=!0,!0}});window.addEventListener("test",f1,f1),window.removeEventListener("test",f1,f1)}catch{wE=!1}var Kf=wE?{passive:!1}:!1,fye=function(e){var t=window.getComputedStyle(e);return t.overflowY!=="hidden"&&!(t.overflowY===t.overflowX&&t.overflowY==="visible")},dye=function(e){var t=window.getComputedStyle(e);return t.overflowX!=="hidden"&&!(t.overflowY===t.overflowX&&t.overflowX==="visible")},w9=function(e,t){var n=t;do{typeof ShadowRoot<"u"&&n instanceof ShadowRoot&&(n=n.host);var r=KU(e,n);if(r){var i=qU(e,n),o=i[1],a=i[2];if(o>a)return!0}n=n.parentNode}while(n&&n!==document.body);return!1},hye=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},pye=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},KU=function(e,t){return e==="v"?fye(t):dye(t)},qU=function(e,t){return e==="v"?hye(t):pye(t)},gye=function(e,t){return e==="h"&&t==="rtl"?-1:1},mye=function(e,t,n,r,i){var o=gye(e,window.getComputedStyle(t).direction),a=o*r,s=n.target,u=t.contains(s),l=!1,c=a>0,f=0,h=0;do{var p=qU(e,s),m=p[0],v=p[1],b=p[2],w=v-b-o*m;(m||w)&&KU(e,s)&&(f+=w,h+=m),s=s.parentNode}while(!u&&s!==document.body||u&&(t.contains(s)||t===s));return(c&&(f===0||!i)||!c&&(h===0||!i))&&(l=!0),l},d1=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},_9=function(e){return[e.deltaX,e.deltaY]},S9=function(e){return e&&"current"in e?e.current:e},vye=function(e,t){return e[0]===t[0]&&e[1]===t[1]},yye=function(e){return` + .block-interactivity-`.concat(e,` {pointer-events: none;} + .allow-interactivity-`).concat(e,` {pointer-events: all;} +`)},bye=0,qf=[];function xye(e){var t=y.useRef([]),n=y.useRef([0,0]),r=y.useRef(),i=y.useState(bye++)[0],o=y.useState(function(){return q5()})[0],a=y.useRef(e);y.useEffect(function(){a.current=e},[e]),y.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(i));var v=VB([e.lockRef.current],(e.shards||[]).map(S9),!0).filter(Boolean);return v.forEach(function(b){return b.classList.add("allow-interactivity-".concat(i))}),function(){document.body.classList.remove("block-interactivity-".concat(i)),v.forEach(function(b){return b.classList.remove("allow-interactivity-".concat(i))})}}},[e.inert,e.lockRef.current,e.shards]);var s=y.useCallback(function(v,b){if("touches"in v&&v.touches.length===2)return!a.current.allowPinchZoom;var w=d1(v),x=n.current,S="deltaX"in v?v.deltaX:x[0]-w[0],O="deltaY"in v?v.deltaY:x[1]-w[1],E,C=v.target,k=Math.abs(S)>Math.abs(O)?"h":"v";if("touches"in v&&k==="h"&&C.type==="range")return!1;var M=w9(k,C);if(!M)return!0;if(M?E=k:(E=k==="v"?"h":"v",M=w9(k,C)),!M)return!1;if(!r.current&&"changedTouches"in v&&(S||O)&&(r.current=E),!E)return!0;var L=r.current||E;return mye(L,b,v,L==="h"?S:O,!0)},[]),u=y.useCallback(function(v){var b=v;if(!(!qf.length||qf[qf.length-1]!==o)){var w="deltaY"in b?_9(b):d1(b),x=t.current.filter(function(E){return E.name===b.type&&E.target===b.target&&vye(E.delta,w)})[0];if(x&&x.should){b.preventDefault();return}if(!x){var S=(a.current.shards||[]).map(S9).filter(Boolean).filter(function(E){return E.contains(b.target)}),O=S.length>0?s(b,S[0]):!a.current.noIsolation;O&&b.preventDefault()}}},[]),l=y.useCallback(function(v,b,w,x){var S={name:v,delta:b,target:w,should:x};t.current.push(S),setTimeout(function(){t.current=t.current.filter(function(O){return O!==S})},1)},[]),c=y.useCallback(function(v){n.current=d1(v),r.current=void 0},[]),f=y.useCallback(function(v){l(v.type,_9(v),v.target,s(v,e.lockRef.current))},[]),h=y.useCallback(function(v){l(v.type,d1(v),v.target,s(v,e.lockRef.current))},[]);y.useEffect(function(){return qf.push(o),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:h}),document.addEventListener("wheel",u,Kf),document.addEventListener("touchmove",u,Kf),document.addEventListener("touchstart",c,Kf),function(){qf=qf.filter(function(v){return v!==o}),document.removeEventListener("wheel",u,Kf),document.removeEventListener("touchmove",u,Kf),document.removeEventListener("touchstart",c,Kf)}},[]);var p=e.removeScrollBar,m=e.inert;return y.createElement(y.Fragment,null,m?y.createElement(o,{styles:yye(i)}):null,p?y.createElement(cye,{gapMode:"margin"}):null)}const wye=KB(HU,xye);var GU=y.forwardRef(function(e,t){return y.createElement(y2,Ri({},e,{ref:t,sideCar:wye}))});GU.classNames=y2.classNames;const YU="Dialog",[ZU,EXe]=S1e(YU),[_ye,gf]=ZU(YU),Sye=e=>{const{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:o,modal:a=!0}=e,s=y.useRef(null),u=y.useRef(null),[l=!1,c]=P1e({prop:r,defaultProp:i,onChange:o});return y.createElement(_ye,{scope:t,triggerRef:s,contentRef:u,contentId:PS(),titleId:PS(),descriptionId:PS(),open:l,onOpenChange:c,onOpenToggle:y.useCallback(()=>c(f=>!f),[c]),modal:a},n)},XU="DialogPortal",[Cye,QU]=ZU(XU,{forceMount:void 0}),Eye=e=>{const{__scopeDialog:t,forceMount:n,children:r,container:i}=e,o=gf(XU,t);return y.createElement(Cye,{scope:t,forceMount:n},y.Children.map(r,a=>y.createElement(v2,{present:n||o.open},y.createElement(Y1e,{asChild:!0,container:i},a))))},_E="DialogOverlay",Oye=y.forwardRef((e,t)=>{const n=QU(_E,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,o=gf(_E,e.__scopeDialog);return o.modal?y.createElement(v2,{present:r||o.open},y.createElement(Aye,Ki({},i,{ref:t}))):null}),Aye=y.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,i=gf(_E,n);return y.createElement(GU,{as:CO,allowPinchZoom:!0,shards:[i.contentRef]},y.createElement(m2.div,Ki({"data-state":eV(i.open)},r,{ref:t,style:{pointerEvents:"auto",...r.style}})))}),bg="DialogContent",Pye=y.forwardRef((e,t)=>{const n=QU(bg,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,o=gf(bg,e.__scopeDialog);return y.createElement(v2,{present:r||o.open},o.modal?y.createElement(kye,Ki({},i,{ref:t})):y.createElement(Tye,Ki({},i,{ref:t})))}),kye=y.forwardRef((e,t)=>{const n=gf(bg,e.__scopeDialog),r=y.useRef(null),i=Mm(t,n.contentRef,r);return y.useEffect(()=>{const o=r.current;if(o)return Cm(o)},[]),y.createElement(JU,Ki({},e,{ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Td(e.onCloseAutoFocus,o=>{var a;o.preventDefault(),(a=n.triggerRef.current)===null||a===void 0||a.focus()}),onPointerDownOutside:Td(e.onPointerDownOutside,o=>{const a=o.detail.originalEvent,s=a.button===0&&a.ctrlKey===!0;(a.button===2||s)&&o.preventDefault()}),onFocusOutside:Td(e.onFocusOutside,o=>o.preventDefault())}))}),Tye=y.forwardRef((e,t)=>{const n=gf(bg,e.__scopeDialog),r=y.useRef(!1);return y.createElement(JU,Ki({},e,{ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:i=>{var o;if((o=e.onCloseAutoFocus)===null||o===void 0||o.call(e,i),!i.defaultPrevented){var a;r.current||(a=n.triggerRef.current)===null||a===void 0||a.focus(),i.preventDefault()}r.current=!1},onInteractOutside:i=>{var o,a;(o=e.onInteractOutside)===null||o===void 0||o.call(e,i),i.defaultPrevented||(r.current=!0);const s=i.target;((a=n.triggerRef.current)===null||a===void 0?void 0:a.contains(s))&&i.preventDefault()}}))}),JU=y.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:o,...a}=e,s=gf(bg,n),u=y.useRef(null),l=Mm(t,u);return Q1e(),y.createElement(y.Fragment,null,y.createElement(U1e,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:o},y.createElement(j1e,Ki({role:"dialog",id:s.contentId,"aria-describedby":s.descriptionId,"aria-labelledby":s.titleId,"data-state":eV(s.open)},a,{ref:l,onDismiss:()=>s.onOpenChange(!1)}))),!1)});function eV(e){return e?"open":"closed"}const Mye=Sye,Rye=Eye,Dye=Oye,$ye=Pye;var Iye='[cmdk-list-sizer=""]',jp='[cmdk-group=""]',IS='[cmdk-group-items=""]',Nye='[cmdk-group-heading=""]',OO='[cmdk-item=""]',C9=`${OO}:not([aria-disabled="true"])`,SE="cmdk-item-select",Qs="data-value",Lye=(e,t)=>w1e(e,t),tV=y.createContext(void 0),Rm=()=>y.useContext(tV),nV=y.createContext(void 0),AO=()=>y.useContext(nV),rV=y.createContext(void 0),iV=y.forwardRef((e,t)=>{let n=y.useRef(null),r=td(()=>{var Y,oe,ae;return{search:"",value:(ae=(oe=e.value)!=null?oe:(Y=e.defaultValue)==null?void 0:Y.toLowerCase())!=null?ae:"",filtered:{count:0,items:new Map,groups:new Set}}}),i=td(()=>new Set),o=td(()=>new Map),a=td(()=>new Map),s=td(()=>new Set),u=oV(e),{label:l,children:c,value:f,onValueChange:h,filter:p,shouldFilter:m,vimBindings:v=!0,...b}=e,w=y.useId(),x=y.useId(),S=y.useId(),O=Gye();Bh(()=>{if(f!==void 0){let Y=f.trim().toLowerCase();r.current.value=Y,O(6,H),E.emit()}},[f]);let E=y.useMemo(()=>({subscribe:Y=>(s.current.add(Y),()=>s.current.delete(Y)),snapshot:()=>r.current,setState:(Y,oe,ae)=>{var ue,be,we;if(!Object.is(r.current[Y],oe)){if(r.current[Y]=oe,Y==="search")U(),M(),O(1,L);else if(Y==="value")if(((ue=u.current)==null?void 0:ue.value)!==void 0){let He=oe??"";(we=(be=u.current).onValueChange)==null||we.call(be,He);return}else ae||O(5,H);E.emit()}},emit:()=>{s.current.forEach(Y=>Y())}}),[]),C=y.useMemo(()=>({value:(Y,oe)=>{oe!==a.current.get(Y)&&(a.current.set(Y,oe),r.current.filtered.items.set(Y,k(oe)),O(2,()=>{M(),E.emit()}))},item:(Y,oe)=>(i.current.add(Y),oe&&(o.current.has(oe)?o.current.get(oe).add(Y):o.current.set(oe,new Set([Y]))),O(3,()=>{U(),M(),r.current.value||L(),E.emit()}),()=>{a.current.delete(Y),i.current.delete(Y),r.current.filtered.items.delete(Y);let ae=V();O(4,()=>{U(),ae?.getAttribute("id")===Y&&L(),E.emit()})}),group:Y=>(o.current.has(Y)||o.current.set(Y,new Set),()=>{a.current.delete(Y),o.current.delete(Y)}),filter:()=>u.current.shouldFilter,label:l||e["aria-label"],commandRef:n,listId:w,inputId:S,labelId:x}),[]);function k(Y){var oe,ae;let ue=(ae=(oe=u.current)==null?void 0:oe.filter)!=null?ae:Lye;return Y?ue(Y,r.current.search):0}function M(){if(!n.current||!r.current.search||u.current.shouldFilter===!1)return;let Y=r.current.filtered.items,oe=[];r.current.filtered.groups.forEach(ue=>{let be=o.current.get(ue),we=0;be.forEach(He=>{let Ee=Y.get(He);we=Math.max(Ee,we)}),oe.push([ue,we])});let ae=n.current.querySelector(Iye);ne().sort((ue,be)=>{var we,He;let Ee=ue.getAttribute(Qs),it=be.getAttribute(Qs);return((we=Y.get(it))!=null?we:0)-((He=Y.get(Ee))!=null?He:0)}).forEach(ue=>{let be=ue.closest(IS);be?be.appendChild(ue.parentElement===be?ue:ue.closest(`${IS} > *`)):ae.appendChild(ue.parentElement===ae?ue:ue.closest(`${IS} > *`))}),oe.sort((ue,be)=>be[1]-ue[1]).forEach(ue=>{let be=n.current.querySelector(`${jp}[${Qs}="${ue[0]}"]`);be?.parentElement.appendChild(be)})}function L(){let Y=ne().find(ae=>!ae.ariaDisabled),oe=Y?.getAttribute(Qs);E.setState("value",oe||void 0)}function U(){if(!r.current.search||u.current.shouldFilter===!1){r.current.filtered.count=i.current.size;return}r.current.filtered.groups=new Set;let Y=0;for(let oe of i.current){let ae=a.current.get(oe),ue=k(ae);r.current.filtered.items.set(oe,ue),ue>0&&Y++}for(let[oe,ae]of o.current)for(let ue of ae)if(r.current.filtered.items.get(ue)>0){r.current.filtered.groups.add(oe);break}r.current.filtered.count=Y}function H(){var Y,oe,ae;let ue=V();ue&&(((Y=ue.parentElement)==null?void 0:Y.firstChild)===ue&&((ae=(oe=ue.closest(jp))==null?void 0:oe.querySelector(Nye))==null||ae.scrollIntoView({block:"nearest"})),ue.scrollIntoView({block:"nearest"}))}function V(){var Y;return(Y=n.current)==null?void 0:Y.querySelector(`${OO}[aria-selected="true"]`)}function ne(){return Array.from(n.current.querySelectorAll(C9))}function Z(Y){let oe=ne()[Y];oe&&E.setState("value",oe.getAttribute(Qs))}function G(Y){var oe;let ae=V(),ue=ne(),be=ue.findIndex(He=>He===ae),we=ue[be+Y];(oe=u.current)!=null&&oe.loop&&(we=be+Y<0?ue[ue.length-1]:be+Y===ue.length?ue[0]:ue[be+Y]),we&&E.setState("value",we.getAttribute(Qs))}function q(Y){let oe=V(),ae=oe?.closest(jp),ue;for(;ae&&!ue;)ae=Y>0?Kye(ae,jp):qye(ae,jp),ue=ae?.querySelector(C9);ue?E.setState("value",ue.getAttribute(Qs)):G(Y)}let W=()=>Z(ne().length-1),j=Y=>{Y.preventDefault(),Y.metaKey?W():Y.altKey?q(1):G(1)},K=Y=>{Y.preventDefault(),Y.metaKey?Z(0):Y.altKey?q(-1):G(-1)};return y.createElement("div",{ref:Dm([n,t]),...b,"cmdk-root":"",onKeyDown:Y=>{var oe;if((oe=b.onKeyDown)==null||oe.call(b,Y),!Y.defaultPrevented)switch(Y.key){case"n":case"j":{v&&Y.ctrlKey&&j(Y);break}case"ArrowDown":{j(Y);break}case"p":case"k":{v&&Y.ctrlKey&&K(Y);break}case"ArrowUp":{K(Y);break}case"Home":{Y.preventDefault(),Z(0);break}case"End":{Y.preventDefault(),W();break}case"Enter":if(!Y.nativeEvent.isComposing){Y.preventDefault();let ae=V();if(ae){let ue=new Event(SE);ae.dispatchEvent(ue)}}}}},y.createElement("label",{"cmdk-label":"",htmlFor:C.inputId,id:C.labelId,style:Yye},l),y.createElement(nV.Provider,{value:E},y.createElement(tV.Provider,{value:C},c)))}),Fye=y.forwardRef((e,t)=>{var n,r;let i=y.useId(),o=y.useRef(null),a=y.useContext(rV),s=Rm(),u=oV(e),l=(r=(n=u.current)==null?void 0:n.forceMount)!=null?r:a?.forceMount;Bh(()=>s.item(i,a?.id),[]);let c=aV(i,o,[e.value,e.children,o]),f=AO(),h=Jc(E=>E.value&&E.value===c.current),p=Jc(E=>l||s.filter()===!1?!0:E.search?E.filtered.items.get(i)>0:!0);y.useEffect(()=>{let E=o.current;if(!(!E||e.disabled))return E.addEventListener(SE,m),()=>E.removeEventListener(SE,m)},[p,e.onSelect,e.disabled]);function m(){var E,C;v(),(C=(E=u.current).onSelect)==null||C.call(E,c.current)}function v(){f.setState("value",c.current,!0)}if(!p)return null;let{disabled:b,value:w,onSelect:x,forceMount:S,...O}=e;return y.createElement("div",{ref:Dm([o,t]),...O,id:i,"cmdk-item":"",role:"option","aria-disabled":b||void 0,"aria-selected":h||void 0,"data-disabled":b||void 0,"data-selected":h||void 0,onPointerMove:b?void 0:v,onClick:b?void 0:m},e.children)}),jye=y.forwardRef((e,t)=>{let{heading:n,children:r,forceMount:i,...o}=e,a=y.useId(),s=y.useRef(null),u=y.useRef(null),l=y.useId(),c=Rm(),f=Jc(m=>i||c.filter()===!1?!0:m.search?m.filtered.groups.has(a):!0);Bh(()=>c.group(a),[]),aV(a,s,[e.value,e.heading,u]);let h=y.useMemo(()=>({id:a,forceMount:i}),[i]),p=y.createElement(rV.Provider,{value:h},r);return y.createElement("div",{ref:Dm([s,t]),...o,"cmdk-group":"",role:"presentation",hidden:f?void 0:!0},n&&y.createElement("div",{ref:u,"cmdk-group-heading":"","aria-hidden":!0,id:l},n),y.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":n?l:void 0},p))}),Bye=y.forwardRef((e,t)=>{let{alwaysRender:n,...r}=e,i=y.useRef(null),o=Jc(a=>!a.search);return!n&&!o?null:y.createElement("div",{ref:Dm([i,t]),...r,"cmdk-separator":"",role:"separator"})}),zye=y.forwardRef((e,t)=>{let{onValueChange:n,...r}=e,i=e.value!=null,o=AO(),a=Jc(c=>c.search),s=Jc(c=>c.value),u=Rm(),l=y.useMemo(()=>{var c;let f=(c=u.commandRef.current)==null?void 0:c.querySelector(`${OO}[${Qs}="${s}"]`);return f?.getAttribute("id")},[s,u.commandRef]);return y.useEffect(()=>{e.value!=null&&o.setState("search",e.value)},[e.value]),y.createElement("input",{ref:t,...r,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":u.listId,"aria-labelledby":u.labelId,"aria-activedescendant":l,id:u.inputId,type:"text",value:i?e.value:a,onChange:c=>{i||o.setState("search",c.target.value),n?.(c.target.value)}})}),Uye=y.forwardRef((e,t)=>{let{children:n,...r}=e,i=y.useRef(null),o=y.useRef(null),a=Rm();return y.useEffect(()=>{if(o.current&&i.current){let s=o.current,u=i.current,l,c=new ResizeObserver(()=>{l=requestAnimationFrame(()=>{let f=s.offsetHeight;u.style.setProperty("--cmdk-list-height",f.toFixed(1)+"px")})});return c.observe(s),()=>{cancelAnimationFrame(l),c.unobserve(s)}}},[]),y.createElement("div",{ref:Dm([i,t]),...r,"cmdk-list":"",role:"listbox","aria-label":"Suggestions",id:a.listId,"aria-labelledby":a.inputId},y.createElement("div",{ref:o,"cmdk-list-sizer":""},n))}),Vye=y.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:i,contentClassName:o,container:a,...s}=e;return y.createElement(Mye,{open:n,onOpenChange:r},y.createElement(Rye,{container:a},y.createElement(Dye,{"cmdk-overlay":"",className:i}),y.createElement($ye,{"aria-label":e.label,"cmdk-dialog":"",className:o},y.createElement(iV,{ref:t,...s}))))}),Wye=y.forwardRef((e,t)=>{let n=y.useRef(!0),r=Jc(i=>i.filtered.count===0);return y.useEffect(()=>{n.current=!1},[]),n.current||!r?null:y.createElement("div",{ref:t,...e,"cmdk-empty":"",role:"presentation"})}),Hye=y.forwardRef((e,t)=>{let{progress:n,children:r,...i}=e;return y.createElement("div",{ref:t,...i,"cmdk-loading":"",role:"progressbar","aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":"Loading..."},y.createElement("div",{"aria-hidden":!0},r))}),OXe=Object.assign(iV,{List:Uye,Item:Fye,Input:zye,Group:jye,Separator:Bye,Dialog:Vye,Empty:Wye,Loading:Hye});function Kye(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function qye(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function oV(e){let t=y.useRef(e);return Bh(()=>{t.current=e}),t}var Bh=typeof window>"u"?y.useEffect:y.useLayoutEffect;function td(e){let t=y.useRef();return t.current===void 0&&(t.current=e()),t}function Dm(e){return t=>{e.forEach(n=>{typeof n=="function"?n(t):n!=null&&(n.current=t)})}}function Jc(e){let t=AO(),n=()=>e(t.snapshot());return y.useSyncExternalStore(t.subscribe,n,n)}function aV(e,t,n){let r=y.useRef(),i=Rm();return Bh(()=>{var o;let a=(()=>{var s;for(let u of n){if(typeof u=="string")return u.trim().toLowerCase();if(typeof u=="object"&&"current"in u)return u.current?(s=u.current.textContent)==null?void 0:s.trim().toLowerCase():r.current}})();i.value(e,a),(o=t.current)==null||o.setAttribute(Qs,a),r.current=a}),r}var Gye=()=>{let[e,t]=y.useState(),n=td(()=>new Map);return Bh(()=>{n.current.forEach(r=>r()),n.current=new Map},[e]),(r,i)=>{n.current.set(r,i),t({})}},Yye={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"},PO="Avatar",[Zye,AXe]=vi(PO),[Xye,sV]=Zye(PO),uV=y.forwardRef((e,t)=>{const{__scopeAvatar:n,...r}=e,[i,o]=y.useState("idle");return I.jsx(Xye,{scope:n,imageLoadingStatus:i,onImageLoadingStatusChange:o,children:I.jsx(pt.span,{...r,ref:t})})});uV.displayName=PO;var lV="AvatarImage",cV=y.forwardRef((e,t)=>{const{__scopeAvatar:n,src:r,onLoadingStatusChange:i=()=>{},...o}=e,a=sV(lV,n),s=Qye(r,o.referrerPolicy),u=Vr(l=>{i(l),a.onImageLoadingStatusChange(l)});return ii(()=>{s!=="idle"&&u(s)},[s,u]),s==="loaded"?I.jsx(pt.img,{...o,ref:t,src:r}):null});cV.displayName=lV;var fV="AvatarFallback",dV=y.forwardRef((e,t)=>{const{__scopeAvatar:n,delayMs:r,...i}=e,o=sV(fV,n),[a,s]=y.useState(r===void 0);return y.useEffect(()=>{if(r!==void 0){const u=window.setTimeout(()=>s(!0),r);return()=>window.clearTimeout(u)}},[r]),a&&o.imageLoadingStatus!=="loaded"?I.jsx(pt.span,{...i,ref:t}):null});dV.displayName=fV;function Qye(e,t){const[n,r]=y.useState("idle");return ii(()=>{if(!e){r("error");return}let i=!0;const o=new window.Image,a=s=>()=>{i&&r(s)};return r("loading"),o.onload=a("loaded"),o.onerror=a("error"),o.src=e,t&&(o.referrerPolicy=t),()=>{i=!1}},[e,t]),n}var PXe=uV,kXe=cV,TXe=dV,Jye=Array.isArray,vo=Jye,ebe=typeof La=="object"&&La&&La.Object===Object&&La,hV=ebe,tbe=hV,nbe=typeof self=="object"&&self&&self.Object===Object&&self,rbe=tbe||nbe||Function("return this")(),Ds=rbe,ibe=Ds,obe=ibe.Symbol,$m=obe,E9=$m,pV=Object.prototype,abe=pV.hasOwnProperty,sbe=pV.toString,Bp=E9?E9.toStringTag:void 0;function ube(e){var t=abe.call(e,Bp),n=e[Bp];try{e[Bp]=void 0;var r=!0}catch{}var i=sbe.call(e);return r&&(t?e[Bp]=n:delete e[Bp]),i}var lbe=ube,cbe=Object.prototype,fbe=cbe.toString;function dbe(e){return fbe.call(e)}var hbe=dbe,O9=$m,pbe=lbe,gbe=hbe,mbe="[object Null]",vbe="[object Undefined]",A9=O9?O9.toStringTag:void 0;function ybe(e){return e==null?e===void 0?vbe:mbe:A9&&A9 in Object(e)?pbe(e):gbe(e)}var Tu=ybe;function bbe(e){return e!=null&&typeof e=="object"}var Mu=bbe,xbe=Tu,wbe=Mu,_be="[object Symbol]";function Sbe(e){return typeof e=="symbol"||wbe(e)&&xbe(e)==_be}var zh=Sbe,Cbe=vo,Ebe=zh,Obe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Abe=/^\w*$/;function Pbe(e,t){if(Cbe(e))return!1;var n=typeof e;return n=="number"||n=="symbol"||n=="boolean"||e==null||Ebe(e)?!0:Abe.test(e)||!Obe.test(e)||t!=null&&e in Object(t)}var kO=Pbe;function kbe(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Ul=kbe;const Uh=Dn(Ul);var Tbe=Tu,Mbe=Ul,Rbe="[object AsyncFunction]",Dbe="[object Function]",$be="[object GeneratorFunction]",Ibe="[object Proxy]";function Nbe(e){if(!Mbe(e))return!1;var t=Tbe(e);return t==Dbe||t==$be||t==Rbe||t==Ibe}var TO=Nbe;const Ht=Dn(TO);var Lbe=Ds,Fbe=Lbe["__core-js_shared__"],jbe=Fbe,NS=jbe,P9=function(){var e=/[^.]+$/.exec(NS&&NS.keys&&NS.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Bbe(e){return!!P9&&P9 in e}var zbe=Bbe,Ube=Function.prototype,Vbe=Ube.toString;function Wbe(e){if(e!=null){try{return Vbe.call(e)}catch{}try{return e+""}catch{}}return""}var gV=Wbe,Hbe=TO,Kbe=zbe,qbe=Ul,Gbe=gV,Ybe=/[\\^$.*+?()[\]{}|]/g,Zbe=/^\[object .+?Constructor\]$/,Xbe=Function.prototype,Qbe=Object.prototype,Jbe=Xbe.toString,exe=Qbe.hasOwnProperty,txe=RegExp("^"+Jbe.call(exe).replace(Ybe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function nxe(e){if(!qbe(e)||Kbe(e))return!1;var t=Hbe(e)?txe:Zbe;return t.test(Gbe(e))}var rxe=nxe;function ixe(e,t){return e?.[t]}var oxe=ixe,axe=rxe,sxe=oxe;function uxe(e,t){var n=sxe(e,t);return axe(n)?n:void 0}var mf=uxe,lxe=mf,cxe=lxe(Object,"create"),b2=cxe,k9=b2;function fxe(){this.__data__=k9?k9(null):{},this.size=0}var dxe=fxe;function hxe(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var pxe=hxe,gxe=b2,mxe="__lodash_hash_undefined__",vxe=Object.prototype,yxe=vxe.hasOwnProperty;function bxe(e){var t=this.__data__;if(gxe){var n=t[e];return n===mxe?void 0:n}return yxe.call(t,e)?t[e]:void 0}var xxe=bxe,wxe=b2,_xe=Object.prototype,Sxe=_xe.hasOwnProperty;function Cxe(e){var t=this.__data__;return wxe?t[e]!==void 0:Sxe.call(t,e)}var Exe=Cxe,Oxe=b2,Axe="__lodash_hash_undefined__";function Pxe(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=Oxe&&t===void 0?Axe:t,this}var kxe=Pxe,Txe=dxe,Mxe=pxe,Rxe=xxe,Dxe=Exe,$xe=kxe;function Vh(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t-1}var Xxe=Zxe,Qxe=x2;function Jxe(e,t){var n=this.__data__,r=Qxe(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}var e2e=Jxe,t2e=Lxe,n2e=Hxe,r2e=Gxe,i2e=Xxe,o2e=e2e;function Wh(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t0?1:-1},Sc=function(t){return Im(t)&&t.indexOf("%")===t.length-1},qe=function(t){return Awe(t)&&!Kh(t)},Hr=function(t){return qe(t)||Im(t)},Mwe=0,vf=function(t){var n=++Mwe;return"".concat(t||"").concat(n)},ef=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!qe(t)&&!Im(t))return r;var o;if(Sc(t)){var a=t.indexOf("%");o=n*parseFloat(t.slice(0,a))/100}else o=+t;return Kh(o)&&(o=r),i&&o>n&&(o=n),o},rl=function(t){if(!t)return null;var n=Object.keys(t);return n&&n.length?t[n[0]]:null},Rwe=function(t){if(!Array.isArray(t))return!1;for(var n=t.length,r={},i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function jwe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function EE(e){"@babel/helpers - typeof";return EE=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},EE(e)}var N9={click:"onClick",mousedown:"onMouseDown",mouseup:"onMouseUp",mouseover:"onMouseOver",mousemove:"onMouseMove",mouseout:"onMouseOut",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",touchcancel:"onTouchCancel",touchend:"onTouchEnd",touchmove:"onTouchMove",touchstart:"onTouchStart",contextmenu:"onContextMenu",dblclick:"onDoubleClick"},fu=function(t){return typeof t=="string"?t:t?t.displayName||t.name||"Component":""},L9=null,FS=null,BO=function e(t){if(t===L9&&Array.isArray(FS))return FS;var n=[];return y.Children.forEach(t,function(r){Ut(r)||(_we.isFragment(r)?n=n.concat(e(r.props.children)):n.push(r))}),FS=n,L9=t,n};function po(e,t){var n=[],r=[];return Array.isArray(t)?r=t.map(function(i){return fu(i)}):r=[fu(t)],BO(e).forEach(function(i){var o=ha(i,"type.displayName")||ha(i,"type.name");r.indexOf(o)!==-1&&n.push(i)}),n}function To(e,t){var n=po(e,t);return n[0]}var F9=function(t){if(!t||!t.props)return!1;var n=t.props,r=n.width,i=n.height;return!(!qe(r)||r<=0||!qe(i)||i<=0)},Bwe=["a","altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","color-profile","cursor","defs","desc","ellipse","feBlend","feColormatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","font-face","font-face-format","font-face-name","font-face-url","foreignObject","g","glyph","glyphRef","hkern","image","line","lineGradient","marker","mask","metadata","missing-glyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","svg","switch","symbol","text","textPath","title","tref","tspan","use","view","vkern"],zwe=function(t){return t&&t.type&&Im(t.type)&&Bwe.indexOf(t.type)>=0},EV=function(t){return t&&EE(t)==="object"&&"clipDot"in t},Uwe=function(t,n,r,i){var o,a=(o=LS?.[i])!==null&&o!==void 0?o:[];return!Ht(t)&&(i&&a.includes(n)||Iwe.includes(n))||r&&jO.includes(n)},zt=function(t,n,r){if(!t||typeof t=="function"||typeof t=="boolean")return null;var i=t;if(y.isValidElement(t)&&(i=t.props),!Uh(i))return null;var o={};return Object.keys(i).forEach(function(a){var s;Uwe((s=i)===null||s===void 0?void 0:s[a],a,n,r)&&(o[a]=i[a])}),o},OE=function e(t,n){if(t===n)return!0;var r=y.Children.count(t);if(r!==y.Children.count(n))return!1;if(r===0)return!0;if(r===1)return j9(Array.isArray(t)?t[0]:t,Array.isArray(n)?n[0]:n);for(var i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function qwe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function PE(e){var t=e.children,n=e.width,r=e.height,i=e.viewBox,o=e.className,a=e.style,s=e.title,u=e.desc,l=Kwe(e,Hwe),c=i||{width:n,height:r,x:0,y:0},f=dn("recharts-surface",o);return F.createElement("svg",AE({},zt(l,!0,"svg"),{className:f,width:n,height:r,style:a,viewBox:"".concat(c.x," ").concat(c.y," ").concat(c.width," ").concat(c.height)}),F.createElement("title",null,s),F.createElement("desc",null,u),t)}var Gwe=["children","className"];function kE(){return kE=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Zwe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var Cn=F.forwardRef(function(e,t){var n=e.children,r=e.className,i=Ywe(e,Gwe),o=dn("recharts-layer",r);return F.createElement("g",kE({className:o},zt(i,!0),{ref:t}),n)}),du=function(t,n){for(var r=arguments.length,i=new Array(r>2?r-2:0),o=2;oi?0:i+t),n=n>i?i:n,n<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var o=Array(i);++r=r?e:Jwe(e,t,n)}var t_e=e_e,n_e="\\ud800-\\udfff",r_e="\\u0300-\\u036f",i_e="\\ufe20-\\ufe2f",o_e="\\u20d0-\\u20ff",a_e=r_e+i_e+o_e,s_e="\\ufe0e\\ufe0f",u_e="\\u200d",l_e=RegExp("["+u_e+n_e+a_e+s_e+"]");function c_e(e){return l_e.test(e)}var OV=c_e;function f_e(e){return e.split("")}var d_e=f_e,AV="\\ud800-\\udfff",h_e="\\u0300-\\u036f",p_e="\\ufe20-\\ufe2f",g_e="\\u20d0-\\u20ff",m_e=h_e+p_e+g_e,v_e="\\ufe0e\\ufe0f",y_e="["+AV+"]",TE="["+m_e+"]",ME="\\ud83c[\\udffb-\\udfff]",b_e="(?:"+TE+"|"+ME+")",PV="[^"+AV+"]",kV="(?:\\ud83c[\\udde6-\\uddff]){2}",TV="[\\ud800-\\udbff][\\udc00-\\udfff]",x_e="\\u200d",MV=b_e+"?",RV="["+v_e+"]?",w_e="(?:"+x_e+"(?:"+[PV,kV,TV].join("|")+")"+RV+MV+")*",__e=RV+MV+w_e,S_e="(?:"+[PV+TE+"?",TE,kV,TV,y_e].join("|")+")",C_e=RegExp(ME+"(?="+ME+")|"+S_e+__e,"g");function E_e(e){return e.match(C_e)||[]}var O_e=E_e,A_e=d_e,P_e=OV,k_e=O_e;function T_e(e){return P_e(e)?k_e(e):A_e(e)}var M_e=T_e,R_e=t_e,D_e=OV,$_e=M_e,I_e=bV;function N_e(e){return function(t){t=I_e(t);var n=D_e(t)?$_e(t):void 0,r=n?n[0]:t.charAt(0),i=n?R_e(n,1).join(""):t.slice(1);return r[e]()+i}}var L_e=N_e,F_e=L_e,j_e=F_e("toUpperCase"),B_e=j_e;const $2=Dn(B_e);function Vn(e){return function(){return e}}const DV=Math.cos,hb=Math.sin,rs=Math.sqrt,pb=Math.PI,I2=2*pb,RE=Math.PI,DE=2*RE,fc=1e-6,z_e=DE-fc;function $V(e){this._+=e[0];for(let t=1,n=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return $V;const n=10**t;return function(r){this._+=r[0];for(let i=1,o=r.length;ifc)if(!(Math.abs(f*u-l*c)>fc)||!o)this._append`L${this._x1=t},${this._y1=n}`;else{let p=r-a,m=i-s,v=u*u+l*l,b=p*p+m*m,w=Math.sqrt(v),x=Math.sqrt(h),S=o*Math.tan((RE-Math.acos((v+h-b)/(2*w*x)))/2),O=S/x,E=S/w;Math.abs(O-1)>fc&&this._append`L${t+O*c},${n+O*f}`,this._append`A${o},${o},0,0,${+(f*p>c*m)},${this._x1=t+E*u},${this._y1=n+E*l}`}}arc(t,n,r,i,o,a){if(t=+t,n=+n,r=+r,a=!!a,r<0)throw new Error(`negative radius: ${r}`);let s=r*Math.cos(i),u=r*Math.sin(i),l=t+s,c=n+u,f=1^a,h=a?i-o:o-i;this._x1===null?this._append`M${l},${c}`:(Math.abs(this._x1-l)>fc||Math.abs(this._y1-c)>fc)&&this._append`L${l},${c}`,r&&(h<0&&(h=h%DE+DE),h>z_e?this._append`A${r},${r},0,1,${f},${t-s},${n-u}A${r},${r},0,1,${f},${this._x1=l},${this._y1=c}`:h>fc&&this._append`A${r},${r},0,${+(h>=RE)},${f},${this._x1=t+r*Math.cos(o)},${this._y1=n+r*Math.sin(o)}`)}rect(t,n,r,i){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}h${r=+r}v${+i}h${-r}Z`}toString(){return this._}}function zO(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{const r=Math.floor(n);if(!(r>=0))throw new RangeError(`invalid digits: ${n}`);t=r}return e},()=>new V_e(t)}function UO(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function IV(e){this._context=e}IV.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function N2(e){return new IV(e)}function NV(e){return e[0]}function LV(e){return e[1]}function FV(e,t){var n=Vn(!0),r=null,i=N2,o=null,a=zO(s);e=typeof e=="function"?e:e===void 0?NV:Vn(e),t=typeof t=="function"?t:t===void 0?LV:Vn(t);function s(u){var l,c=(u=UO(u)).length,f,h=!1,p;for(r==null&&(o=i(p=a())),l=0;l<=c;++l)!(l=p;--m)s.point(S[m],O[m]);s.lineEnd(),s.areaEnd()}w&&(S[h]=+e(b,h,f),O[h]=+t(b,h,f),s.point(r?+r(b,h,f):S[h],n?+n(b,h,f):O[h]))}if(x)return s=null,x+""||null}function c(){return FV().defined(i).curve(a).context(o)}return l.x=function(f){return arguments.length?(e=typeof f=="function"?f:Vn(+f),r=null,l):e},l.x0=function(f){return arguments.length?(e=typeof f=="function"?f:Vn(+f),l):e},l.x1=function(f){return arguments.length?(r=f==null?null:typeof f=="function"?f:Vn(+f),l):r},l.y=function(f){return arguments.length?(t=typeof f=="function"?f:Vn(+f),n=null,l):t},l.y0=function(f){return arguments.length?(t=typeof f=="function"?f:Vn(+f),l):t},l.y1=function(f){return arguments.length?(n=f==null?null:typeof f=="function"?f:Vn(+f),l):n},l.lineX0=l.lineY0=function(){return c().x(e).y(t)},l.lineY1=function(){return c().x(e).y(n)},l.lineX1=function(){return c().x(r).y(t)},l.defined=function(f){return arguments.length?(i=typeof f=="function"?f:Vn(!!f),l):i},l.curve=function(f){return arguments.length?(a=f,o!=null&&(s=a(o)),l):a},l.context=function(f){return arguments.length?(f==null?o=s=null:s=a(o=f),l):o},l}class jV{constructor(t,n){this._context=t,this._x=n}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(t,n){switch(t=+t,n=+n,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,n,t,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,t,this._y0,t,n);break}}this._x0=t,this._y0=n}}function W_e(e){return new jV(e,!0)}function H_e(e){return new jV(e,!1)}const VO={draw(e,t){const n=rs(t/pb);e.moveTo(n,0),e.arc(0,0,n,0,I2)}},K_e={draw(e,t){const n=rs(t/5)/2;e.moveTo(-3*n,-n),e.lineTo(-n,-n),e.lineTo(-n,-3*n),e.lineTo(n,-3*n),e.lineTo(n,-n),e.lineTo(3*n,-n),e.lineTo(3*n,n),e.lineTo(n,n),e.lineTo(n,3*n),e.lineTo(-n,3*n),e.lineTo(-n,n),e.lineTo(-3*n,n),e.closePath()}},BV=rs(1/3),q_e=BV*2,G_e={draw(e,t){const n=rs(t/q_e),r=n*BV;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},Y_e={draw(e,t){const n=rs(t),r=-n/2;e.rect(r,r,n,n)}},Z_e=.8908130915292852,zV=hb(pb/10)/hb(7*pb/10),X_e=hb(I2/10)*zV,Q_e=-DV(I2/10)*zV,J_e={draw(e,t){const n=rs(t*Z_e),r=X_e*n,i=Q_e*n;e.moveTo(0,-n),e.lineTo(r,i);for(let o=1;o<5;++o){const a=I2*o/5,s=DV(a),u=hb(a);e.lineTo(u*n,-s*n),e.lineTo(s*r-u*i,u*r+s*i)}e.closePath()}},jS=rs(3),eSe={draw(e,t){const n=-rs(t/(jS*3));e.moveTo(0,n*2),e.lineTo(-jS*n,-n),e.lineTo(jS*n,-n),e.closePath()}},ta=-.5,na=rs(3)/2,$E=1/rs(12),tSe=($E/2+1)*3,nSe={draw(e,t){const n=rs(t/tSe),r=n/2,i=n*$E,o=r,a=n*$E+n,s=-o,u=a;e.moveTo(r,i),e.lineTo(o,a),e.lineTo(s,u),e.lineTo(ta*r-na*i,na*r+ta*i),e.lineTo(ta*o-na*a,na*o+ta*a),e.lineTo(ta*s-na*u,na*s+ta*u),e.lineTo(ta*r+na*i,ta*i-na*r),e.lineTo(ta*o+na*a,ta*a-na*o),e.lineTo(ta*s+na*u,ta*u-na*s),e.closePath()}};function rSe(e,t){let n=null,r=zO(i);e=typeof e=="function"?e:Vn(e||VO),t=typeof t=="function"?t:Vn(t===void 0?64:+t);function i(){let o;if(n||(n=o=r()),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),o)return n=null,o+""||null}return i.type=function(o){return arguments.length?(e=typeof o=="function"?o:Vn(o),i):e},i.size=function(o){return arguments.length?(t=typeof o=="function"?o:Vn(+o),i):t},i.context=function(o){return arguments.length?(n=o??null,i):n},i}function gb(){}function mb(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function UV(e){this._context=e}UV.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:mb(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:mb(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function iSe(e){return new UV(e)}function VV(e){this._context=e}VV.prototype={areaStart:gb,areaEnd:gb,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:mb(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function oSe(e){return new VV(e)}function WV(e){this._context=e}WV.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:mb(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function aSe(e){return new WV(e)}function HV(e){this._context=e}HV.prototype={areaStart:gb,areaEnd:gb,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function sSe(e){return new HV(e)}function z9(e){return e<0?-1:1}function U9(e,t,n){var r=e._x1-e._x0,i=t-e._x1,o=(e._y1-e._y0)/(r||i<0&&-0),a=(n-e._y1)/(i||r<0&&-0),s=(o*i+a*r)/(r+i);return(z9(o)+z9(a))*Math.min(Math.abs(o),Math.abs(a),.5*Math.abs(s))||0}function V9(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function BS(e,t,n){var r=e._x0,i=e._y0,o=e._x1,a=e._y1,s=(o-r)/3;e._context.bezierCurveTo(r+s,i+s*t,o-s,a-s*n,o,a)}function vb(e){this._context=e}vb.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:BS(this,this._t0,V9(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,BS(this,V9(this,n=U9(this,e,t)),n);break;default:BS(this,this._t0,n=U9(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}};function KV(e){this._context=new qV(e)}(KV.prototype=Object.create(vb.prototype)).point=function(e,t){vb.prototype.point.call(this,t,e)};function qV(e){this._context=e}qV.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,n,r,i,o){this._context.bezierCurveTo(t,e,r,n,o,i)}};function uSe(e){return new vb(e)}function lSe(e){return new KV(e)}function GV(e){this._context=e}GV.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,n=e.length;if(n)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),n===2)this._context.lineTo(e[1],t[1]);else for(var r=W9(e),i=W9(t),o=0,a=1;a=0;--t)i[t]=(a[t]-i[t+1])/o[t];for(o[n-1]=(e[n]+i[n-1])/2,t=0;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}break}}this._x=e,this._y=t}};function fSe(e){return new L2(e,.5)}function dSe(e){return new L2(e,0)}function hSe(e){return new L2(e,1)}function Qd(e,t){if((a=e.length)>1)for(var n=1,r,i,o=e[t[0]],a,s=o.length;n=0;)n[t]=t;return n}function pSe(e,t){return e[t]}function gSe(e){const t=[];return t.key=e,t}function mSe(){var e=Vn([]),t=IE,n=Qd,r=pSe;function i(o){var a=Array.from(e.apply(this,arguments),gSe),s,u=a.length,l=-1,c;for(const f of o)for(s=0,++l;s0){for(var n,r,i=0,o=e[0].length,a;i0){for(var n=0,r=e[t[0]],i,o=r.length;n0)||!((o=(i=e[t[0]]).length)>0))){for(var n=0,r=1,i,o,a;r=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function ESe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var YV={symbolCircle:VO,symbolCross:K_e,symbolDiamond:G_e,symbolSquare:Y_e,symbolStar:J_e,symbolTriangle:eSe,symbolWye:nSe},OSe=Math.PI/180,ASe=function(t){var n="symbol".concat($2(t));return YV[n]||VO},PSe=function(t,n,r){if(n==="area")return t;switch(r){case"cross":return 5*t*t/9;case"diamond":return .5*t*t/Math.sqrt(3);case"square":return t*t;case"star":{var i=18*OSe;return 1.25*t*t*(Math.tan(i)-Math.tan(i*2)*Math.pow(Math.tan(i),2))}case"triangle":return Math.sqrt(3)*t*t/4;case"wye":return(21-10*Math.sqrt(3))*t*t/8;default:return Math.PI*t*t/4}},kSe=function(t,n){YV["symbol".concat($2(t))]=n},F2=function(t){var n=t.type,r=n===void 0?"circle":n,i=t.size,o=i===void 0?64:i,a=t.sizeType,s=a===void 0?"area":a,u=CSe(t,xSe),l=K9(K9({},u),{},{type:r,size:o,sizeType:s}),c=function(){var b=ASe(r),w=rSe().type(b).size(PSe(o,s,r));return w()},f=l.className,h=l.cx,p=l.cy,m=zt(l,!0);return h===+h&&p===+p&&o===+o?F.createElement("path",NE({},m,{className:dn("recharts-symbols",f),transform:"translate(".concat(h,", ").concat(p,")"),d:c()})):null};F2.registerSymbol=kSe;function Jd(e){"@babel/helpers - typeof";return Jd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Jd(e)}function LE(){return LE=Object.assign?Object.assign.bind():function(e){for(var t=1;t`);var x=p.inactive?l:p.color;return F.createElement("li",LE({className:b,style:f,key:"legend-item-".concat(m)},xg(r.props,p,m)),F.createElement(PE,{width:a,height:a,viewBox:c,style:h},r.renderIcon(p)),F.createElement("span",{className:"recharts-legend-item-text",style:{color:x}},v?v(w,p,m):w))})}},{key:"render",value:function(){var r=this.props,i=r.payload,o=r.layout,a=r.align;if(!i||!i.length)return null;var s={padding:0,margin:0,textAlign:o==="horizontal"?a:"left"};return F.createElement("ul",{className:"recharts-default-legend",style:s},this.renderItems())}}])}(y.PureComponent);_g(WO,"displayName","Legend");_g(WO,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"middle",inactiveColor:"#ccc"});var jSe=w2;function BSe(){this.__data__=new jSe,this.size=0}var zSe=BSe;function USe(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}var VSe=USe;function WSe(e){return this.__data__.get(e)}var HSe=WSe;function KSe(e){return this.__data__.has(e)}var qSe=KSe,GSe=w2,YSe=RO,ZSe=DO,XSe=200;function QSe(e,t){var n=this.__data__;if(n instanceof GSe){var r=n.__data__;if(!YSe||r.lengths))return!1;var l=o.get(e),c=o.get(t);if(l&&c)return l==t&&c==e;var f=-1,h=!0,p=n&x3e?new m3e:void 0;for(o.set(e,t),o.set(t,e);++f-1&&e%1==0&&e-1&&e%1==0&&e<=CCe}var GO=ECe,OCe=Tu,ACe=GO,PCe=Mu,kCe="[object Arguments]",TCe="[object Array]",MCe="[object Boolean]",RCe="[object Date]",DCe="[object Error]",$Ce="[object Function]",ICe="[object Map]",NCe="[object Number]",LCe="[object Object]",FCe="[object RegExp]",jCe="[object Set]",BCe="[object String]",zCe="[object WeakMap]",UCe="[object ArrayBuffer]",VCe="[object DataView]",WCe="[object Float32Array]",HCe="[object Float64Array]",KCe="[object Int8Array]",qCe="[object Int16Array]",GCe="[object Int32Array]",YCe="[object Uint8Array]",ZCe="[object Uint8ClampedArray]",XCe="[object Uint16Array]",QCe="[object Uint32Array]",er={};er[WCe]=er[HCe]=er[KCe]=er[qCe]=er[GCe]=er[YCe]=er[ZCe]=er[XCe]=er[QCe]=!0;er[kCe]=er[TCe]=er[UCe]=er[MCe]=er[VCe]=er[RCe]=er[DCe]=er[$Ce]=er[ICe]=er[NCe]=er[LCe]=er[FCe]=er[jCe]=er[BCe]=er[zCe]=!1;function JCe(e){return PCe(e)&&ACe(e.length)&&!!er[OCe(e)]}var eEe=JCe;function tEe(e){return function(t){return e(t)}}var aW=tEe,wb={exports:{}};wb.exports;(function(e,t){var n=hV,r=t&&!t.nodeType&&t,i=r&&!0&&e&&!e.nodeType&&e,o=i&&i.exports===r,a=o&&n.process,s=function(){try{var u=i&&i.require&&i.require("util").types;return u||a&&a.binding&&a.binding("util")}catch{}}();e.exports=s})(wb,wb.exports);var nEe=wb.exports,rEe=eEe,iEe=aW,J9=nEe,eD=J9&&J9.isTypedArray,oEe=eD?iEe(eD):rEe,sW=oEe,aEe=lCe,sEe=KO,uEe=vo,lEe=oW,cEe=qO,fEe=sW,dEe=Object.prototype,hEe=dEe.hasOwnProperty;function pEe(e,t){var n=uEe(e),r=!n&&sEe(e),i=!n&&!r&&lEe(e),o=!n&&!r&&!i&&fEe(e),a=n||r||i||o,s=a?aEe(e.length,String):[],u=s.length;for(var l in e)(t||hEe.call(e,l))&&!(a&&(l=="length"||i&&(l=="offset"||l=="parent")||o&&(l=="buffer"||l=="byteLength"||l=="byteOffset")||cEe(l,u)))&&s.push(l);return s}var gEe=pEe,mEe=Object.prototype;function vEe(e){var t=e&&e.constructor,n=typeof t=="function"&&t.prototype||mEe;return e===n}var yEe=vEe;function bEe(e,t){return function(n){return e(t(n))}}var uW=bEe,xEe=uW,wEe=xEe(Object.keys,Object),_Ee=wEe,SEe=yEe,CEe=_Ee,EEe=Object.prototype,OEe=EEe.hasOwnProperty;function AEe(e){if(!SEe(e))return CEe(e);var t=[];for(var n in Object(e))OEe.call(e,n)&&n!="constructor"&&t.push(n);return t}var PEe=AEe,kEe=TO,TEe=GO;function MEe(e){return e!=null&&TEe(e.length)&&!kEe(e)}var Nm=MEe,REe=gEe,DEe=PEe,$Ee=Nm;function IEe(e){return $Ee(e)?REe(e):DEe(e)}var j2=IEe,NEe=X3e,LEe=sCe,FEe=j2;function jEe(e){return NEe(e,FEe,LEe)}var BEe=jEe,tD=BEe,zEe=1,UEe=Object.prototype,VEe=UEe.hasOwnProperty;function WEe(e,t,n,r,i,o){var a=n&zEe,s=tD(e),u=s.length,l=tD(t),c=l.length;if(u!=c&&!a)return!1;for(var f=u;f--;){var h=s[f];if(!(a?h in t:VEe.call(t,h)))return!1}var p=o.get(e),m=o.get(t);if(p&&m)return p==t&&m==e;var v=!0;o.set(e,t),o.set(t,e);for(var b=a;++f-1}var U4e=z4e;function V4e(e,t,n){for(var r=-1,i=e==null?0:e.length;++r=i5e){var l=t?null:n5e(e);if(l)return r5e(l);a=!1,i=t5e,u=new Q4e}else u=t?[]:s;e:for(;++r=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function x5e(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function w5e(e){return e.value}function _5e(e,t){if(F.isValidElement(e))return F.cloneElement(e,t);if(typeof e=="function")return F.createElement(e,t);t.ref;var n=b5e(t,f5e);return F.createElement(WO,n)}var vD=1,Dd=function(e){function t(){var n;d5e(this,t);for(var r=arguments.length,i=new Array(r),o=0;ovD||Math.abs(i.height-this.lastBoundingBox.height)>vD)&&(this.lastBoundingBox.width=i.width,this.lastBoundingBox.height=i.height,r&&r(i)):(this.lastBoundingBox.width!==-1||this.lastBoundingBox.height!==-1)&&(this.lastBoundingBox.width=-1,this.lastBoundingBox.height=-1,r&&r(null))}},{key:"getBBoxSnapshot",value:function(){return this.lastBoundingBox.width>=0&&this.lastBoundingBox.height>=0?Gs({},this.lastBoundingBox):{width:0,height:0}}},{key:"getDefaultPosition",value:function(r){var i=this.props,o=i.layout,a=i.align,s=i.verticalAlign,u=i.margin,l=i.chartWidth,c=i.chartHeight,f,h;if(!r||(r.left===void 0||r.left===null)&&(r.right===void 0||r.right===null))if(a==="center"&&o==="vertical"){var p=this.getBBoxSnapshot();f={left:((l||0)-p.width)/2}}else f=a==="right"?{right:u&&u.right||0}:{left:u&&u.left||0};if(!r||(r.top===void 0||r.top===null)&&(r.bottom===void 0||r.bottom===null))if(s==="middle"){var m=this.getBBoxSnapshot();h={top:((c||0)-m.height)/2}}else h=s==="bottom"?{bottom:u&&u.bottom||0}:{top:u&&u.top||0};return Gs(Gs({},f),h)}},{key:"render",value:function(){var r=this,i=this.props,o=i.content,a=i.width,s=i.height,u=i.wrapperStyle,l=i.payloadUniqBy,c=i.payload,f=Gs(Gs({position:"absolute",width:a||"auto",height:s||"auto"},this.getDefaultPosition(u)),u);return F.createElement("div",{className:"recharts-legend-wrapper",style:f,ref:function(p){r.wrapperNode=p}},_5e(o,Gs(Gs({},this.props),{},{payload:gW(c,l,w5e)})))}}],[{key:"getWithHeight",value:function(r,i){var o=Gs(Gs({},this.defaultProps),r.props),a=o.layout;return a==="vertical"&&qe(r.props.height)?{height:r.props.height}:a==="horizontal"?{width:r.props.width||i}:null}}])}(y.PureComponent);B2(Dd,"displayName","Legend");B2(Dd,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"bottom"});var yD=$m,S5e=KO,C5e=vo,bD=yD?yD.isConcatSpreadable:void 0;function E5e(e){return C5e(e)||S5e(e)||!!(bD&&e&&e[bD])}var O5e=E5e,A5e=rW,P5e=O5e;function yW(e,t,n,r,i){var o=-1,a=e.length;for(n||(n=P5e),i||(i=[]);++o0&&n(s)?t>1?yW(s,t-1,n,r,i):A5e(i,s):r||(i[i.length]=s)}return i}var bW=yW;function k5e(e){return function(t,n,r){for(var i=-1,o=Object(t),a=r(t),s=a.length;s--;){var u=a[e?s:++i];if(n(o[u],u,o)===!1)break}return t}}var T5e=k5e,M5e=T5e,R5e=M5e(),D5e=R5e,$5e=D5e,I5e=j2;function N5e(e,t){return e&&$5e(e,t,I5e)}var xW=N5e,L5e=Nm;function F5e(e,t){return function(n,r){if(n==null)return n;if(!L5e(n))return e(n,r);for(var i=n.length,o=t?i:-1,a=Object(n);(t?o--:++ot||o&&a&&u&&!s&&!l||r&&a&&u||!n&&u||!i)return 1;if(!r&&!o&&!l&&e=s)return u;var l=n[r];return u*(l=="desc"?-1:1)}}return e.index-t.index}var Q5e=X5e,WS=IO,J5e=NO,eOe=Vl,tOe=wW,nOe=q5e,rOe=aW,iOe=Q5e,oOe=Yh,aOe=vo;function sOe(e,t,n){t.length?t=WS(t,function(o){return aOe(o)?function(a){return J5e(a,o.length===1?o[0]:o)}:o}):t=[oOe];var r=-1;t=WS(t,rOe(eOe));var i=tOe(e,function(o,a,s){var u=WS(t,function(l){return l(o)});return{criteria:u,index:++r,value:o}});return nOe(i,function(o,a){return iOe(o,a,n)})}var uOe=sOe;function lOe(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}var cOe=lOe,fOe=cOe,wD=Math.max;function dOe(e,t,n){return t=wD(t===void 0?e.length-1:t,0),function(){for(var r=arguments,i=-1,o=wD(r.length-t,0),a=Array(o);++i0){if(++t>=_Oe)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var OOe=EOe,AOe=wOe,POe=OOe,kOe=POe(AOe),TOe=kOe,MOe=Yh,ROe=hOe,DOe=TOe;function $Oe(e,t){return DOe(ROe(e,t,MOe),e+"")}var IOe=$Oe,NOe=MO,LOe=Nm,FOe=qO,jOe=Ul;function BOe(e,t,n){if(!jOe(n))return!1;var r=typeof t;return(r=="number"?LOe(n)&&FOe(t,n.length):r=="string"&&t in n)?NOe(n[t],e):!1}var z2=BOe,zOe=bW,UOe=uOe,VOe=IOe,SD=z2,WOe=VOe(function(e,t){if(e==null)return[];var n=t.length;return n>1&&SD(e,t[0],t[1])?t=[]:n>2&&SD(t[0],t[1],t[2])&&(t=[t[0]]),UOe(e,zOe(t,1),[])}),HOe=WOe;const XO=Dn(HOe);function Sg(e){"@babel/helpers - typeof";return Sg=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Sg(e)}function HE(){return HE=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=t.x),"".concat(zp,"-left"),qe(n)&&t&&qe(t.x)&&n=t.y),"".concat(zp,"-top"),qe(r)&&t&&qe(t.y)&&rv?Math.max(c,u[r]):Math.max(f,u[r])}function aAe(e){var t=e.translateX,n=e.translateY,r=e.useTranslate3d;return{transform:r?"translate3d(".concat(t,"px, ").concat(n,"px, 0)"):"translate(".concat(t,"px, ").concat(n,"px)")}}function sAe(e){var t=e.allowEscapeViewBox,n=e.coordinate,r=e.offsetTopLeft,i=e.position,o=e.reverseDirection,a=e.tooltipBox,s=e.useTranslate3d,u=e.viewBox,l,c,f;return a.height>0&&a.width>0&&n?(c=OD({allowEscapeViewBox:t,coordinate:n,key:"x",offsetTopLeft:r,position:i,reverseDirection:o,tooltipDimension:a.width,viewBox:u,viewBoxDimension:u.width}),f=OD({allowEscapeViewBox:t,coordinate:n,key:"y",offsetTopLeft:r,position:i,reverseDirection:o,tooltipDimension:a.height,viewBox:u,viewBoxDimension:u.height}),l=aAe({translateX:c,translateY:f,useTranslate3d:s})):l=iAe,{cssProperties:l,cssClasses:oAe({translateX:c,translateY:f,coordinate:n})}}function th(e){"@babel/helpers - typeof";return th=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},th(e)}function AD(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function PD(e){for(var t=1;tkD||Math.abs(r.height-this.state.lastBoundingBox.height)>kD)&&this.setState({lastBoundingBox:{width:r.width,height:r.height}})}else(this.state.lastBoundingBox.width!==-1||this.state.lastBoundingBox.height!==-1)&&this.setState({lastBoundingBox:{width:-1,height:-1}})}},{key:"componentDidMount",value:function(){document.addEventListener("keydown",this.handleKeyDown),this.updateBBox()}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleKeyDown)}},{key:"componentDidUpdate",value:function(){var r,i;this.props.active&&this.updateBBox(),this.state.dismissed&&(((r=this.props.coordinate)===null||r===void 0?void 0:r.x)!==this.state.dismissedAtCoordinate.x||((i=this.props.coordinate)===null||i===void 0?void 0:i.y)!==this.state.dismissedAtCoordinate.y)&&(this.state.dismissed=!1)}},{key:"render",value:function(){var r=this,i=this.props,o=i.active,a=i.allowEscapeViewBox,s=i.animationDuration,u=i.animationEasing,l=i.children,c=i.coordinate,f=i.hasPayload,h=i.isAnimationActive,p=i.offset,m=i.position,v=i.reverseDirection,b=i.useTranslate3d,w=i.viewBox,x=i.wrapperStyle,S=sAe({allowEscapeViewBox:a,coordinate:c,offsetTopLeft:p,position:m,reverseDirection:v,tooltipBox:this.state.lastBoundingBox,useTranslate3d:b,viewBox:w}),O=S.cssClasses,E=S.cssProperties,C=PD(PD({transition:h&&o?"transform ".concat(s,"ms ").concat(u):void 0},E),{},{pointerEvents:"none",visibility:!this.state.dismissed&&o&&f?"visible":"hidden",position:"absolute",top:0,left:0},x);return F.createElement("div",{tabIndex:-1,className:O,style:C,ref:function(M){r.wrapperNode=M}},l)}}])}(y.PureComponent),vAe=function(){return!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout)},Ka={isSsr:vAe(),get:function(t){return Ka[t]},set:function(t,n){if(typeof t=="string")Ka[t]=n;else{var r=Object.keys(t);r&&r.length&&r.forEach(function(i){Ka[i]=t[i]})}}};function nh(e){"@babel/helpers - typeof";return nh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},nh(e)}function TD(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function MD(e){for(var t=1;t0;return F.createElement(mAe,{allowEscapeViewBox:a,animationDuration:s,animationEasing:u,isAnimationActive:h,active:o,coordinate:c,hasPayload:C,offset:p,position:b,reverseDirection:w,useTranslate3d:x,viewBox:S,wrapperStyle:O},AAe(l,MD(MD({},this.props),{},{payload:E})))}}])}(y.PureComponent);QO(Js,"displayName","Tooltip");QO(Js,"defaultProps",{accessibilityLayer:!1,allowEscapeViewBox:{x:!1,y:!1},animationDuration:400,animationEasing:"ease",contentStyle:{},coordinate:{x:0,y:0},cursor:!0,cursorStyle:{},filterNull:!0,isAnimationActive:!Ka.isSsr,itemStyle:{},labelStyle:{},offset:10,reverseDirection:{x:!1,y:!1},separator:" : ",trigger:"hover",useTranslate3d:!1,viewBox:{x:0,y:0,height:0,width:0},wrapperStyle:{}});var PAe=Ds,kAe=function(){return PAe.Date.now()},TAe=kAe,MAe=/\s/;function RAe(e){for(var t=e.length;t--&&MAe.test(e.charAt(t)););return t}var DAe=RAe,$Ae=DAe,IAe=/^\s+/;function NAe(e){return e&&e.slice(0,$Ae(e)+1).replace(IAe,"")}var LAe=NAe,FAe=LAe,RD=Ul,jAe=zh,DD=NaN,BAe=/^[-+]0x[0-9a-f]+$/i,zAe=/^0b[01]+$/i,UAe=/^0o[0-7]+$/i,VAe=parseInt;function WAe(e){if(typeof e=="number")return e;if(jAe(e))return DD;if(RD(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=RD(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=FAe(e);var n=zAe.test(e);return n||UAe.test(e)?VAe(e.slice(2),n?2:8):BAe.test(e)?DD:+e}var AW=WAe,HAe=Ul,KS=TAe,$D=AW,KAe="Expected a function",qAe=Math.max,GAe=Math.min;function YAe(e,t,n){var r,i,o,a,s,u,l=0,c=!1,f=!1,h=!0;if(typeof e!="function")throw new TypeError(KAe);t=$D(t)||0,HAe(n)&&(c=!!n.leading,f="maxWait"in n,o=f?qAe($D(n.maxWait)||0,t):o,h="trailing"in n?!!n.trailing:h);function p(C){var k=r,M=i;return r=i=void 0,l=C,a=e.apply(M,k),a}function m(C){return l=C,s=setTimeout(w,t),c?p(C):a}function v(C){var k=C-u,M=C-l,L=t-k;return f?GAe(L,o-M):L}function b(C){var k=C-u,M=C-l;return u===void 0||k>=t||k<0||f&&M>=o}function w(){var C=KS();if(b(C))return x(C);s=setTimeout(w,v(C))}function x(C){return s=void 0,h&&r?p(C):(r=i=void 0,a)}function S(){s!==void 0&&clearTimeout(s),l=0,r=u=i=s=void 0}function O(){return s===void 0?a:x(KS())}function E(){var C=KS(),k=b(C);if(r=arguments,i=this,u=C,k){if(s===void 0)return m(u);if(f)return clearTimeout(s),s=setTimeout(w,t),p(u)}return s===void 0&&(s=setTimeout(w,t)),a}return E.cancel=S,E.flush=O,E}var ZAe=YAe,XAe=ZAe,QAe=Ul,JAe="Expected a function";function ePe(e,t,n){var r=!0,i=!0;if(typeof e!="function")throw new TypeError(JAe);return QAe(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),XAe(e,t,{leading:r,maxWait:t,trailing:i})}var tPe=ePe;const PW=Dn(tPe);function Eg(e){"@babel/helpers - typeof";return Eg=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Eg(e)}function ID(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function m1(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&(ne=PW(ne,v,{trailing:!0,leading:!1}));var Z=new ResizeObserver(ne),G=E.current.getBoundingClientRect(),q=G.width,W=G.height;return H(q,W),Z.observe(E.current),function(){Z.disconnect()}},[H,v]);var V=y.useMemo(function(){var ne=L.containerWidth,Z=L.containerHeight;if(ne<0||Z<0)return null;du(Sc(a)||Sc(u),`The width(%s) and height(%s) are both fixed numbers, + maybe you don't need to use a ResponsiveContainer.`,a,u),du(!n||n>0,"The aspect(%s) must be greater than zero.",n);var G=Sc(a)?ne:a,q=Sc(u)?Z:u;n&&n>0&&(G?q=G/n:q&&(G=q*n),h&&q>h&&(q=h)),du(G>0||q>0,`The width(%s) and height(%s) of chart should be greater than 0, + please check the style of container, or the props width(%s) and height(%s), + or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the + height and width.`,G,q,a,u,c,f,n);var W=!Array.isArray(p)&&fu(p.type).endsWith("Chart");return F.Children.map(p,function(j){return F.isValidElement(j)?y.cloneElement(j,m1({width:G,height:q},W?{style:m1({height:"100%",width:"100%",maxHeight:q,maxWidth:G},j.props.style)}:{})):j})},[n,p,u,h,f,c,L,a]);return F.createElement("div",{id:b?"".concat(b):void 0,className:dn("recharts-responsive-container",w),style:m1(m1({},O),{},{width:a,height:u,minWidth:c,minHeight:f,maxHeight:h}),ref:E},V)}),JO=function(t){return null};JO.displayName="Cell";function Og(e){"@babel/helpers - typeof";return Og=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Og(e)}function LD(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function YE(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||Ka.isSsr)return{width:0,height:0};var r=gPe(n),i=JSON.stringify({text:t,copyStyle:r});if(Gf.widthCache[i])return Gf.widthCache[i];try{var o=document.getElementById(FD);o||(o=document.createElement("span"),o.setAttribute("id",FD),o.setAttribute("aria-hidden","true"),document.body.appendChild(o));var a=YE(YE({},pPe),r);Object.assign(o.style,a),o.textContent="".concat(t);var s=o.getBoundingClientRect(),u={width:s.width,height:s.height};return Gf.widthCache[i]=u,++Gf.cacheCount>hPe&&(Gf.cacheCount=0,Gf.widthCache={}),u}catch{return{width:0,height:0}}},mPe=function(t){return{top:t.top+window.scrollY-document.documentElement.clientTop,left:t.left+window.scrollX-document.documentElement.clientLeft}};function Ag(e){"@babel/helpers - typeof";return Ag=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ag(e)}function Eb(e,t){return xPe(e)||bPe(e,t)||yPe(e,t)||vPe()}function vPe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function yPe(e,t){if(e){if(typeof e=="string")return jD(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return jD(e,t)}}function jD(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function $Pe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function HD(e,t){return FPe(e)||LPe(e,t)||NPe(e,t)||IPe()}function IPe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function NPe(e,t){if(e){if(typeof e=="string")return KD(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return KD(e,t)}}function KD(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&arguments[0]!==void 0?arguments[0]:[];return G.reduce(function(q,W){var j=W.word,K=W.width,Y=q[q.length-1];if(Y&&(i==null||o||Y.width+K+rW.width?q:W})};if(!c)return p;for(var v="…",b=function(G){var q=f.slice(0,G),W=RW({breakAll:l,style:u,children:q+v}).wordsWithComputedWidth,j=h(W),K=j.length>a||m(j).width>Number(i);return[K,j]},w=0,x=f.length-1,S=0,O;w<=x&&S<=f.length-1;){var E=Math.floor((w+x)/2),C=E-1,k=b(C),M=HD(k,2),L=M[0],U=M[1],H=b(E),V=HD(H,1),ne=V[0];if(!L&&!ne&&(w=E+1),L&&ne&&(x=E-1),!L&&ne){O=U;break}S++}return O||p},qD=function(t){var n=Ut(t)?[]:t.toString().split(MW);return[{words:n}]},BPe=function(t){var n=t.width,r=t.scaleToFit,i=t.children,o=t.style,a=t.breakAll,s=t.maxLines;if((n||r)&&!Ka.isSsr){var u,l,c=RW({breakAll:a,children:i,style:o});if(c){var f=c.wordsWithComputedWidth,h=c.spaceWidth;u=f,l=h}else return qD(i);return jPe({breakAll:a,children:i,maxLines:s,style:o},u,l,n,r)}return qD(i)},GD="#808080",Ob=function(t){var n=t.x,r=n===void 0?0:n,i=t.y,o=i===void 0?0:i,a=t.lineHeight,s=a===void 0?"1em":a,u=t.capHeight,l=u===void 0?"0.71em":u,c=t.scaleToFit,f=c===void 0?!1:c,h=t.textAnchor,p=h===void 0?"start":h,m=t.verticalAnchor,v=m===void 0?"end":m,b=t.fill,w=b===void 0?GD:b,x=WD(t,RPe),S=y.useMemo(function(){return BPe({breakAll:x.breakAll,children:x.children,maxLines:x.maxLines,scaleToFit:f,style:x.style,width:x.width})},[x.breakAll,x.children,x.maxLines,f,x.style,x.width]),O=x.dx,E=x.dy,C=x.angle,k=x.className,M=x.breakAll,L=WD(x,DPe);if(!Hr(r)||!Hr(o))return null;var U=r+(qe(O)?O:0),H=o+(qe(E)?E:0),V;switch(v){case"start":V=qS("calc(".concat(l,")"));break;case"middle":V=qS("calc(".concat((S.length-1)/2," * -").concat(s," + (").concat(l," / 2))"));break;default:V=qS("calc(".concat(S.length-1," * -").concat(s,")"));break}var ne=[];if(f){var Z=S[0].width,G=x.width;ne.push("scale(".concat((qe(G)?G/Z:1)/Z,")"))}return C&&ne.push("rotate(".concat(C,", ").concat(U,", ").concat(H,")")),ne.length&&(L.transform=ne.join(" ")),F.createElement("text",ZE({},zt(L,!0),{x:U,y:H,className:dn("recharts-text",k),textAnchor:p,fill:w.includes("url")?GD:w}),S.map(function(q,W){var j=q.words.join(M?"":" ");return F.createElement("tspan",{x:U,dy:W===0?V:s,key:"".concat(j,"-").concat(W)},j)}))};function _l(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function zPe(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function eA(e){let t,n,r;e.length!==2?(t=_l,n=(s,u)=>_l(e(s),u),r=(s,u)=>e(s)-u):(t=e===_l||e===zPe?e:UPe,n=e,r=e);function i(s,u,l=0,c=s.length){if(l>>1;n(s[f],u)<0?l=f+1:c=f}while(l>>1;n(s[f],u)<=0?l=f+1:c=f}while(ll&&r(s[f-1],u)>-r(s[f],u)?f-1:f}return{left:i,center:a,right:o}}function UPe(){return 0}function DW(e){return e===null?NaN:+e}function*VPe(e,t){for(let n of e)n!=null&&(n=+n)>=n&&(yield n)}const WPe=eA(_l),Lm=WPe.right;eA(DW).center;class YD extends Map{constructor(t,n=qPe){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),t!=null)for(const[r,i]of t)this.set(r,i)}get(t){return super.get(ZD(this,t))}has(t){return super.has(ZD(this,t))}set(t,n){return super.set(HPe(this,t),n)}delete(t){return super.delete(KPe(this,t))}}function ZD({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):n}function HPe({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function KPe({_intern:e,_key:t},n){const r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function qPe(e){return e!==null&&typeof e=="object"?e.valueOf():e}function GPe(e=_l){if(e===_l)return $W;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,n)=>{const r=e(t,n);return r||r===0?r:(e(n,n)===0)-(e(t,t)===0)}}function $W(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}const YPe=Math.sqrt(50),ZPe=Math.sqrt(10),XPe=Math.sqrt(2);function Ab(e,t,n){const r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),o=r/Math.pow(10,i),a=o>=YPe?10:o>=ZPe?5:o>=XPe?2:1;let s,u,l;return i<0?(l=Math.pow(10,-i)/a,s=Math.round(e*l),u=Math.round(t*l),s/lt&&--u,l=-l):(l=Math.pow(10,i)*a,s=Math.round(e/l),u=Math.round(t/l),s*lt&&--u),u0))return[];if(e===t)return[e];const r=t=i))return[];const s=o-i+1,u=new Array(s);if(r)if(a<0)for(let l=0;l=r)&&(n=r);return n}function QD(e,t){let n;for(const r of e)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);return n}function IW(e,t,n=0,r=1/0,i){if(t=Math.floor(t),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(e.length-1,r)),!(n<=t&&t<=r))return e;for(i=i===void 0?$W:GPe(i);r>n;){if(r-n>600){const u=r-n+1,l=t-n+1,c=Math.log(u),f=.5*Math.exp(2*c/3),h=.5*Math.sqrt(c*f*(u-f)/u)*(l-u/2<0?-1:1),p=Math.max(n,Math.floor(t-l*f/u+h)),m=Math.min(r,Math.floor(t+(u-l)*f/u+h));IW(e,t,p,m,i)}const o=e[t];let a=n,s=r;for(Up(e,n,t),i(e[r],o)>0&&Up(e,n,r);a0;)--s}i(e[n],o)===0?Up(e,n,s):(++s,Up(e,s,r)),s<=t&&(n=s+1),t<=s&&(r=s-1)}return e}function Up(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}function QPe(e,t,n){if(e=Float64Array.from(VPe(e)),!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return QD(e);if(t>=1)return XD(e);var r,i=(r-1)*t,o=Math.floor(i),a=XD(IW(e,o).subarray(0,o+1)),s=QD(e.subarray(o+1));return a+(s-a)*(i-o)}}function JPe(e,t,n=DW){if(!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return+n(e[0],0,e);if(t>=1)return+n(e[r-1],r-1,e);var r,i=(r-1)*t,o=Math.floor(i),a=+n(e[o],o,e),s=+n(e[o+1],o+1,e);return a+(s-a)*(i-o)}}function e8e(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((t-e)/n))|0,o=new Array(i);++r>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?y1(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?y1(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=n8e.exec(e))?new so(t[1],t[2],t[3],1):(t=r8e.exec(e))?new so(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=i8e.exec(e))?y1(t[1],t[2],t[3],t[4]):(t=o8e.exec(e))?y1(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=a8e.exec(e))?o7(t[1],t[2]/100,t[3]/100,1):(t=s8e.exec(e))?o7(t[1],t[2]/100,t[3]/100,t[4]):JD.hasOwnProperty(e)?n7(JD[e]):e==="transparent"?new so(NaN,NaN,NaN,0):null}function n7(e){return new so(e>>16&255,e>>8&255,e&255,1)}function y1(e,t,n,r){return r<=0&&(e=t=n=NaN),new so(e,t,n,r)}function c8e(e){return e instanceof Fm||(e=Mg(e)),e?(e=e.rgb(),new so(e.r,e.g,e.b,e.opacity)):new so}function t6(e,t,n,r){return arguments.length===1?c8e(e):new so(e,t,n,r??1)}function so(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}nA(so,t6,LW(Fm,{brighter(e){return e=e==null?Pb:Math.pow(Pb,e),new so(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?kg:Math.pow(kg,e),new so(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new so(Dc(this.r),Dc(this.g),Dc(this.b),kb(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:r7,formatHex:r7,formatHex8:f8e,formatRgb:i7,toString:i7}));function r7(){return`#${Cc(this.r)}${Cc(this.g)}${Cc(this.b)}`}function f8e(){return`#${Cc(this.r)}${Cc(this.g)}${Cc(this.b)}${Cc((isNaN(this.opacity)?1:this.opacity)*255)}`}function i7(){const e=kb(this.opacity);return`${e===1?"rgb(":"rgba("}${Dc(this.r)}, ${Dc(this.g)}, ${Dc(this.b)}${e===1?")":`, ${e})`}`}function kb(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Dc(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Cc(e){return e=Dc(e),(e<16?"0":"")+e.toString(16)}function o7(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Ba(e,t,n,r)}function FW(e){if(e instanceof Ba)return new Ba(e.h,e.s,e.l,e.opacity);if(e instanceof Fm||(e=Mg(e)),!e)return new Ba;if(e instanceof Ba)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),o=Math.max(t,n,r),a=NaN,s=o-i,u=(o+i)/2;return s?(t===o?a=(n-r)/s+(n0&&u<1?0:a,new Ba(a,s,u,e.opacity)}function d8e(e,t,n,r){return arguments.length===1?FW(e):new Ba(e,t,n,r??1)}function Ba(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}nA(Ba,d8e,LW(Fm,{brighter(e){return e=e==null?Pb:Math.pow(Pb,e),new Ba(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?kg:Math.pow(kg,e),new Ba(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new so(GS(e>=240?e-240:e+120,i,r),GS(e,i,r),GS(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new Ba(a7(this.h),b1(this.s),b1(this.l),kb(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=kb(this.opacity);return`${e===1?"hsl(":"hsla("}${a7(this.h)}, ${b1(this.s)*100}%, ${b1(this.l)*100}%${e===1?")":`, ${e})`}`}}));function a7(e){return e=(e||0)%360,e<0?e+360:e}function b1(e){return Math.max(0,Math.min(1,e||0))}function GS(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const rA=e=>()=>e;function h8e(e,t){return function(n){return e+n*t}}function p8e(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function g8e(e){return(e=+e)==1?jW:function(t,n){return n-t?p8e(t,n,e):rA(isNaN(t)?n:t)}}function jW(e,t){var n=t-e;return n?h8e(e,n):rA(isNaN(e)?t:e)}const s7=function e(t){var n=g8e(t);function r(i,o){var a=n((i=t6(i)).r,(o=t6(o)).r),s=n(i.g,o.g),u=n(i.b,o.b),l=jW(i.opacity,o.opacity);return function(c){return i.r=a(c),i.g=s(c),i.b=u(c),i.opacity=l(c),i+""}}return r.gamma=e,r}(1);function m8e(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(o){for(i=0;in&&(o=t.slice(n,o),s[a]?s[a]+=o:s[++a]=o),(r=r[0])===(i=i[0])?s[a]?s[a]+=i:s[++a]=i:(s[++a]=null,u.push({i:a,x:Tb(r,i)})),n=YS.lastIndex;return nt&&(n=e,e=t,t=n),function(r){return Math.max(e,Math.min(t,r))}}function A8e(e,t,n){var r=e[0],i=e[1],o=t[0],a=t[1];return i2?P8e:A8e,u=l=null,f}function f(h){return h==null||isNaN(h=+h)?o:(u||(u=s(e.map(r),t,n)))(r(a(h)))}return f.invert=function(h){return a(i((l||(l=s(t,e.map(r),Tb)))(h)))},f.domain=function(h){return arguments.length?(e=Array.from(h,Mb),c()):e.slice()},f.range=function(h){return arguments.length?(t=Array.from(h),c()):t.slice()},f.rangeRound=function(h){return t=Array.from(h),n=iA,c()},f.clamp=function(h){return arguments.length?(a=h?!0:Vi,c()):a!==Vi},f.interpolate=function(h){return arguments.length?(n=h,c()):n},f.unknown=function(h){return arguments.length?(o=h,f):o},function(h,p){return r=h,i=p,c()}}function oA(){return U2()(Vi,Vi)}function k8e(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function Rb(e,t){if((n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var n,r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function rh(e){return e=Rb(Math.abs(e)),e?e[1]:NaN}function T8e(e,t){return function(n,r){for(var i=n.length,o=[],a=0,s=e[0],u=0;i>0&&s>0&&(u+s+1>r&&(s=Math.max(1,r-u)),o.push(n.substring(i-=s,i+s)),!((u+=s+1)>r));)s=e[a=(a+1)%e.length];return o.reverse().join(t)}}function M8e(e){return function(t){return t.replace(/[0-9]/g,function(n){return e[+n]})}}var R8e=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Rg(e){if(!(t=R8e.exec(e)))throw new Error("invalid format: "+e);var t;return new aA({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}Rg.prototype=aA.prototype;function aA(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}aA.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function D8e(e){e:for(var t=e.length,n=1,r=-1,i;n0&&(r=0);break}return r>0?e.slice(0,r)+e.slice(i+1):e}var BW;function $8e(e,t){var n=Rb(e,t);if(!n)return e+"";var r=n[0],i=n[1],o=i-(BW=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,a=r.length;return o===a?r:o>a?r+new Array(o-a+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+Rb(e,Math.max(0,t+o-1))[0]}function l7(e,t){var n=Rb(e,t);if(!n)return e+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}const c7={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:k8e,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>l7(e*100,t),r:l7,s:$8e,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function f7(e){return e}var d7=Array.prototype.map,h7=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function I8e(e){var t=e.grouping===void 0||e.thousands===void 0?f7:T8e(d7.call(e.grouping,Number),e.thousands+""),n=e.currency===void 0?"":e.currency[0]+"",r=e.currency===void 0?"":e.currency[1]+"",i=e.decimal===void 0?".":e.decimal+"",o=e.numerals===void 0?f7:M8e(d7.call(e.numerals,String)),a=e.percent===void 0?"%":e.percent+"",s=e.minus===void 0?"−":e.minus+"",u=e.nan===void 0?"NaN":e.nan+"";function l(f){f=Rg(f);var h=f.fill,p=f.align,m=f.sign,v=f.symbol,b=f.zero,w=f.width,x=f.comma,S=f.precision,O=f.trim,E=f.type;E==="n"?(x=!0,E="g"):c7[E]||(S===void 0&&(S=12),O=!0,E="g"),(b||h==="0"&&p==="=")&&(b=!0,h="0",p="=");var C=v==="$"?n:v==="#"&&/[boxX]/.test(E)?"0"+E.toLowerCase():"",k=v==="$"?r:/[%p]/.test(E)?a:"",M=c7[E],L=/[defgprs%]/.test(E);S=S===void 0?6:/[gprs]/.test(E)?Math.max(1,Math.min(21,S)):Math.max(0,Math.min(20,S));function U(H){var V=C,ne=k,Z,G,q;if(E==="c")ne=M(H)+ne,H="";else{H=+H;var W=H<0||1/H<0;if(H=isNaN(H)?u:M(Math.abs(H),S),O&&(H=D8e(H)),W&&+H==0&&m!=="+"&&(W=!1),V=(W?m==="("?m:s:m==="-"||m==="("?"":m)+V,ne=(E==="s"?h7[8+BW/3]:"")+ne+(W&&m==="("?")":""),L){for(Z=-1,G=H.length;++Zq||q>57){ne=(q===46?i+H.slice(Z+1):H.slice(Z))+ne,H=H.slice(0,Z);break}}}x&&!b&&(H=t(H,1/0));var j=V.length+H.length+ne.length,K=j>1)+V+H+ne+K.slice(j);break;default:H=K+V+H+ne;break}return o(H)}return U.toString=function(){return f+""},U}function c(f,h){var p=l((f=Rg(f),f.type="f",f)),m=Math.max(-8,Math.min(8,Math.floor(rh(h)/3)))*3,v=Math.pow(10,-m),b=h7[8+m/3];return function(w){return p(v*w)+b}}return{format:l,formatPrefix:c}}var x1,sA,zW;N8e({thousands:",",grouping:[3],currency:["$",""]});function N8e(e){return x1=I8e(e),sA=x1.format,zW=x1.formatPrefix,x1}function L8e(e){return Math.max(0,-rh(Math.abs(e)))}function F8e(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(rh(t)/3)))*3-rh(Math.abs(e)))}function j8e(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,rh(t)-rh(e))+1}function UW(e,t,n,r){var i=JE(e,t,n),o;switch(r=Rg(r??",f"),r.type){case"s":{var a=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(o=F8e(i,a))&&(r.precision=o),zW(r,a)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(o=j8e(i,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=o-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(o=L8e(i))&&(r.precision=o-(r.type==="%")*2);break}}return sA(r)}function Wl(e){var t=e.domain;return e.ticks=function(n){var r=t();return XE(r[0],r[r.length-1],n??10)},e.tickFormat=function(n,r){var i=t();return UW(i[0],i[i.length-1],n??10,r)},e.nice=function(n){n==null&&(n=10);var r=t(),i=0,o=r.length-1,a=r[i],s=r[o],u,l,c=10;for(s0;){if(l=QE(a,s,n),l===u)return r[i]=a,r[o]=s,t(r);if(l>0)a=Math.floor(a/l)*l,s=Math.ceil(s/l)*l;else if(l<0)a=Math.ceil(a*l)/l,s=Math.floor(s*l)/l;else break;u=l}return e},e}function Db(){var e=oA();return e.copy=function(){return jm(e,Db())},xa.apply(e,arguments),Wl(e)}function VW(e){var t;function n(r){return r==null||isNaN(r=+r)?t:r}return n.invert=n,n.domain=n.range=function(r){return arguments.length?(e=Array.from(r,Mb),n):e.slice()},n.unknown=function(r){return arguments.length?(t=r,n):t},n.copy=function(){return VW(e).unknown(t)},e=arguments.length?Array.from(e,Mb):[0,1],Wl(n)}function WW(e,t){e=e.slice();var n=0,r=e.length-1,i=e[n],o=e[r],a;return oMath.pow(e,t)}function W8e(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function m7(e){return(t,n)=>-e(-t,n)}function uA(e){const t=e(p7,g7),n=t.domain;let r=10,i,o;function a(){return i=W8e(r),o=V8e(r),n()[0]<0?(i=m7(i),o=m7(o),e(B8e,z8e)):e(p7,g7),t}return t.base=function(s){return arguments.length?(r=+s,a()):r},t.domain=function(s){return arguments.length?(n(s),a()):n()},t.ticks=s=>{const u=n();let l=u[0],c=u[u.length-1];const f=c0){for(;h<=p;++h)for(m=1;mc)break;w.push(v)}}else for(;h<=p;++h)for(m=r-1;m>=1;--m)if(v=h>0?m/o(-h):m*o(h),!(vc)break;w.push(v)}w.length*2{if(s==null&&(s=10),u==null&&(u=r===10?"s":","),typeof u!="function"&&(!(r%1)&&(u=Rg(u)).precision==null&&(u.trim=!0),u=sA(u)),s===1/0)return u;const l=Math.max(1,r*s/t.ticks().length);return c=>{let f=c/o(Math.round(i(c)));return f*rn(WW(n(),{floor:s=>o(Math.floor(i(s))),ceil:s=>o(Math.ceil(i(s)))})),t}function HW(){const e=uA(U2()).domain([1,10]);return e.copy=()=>jm(e,HW()).base(e.base()),xa.apply(e,arguments),e}function v7(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function y7(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function lA(e){var t=1,n=e(v7(t),y7(t));return n.constant=function(r){return arguments.length?e(v7(t=+r),y7(t)):t},Wl(n)}function KW(){var e=lA(U2());return e.copy=function(){return jm(e,KW()).constant(e.constant())},xa.apply(e,arguments)}function b7(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function H8e(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function K8e(e){return e<0?-e*e:e*e}function cA(e){var t=e(Vi,Vi),n=1;function r(){return n===1?e(Vi,Vi):n===.5?e(H8e,K8e):e(b7(n),b7(1/n))}return t.exponent=function(i){return arguments.length?(n=+i,r()):n},Wl(t)}function fA(){var e=cA(U2());return e.copy=function(){return jm(e,fA()).exponent(e.exponent())},xa.apply(e,arguments),e}function q8e(){return fA.apply(null,arguments).exponent(.5)}function x7(e){return Math.sign(e)*e*e}function G8e(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function qW(){var e=oA(),t=[0,1],n=!1,r;function i(o){var a=G8e(e(o));return isNaN(a)?r:n?Math.round(a):a}return i.invert=function(o){return e.invert(x7(o))},i.domain=function(o){return arguments.length?(e.domain(o),i):e.domain()},i.range=function(o){return arguments.length?(e.range((t=Array.from(o,Mb)).map(x7)),i):t.slice()},i.rangeRound=function(o){return i.range(o).round(!0)},i.round=function(o){return arguments.length?(n=!!o,i):n},i.clamp=function(o){return arguments.length?(e.clamp(o),i):e.clamp()},i.unknown=function(o){return arguments.length?(r=o,i):r},i.copy=function(){return qW(e.domain(),t).round(n).clamp(e.clamp()).unknown(r)},xa.apply(i,arguments),Wl(i)}function GW(){var e=[],t=[],n=[],r;function i(){var a=0,s=Math.max(1,t.length);for(n=new Array(s-1);++a0?n[s-1]:e[0],s=n?[r[n-1],t]:[r[l-1],r[l]]},a.unknown=function(u){return arguments.length&&(o=u),a},a.thresholds=function(){return r.slice()},a.copy=function(){return YW().domain([e,t]).range(i).unknown(o)},xa.apply(Wl(a),arguments)}function ZW(){var e=[.5],t=[0,1],n,r=1;function i(o){return o!=null&&o<=o?t[Lm(e,o,0,r)]:n}return i.domain=function(o){return arguments.length?(e=Array.from(o),r=Math.min(e.length,t.length-1),i):e.slice()},i.range=function(o){return arguments.length?(t=Array.from(o),r=Math.min(e.length,t.length-1),i):t.slice()},i.invertExtent=function(o){var a=t.indexOf(o);return[e[a-1],e[a]]},i.unknown=function(o){return arguments.length?(n=o,i):n},i.copy=function(){return ZW().domain(e).range(t).unknown(n)},xa.apply(i,arguments)}const ZS=new Date,XS=new Date;function Zr(e,t,n,r){function i(o){return e(o=arguments.length===0?new Date:new Date(+o)),o}return i.floor=o=>(e(o=new Date(+o)),o),i.ceil=o=>(e(o=new Date(o-1)),t(o,1),e(o),o),i.round=o=>{const a=i(o),s=i.ceil(o);return o-a(t(o=new Date(+o),a==null?1:Math.floor(a)),o),i.range=(o,a,s)=>{const u=[];if(o=i.ceil(o),s=s==null?1:Math.floor(s),!(o0))return u;let l;do u.push(l=new Date(+o)),t(o,s),e(o);while(lZr(a=>{if(a>=a)for(;e(a),!o(a);)a.setTime(a-1)},(a,s)=>{if(a>=a)if(s<0)for(;++s<=0;)for(;t(a,-1),!o(a););else for(;--s>=0;)for(;t(a,1),!o(a););}),n&&(i.count=(o,a)=>(ZS.setTime(+o),XS.setTime(+a),e(ZS),e(XS),Math.floor(n(ZS,XS))),i.every=o=>(o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?i.filter(r?a=>r(a)%o===0:a=>i.count(0,a)%o===0):i)),i}const $b=Zr(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);$b.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?Zr(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):$b);$b.range;const ou=1e3,ca=ou*60,au=ca*60,Su=au*24,dA=Su*7,w7=Su*30,QS=Su*365,Ec=Zr(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*ou)},(e,t)=>(t-e)/ou,e=>e.getUTCSeconds());Ec.range;const hA=Zr(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*ou)},(e,t)=>{e.setTime(+e+t*ca)},(e,t)=>(t-e)/ca,e=>e.getMinutes());hA.range;const pA=Zr(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*ca)},(e,t)=>(t-e)/ca,e=>e.getUTCMinutes());pA.range;const gA=Zr(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*ou-e.getMinutes()*ca)},(e,t)=>{e.setTime(+e+t*au)},(e,t)=>(t-e)/au,e=>e.getHours());gA.range;const mA=Zr(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*au)},(e,t)=>(t-e)/au,e=>e.getUTCHours());mA.range;const Bm=Zr(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*ca)/Su,e=>e.getDate()-1);Bm.range;const V2=Zr(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Su,e=>e.getUTCDate()-1);V2.range;const XW=Zr(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Su,e=>Math.floor(e/Su));XW.range;function yf(e){return Zr(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,n)=>{t.setDate(t.getDate()+n*7)},(t,n)=>(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*ca)/dA)}const W2=yf(0),Ib=yf(1),Y8e=yf(2),Z8e=yf(3),ih=yf(4),X8e=yf(5),Q8e=yf(6);W2.range;Ib.range;Y8e.range;Z8e.range;ih.range;X8e.range;Q8e.range;function bf(e){return Zr(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCDate(t.getUTCDate()+n*7)},(t,n)=>(n-t)/dA)}const H2=bf(0),Nb=bf(1),J8e=bf(2),eke=bf(3),oh=bf(4),tke=bf(5),nke=bf(6);H2.range;Nb.range;J8e.range;eke.range;oh.range;tke.range;nke.range;const vA=Zr(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());vA.range;const yA=Zr(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());yA.range;const Cu=Zr(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());Cu.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Zr(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)});Cu.range;const Eu=Zr(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());Eu.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Zr(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)});Eu.range;function QW(e,t,n,r,i,o){const a=[[Ec,1,ou],[Ec,5,5*ou],[Ec,15,15*ou],[Ec,30,30*ou],[o,1,ca],[o,5,5*ca],[o,15,15*ca],[o,30,30*ca],[i,1,au],[i,3,3*au],[i,6,6*au],[i,12,12*au],[r,1,Su],[r,2,2*Su],[n,1,dA],[t,1,w7],[t,3,3*w7],[e,1,QS]];function s(l,c,f){const h=cb).right(a,h);if(p===a.length)return e.every(JE(l/QS,c/QS,f));if(p===0)return $b.every(Math.max(JE(l,c,f),1));const[m,v]=a[h/a[p-1][2]53)return null;"w"in me||(me.w=1),"Z"in me?(lt=e3(Vp(me.y,0,1)),Nt=lt.getUTCDay(),lt=Nt>4||Nt===0?Nb.ceil(lt):Nb(lt),lt=V2.offset(lt,(me.V-1)*7),me.y=lt.getUTCFullYear(),me.m=lt.getUTCMonth(),me.d=lt.getUTCDate()+(me.w+6)%7):(lt=JS(Vp(me.y,0,1)),Nt=lt.getDay(),lt=Nt>4||Nt===0?Ib.ceil(lt):Ib(lt),lt=Bm.offset(lt,(me.V-1)*7),me.y=lt.getFullYear(),me.m=lt.getMonth(),me.d=lt.getDate()+(me.w+6)%7)}else("W"in me||"U"in me)&&("w"in me||(me.w="u"in me?me.u%7:"W"in me?1:0),Nt="Z"in me?e3(Vp(me.y,0,1)).getUTCDay():JS(Vp(me.y,0,1)).getDay(),me.m=0,me.d="W"in me?(me.w+6)%7+me.W*7-(Nt+5)%7:me.w+me.U*7-(Nt+6)%7);return"Z"in me?(me.H+=me.Z/100|0,me.M+=me.Z%100,e3(me)):JS(me)}}function M(ke,Le,De,me){for(var yt=0,lt=Le.length,Nt=De.length,yn,nn;yt=Nt)return-1;if(yn=Le.charCodeAt(yt++),yn===37){if(yn=Le.charAt(yt++),nn=E[yn in _7?Le.charAt(yt++):yn],!nn||(me=nn(ke,De,me))<0)return-1}else if(yn!=De.charCodeAt(me++))return-1}return me}function L(ke,Le,De){var me=l.exec(Le.slice(De));return me?(ke.p=c.get(me[0].toLowerCase()),De+me[0].length):-1}function U(ke,Le,De){var me=p.exec(Le.slice(De));return me?(ke.w=m.get(me[0].toLowerCase()),De+me[0].length):-1}function H(ke,Le,De){var me=f.exec(Le.slice(De));return me?(ke.w=h.get(me[0].toLowerCase()),De+me[0].length):-1}function V(ke,Le,De){var me=w.exec(Le.slice(De));return me?(ke.m=x.get(me[0].toLowerCase()),De+me[0].length):-1}function ne(ke,Le,De){var me=v.exec(Le.slice(De));return me?(ke.m=b.get(me[0].toLowerCase()),De+me[0].length):-1}function Z(ke,Le,De){return M(ke,t,Le,De)}function G(ke,Le,De){return M(ke,n,Le,De)}function q(ke,Le,De){return M(ke,r,Le,De)}function W(ke){return a[ke.getDay()]}function j(ke){return o[ke.getDay()]}function K(ke){return u[ke.getMonth()]}function Y(ke){return s[ke.getMonth()]}function oe(ke){return i[+(ke.getHours()>=12)]}function ae(ke){return 1+~~(ke.getMonth()/3)}function ue(ke){return a[ke.getUTCDay()]}function be(ke){return o[ke.getUTCDay()]}function we(ke){return u[ke.getUTCMonth()]}function He(ke){return s[ke.getUTCMonth()]}function Ee(ke){return i[+(ke.getUTCHours()>=12)]}function it(ke){return 1+~~(ke.getUTCMonth()/3)}return{format:function(ke){var Le=C(ke+="",S);return Le.toString=function(){return ke},Le},parse:function(ke){var Le=k(ke+="",!1);return Le.toString=function(){return ke},Le},utcFormat:function(ke){var Le=C(ke+="",O);return Le.toString=function(){return ke},Le},utcParse:function(ke){var Le=k(ke+="",!0);return Le.toString=function(){return ke},Le}}}var _7={"-":"",_:" ",0:"0"},ai=/^\s*\d+/,uke=/^%/,lke=/[\\^$*+?|[\]().{}]/g;function bn(e,t,n){var r=e<0?"-":"",i=(r?-e:e)+"",o=i.length;return r+(o[t.toLowerCase(),n]))}function fke(e,t,n){var r=ai.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function dke(e,t,n){var r=ai.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function hke(e,t,n){var r=ai.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function pke(e,t,n){var r=ai.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function gke(e,t,n){var r=ai.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function S7(e,t,n){var r=ai.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function C7(e,t,n){var r=ai.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function mke(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function vke(e,t,n){var r=ai.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function yke(e,t,n){var r=ai.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function E7(e,t,n){var r=ai.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function bke(e,t,n){var r=ai.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function O7(e,t,n){var r=ai.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function xke(e,t,n){var r=ai.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function wke(e,t,n){var r=ai.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function _ke(e,t,n){var r=ai.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function Ske(e,t,n){var r=ai.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Cke(e,t,n){var r=uke.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function Eke(e,t,n){var r=ai.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function Oke(e,t,n){var r=ai.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function A7(e,t){return bn(e.getDate(),t,2)}function Ake(e,t){return bn(e.getHours(),t,2)}function Pke(e,t){return bn(e.getHours()%12||12,t,2)}function kke(e,t){return bn(1+Bm.count(Cu(e),e),t,3)}function JW(e,t){return bn(e.getMilliseconds(),t,3)}function Tke(e,t){return JW(e,t)+"000"}function Mke(e,t){return bn(e.getMonth()+1,t,2)}function Rke(e,t){return bn(e.getMinutes(),t,2)}function Dke(e,t){return bn(e.getSeconds(),t,2)}function $ke(e){var t=e.getDay();return t===0?7:t}function Ike(e,t){return bn(W2.count(Cu(e)-1,e),t,2)}function eH(e){var t=e.getDay();return t>=4||t===0?ih(e):ih.ceil(e)}function Nke(e,t){return e=eH(e),bn(ih.count(Cu(e),e)+(Cu(e).getDay()===4),t,2)}function Lke(e){return e.getDay()}function Fke(e,t){return bn(Ib.count(Cu(e)-1,e),t,2)}function jke(e,t){return bn(e.getFullYear()%100,t,2)}function Bke(e,t){return e=eH(e),bn(e.getFullYear()%100,t,2)}function zke(e,t){return bn(e.getFullYear()%1e4,t,4)}function Uke(e,t){var n=e.getDay();return e=n>=4||n===0?ih(e):ih.ceil(e),bn(e.getFullYear()%1e4,t,4)}function Vke(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+bn(t/60|0,"0",2)+bn(t%60,"0",2)}function P7(e,t){return bn(e.getUTCDate(),t,2)}function Wke(e,t){return bn(e.getUTCHours(),t,2)}function Hke(e,t){return bn(e.getUTCHours()%12||12,t,2)}function Kke(e,t){return bn(1+V2.count(Eu(e),e),t,3)}function tH(e,t){return bn(e.getUTCMilliseconds(),t,3)}function qke(e,t){return tH(e,t)+"000"}function Gke(e,t){return bn(e.getUTCMonth()+1,t,2)}function Yke(e,t){return bn(e.getUTCMinutes(),t,2)}function Zke(e,t){return bn(e.getUTCSeconds(),t,2)}function Xke(e){var t=e.getUTCDay();return t===0?7:t}function Qke(e,t){return bn(H2.count(Eu(e)-1,e),t,2)}function nH(e){var t=e.getUTCDay();return t>=4||t===0?oh(e):oh.ceil(e)}function Jke(e,t){return e=nH(e),bn(oh.count(Eu(e),e)+(Eu(e).getUTCDay()===4),t,2)}function eTe(e){return e.getUTCDay()}function tTe(e,t){return bn(Nb.count(Eu(e)-1,e),t,2)}function nTe(e,t){return bn(e.getUTCFullYear()%100,t,2)}function rTe(e,t){return e=nH(e),bn(e.getUTCFullYear()%100,t,2)}function iTe(e,t){return bn(e.getUTCFullYear()%1e4,t,4)}function oTe(e,t){var n=e.getUTCDay();return e=n>=4||n===0?oh(e):oh.ceil(e),bn(e.getUTCFullYear()%1e4,t,4)}function aTe(){return"+0000"}function k7(){return"%"}function T7(e){return+e}function M7(e){return Math.floor(+e/1e3)}var Yf,rH,iH;sTe({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function sTe(e){return Yf=ske(e),rH=Yf.format,Yf.parse,iH=Yf.utcFormat,Yf.utcParse,Yf}function uTe(e){return new Date(e)}function lTe(e){return e instanceof Date?+e:+new Date(+e)}function bA(e,t,n,r,i,o,a,s,u,l){var c=oA(),f=c.invert,h=c.domain,p=l(".%L"),m=l(":%S"),v=l("%I:%M"),b=l("%I %p"),w=l("%a %d"),x=l("%b %d"),S=l("%B"),O=l("%Y");function E(C){return(u(C)t(i/(e.length-1)))},n.quantiles=function(r){return Array.from({length:r+1},(i,o)=>QPe(e,o/r))},n.copy=function(){return uH(t).domain(e)},Ru.apply(n,arguments)}function q2(){var e=0,t=.5,n=1,r=1,i,o,a,s,u,l=Vi,c,f=!1,h;function p(v){return isNaN(v=+v)?h:(v=.5+((v=+c(v))-o)*(r*vt}var vTe=mTe,yTe=dH,bTe=vTe,xTe=Yh;function wTe(e){return e&&e.length?yTe(e,xTe,bTe):void 0}var _Te=wTe;const ul=Dn(_Te);function STe(e,t){return ee.e^o.s<0?1:-1;for(r=o.d.length,i=e.d.length,t=0,n=re.d[t]^o.s<0?1:-1;return r===i?0:r>i^o.s<0?1:-1};st.decimalPlaces=st.dp=function(){var e=this,t=e.d.length-1,n=(t-e.e)*tr;if(t=e.d[t],t)for(;t%10==0;t/=10)n--;return n<0?0:n};st.dividedBy=st.div=function(e){return hu(this,new this.constructor(e))};st.dividedToIntegerBy=st.idiv=function(e){var t=this,n=t.constructor;return zn(hu(t,new n(e),0,1),n.precision)};st.equals=st.eq=function(e){return!this.cmp(e)};st.exponent=function(){return Mr(this)};st.greaterThan=st.gt=function(e){return this.cmp(e)>0};st.greaterThanOrEqualTo=st.gte=function(e){return this.cmp(e)>=0};st.isInteger=st.isint=function(){return this.e>this.d.length-2};st.isNegative=st.isneg=function(){return this.s<0};st.isPositive=st.ispos=function(){return this.s>0};st.isZero=function(){return this.s===0};st.lessThan=st.lt=function(e){return this.cmp(e)<0};st.lessThanOrEqualTo=st.lte=function(e){return this.cmp(e)<1};st.logarithm=st.log=function(e){var t,n=this,r=n.constructor,i=r.precision,o=i+5;if(e===void 0)e=new r(10);else if(e=new r(e),e.s<1||e.eq(Do))throw Error(va+"NaN");if(n.s<1)throw Error(va+(n.s?"NaN":"-Infinity"));return n.eq(Do)?new r(0):(ar=!1,t=hu(Dg(n,o),Dg(e,o),o),ar=!0,zn(t,i))};st.minus=st.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?mH(t,e):pH(t,(e.s=-e.s,e))};st.modulo=st.mod=function(e){var t,n=this,r=n.constructor,i=r.precision;if(e=new r(e),!e.s)throw Error(va+"NaN");return n.s?(ar=!1,t=hu(n,e,0,1).times(e),ar=!0,n.minus(t)):zn(new r(n),i)};st.naturalExponential=st.exp=function(){return gH(this)};st.naturalLogarithm=st.ln=function(){return Dg(this)};st.negated=st.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e};st.plus=st.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?pH(t,e):mH(t,(e.s=-e.s,e))};st.precision=st.sd=function(e){var t,n,r,i=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error($c+e);if(t=Mr(i)+1,r=i.d.length-1,n=r*tr+1,r=i.d[r],r){for(;r%10==0;r/=10)n--;for(r=i.d[0];r>=10;r/=10)n++}return e&&t>n?t:n};st.squareRoot=st.sqrt=function(){var e,t,n,r,i,o,a,s=this,u=s.constructor;if(s.s<1){if(!s.s)return new u(0);throw Error(va+"NaN")}for(e=Mr(s),ar=!1,i=Math.sqrt(+s),i==0||i==1/0?(t=ys(s.d),(t.length+e)%2==0&&(t+="0"),i=Math.sqrt(t),e=Qh((e+1)/2)-(e<0||e%2),i==1/0?t="5e"+e:(t=i.toExponential(),t=t.slice(0,t.indexOf("e")+1)+e),r=new u(t)):r=new u(i.toString()),n=u.precision,i=a=n+3;;)if(o=r,r=o.plus(hu(s,o,a+2)).times(.5),ys(o.d).slice(0,a)===(t=ys(r.d)).slice(0,a)){if(t=t.slice(a-3,a+1),i==a&&t=="4999"){if(zn(o,n+1,0),o.times(o).eq(s)){r=o;break}}else if(t!="9999")break;a+=4}return ar=!0,zn(r,n)};st.times=st.mul=function(e){var t,n,r,i,o,a,s,u,l,c=this,f=c.constructor,h=c.d,p=(e=new f(e)).d;if(!c.s||!e.s)return new f(0);for(e.s*=c.s,n=c.e+e.e,u=h.length,l=p.length,u=0;){for(t=0,i=u+r;i>r;)s=o[i]+p[r]*h[i-r-1]+t,o[i--]=s%ei|0,t=s/ei|0;o[i]=(o[i]+t)%ei|0}for(;!o[--a];)o.pop();return t?++n:o.shift(),e.d=o,e.e=n,ar?zn(e,f.precision):e};st.toDecimalPlaces=st.todp=function(e,t){var n=this,r=n.constructor;return n=new r(n),e===void 0?n:(Rs(e,0,Xh),t===void 0?t=r.rounding:Rs(t,0,8),zn(n,e+Mr(n)+1,t))};st.toExponential=function(e,t){var n,r=this,i=r.constructor;return e===void 0?n=nf(r,!0):(Rs(e,0,Xh),t===void 0?t=i.rounding:Rs(t,0,8),r=zn(new i(r),e+1,t),n=nf(r,!0,e+1)),n};st.toFixed=function(e,t){var n,r,i=this,o=i.constructor;return e===void 0?nf(i):(Rs(e,0,Xh),t===void 0?t=o.rounding:Rs(t,0,8),r=zn(new o(i),e+Mr(i)+1,t),n=nf(r.abs(),!1,e+Mr(r)+1),i.isneg()&&!i.isZero()?"-"+n:n)};st.toInteger=st.toint=function(){var e=this,t=e.constructor;return zn(new t(e),Mr(e)+1,t.rounding)};st.toNumber=function(){return+this};st.toPower=st.pow=function(e){var t,n,r,i,o,a,s=this,u=s.constructor,l=12,c=+(e=new u(e));if(!e.s)return new u(Do);if(s=new u(s),!s.s){if(e.s<1)throw Error(va+"Infinity");return s}if(s.eq(Do))return s;if(r=u.precision,e.eq(Do))return zn(s,r);if(t=e.e,n=e.d.length-1,a=t>=n,o=s.s,a){if((n=c<0?-c:c)<=hH){for(i=new u(Do),t=Math.ceil(r/tr+4),ar=!1;n%2&&(i=i.times(s),$7(i.d,t)),n=Qh(n/2),n!==0;)s=s.times(s),$7(s.d,t);return ar=!0,e.s<0?new u(Do).div(i):zn(i,r)}}else if(o<0)throw Error(va+"NaN");return o=o<0&&e.d[Math.max(t,n)]&1?-1:1,s.s=1,ar=!1,i=e.times(Dg(s,r+l)),ar=!0,i=gH(i),i.s=o,i};st.toPrecision=function(e,t){var n,r,i=this,o=i.constructor;return e===void 0?(n=Mr(i),r=nf(i,n<=o.toExpNeg||n>=o.toExpPos)):(Rs(e,1,Xh),t===void 0?t=o.rounding:Rs(t,0,8),i=zn(new o(i),e,t),n=Mr(i),r=nf(i,e<=n||n<=o.toExpNeg,e)),r};st.toSignificantDigits=st.tosd=function(e,t){var n=this,r=n.constructor;return e===void 0?(e=r.precision,t=r.rounding):(Rs(e,1,Xh),t===void 0?t=r.rounding:Rs(t,0,8)),zn(new r(n),e,t)};st.toString=st.valueOf=st.val=st.toJSON=st[Symbol.for("nodejs.util.inspect.custom")]=function(){var e=this,t=Mr(e),n=e.constructor;return nf(e,t<=n.toExpNeg||t>=n.toExpPos)};function pH(e,t){var n,r,i,o,a,s,u,l,c=e.constructor,f=c.precision;if(!e.s||!t.s)return t.s||(t=new c(e)),ar?zn(t,f):t;if(u=e.d,l=t.d,a=e.e,i=t.e,u=u.slice(),o=a-i,o){for(o<0?(r=u,o=-o,s=l.length):(r=l,i=a,s=u.length),a=Math.ceil(f/tr),s=a>s?a+1:s+1,o>s&&(o=s,r.length=1),r.reverse();o--;)r.push(0);r.reverse()}for(s=u.length,o=l.length,s-o<0&&(o=s,r=l,l=u,u=r),n=0;o;)n=(u[--o]=u[o]+l[o]+n)/ei|0,u[o]%=ei;for(n&&(u.unshift(n),++i),s=u.length;u[--s]==0;)u.pop();return t.d=u,t.e=i,ar?zn(t,f):t}function Rs(e,t,n){if(e!==~~e||en)throw Error($c+e)}function ys(e){var t,n,r,i=e.length-1,o="",a=e[0];if(i>0){for(o+=a,t=1;ta?1:-1;else for(s=u=0;si[s]?1:-1;break}return u}function n(r,i,o){for(var a=0;o--;)r[o]-=a,a=r[o]1;)r.shift()}return function(r,i,o,a){var s,u,l,c,f,h,p,m,v,b,w,x,S,O,E,C,k,M,L=r.constructor,U=r.s==i.s?1:-1,H=r.d,V=i.d;if(!r.s)return new L(r);if(!i.s)throw Error(va+"Division by zero");for(u=r.e-i.e,k=V.length,E=H.length,p=new L(U),m=p.d=[],l=0;V[l]==(H[l]||0);)++l;if(V[l]>(H[l]||0)&&--u,o==null?x=o=L.precision:a?x=o+(Mr(r)-Mr(i))+1:x=o,x<0)return new L(0);if(x=x/tr+2|0,l=0,k==1)for(c=0,V=V[0],x++;(l1&&(V=e(V,c),H=e(H,c),k=V.length,E=H.length),O=k,v=H.slice(0,k),b=v.length;b=ei/2&&++C;do c=0,s=t(V,v,k,b),s<0?(w=v[0],k!=b&&(w=w*ei+(v[1]||0)),c=w/C|0,c>1?(c>=ei&&(c=ei-1),f=e(V,c),h=f.length,b=v.length,s=t(f,v,h,b),s==1&&(c--,n(f,k16)throw Error(_A+Mr(e));if(!e.s)return new c(Do);for(t==null?(ar=!1,s=f):s=t,a=new c(.03125);e.abs().gte(.1);)e=e.times(a),l+=5;for(r=Math.log(hc(2,l))/Math.LN10*2+5|0,s+=r,n=i=o=new c(Do),c.precision=s;;){if(i=zn(i.times(e),s),n=n.times(++u),a=o.plus(hu(i,n,s)),ys(a.d).slice(0,s)===ys(o.d).slice(0,s)){for(;l--;)o=zn(o.times(o),s);return c.precision=f,t==null?(ar=!0,zn(o,f)):o}o=a}}function Mr(e){for(var t=e.e*tr,n=e.d[0];n>=10;n/=10)t++;return t}function t3(e,t,n){if(t>e.LN10.sd())throw ar=!0,n&&(e.precision=n),Error(va+"LN10 precision limit exceeded");return zn(new e(e.LN10),t)}function Qu(e){for(var t="";e--;)t+="0";return t}function Dg(e,t){var n,r,i,o,a,s,u,l,c,f=1,h=10,p=e,m=p.d,v=p.constructor,b=v.precision;if(p.s<1)throw Error(va+(p.s?"NaN":"-Infinity"));if(p.eq(Do))return new v(0);if(t==null?(ar=!1,l=b):l=t,p.eq(10))return t==null&&(ar=!0),t3(v,l);if(l+=h,v.precision=l,n=ys(m),r=n.charAt(0),o=Mr(p),Math.abs(o)<15e14){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)p=p.times(e),n=ys(p.d),r=n.charAt(0),f++;o=Mr(p),r>1?(p=new v("0."+n),o++):p=new v(r+"."+n.slice(1))}else return u=t3(v,l+2,b).times(o+""),p=Dg(new v(r+"."+n.slice(1)),l-h).plus(u),v.precision=b,t==null?(ar=!0,zn(p,b)):p;for(s=a=p=hu(p.minus(Do),p.plus(Do),l),c=zn(p.times(p),l),i=3;;){if(a=zn(a.times(c),l),u=s.plus(hu(a,new v(i),l)),ys(u.d).slice(0,l)===ys(s.d).slice(0,l))return s=s.times(2),o!==0&&(s=s.plus(t3(v,l+2,b).times(o+""))),s=hu(s,new v(f),l),v.precision=b,t==null?(ar=!0,zn(s,b)):s;s=u,i+=2}}function D7(e,t){var n,r,i;for((n=t.indexOf("."))>-1&&(t=t.replace(".","")),(r=t.search(/e/i))>0?(n<0&&(n=r),n+=+t.slice(r+1),t=t.substring(0,r)):n<0&&(n=t.length),r=0;t.charCodeAt(r)===48;)++r;for(i=t.length;t.charCodeAt(i-1)===48;)--i;if(t=t.slice(r,i),t){if(i-=r,n=n-r-1,e.e=Qh(n/tr),e.d=[],r=(n+1)%tr,n<0&&(r+=tr),rLb||e.e<-Lb))throw Error(_A+n)}else e.s=0,e.e=0,e.d=[0];return e}function zn(e,t,n){var r,i,o,a,s,u,l,c,f=e.d;for(a=1,o=f[0];o>=10;o/=10)a++;if(r=t-a,r<0)r+=tr,i=t,l=f[c=0];else{if(c=Math.ceil((r+1)/tr),o=f.length,c>=o)return e;for(l=o=f[c],a=1;o>=10;o/=10)a++;r%=tr,i=r-tr+a}if(n!==void 0&&(o=hc(10,a-i-1),s=l/o%10|0,u=t<0||f[c+1]!==void 0||l%o,u=n<4?(s||u)&&(n==0||n==(e.s<0?3:2)):s>5||s==5&&(n==4||u||n==6&&(r>0?i>0?l/hc(10,a-i):0:f[c-1])%10&1||n==(e.s<0?8:7))),t<1||!f[0])return u?(o=Mr(e),f.length=1,t=t-o-1,f[0]=hc(10,(tr-t%tr)%tr),e.e=Qh(-t/tr)||0):(f.length=1,f[0]=e.e=e.s=0),e;if(r==0?(f.length=c,o=1,c--):(f.length=c+1,o=hc(10,tr-r),f[c]=i>0?(l/hc(10,a-i)%hc(10,i)|0)*o:0),u)for(;;)if(c==0){(f[0]+=o)==ei&&(f[0]=1,++e.e);break}else{if(f[c]+=o,f[c]!=ei)break;f[c--]=0,o=1}for(r=f.length;f[--r]===0;)f.pop();if(ar&&(e.e>Lb||e.e<-Lb))throw Error(_A+Mr(e));return e}function mH(e,t){var n,r,i,o,a,s,u,l,c,f,h=e.constructor,p=h.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new h(e),ar?zn(t,p):t;if(u=e.d,f=t.d,r=t.e,l=e.e,u=u.slice(),a=l-r,a){for(c=a<0,c?(n=u,a=-a,s=f.length):(n=f,r=l,s=u.length),i=Math.max(Math.ceil(p/tr),s)+2,a>i&&(a=i,n.length=1),n.reverse(),i=a;i--;)n.push(0);n.reverse()}else{for(i=u.length,s=f.length,c=i0;--i)u[s++]=0;for(i=f.length;i>a;){if(u[--i]0?o=o.charAt(0)+"."+o.slice(1)+Qu(r):a>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(i<0?"e":"e+")+i):i<0?(o="0."+Qu(-i-1)+o,n&&(r=n-a)>0&&(o+=Qu(r))):i>=a?(o+=Qu(i+1-a),n&&(r=n-i-1)>0&&(o=o+"."+Qu(r))):((r=i+1)0&&(i+1===a&&(o+="."),o+=Qu(r))),e.s<0?"-"+o:o}function $7(e,t){if(e.length>t)return e.length=t,!0}function vH(e){var t,n,r;function i(o){var a=this;if(!(a instanceof i))return new i(o);if(a.constructor=i,o instanceof i){a.s=o.s,a.e=o.e,a.d=(o=o.d)?o.slice():o;return}if(typeof o=="number"){if(o*0!==0)throw Error($c+o);if(o>0)a.s=1;else if(o<0)o=-o,a.s=-1;else{a.s=0,a.e=0,a.d=[0];return}if(o===~~o&&o<1e7){a.e=0,a.d=[o];return}return D7(a,o.toString())}else if(typeof o!="string")throw Error($c+o);if(o.charCodeAt(0)===45?(o=o.slice(1),a.s=-1):a.s=1,HTe.test(o))D7(a,o);else throw Error($c+o)}if(i.prototype=st,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=vH,i.config=i.set=KTe,e===void 0&&(e={}),e)for(r=["precision","rounding","toExpNeg","toExpPos","LN10"],t=0;t=i[t+1]&&r<=i[t+2])this[n]=r;else throw Error($c+n+": "+r);if((r=e[n="LN10"])!==void 0)if(r==Math.LN10)this[n]=new this(r);else throw Error($c+n+": "+r);return this}var SA=vH(WTe);Do=new SA(1);const Nn=SA;function qTe(e){return XTe(e)||ZTe(e)||YTe(e)||GTe()}function GTe(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function YTe(e,t){if(e){if(typeof e=="string")return i6(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return i6(e,t)}}function ZTe(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function XTe(e){if(Array.isArray(e))return i6(e)}function i6(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=t?n.apply(void 0,i):e(t-a,I7(function(){for(var s=arguments.length,u=new Array(s),l=0;le.length)&&(t=e.length);for(var n=0,r=new Array(t);n"u"||!(Symbol.iterator in Object(e)))){var n=[],r=!0,i=!1,o=void 0;try{for(var a=e[Symbol.iterator](),s;!(r=(s=a.next()).done)&&(n.push(s.value),!(t&&n.length===t));r=!0);}catch(u){i=!0,o=u}finally{try{!r&&a.return!=null&&a.return()}finally{if(i)throw o}}return n}}function dMe(e){if(Array.isArray(e))return e}function _H(e){var t=$g(e,2),n=t[0],r=t[1],i=n,o=r;return n>r&&(i=r,o=n),[i,o]}function SH(e,t,n){if(e.lte(0))return new Nn(0);var r=Z2.getDigitCount(e.toNumber()),i=new Nn(10).pow(r),o=e.div(i),a=r!==1?.05:.1,s=new Nn(Math.ceil(o.div(a).toNumber())).add(n).mul(a),u=s.mul(i);return t?u:new Nn(Math.ceil(u))}function hMe(e,t,n){var r=1,i=new Nn(e);if(!i.isint()&&n){var o=Math.abs(e);o<1?(r=new Nn(10).pow(Z2.getDigitCount(e)-1),i=new Nn(Math.floor(i.div(r).toNumber())).mul(r)):o>1&&(i=new Nn(Math.floor(e)))}else e===0?i=new Nn(Math.floor((t-1)/2)):n||(i=new Nn(Math.floor(e)));var a=Math.floor((t-1)/2),s=tMe(eMe(function(u){return i.add(new Nn(u-a).mul(r)).toNumber()}),o6);return s(0,t)}function CH(e,t,n,r){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0;if(!Number.isFinite((t-e)/(n-1)))return{step:new Nn(0),tickMin:new Nn(0),tickMax:new Nn(0)};var o=SH(new Nn(t).sub(e).div(n-1),r,i),a;e<=0&&t>=0?a=new Nn(0):(a=new Nn(e).add(t).div(2),a=a.sub(new Nn(a).mod(o)));var s=Math.ceil(a.sub(e).div(o).toNumber()),u=Math.ceil(new Nn(t).sub(a).div(o).toNumber()),l=s+u+1;return l>n?CH(e,t,n,r,i+1):(l0?u+(n-l):u,s=t>0?s:s+(n-l)),{step:o,tickMin:a.sub(new Nn(s).mul(o)),tickMax:a.add(new Nn(u).mul(o))})}function pMe(e){var t=$g(e,2),n=t[0],r=t[1],i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,a=Math.max(i,2),s=_H([n,r]),u=$g(s,2),l=u[0],c=u[1];if(l===-1/0||c===1/0){var f=c===1/0?[l].concat(s6(o6(0,i-1).map(function(){return 1/0}))):[].concat(s6(o6(0,i-1).map(function(){return-1/0})),[c]);return n>r?a6(f):f}if(l===c)return hMe(l,i,o);var h=CH(l,c,a,o),p=h.step,m=h.tickMin,v=h.tickMax,b=Z2.rangeStep(m,v.add(new Nn(.1).mul(p)),p);return n>r?a6(b):b}function gMe(e,t){var n=$g(e,2),r=n[0],i=n[1],o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,a=_H([r,i]),s=$g(a,2),u=s[0],l=s[1];if(u===-1/0||l===1/0)return[r,i];if(u===l)return[u];var c=Math.max(t,2),f=SH(new Nn(l).sub(u).div(c-1),o,0),h=[].concat(s6(Z2.rangeStep(new Nn(u),new Nn(l).sub(new Nn(.99).mul(f)),f)),[l]);return r>i?a6(h):h}var mMe=xH(pMe),vMe=xH(gMe),yMe="Invariant failed";function rf(e,t){throw new Error(yMe)}var bMe=["offset","layout","width","dataKey","data","dataPointFormatter","xAxis","yAxis"];function ah(e){"@babel/helpers - typeof";return ah=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ah(e)}function Fb(){return Fb=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function OMe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function AMe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function PMe(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&arguments[1]!==void 0?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,a=-1,s=(n=r?.length)!==null&&n!==void 0?n:0;if(s<=1)return 0;if(o&&o.axisType==="angleAxis"&&Math.abs(Math.abs(o.range[1]-o.range[0])-360)<=1e-6)for(var u=o.range,l=0;l0?i[l-1].coordinate:i[s-1].coordinate,f=i[l].coordinate,h=l>=s-1?i[0].coordinate:i[l+1].coordinate,p=void 0;if(Ua(f-c)!==Ua(h-f)){var m=[];if(Ua(h-f)===Ua(u[1]-u[0])){p=h;var v=f+u[1]-u[0];m[0]=Math.min(v,(v+c)/2),m[1]=Math.max(v,(v+c)/2)}else{p=c;var b=h+u[1]-u[0];m[0]=Math.min(f,(b+f)/2),m[1]=Math.max(f,(b+f)/2)}var w=[Math.min(f,(p+f)/2),Math.max(f,(p+f)/2)];if(t>w[0]&&t<=w[1]||t>=m[0]&&t<=m[1]){a=i[l].index;break}}else{var x=Math.min(c,h),S=Math.max(c,h);if(t>(x+f)/2&&t<=(S+f)/2){a=i[l].index;break}}}else for(var O=0;O0&&O(r[O].coordinate+r[O-1].coordinate)/2&&t<=(r[O].coordinate+r[O+1].coordinate)/2||O===s-1&&t>(r[O].coordinate+r[O-1].coordinate)/2){a=r[O].index;break}return a},CA=function(t){var n,r=t,i=r.type.displayName,o=(n=t.type)!==null&&n!==void 0&&n.defaultProps?mr(mr({},t.type.defaultProps),t.props):t.props,a=o.stroke,s=o.fill,u;switch(i){case"Line":u=a;break;case"Area":case"Radar":u=a&&a!=="none"?a:s;break;default:u=s;break}return u},HMe=function(t){var n=t.barSize,r=t.totalSize,i=t.stackGroups,o=i===void 0?{}:i;if(!o)return{};for(var a={},s=Object.keys(o),u=0,l=s.length;u=0});if(w&&w.length){var x=w[0].type.defaultProps,S=x!==void 0?mr(mr({},x),w[0].props):w[0].props,O=S.barSize,E=S[b];a[E]||(a[E]=[]);var C=Ut(O)?n:O;a[E].push({item:w[0],stackList:w.slice(1),barSize:Ut(C)?void 0:ef(C,r,0)})}}return a},KMe=function(t){var n=t.barGap,r=t.barCategoryGap,i=t.bandSize,o=t.sizeList,a=o===void 0?[]:o,s=t.maxBarSize,u=a.length;if(u<1)return null;var l=ef(n,i,0,!0),c,f=[];if(a[0].barSize===+a[0].barSize){var h=!1,p=i/u,m=a.reduce(function(O,E){return O+E.barSize||0},0);m+=(u-1)*l,m>=i&&(m-=(u-1)*l,l=0),m>=i&&p>0&&(h=!0,p*=.9,m=u*p);var v=(i-m)/2>>0,b={offset:v-l,size:0};c=a.reduce(function(O,E){var C={item:E.item,position:{offset:b.offset+b.size+l,size:h?p:E.barSize}},k=[].concat(F7(O),[C]);return b=k[k.length-1].position,E.stackList&&E.stackList.length&&E.stackList.forEach(function(M){k.push({item:M,position:b})}),k},f)}else{var w=ef(r,i,0,!0);i-2*w-(u-1)*l<=0&&(l=0);var x=(i-2*w-(u-1)*l)/u;x>1&&(x>>=0);var S=s===+s?Math.min(x,s):x;c=a.reduce(function(O,E,C){var k=[].concat(F7(O),[{item:E.item,position:{offset:w+(x+l)*C+(x-S)/2,size:S}}]);return E.stackList&&E.stackList.length&&E.stackList.forEach(function(M){k.push({item:M,position:k[k.length-1].position})}),k},f)}return c},qMe=function(t,n,r,i){var o=r.children,a=r.width,s=r.margin,u=a-(s.left||0)-(s.right||0),l=PH({children:o,legendWidth:u});if(l){var c=i||{},f=c.width,h=c.height,p=l.align,m=l.verticalAlign,v=l.layout;if((v==="vertical"||v==="horizontal"&&m==="middle")&&p!=="center"&&qe(t[p]))return mr(mr({},t),{},Id({},p,t[p]+(f||0)));if((v==="horizontal"||v==="vertical"&&p==="center")&&m!=="middle"&&qe(t[m]))return mr(mr({},t),{},Id({},m,t[m]+(h||0)))}return t},GMe=function(t,n,r){return Ut(n)?!0:t==="horizontal"?n==="yAxis":t==="vertical"||r==="x"?n==="xAxis":r==="y"?n==="yAxis":!0},kH=function(t,n,r,i,o){var a=n.props.children,s=po(a,Jh).filter(function(l){return GMe(i,o,l.props.direction)});if(s&&s.length){var u=s.map(function(l){return l.props.dataKey});return t.reduce(function(l,c){var f=Kr(c,r);if(Ut(f))return l;var h=Array.isArray(f)?[G2(f),ul(f)]:[f,f],p=u.reduce(function(m,v){var b=Kr(c,v,0),w=h[0]-Math.abs(Array.isArray(b)?b[0]:b),x=h[1]+Math.abs(Array.isArray(b)?b[1]:b);return[Math.min(w,m[0]),Math.max(x,m[1])]},[1/0,-1/0]);return[Math.min(p[0],l[0]),Math.max(p[1],l[1])]},[1/0,-1/0])}return null},YMe=function(t,n,r,i,o){var a=n.map(function(s){return kH(t,s,r,o,i)}).filter(function(s){return!Ut(s)});return a&&a.length?a.reduce(function(s,u){return[Math.min(s[0],u[0]),Math.max(s[1],u[1])]},[1/0,-1/0]):null},TH=function(t,n,r,i,o){var a=n.map(function(u){var l=u.props.dataKey;return r==="number"&&l&&kH(t,u,l,i)||E0(t,l,r,o)});if(r==="number")return a.reduce(function(u,l){return[Math.min(u[0],l[0]),Math.max(u[1],l[1])]},[1/0,-1/0]);var s={};return a.reduce(function(u,l){for(var c=0,f=l.length;c=2?Ua(s[0]-s[1])*2*l:l,n&&(t.ticks||t.niceTicks)){var c=(t.ticks||t.niceTicks).map(function(f){var h=o?o.indexOf(f):f;return{coordinate:i(h)+l,value:f,offset:l}});return c.filter(function(f){return!Kh(f.coordinate)})}return t.isCategorical&&t.categoricalDomain?t.categoricalDomain.map(function(f,h){return{coordinate:i(f)+l,value:f,index:h,offset:l}}):i.ticks&&!r?i.ticks(t.tickCount).map(function(f){return{coordinate:i(f)+l,value:f,offset:l}}):i.domain().map(function(f,h){return{coordinate:i(f)+l,value:o?o[f]:f,index:h,offset:l}})},n3=new WeakMap,w1=function(t,n){if(typeof n!="function")return t;n3.has(t)||n3.set(t,new WeakMap);var r=n3.get(t);if(r.has(n))return r.get(n);var i=function(){t.apply(void 0,arguments),n.apply(void 0,arguments)};return r.set(n,i),i},ZMe=function(t,n,r){var i=t.scale,o=t.type,a=t.layout,s=t.axisType;if(i==="auto")return a==="radial"&&s==="radiusAxis"?{scale:Pg(),realScaleType:"band"}:a==="radial"&&s==="angleAxis"?{scale:Db(),realScaleType:"linear"}:o==="category"&&n&&(n.indexOf("LineChart")>=0||n.indexOf("AreaChart")>=0||n.indexOf("ComposedChart")>=0&&!r)?{scale:C0(),realScaleType:"point"}:o==="category"?{scale:Pg(),realScaleType:"band"}:{scale:Db(),realScaleType:"linear"};if(Im(i)){var u="scale".concat($2(i));return{scale:(R7[u]||C0)(),realScaleType:R7[u]?u:"point"}}return Ht(i)?{scale:i}:{scale:C0(),realScaleType:"point"}},B7=1e-4,XMe=function(t){var n=t.domain();if(!(!n||n.length<=2)){var r=n.length,i=t.range(),o=Math.min(i[0],i[1])-B7,a=Math.max(i[0],i[1])+B7,s=t(n[0]),u=t(n[r-1]);(sa||ua)&&t.domain([n[0],n[r-1]])}},QMe=function(t,n){if(!t)return null;for(var r=0,i=t.length;ri)&&(o[1]=i),o[0]>i&&(o[0]=i),o[1]=0?(t[s][r][0]=o,t[s][r][1]=o+u,o=t[s][r][1]):(t[s][r][0]=a,t[s][r][1]=a+u,a=t[s][r][1])}},tRe=function(t){var n=t.length;if(!(n<=0))for(var r=0,i=t[0].length;r=0?(t[a][r][0]=o,t[a][r][1]=o+s,o=t[a][r][1]):(t[a][r][0]=0,t[a][r][1]=0)}},nRe={sign:eRe,expand:vSe,none:Qd,silhouette:ySe,wiggle:bSe,positive:tRe},rRe=function(t,n,r){var i=n.map(function(s){return s.props.dataKey}),o=nRe[r],a=mSe().keys(i).value(function(s,u){return+Kr(s,u,0)}).order(IE).offset(o);return a(t)},iRe=function(t,n,r,i,o,a){if(!t)return null;var s=a?n.reverse():n,u={},l=s.reduce(function(f,h){var p,m=(p=h.type)!==null&&p!==void 0&&p.defaultProps?mr(mr({},h.type.defaultProps),h.props):h.props,v=m.stackId,b=m.hide;if(b)return f;var w=m[r],x=f[w]||{hasStack:!1,stackGroups:{}};if(Hr(v)){var S=x.stackGroups[v]||{numericAxisId:r,cateAxisId:i,items:[]};S.items.push(h),x.hasStack=!0,x.stackGroups[v]=S}else x.stackGroups[vf("_stackId_")]={numericAxisId:r,cateAxisId:i,items:[h]};return mr(mr({},f),{},Id({},w,x))},u),c={};return Object.keys(l).reduce(function(f,h){var p=l[h];if(p.hasStack){var m={};p.stackGroups=Object.keys(p.stackGroups).reduce(function(v,b){var w=p.stackGroups[b];return mr(mr({},v),{},Id({},b,{numericAxisId:r,cateAxisId:i,items:w.items,stackedData:rRe(t,w.items,o)}))},m)}return mr(mr({},f),{},Id({},h,p))},c)},oRe=function(t,n){var r=n.realScaleType,i=n.type,o=n.tickCount,a=n.originalDomain,s=n.allowDecimals,u=r||n.scale;if(u!=="auto"&&u!=="linear")return null;if(o&&i==="number"&&a&&(a[0]==="auto"||a[1]==="auto")){var l=t.domain();if(!l.length)return null;var c=mMe(l,o,s);return t.domain([G2(c),ul(c)]),{niceTicks:c}}if(o&&i==="number"){var f=t.domain(),h=vMe(f,o,s);return{niceTicks:h}}return null};function sh(e){var t=e.axis,n=e.ticks,r=e.bandSize,i=e.entry,o=e.index,a=e.dataKey;if(t.type==="category"){if(!t.allowDuplicatedCategory&&t.dataKey&&!Ut(i[t.dataKey])){var s=fb(n,"value",i[t.dataKey]);if(s)return s.coordinate+r/2}return n[o]?n[o].coordinate+r/2:null}var u=Kr(i,Ut(a)?t.dataKey:a);return Ut(u)?null:t.scale(u)}var z7=function(t){var n=t.axis,r=t.ticks,i=t.offset,o=t.bandSize,a=t.entry,s=t.index;if(n.type==="category")return r[s]?r[s].coordinate+i:null;var u=Kr(a,n.dataKey,n.domain[s]);return Ut(u)?null:n.scale(u)-o/2+i},aRe=function(t){var n=t.numericAxis,r=n.scale.domain();if(n.type==="number"){var i=Math.min(r[0],r[1]),o=Math.max(r[0],r[1]);return i<=0&&o>=0?0:o<0?o:i}return r[0]},sRe=function(t,n){var r,i=(r=t.type)!==null&&r!==void 0&&r.defaultProps?mr(mr({},t.type.defaultProps),t.props):t.props,o=i.stackId;if(Hr(o)){var a=n[o];if(a){var s=a.items.indexOf(t);return s>=0?a.stackedData[s]:null}}return null},uRe=function(t){return t.reduce(function(n,r){return[G2(r.concat([n[0]]).filter(qe)),ul(r.concat([n[1]]).filter(qe))]},[1/0,-1/0])},DH=function(t,n,r){return Object.keys(t).reduce(function(i,o){var a=t[o],s=a.stackedData,u=s.reduce(function(l,c){var f=uRe(c.slice(n,r+1));return[Math.min(l[0],f[0]),Math.max(l[1],f[1])]},[1/0,-1/0]);return[Math.min(u[0],i[0]),Math.max(u[1],i[1])]},[1/0,-1/0]).map(function(i){return i===1/0||i===-1/0?0:i})},U7=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,V7=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,f6=function(t,n,r){if(Ht(t))return t(n,r);if(!Array.isArray(t))return n;var i=[];if(qe(t[0]))i[0]=r?t[0]:Math.min(t[0],n[0]);else if(U7.test(t[0])){var o=+U7.exec(t[0])[1];i[0]=n[0]-o}else Ht(t[0])?i[0]=t[0](n[0]):i[0]=n[0];if(qe(t[1]))i[1]=r?t[1]:Math.max(t[1],n[1]);else if(V7.test(t[1])){var a=+V7.exec(t[1])[1];i[1]=n[1]+a}else Ht(t[1])?i[1]=t[1](n[1]):i[1]=n[1];return i},Bb=function(t,n,r){if(t&&t.scale&&t.scale.bandwidth){var i=t.scale.bandwidth();if(!r||i>0)return i}if(t&&n&&n.length>=2){for(var o=XO(n,function(f){return f.coordinate}),a=1/0,s=1,u=o.length;sa&&(l=2*Math.PI-l),{radius:s,angle:dRe(l),angleInRadian:l}},gRe=function(t){var n=t.startAngle,r=t.endAngle,i=Math.floor(n/360),o=Math.floor(r/360),a=Math.min(i,o);return{startAngle:n-a*360,endAngle:r-a*360}},mRe=function(t,n){var r=n.startAngle,i=n.endAngle,o=Math.floor(r/360),a=Math.floor(i/360),s=Math.min(o,a);return t+s*360},q7=function(t,n){var r=t.x,i=t.y,o=pRe({x:r,y:i},n),a=o.radius,s=o.angle,u=n.innerRadius,l=n.outerRadius;if(al)return!1;if(a===0)return!0;var c=gRe(n),f=c.startAngle,h=c.endAngle,p=s,m;if(f<=h){for(;p>h;)p-=360;for(;p=f&&p<=h}else{for(;p>f;)p-=360;for(;p=h&&p<=f}return m?K7(K7({},n),{},{radius:a,angle:mRe(p,n)}):null};function Fg(e){"@babel/helpers - typeof";return Fg=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Fg(e)}var vRe=["offset"];function yRe(e){return _Re(e)||wRe(e)||xRe(e)||bRe()}function bRe(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function xRe(e,t){if(e){if(typeof e=="string")return d6(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return d6(e,t)}}function wRe(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function _Re(e){if(Array.isArray(e))return d6(e)}function d6(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function CRe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function G7(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function jr(e){for(var t=1;t=0?1:-1,S,O;i==="insideStart"?(S=p+x*a,O=v):i==="insideEnd"?(S=m-x*a,O=!v):i==="end"&&(S=m+x*a,O=v),O=w<=0?O:!O;var E=pi(l,c,b,S),C=pi(l,c,b,S+(O?1:-1)*359),k="M".concat(E.x,",").concat(E.y,` + A`).concat(b,",").concat(b,",0,1,").concat(O?0:1,`, + `).concat(C.x,",").concat(C.y),M=Ut(t.id)?vf("recharts-radial-line-"):t.id;return F.createElement("text",jg({},r,{dominantBaseline:"central",className:dn("recharts-radial-bar-label",s)}),F.createElement("defs",null,F.createElement("path",{id:M,d:k})),F.createElement("textPath",{xlinkHref:"#".concat(M)},n))},MRe=function(t){var n=t.viewBox,r=t.offset,i=t.position,o=n,a=o.cx,s=o.cy,u=o.innerRadius,l=o.outerRadius,c=o.startAngle,f=o.endAngle,h=(c+f)/2;if(i==="outside"){var p=pi(a,s,l+r,h),m=p.x,v=p.y;return{x:m,y:v,textAnchor:m>=a?"start":"end",verticalAnchor:"middle"}}if(i==="center")return{x:a,y:s,textAnchor:"middle",verticalAnchor:"middle"};if(i==="centerTop")return{x:a,y:s,textAnchor:"middle",verticalAnchor:"start"};if(i==="centerBottom")return{x:a,y:s,textAnchor:"middle",verticalAnchor:"end"};var b=(u+l)/2,w=pi(a,s,b,h),x=w.x,S=w.y;return{x,y:S,textAnchor:"middle",verticalAnchor:"middle"}},RRe=function(t){var n=t.viewBox,r=t.parentViewBox,i=t.offset,o=t.position,a=n,s=a.x,u=a.y,l=a.width,c=a.height,f=c>=0?1:-1,h=f*i,p=f>0?"end":"start",m=f>0?"start":"end",v=l>=0?1:-1,b=v*i,w=v>0?"end":"start",x=v>0?"start":"end";if(o==="top"){var S={x:s+l/2,y:u-f*i,textAnchor:"middle",verticalAnchor:p};return jr(jr({},S),r?{height:Math.max(u-r.y,0),width:l}:{})}if(o==="bottom"){var O={x:s+l/2,y:u+c+h,textAnchor:"middle",verticalAnchor:m};return jr(jr({},O),r?{height:Math.max(r.y+r.height-(u+c),0),width:l}:{})}if(o==="left"){var E={x:s-b,y:u+c/2,textAnchor:w,verticalAnchor:"middle"};return jr(jr({},E),r?{width:Math.max(E.x-r.x,0),height:c}:{})}if(o==="right"){var C={x:s+l+b,y:u+c/2,textAnchor:x,verticalAnchor:"middle"};return jr(jr({},C),r?{width:Math.max(r.x+r.width-C.x,0),height:c}:{})}var k=r?{width:l,height:c}:{};return o==="insideLeft"?jr({x:s+b,y:u+c/2,textAnchor:x,verticalAnchor:"middle"},k):o==="insideRight"?jr({x:s+l-b,y:u+c/2,textAnchor:w,verticalAnchor:"middle"},k):o==="insideTop"?jr({x:s+l/2,y:u+h,textAnchor:"middle",verticalAnchor:m},k):o==="insideBottom"?jr({x:s+l/2,y:u+c-h,textAnchor:"middle",verticalAnchor:p},k):o==="insideTopLeft"?jr({x:s+b,y:u+h,textAnchor:x,verticalAnchor:m},k):o==="insideTopRight"?jr({x:s+l-b,y:u+h,textAnchor:w,verticalAnchor:m},k):o==="insideBottomLeft"?jr({x:s+b,y:u+c-h,textAnchor:x,verticalAnchor:p},k):o==="insideBottomRight"?jr({x:s+l-b,y:u+c-h,textAnchor:w,verticalAnchor:p},k):Uh(o)&&(qe(o.x)||Sc(o.x))&&(qe(o.y)||Sc(o.y))?jr({x:s+ef(o.x,l),y:u+ef(o.y,c),textAnchor:"end",verticalAnchor:"end"},k):jr({x:s+l/2,y:u+c/2,textAnchor:"middle",verticalAnchor:"middle"},k)},DRe=function(t){return"cx"in t&&qe(t.cx)};function ki(e){var t=e.offset,n=t===void 0?5:t,r=SRe(e,vRe),i=jr({offset:n},r),o=i.viewBox,a=i.position,s=i.value,u=i.children,l=i.content,c=i.className,f=c===void 0?"":c,h=i.textBreakAll;if(!o||Ut(s)&&Ut(u)&&!y.isValidElement(l)&&!Ht(l))return null;if(y.isValidElement(l))return y.cloneElement(l,i);var p;if(Ht(l)){if(p=y.createElement(l,i),y.isValidElement(p))return p}else p=PRe(i);var m=DRe(o),v=zt(i,!0);if(m&&(a==="insideStart"||a==="insideEnd"||a==="end"))return TRe(i,p,v);var b=m?MRe(i):RRe(i);return F.createElement(Ob,jg({className:dn("recharts-label",f)},v,b,{breakAll:h}),p)}ki.displayName="Label";var IH=function(t){var n=t.cx,r=t.cy,i=t.angle,o=t.startAngle,a=t.endAngle,s=t.r,u=t.radius,l=t.innerRadius,c=t.outerRadius,f=t.x,h=t.y,p=t.top,m=t.left,v=t.width,b=t.height,w=t.clockWise,x=t.labelViewBox;if(x)return x;if(qe(v)&&qe(b)){if(qe(f)&&qe(h))return{x:f,y:h,width:v,height:b};if(qe(p)&&qe(m))return{x:p,y:m,width:v,height:b}}return qe(f)&&qe(h)?{x:f,y:h,width:0,height:0}:qe(n)&&qe(r)?{cx:n,cy:r,startAngle:o||i||0,endAngle:a||i||0,innerRadius:l||0,outerRadius:c||u||s||0,clockWise:w}:t.viewBox?t.viewBox:{}},$Re=function(t,n){return t?t===!0?F.createElement(ki,{key:"label-implicit",viewBox:n}):Hr(t)?F.createElement(ki,{key:"label-implicit",viewBox:n,value:t}):y.isValidElement(t)?t.type===ki?y.cloneElement(t,{key:"label-implicit",viewBox:n}):F.createElement(ki,{key:"label-implicit",content:t,viewBox:n}):Ht(t)?F.createElement(ki,{key:"label-implicit",content:t,viewBox:n}):Uh(t)?F.createElement(ki,jg({viewBox:n},t,{key:"label-implicit"})):null:null},IRe=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!t||!t.children&&r&&!t.label)return null;var i=t.children,o=IH(t),a=po(i,ki).map(function(u,l){return y.cloneElement(u,{viewBox:n||o,key:"label-".concat(l)})});if(!r)return a;var s=$Re(t.label,n||o);return[s].concat(yRe(a))};ki.parseViewBox=IH;ki.renderCallByParent=IRe;function NRe(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}var LRe=NRe;const FRe=Dn(LRe);function Bg(e){"@babel/helpers - typeof";return Bg=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Bg(e)}var jRe=["valueAccessor"],BRe=["data","dataKey","clockWise","id","textBreakAll"];function zRe(e){return HRe(e)||WRe(e)||VRe(e)||URe()}function URe(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function VRe(e,t){if(e){if(typeof e=="string")return h6(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return h6(e,t)}}function WRe(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function HRe(e){if(Array.isArray(e))return h6(e)}function h6(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function YRe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var ZRe=function(t){return Array.isArray(t.value)?FRe(t.value):t.value};function As(e){var t=e.valueAccessor,n=t===void 0?ZRe:t,r=X7(e,jRe),i=r.data,o=r.dataKey,a=r.clockWise,s=r.id,u=r.textBreakAll,l=X7(r,BRe);return!i||!i.length?null:F.createElement(Cn,{className:"recharts-label-list"},i.map(function(c,f){var h=Ut(o)?n(c,f):Kr(c&&c.payload,o),p=Ut(s)?{}:{id:"".concat(s,"-").concat(f)};return F.createElement(ki,Ub({},zt(c,!0),l,p,{parentViewBox:c.parentViewBox,value:h,textBreakAll:u,viewBox:ki.parseViewBox(Ut(a)?c:Z7(Z7({},c),{},{clockWise:a})),key:"label-".concat(f),index:f}))}))}As.displayName="LabelList";function XRe(e,t){return e?e===!0?F.createElement(As,{key:"labelList-implicit",data:t}):F.isValidElement(e)||Ht(e)?F.createElement(As,{key:"labelList-implicit",data:t,content:e}):Uh(e)?F.createElement(As,Ub({data:t},e,{key:"labelList-implicit"})):null:null}function QRe(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!e||!e.children&&n&&!e.label)return null;var r=e.children,i=po(r,As).map(function(a,s){return y.cloneElement(a,{data:t,key:"labelList-".concat(s)})});if(!n)return i;var o=XRe(e.label,t);return[o].concat(zRe(i))}As.renderCallByParent=QRe;function zg(e){"@babel/helpers - typeof";return zg=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},zg(e)}function p6(){return p6=Object.assign?Object.assign.bind():function(e){for(var t=1;t180),",").concat(+(a>l),`, + `).concat(f.x,",").concat(f.y,` + `);if(i>0){var p=pi(n,r,i,a),m=pi(n,r,i,l);h+="L ".concat(m.x,",").concat(m.y,` + A `).concat(i,",").concat(i,`,0, + `).concat(+(Math.abs(u)>180),",").concat(+(a<=l),`, + `).concat(p.x,",").concat(p.y," Z")}else h+="L ".concat(n,",").concat(r," Z");return h},r9e=function(t){var n=t.cx,r=t.cy,i=t.innerRadius,o=t.outerRadius,a=t.cornerRadius,s=t.forceCornerRadius,u=t.cornerIsExternal,l=t.startAngle,c=t.endAngle,f=Ua(c-l),h=_1({cx:n,cy:r,radius:o,angle:l,sign:f,cornerRadius:a,cornerIsExternal:u}),p=h.circleTangency,m=h.lineTangency,v=h.theta,b=_1({cx:n,cy:r,radius:o,angle:c,sign:-f,cornerRadius:a,cornerIsExternal:u}),w=b.circleTangency,x=b.lineTangency,S=b.theta,O=u?Math.abs(l-c):Math.abs(l-c)-v-S;if(O<0)return s?"M ".concat(m.x,",").concat(m.y,` + a`).concat(a,",").concat(a,",0,0,1,").concat(a*2,`,0 + a`).concat(a,",").concat(a,",0,0,1,").concat(-a*2,`,0 + `):NH({cx:n,cy:r,innerRadius:i,outerRadius:o,startAngle:l,endAngle:c});var E="M ".concat(m.x,",").concat(m.y,` + A`).concat(a,",").concat(a,",0,0,").concat(+(f<0),",").concat(p.x,",").concat(p.y,` + A`).concat(o,",").concat(o,",0,").concat(+(O>180),",").concat(+(f<0),",").concat(w.x,",").concat(w.y,` + A`).concat(a,",").concat(a,",0,0,").concat(+(f<0),",").concat(x.x,",").concat(x.y,` + `);if(i>0){var C=_1({cx:n,cy:r,radius:i,angle:l,sign:f,isExternal:!0,cornerRadius:a,cornerIsExternal:u}),k=C.circleTangency,M=C.lineTangency,L=C.theta,U=_1({cx:n,cy:r,radius:i,angle:c,sign:-f,isExternal:!0,cornerRadius:a,cornerIsExternal:u}),H=U.circleTangency,V=U.lineTangency,ne=U.theta,Z=u?Math.abs(l-c):Math.abs(l-c)-L-ne;if(Z<0&&a===0)return"".concat(E,"L").concat(n,",").concat(r,"Z");E+="L".concat(V.x,",").concat(V.y,` + A`).concat(a,",").concat(a,",0,0,").concat(+(f<0),",").concat(H.x,",").concat(H.y,` + A`).concat(i,",").concat(i,",0,").concat(+(Z>180),",").concat(+(f>0),",").concat(k.x,",").concat(k.y,` + A`).concat(a,",").concat(a,",0,0,").concat(+(f<0),",").concat(M.x,",").concat(M.y,"Z")}else E+="L".concat(n,",").concat(r,"Z");return E},i9e={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},LH=function(t){var n=J7(J7({},i9e),t),r=n.cx,i=n.cy,o=n.innerRadius,a=n.outerRadius,s=n.cornerRadius,u=n.forceCornerRadius,l=n.cornerIsExternal,c=n.startAngle,f=n.endAngle,h=n.className;if(a0&&Math.abs(c-f)<360?b=r9e({cx:r,cy:i,innerRadius:o,outerRadius:a,cornerRadius:Math.min(v,m/2),forceCornerRadius:u,cornerIsExternal:l,startAngle:c,endAngle:f}):b=NH({cx:r,cy:i,innerRadius:o,outerRadius:a,startAngle:c,endAngle:f}),F.createElement("path",p6({},zt(n,!0),{className:p,d:b,role:"img"}))};function Ug(e){"@babel/helpers - typeof";return Ug=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ug(e)}function g6(){return g6=Object.assign?Object.assign.bind():function(e){for(var t=1;t0;)if(!n.equals(e[r],t[r],r,r,e,t,n))return!1;return!0}function p9e(e,t){return ep(e.getTime(),t.getTime())}function s$(e,t,n){if(e.size!==t.size)return!1;for(var r={},i=e.entries(),o=0,a,s;(a=i.next())&&!a.done;){for(var u=t.entries(),l=!1,c=0;(s=u.next())&&!s.done;){var f=a.value,h=f[0],p=f[1],m=s.value,v=m[0],b=m[1];!l&&!r[c]&&(l=n.equals(h,v,o,c,e,t,n)&&n.equals(p,b,h,v,e,t,n))&&(r[c]=!0),c++}if(!l)return!1;o++}return!0}function g9e(e,t,n){var r=a$(e),i=r.length;if(a$(t).length!==i)return!1;for(var o;i-- >0;)if(o=r[i],o===jH&&(e.$$typeof||t.$$typeof)&&e.$$typeof!==t.$$typeof||!FH(t,o)||!n.equals(e[o],t[o],o,o,e,t,n))return!1;return!0}function Gp(e,t,n){var r=i$(e),i=r.length;if(i$(t).length!==i)return!1;for(var o,a,s;i-- >0;)if(o=r[i],o===jH&&(e.$$typeof||t.$$typeof)&&e.$$typeof!==t.$$typeof||!FH(t,o)||!n.equals(e[o],t[o],o,o,e,t,n)||(a=o$(e,o),s=o$(t,o),(a||s)&&(!a||!s||a.configurable!==s.configurable||a.enumerable!==s.enumerable||a.writable!==s.writable)))return!1;return!0}function m9e(e,t){return ep(e.valueOf(),t.valueOf())}function v9e(e,t){return e.source===t.source&&e.flags===t.flags}function u$(e,t,n){if(e.size!==t.size)return!1;for(var r={},i=e.values(),o,a;(o=i.next())&&!o.done;){for(var s=t.values(),u=!1,l=0;(a=s.next())&&!a.done;)!u&&!r[l]&&(u=n.equals(o.value,a.value,o.value,a.value,e,t,n))&&(r[l]=!0),l++;if(!u)return!1}return!0}function y9e(e,t){var n=e.length;if(t.length!==n)return!1;for(;n-- >0;)if(e[n]!==t[n])return!1;return!0}var b9e="[object Arguments]",x9e="[object Boolean]",w9e="[object Date]",_9e="[object Map]",S9e="[object Number]",C9e="[object Object]",E9e="[object RegExp]",O9e="[object Set]",A9e="[object String]",P9e=Array.isArray,l$=typeof ArrayBuffer=="function"&&ArrayBuffer.isView?ArrayBuffer.isView:null,c$=Object.assign,k9e=Object.prototype.toString.call.bind(Object.prototype.toString);function T9e(e){var t=e.areArraysEqual,n=e.areDatesEqual,r=e.areMapsEqual,i=e.areObjectsEqual,o=e.arePrimitiveWrappersEqual,a=e.areRegExpsEqual,s=e.areSetsEqual,u=e.areTypedArraysEqual;return function(c,f,h){if(c===f)return!0;if(c==null||f==null||typeof c!="object"||typeof f!="object")return c!==c&&f!==f;var p=c.constructor;if(p!==f.constructor)return!1;if(p===Object)return i(c,f,h);if(P9e(c))return t(c,f,h);if(l$!=null&&l$(c))return u(c,f,h);if(p===Date)return n(c,f,h);if(p===RegExp)return a(c,f,h);if(p===Map)return r(c,f,h);if(p===Set)return s(c,f,h);var m=k9e(c);return m===w9e?n(c,f,h):m===E9e?a(c,f,h):m===_9e?r(c,f,h):m===O9e?s(c,f,h):m===C9e?typeof c.then!="function"&&typeof f.then!="function"&&i(c,f,h):m===b9e?i(c,f,h):m===x9e||m===S9e||m===A9e?o(c,f,h):!1}}function M9e(e){var t=e.circular,n=e.createCustomConfig,r=e.strict,i={areArraysEqual:r?Gp:h9e,areDatesEqual:p9e,areMapsEqual:r?r$(s$,Gp):s$,areObjectsEqual:r?Gp:g9e,arePrimitiveWrappersEqual:m9e,areRegExpsEqual:v9e,areSetsEqual:r?r$(u$,Gp):u$,areTypedArraysEqual:r?Gp:y9e};if(n&&(i=c$({},i,n(i))),t){var o=C1(i.areArraysEqual),a=C1(i.areMapsEqual),s=C1(i.areObjectsEqual),u=C1(i.areSetsEqual);i=c$({},i,{areArraysEqual:o,areMapsEqual:a,areObjectsEqual:s,areSetsEqual:u})}return i}function R9e(e){return function(t,n,r,i,o,a,s){return e(t,n,s)}}function D9e(e){var t=e.circular,n=e.comparator,r=e.createState,i=e.equals,o=e.strict;if(r)return function(u,l){var c=r(),f=c.cache,h=f===void 0?t?new WeakMap:void 0:f,p=c.meta;return n(u,l,{cache:h,equals:i,meta:p,strict:o})};if(t)return function(u,l){return n(u,l,{cache:new WeakMap,equals:i,meta:void 0,strict:o})};var a={cache:void 0,equals:i,meta:void 0,strict:o};return function(u,l){return n(u,l,a)}}var $9e=Kl();Kl({strict:!0});Kl({circular:!0});Kl({circular:!0,strict:!0});Kl({createInternalComparator:function(){return ep}});Kl({strict:!0,createInternalComparator:function(){return ep}});Kl({circular:!0,createInternalComparator:function(){return ep}});Kl({circular:!0,createInternalComparator:function(){return ep},strict:!0});function Kl(e){e===void 0&&(e={});var t=e.circular,n=t===void 0?!1:t,r=e.createInternalComparator,i=e.createState,o=e.strict,a=o===void 0?!1:o,s=M9e(e),u=T9e(s),l=r?r(u):R9e(u);return D9e({circular:n,comparator:u,createState:i,equals:l,strict:a})}function I9e(e){typeof requestAnimationFrame<"u"&&requestAnimationFrame(e)}function f$(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=-1,r=function i(o){n<0&&(n=o),o-n>t?(e(o),n=-1):I9e(i)};requestAnimationFrame(r)}function m6(e){"@babel/helpers - typeof";return m6=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},m6(e)}function N9e(e){return B9e(e)||j9e(e)||F9e(e)||L9e()}function L9e(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function F9e(e,t){if(e){if(typeof e=="string")return d$(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return d$(e,t)}}function d$(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n1?1:w<0?0:w},v=function(w){for(var x=w>1?1:w,S=x,O=0;O<8;++O){var E=f(S)-x,C=p(S);if(Math.abs(E-x)0&&arguments[0]!==void 0?arguments[0]:{},n=t.stiff,r=n===void 0?100:n,i=t.damping,o=i===void 0?8:i,a=t.dt,s=a===void 0?17:a,u=function(c,f,h){var p=-(c-f)*r,m=h*o,v=h+(p-m)*s/1e3,b=h*s/1e3+c;return Math.abs(b-f)e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function vDe(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o=0)&&(n[i]=e[i]);return n}function r3(e){return wDe(e)||xDe(e)||bDe(e)||yDe()}function yDe(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function bDe(e,t){if(e){if(typeof e=="string")return w6(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return w6(e,t)}}function xDe(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function wDe(e){if(Array.isArray(e))return w6(e)}function w6(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n"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 Hb(e){return Hb=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Hb(e)}var Xa=function(e){ODe(n,e);var t=ADe(n);function n(r,i){var o;_De(this,n),o=t.call(this,r,i);var a=o.props,s=a.isActive,u=a.attributeName,l=a.from,c=a.to,f=a.steps,h=a.children,p=a.duration;if(o.handleStyleChange=o.handleStyleChange.bind(C6(o)),o.changeStyle=o.changeStyle.bind(C6(o)),!s||p<=0)return o.state={style:{}},typeof h=="function"&&(o.state={style:c}),S6(o);if(f&&f.length)o.state={style:f[0].style};else if(l){if(typeof h=="function")return o.state={style:l},S6(o);o.state={style:u?u0({},u,l):l}}else o.state={style:{}};return o}return CDe(n,[{key:"componentDidMount",value:function(){var i=this.props,o=i.isActive,a=i.canBegin;this.mounted=!0,!(!o||!a)&&this.runAnimation(this.props)}},{key:"componentDidUpdate",value:function(i){var o=this.props,a=o.isActive,s=o.canBegin,u=o.attributeName,l=o.shouldReAnimate,c=o.to,f=o.from,h=this.state.style;if(s){if(!a){var p={style:u?u0({},u,c):c};this.state&&h&&(u&&h[u]!==c||!u&&h!==c)&&this.setState(p);return}if(!($9e(i.to,c)&&i.canBegin&&i.isActive)){var m=!i.canBegin||!i.isActive;this.manager&&this.manager.stop(),this.stopJSAnimation&&this.stopJSAnimation();var v=m||l?f:i.to;if(this.state&&h){var b={style:u?u0({},u,v):v};(u&&h[u]!==v||!u&&h!==v)&&this.setState(b)}this.runAnimation(Pa(Pa({},this.props),{},{from:v,begin:0}))}}}},{key:"componentWillUnmount",value:function(){this.mounted=!1;var i=this.props.onAnimationEnd;this.unSubscribe&&this.unSubscribe(),this.manager&&(this.manager.stop(),this.manager=null),this.stopJSAnimation&&this.stopJSAnimation(),i&&i()}},{key:"handleStyleChange",value:function(i){this.changeStyle(i)}},{key:"changeStyle",value:function(i){this.mounted&&this.setState({style:i})}},{key:"runJSAnimation",value:function(i){var o=this,a=i.from,s=i.to,u=i.duration,l=i.easing,c=i.begin,f=i.onAnimationEnd,h=i.onAnimationStart,p=pDe(a,s,rDe(l),u,this.changeStyle),m=function(){o.stopJSAnimation=p()};this.manager.start([h,c,m,u,f])}},{key:"runStepAnimation",value:function(i){var o=this,a=i.steps,s=i.begin,u=i.onAnimationStart,l=a[0],c=l.style,f=l.duration,h=f===void 0?0:f,p=function(v,b,w){if(w===0)return v;var x=b.duration,S=b.easing,O=S===void 0?"ease":S,E=b.style,C=b.properties,k=b.onAnimationEnd,M=w>0?a[w-1]:b,L=C||Object.keys(E);if(typeof O=="function"||O==="spring")return[].concat(r3(v),[o.runJSAnimation.bind(o,{from:M.style,to:E,duration:x,easing:O}),x]);var U=g$(L,x,O),H=Pa(Pa(Pa({},M.style),E),{},{transition:U});return[].concat(r3(v),[H,x,k]).filter(H9e)};return this.manager.start([u].concat(r3(a.reduce(p,[c,Math.max(h,s)])),[i.onAnimationEnd]))}},{key:"runAnimation",value:function(i){this.manager||(this.manager=z9e());var o=i.begin,a=i.duration,s=i.attributeName,u=i.to,l=i.easing,c=i.onAnimationStart,f=i.onAnimationEnd,h=i.steps,p=i.children,m=this.manager;if(this.unSubscribe=m.subscribe(this.handleStyleChange),typeof l=="function"||typeof p=="function"||l==="spring"){this.runJSAnimation(i);return}if(h.length>1){this.runStepAnimation(i);return}var v=s?u0({},s,u):u,b=g$(Object.keys(v),a,l);m.start([c,o,Pa(Pa({},v),{},{transition:b}),a,f])}},{key:"render",value:function(){var i=this.props,o=i.children;i.begin;var a=i.duration;i.attributeName,i.easing;var s=i.isActive;i.steps,i.from,i.to,i.canBegin,i.onAnimationEnd,i.shouldReAnimate,i.onAnimationReStart;var u=mDe(i,gDe),l=y.Children.count(o),c=this.state.style;if(typeof o=="function")return o(c);if(!s||l===0||a<=0)return o;var f=function(p){var m=p.props,v=m.style,b=v===void 0?{}:v,w=m.className,x=y.cloneElement(p,Pa(Pa({},u),{},{style:Pa(Pa({},b),c),className:w}));return x};return l===1?f(y.Children.only(o)):F.createElement("div",null,y.Children.map(o,function(h){return f(h)}))}}]),n}(y.PureComponent);Xa.displayName="Animate";Xa.defaultProps={begin:0,duration:1e3,from:"",to:"",attributeName:"",easing:"ease",isActive:!0,canBegin:!0,steps:[],onAnimationEnd:function(){},onAnimationStart:function(){}};Xa.propTypes={from:Mt.oneOfType([Mt.object,Mt.string]),to:Mt.oneOfType([Mt.object,Mt.string]),attributeName:Mt.string,duration:Mt.number,begin:Mt.number,easing:Mt.oneOfType([Mt.string,Mt.func]),steps:Mt.arrayOf(Mt.shape({duration:Mt.number.isRequired,style:Mt.object.isRequired,easing:Mt.oneOfType([Mt.oneOf(["ease","ease-in","ease-out","ease-in-out","linear"]),Mt.func]),properties:Mt.arrayOf("string"),onAnimationEnd:Mt.func})),children:Mt.oneOfType([Mt.node,Mt.func]),isActive:Mt.bool,canBegin:Mt.bool,onAnimationEnd:Mt.func,shouldReAnimate:Mt.bool,onAnimationStart:Mt.func,onAnimationReStart:Mt.func};Mt.object,Mt.object,Mt.object,Mt.element;Mt.object,Mt.object,Mt.object,Mt.oneOfType([Mt.array,Mt.element]),Mt.any;function Hg(e){"@babel/helpers - typeof";return Hg=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Hg(e)}function Kb(){return Kb=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0?1:-1,u=r>=0?1:-1,l=i>=0&&r>=0||i<0&&r<0?1:0,c;if(a>0&&o instanceof Array){for(var f=[0,0,0,0],h=0,p=4;ha?a:o[h];c="M".concat(t,",").concat(n+s*f[0]),f[0]>0&&(c+="A ".concat(f[0],",").concat(f[0],",0,0,").concat(l,",").concat(t+u*f[0],",").concat(n)),c+="L ".concat(t+r-u*f[1],",").concat(n),f[1]>0&&(c+="A ".concat(f[1],",").concat(f[1],",0,0,").concat(l,`, + `).concat(t+r,",").concat(n+s*f[1])),c+="L ".concat(t+r,",").concat(n+i-s*f[2]),f[2]>0&&(c+="A ".concat(f[2],",").concat(f[2],",0,0,").concat(l,`, + `).concat(t+r-u*f[2],",").concat(n+i)),c+="L ".concat(t+u*f[3],",").concat(n+i),f[3]>0&&(c+="A ".concat(f[3],",").concat(f[3],",0,0,").concat(l,`, + `).concat(t,",").concat(n+i-s*f[3])),c+="Z"}else if(a>0&&o===+o&&o>0){var m=Math.min(a,o);c="M ".concat(t,",").concat(n+s*m,` + A `).concat(m,",").concat(m,",0,0,").concat(l,",").concat(t+u*m,",").concat(n,` + L `).concat(t+r-u*m,",").concat(n,` + A `).concat(m,",").concat(m,",0,0,").concat(l,",").concat(t+r,",").concat(n+s*m,` + L `).concat(t+r,",").concat(n+i-s*m,` + A `).concat(m,",").concat(m,",0,0,").concat(l,",").concat(t+r-u*m,",").concat(n+i,` + L `).concat(t+u*m,",").concat(n+i,` + A `).concat(m,",").concat(m,",0,0,").concat(l,",").concat(t,",").concat(n+i-s*m," Z")}else c="M ".concat(t,",").concat(n," h ").concat(r," v ").concat(i," h ").concat(-r," Z");return c},LDe=function(t,n){if(!t||!n)return!1;var r=t.x,i=t.y,o=n.x,a=n.y,s=n.width,u=n.height;if(Math.abs(s)>0&&Math.abs(u)>0){var l=Math.min(o,o+s),c=Math.max(o,o+s),f=Math.min(a,a+u),h=Math.max(a,a+u);return r>=l&&r<=c&&i>=f&&i<=h}return!1},FDe={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},EA=function(t){var n=S$(S$({},FDe),t),r=y.useRef(),i=y.useState(-1),o=kDe(i,2),a=o[0],s=o[1];y.useEffect(function(){if(r.current&&r.current.getTotalLength)try{var O=r.current.getTotalLength();O&&s(O)}catch{}},[]);var u=n.x,l=n.y,c=n.width,f=n.height,h=n.radius,p=n.className,m=n.animationEasing,v=n.animationDuration,b=n.animationBegin,w=n.isAnimationActive,x=n.isUpdateAnimationActive;if(u!==+u||l!==+l||c!==+c||f!==+f||c===0||f===0)return null;var S=dn("recharts-rectangle",p);return x?F.createElement(Xa,{canBegin:a>0,from:{width:c,height:f,x:u,y:l},to:{width:c,height:f,x:u,y:l},duration:v,animationEasing:m,isActive:x},function(O){var E=O.width,C=O.height,k=O.x,M=O.y;return F.createElement(Xa,{canBegin:a>0,from:"0px ".concat(a===-1?1:a,"px"),to:"".concat(a,"px 0px"),attributeName:"strokeDasharray",begin:b,duration:v,isActive:w,easing:m},F.createElement("path",Kb({},zt(n,!0),{className:S,d:C$(k,M,E,C,h),ref:r})))}):F.createElement("path",Kb({},zt(n,!0),{className:S,d:C$(u,l,c,f,h)}))};function E6(){return E6=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function HDe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var KDe=function(t,n,r,i,o,a){return"M".concat(t,",").concat(o,"v").concat(i,"M").concat(a,",").concat(n,"h").concat(r)},qDe=function(t){var n=t.x,r=n===void 0?0:n,i=t.y,o=i===void 0?0:i,a=t.top,s=a===void 0?0:a,u=t.left,l=u===void 0?0:u,c=t.width,f=c===void 0?0:c,h=t.height,p=h===void 0?0:h,m=t.className,v=WDe(t,jDe),b=BDe({x:r,y:o,top:s,left:l,width:f,height:p},v);return!qe(r)||!qe(o)||!qe(f)||!qe(p)||!qe(s)||!qe(l)?null:F.createElement("path",O6({},zt(b,!0),{className:dn("recharts-cross",m),d:KDe(r,o,f,p,s,l)}))},GDe=uW,YDe=GDe(Object.getPrototypeOf,Object),ZDe=YDe,XDe=Tu,QDe=ZDe,JDe=Mu,e7e="[object Object]",t7e=Function.prototype,n7e=Object.prototype,KH=t7e.toString,r7e=n7e.hasOwnProperty,i7e=KH.call(Object);function o7e(e){if(!JDe(e)||XDe(e)!=e7e)return!1;var t=QDe(e);if(t===null)return!0;var n=r7e.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&KH.call(n)==i7e}var a7e=o7e;const s7e=Dn(a7e);var u7e=Tu,l7e=Mu,c7e="[object Boolean]";function f7e(e){return e===!0||e===!1||l7e(e)&&u7e(e)==c7e}var d7e=f7e;const h7e=Dn(d7e);function qg(e){"@babel/helpers - typeof";return qg=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},qg(e)}function qb(){return qb=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n0,from:{upperWidth:0,lowerWidth:0,height:h,x:u,y:l},to:{upperWidth:c,lowerWidth:f,height:h,x:u,y:l},duration:v,animationEasing:m,isActive:w},function(S){var O=S.upperWidth,E=S.lowerWidth,C=S.height,k=S.x,M=S.y;return F.createElement(Xa,{canBegin:a>0,from:"0px ".concat(a===-1?1:a,"px"),to:"".concat(a,"px 0px"),attributeName:"strokeDasharray",begin:b,duration:v,easing:m},F.createElement("path",qb({},zt(n,!0),{className:x,d:k$(k,M,O,E,C),ref:r})))}):F.createElement("g",null,F.createElement("path",qb({},zt(n,!0),{className:x,d:k$(u,l,c,f,h)})))},C7e=["option","shapeType","propTransformer","activeClassName","isActive"];function Gg(e){"@babel/helpers - typeof";return Gg=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Gg(e)}function E7e(e,t){if(e==null)return{};var n=O7e(e,t),r,i;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function O7e(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function T$(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Gb(e){for(var t=1;t0&&r.handleDrag(i.changedTouches[0])}),Ao(r,"handleDragEnd",function(){r.setState({isTravellerMoving:!1,isSlideMoving:!1},function(){var i=r.props,o=i.endIndex,a=i.onDragEnd,s=i.startIndex;a?.({endIndex:o,startIndex:s})}),r.detachDragEndListener()}),Ao(r,"handleLeaveWrapper",function(){(r.state.isTravellerMoving||r.state.isSlideMoving)&&(r.leaveTimer=window.setTimeout(r.handleDragEnd,r.props.leaveTimeOut))}),Ao(r,"handleEnterSlideOrTraveller",function(){r.setState({isTextActive:!0})}),Ao(r,"handleLeaveSlideOrTraveller",function(){r.setState({isTextActive:!1})}),Ao(r,"handleSlideDragStart",function(i){var o=L$(i)?i.changedTouches[0]:i;r.setState({isTravellerMoving:!1,isSlideMoving:!0,slideMoveStartX:o.pageX}),r.attachDragEndListener()}),r.travellerDragStartHandlers={startX:r.handleTravellerDragStart.bind(r,"startX"),endX:r.handleTravellerDragStart.bind(r,"endX")},r.state={},r}return l$e(t,e),o$e(t,[{key:"componentWillUnmount",value:function(){this.leaveTimer&&(clearTimeout(this.leaveTimer),this.leaveTimer=null),this.detachDragEndListener()}},{key:"getIndex",value:function(r){var i=r.startX,o=r.endX,a=this.state.scaleValues,s=this.props,u=s.gap,l=s.data,c=l.length-1,f=Math.min(i,o),h=Math.max(i,o),p=t.getIndexInRange(a,f),m=t.getIndexInRange(a,h);return{startIndex:p-p%u,endIndex:m===c?c:m-m%u}}},{key:"getTextOfTick",value:function(r){var i=this.props,o=i.data,a=i.tickFormatter,s=i.dataKey,u=Kr(o[r],s,r);return Ht(a)?a(u,r):u}},{key:"attachDragEndListener",value:function(){window.addEventListener("mouseup",this.handleDragEnd,!0),window.addEventListener("touchend",this.handleDragEnd,!0),window.addEventListener("mousemove",this.handleDrag,!0)}},{key:"detachDragEndListener",value:function(){window.removeEventListener("mouseup",this.handleDragEnd,!0),window.removeEventListener("touchend",this.handleDragEnd,!0),window.removeEventListener("mousemove",this.handleDrag,!0)}},{key:"handleSlideDrag",value:function(r){var i=this.state,o=i.slideMoveStartX,a=i.startX,s=i.endX,u=this.props,l=u.x,c=u.width,f=u.travellerWidth,h=u.startIndex,p=u.endIndex,m=u.onChange,v=r.pageX-o;v>0?v=Math.min(v,l+c-f-s,l+c-f-a):v<0&&(v=Math.max(v,l-a,l-s));var b=this.getIndex({startX:a+v,endX:s+v});(b.startIndex!==h||b.endIndex!==p)&&m&&m(b),this.setState({startX:a+v,endX:s+v,slideMoveStartX:r.pageX})}},{key:"handleTravellerDragStart",value:function(r,i){var o=L$(i)?i.changedTouches[0]:i;this.setState({isSlideMoving:!1,isTravellerMoving:!0,movingTravellerId:r,brushMoveStartX:o.pageX}),this.attachDragEndListener()}},{key:"handleTravellerMove",value:function(r){var i=this.state,o=i.brushMoveStartX,a=i.movingTravellerId,s=i.endX,u=i.startX,l=this.state[a],c=this.props,f=c.x,h=c.width,p=c.travellerWidth,m=c.onChange,v=c.gap,b=c.data,w={startX:this.state.startX,endX:this.state.endX},x=r.pageX-o;x>0?x=Math.min(x,f+h-p-l):x<0&&(x=Math.max(x,f-l)),w[a]=l+x;var S=this.getIndex(w),O=S.startIndex,E=S.endIndex,C=function(){var M=b.length-1;return a==="startX"&&(s>u?O%v===0:E%v===0)||su?E%v===0:O%v===0)||s>u&&E===M};this.setState(Ao(Ao({},a,l+x),"brushMoveStartX",r.pageX),function(){m&&C()&&m(S)})}},{key:"handleTravellerMoveKeyboard",value:function(r,i){var o=this,a=this.state,s=a.scaleValues,u=a.startX,l=a.endX,c=this.state[i],f=s.indexOf(c);if(f!==-1){var h=f+r;if(!(h===-1||h>=s.length)){var p=s[h];i==="startX"&&p>=l||i==="endX"&&p<=u||this.setState(Ao({},i,p),function(){o.props.onChange(o.getIndex({startX:o.state.startX,endX:o.state.endX}))})}}}},{key:"renderBackground",value:function(){var r=this.props,i=r.x,o=r.y,a=r.width,s=r.height,u=r.fill,l=r.stroke;return F.createElement("rect",{stroke:l,fill:u,x:i,y:o,width:a,height:s})}},{key:"renderPanorama",value:function(){var r=this.props,i=r.x,o=r.y,a=r.width,s=r.height,u=r.data,l=r.children,c=r.padding,f=y.Children.only(l);return f?F.cloneElement(f,{x:i,y:o,width:a,height:s,margin:c,compact:!0,data:u}):null}},{key:"renderTravellerLayer",value:function(r,i){var o,a,s=this,u=this.props,l=u.y,c=u.travellerWidth,f=u.height,h=u.traveller,p=u.ariaLabel,m=u.data,v=u.startIndex,b=u.endIndex,w=Math.max(r,this.props.x),x=o3(o3({},zt(this.props,!1)),{},{x:w,y:l,width:c,height:f}),S=p||"Min value: ".concat((o=m[v])===null||o===void 0?void 0:o.name,", Max value: ").concat((a=m[b])===null||a===void 0?void 0:a.name);return F.createElement(Cn,{tabIndex:0,role:"slider","aria-label":S,"aria-valuenow":r,className:"recharts-brush-traveller",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.travellerDragStartHandlers[i],onTouchStart:this.travellerDragStartHandlers[i],onKeyDown:function(E){["ArrowLeft","ArrowRight"].includes(E.key)&&(E.preventDefault(),E.stopPropagation(),s.handleTravellerMoveKeyboard(E.key==="ArrowRight"?1:-1,i))},onFocus:function(){s.setState({isTravellerFocused:!0})},onBlur:function(){s.setState({isTravellerFocused:!1})},style:{cursor:"col-resize"}},t.renderTraveller(h,x))}},{key:"renderSlide",value:function(r,i){var o=this.props,a=o.y,s=o.height,u=o.stroke,l=o.travellerWidth,c=Math.min(r,i)+l,f=Math.max(Math.abs(i-r)-l,0);return F.createElement("rect",{className:"recharts-brush-slide",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.handleSlideDragStart,onTouchStart:this.handleSlideDragStart,style:{cursor:"move"},stroke:"none",fill:u,fillOpacity:.2,x:c,y:a,width:f,height:s})}},{key:"renderText",value:function(){var r=this.props,i=r.startIndex,o=r.endIndex,a=r.y,s=r.height,u=r.travellerWidth,l=r.stroke,c=this.state,f=c.startX,h=c.endX,p=5,m={pointerEvents:"none",fill:l};return F.createElement(Cn,{className:"recharts-brush-texts"},F.createElement(Ob,Zb({textAnchor:"end",verticalAnchor:"middle",x:Math.min(f,h)-p,y:a+s/2},m),this.getTextOfTick(i)),F.createElement(Ob,Zb({textAnchor:"start",verticalAnchor:"middle",x:Math.max(f,h)+u+p,y:a+s/2},m),this.getTextOfTick(o)))}},{key:"render",value:function(){var r=this.props,i=r.data,o=r.className,a=r.children,s=r.x,u=r.y,l=r.width,c=r.height,f=r.alwaysShowText,h=this.state,p=h.startX,m=h.endX,v=h.isTextActive,b=h.isSlideMoving,w=h.isTravellerMoving,x=h.isTravellerFocused;if(!i||!i.length||!qe(s)||!qe(u)||!qe(l)||!qe(c)||l<=0||c<=0)return null;var S=dn("recharts-brush",o),O=F.Children.count(a)===1,E=r$e("userSelect","none");return F.createElement(Cn,{className:S,onMouseLeave:this.handleLeaveWrapper,onTouchMove:this.handleTouchMove,style:E},this.renderBackground(),O&&this.renderPanorama(),this.renderSlide(p,m),this.renderTravellerLayer(p,"startX"),this.renderTravellerLayer(m,"endX"),(v||b||w||x||f)&&this.renderText())}}],[{key:"renderDefaultTraveller",value:function(r){var i=r.x,o=r.y,a=r.width,s=r.height,u=r.stroke,l=Math.floor(o+s/2)-1;return F.createElement(F.Fragment,null,F.createElement("rect",{x:i,y:o,width:a,height:s,fill:u,stroke:"none"}),F.createElement("line",{x1:i+1,y1:l,x2:i+a-1,y2:l,fill:"none",stroke:"#fff"}),F.createElement("line",{x1:i+1,y1:l+2,x2:i+a-1,y2:l+2,fill:"none",stroke:"#fff"}))}},{key:"renderTraveller",value:function(r,i){var o;return F.isValidElement(r)?o=F.cloneElement(r,i):Ht(r)?o=r(i):o=t.renderDefaultTraveller(i),o}},{key:"getDerivedStateFromProps",value:function(r,i){var o=r.data,a=r.width,s=r.x,u=r.travellerWidth,l=r.updateId,c=r.startIndex,f=r.endIndex;if(o!==i.prevData||l!==i.prevUpdateId)return o3({prevData:o,prevTravellerWidth:u,prevUpdateId:l,prevX:s,prevWidth:a},o&&o.length?f$e({data:o,width:a,x:s,travellerWidth:u,startIndex:c,endIndex:f}):{scale:null,scaleValues:null});if(i.scale&&(a!==i.prevWidth||s!==i.prevX||u!==i.prevTravellerWidth)){i.scale.range([s,s+a-u]);var h=i.scale.domain().map(function(p){return i.scale(p)});return{prevData:o,prevTravellerWidth:u,prevUpdateId:l,prevX:s,prevWidth:a,startX:i.scale(r.startIndex),endX:i.scale(r.endIndex),scaleValues:h}}return null}},{key:"getIndexInRange",value:function(r,i){for(var o=r.length,a=0,s=o-1;s-a>1;){var u=Math.floor((a+s)/2);r[u]>i?s=u:a=u}return i>=r[s]?s:a}}])}(y.PureComponent);Ao(ch,"displayName","Brush");Ao(ch,"defaultProps",{height:40,travellerWidth:5,gap:1,fill:"#fff",stroke:"#666",padding:{top:1,right:1,bottom:1,left:1},leaveTimeOut:1e3,alwaysShowText:!1});var d$e=ZO;function h$e(e,t){var n;return d$e(e,function(r,i,o){return n=t(r,i,o),!n}),!!n}var p$e=h$e,g$e=eW,m$e=Vl,v$e=p$e,y$e=vo,b$e=z2;function x$e(e,t,n){var r=y$e(e)?g$e:v$e;return n&&b$e(e,t,n)&&(t=void 0),r(e,m$e(t))}var w$e=x$e;const _$e=Dn(w$e);var Ps=function(t,n){var r=t.alwaysShow,i=t.ifOverflow;return r&&(i="extendDomain"),i===n},F$=_W;function S$e(e,t,n){t=="__proto__"&&F$?F$(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}var C$e=S$e,E$e=C$e,O$e=xW,A$e=Vl;function P$e(e,t){var n={};return t=A$e(t),O$e(e,function(r,i,o){E$e(n,i,t(r,i,o))}),n}var k$e=P$e;const T$e=Dn(k$e);function M$e(e,t){for(var n=-1,r=e==null?0:e.length;++n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function G$e(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function Y$e(e,t){var n=e.x,r=e.y,i=q$e(e,V$e),o="".concat(n),a=parseInt(o,10),s="".concat(r),u=parseInt(s,10),l="".concat(t.height||i.height),c=parseInt(l,10),f="".concat(t.width||i.width),h=parseInt(f,10);return Yp(Yp(Yp(Yp(Yp({},t),i),a?{x:a}:{}),u?{y:u}:{}),{},{height:c,width:h,name:t.name,radius:t.radius})}function B$(e){return F.createElement(A6,k6({shapeType:"rectangle",propTransformer:Y$e,activeClassName:"recharts-active-bar"},e))}var Z$e=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return function(r,i){if(typeof t=="number")return t;var o=typeof r=="number";return o?t(r,i):(o||rf(),n)}},X$e=["value","background"],QH;function fh(e){"@babel/helpers - typeof";return fh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},fh(e)}function Q$e(e,t){if(e==null)return{};var n=J$e(e,t),r,i;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function J$e(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function Qb(){return Qb=Object.assign?Object.assign.bind():function(e){for(var t=1;t0&&Math.abs(G)0&&Math.abs(Z)0&&(ne=Math.min((be||0)-(Z[we-1]||0),ne))}),Number.isFinite(ne)){var G=ne/V,q=v.layout==="vertical"?r.height:r.width;if(v.padding==="gap"&&(k=G*q/2),v.padding==="no-gap"){var W=ef(t.barCategoryGap,G*q),j=G*q/2;k=j-W-(j-W)/q*W}}}i==="xAxis"?M=[r.left+(S.left||0)+(k||0),r.left+r.width-(S.right||0)-(k||0)]:i==="yAxis"?M=u==="horizontal"?[r.top+r.height-(S.bottom||0),r.top+(S.top||0)]:[r.top+(S.top||0)+(k||0),r.top+r.height-(S.bottom||0)-(k||0)]:M=v.range,E&&(M=[M[1],M[0]]);var K=ZMe(v,o,h),Y=K.scale,oe=K.realScaleType;Y.domain(w).range(M),XMe(Y);var ae=oRe(Y,Da(Da({},v),{},{realScaleType:oe}));i==="xAxis"?(H=b==="top"&&!O||b==="bottom"&&O,L=r.left,U=f[C]-H*v.height):i==="yAxis"&&(H=b==="left"&&!O||b==="right"&&O,L=f[C]-H*v.width,U=r.top);var ue=Da(Da(Da({},v),ae),{},{realScaleType:oe,x:L,y:U,scale:Y,width:i==="xAxis"?r.width:v.width,height:i==="yAxis"?r.height:v.height});return ue.bandSize=Bb(ue,ae),!v.hide&&i==="xAxis"?f[C]+=(H?-1:1)*ue.height:v.hide||(f[C]+=(H?-1:1)*ue.width),Da(Da({},p),{},ew({},m,ue))},{})},nK=function(t,n){var r=t.x,i=t.y,o=n.x,a=n.y;return{x:Math.min(r,o),y:Math.min(i,a),width:Math.abs(o-r),height:Math.abs(a-i)}},fIe=function(t){var n=t.x1,r=t.y1,i=t.x2,o=t.y2;return nK({x:n,y:r},{x:i,y:o})},rK=function(){function e(t){sIe(this,e),this.scale=t}return uIe(e,[{key:"domain",get:function(){return this.scale.domain}},{key:"range",get:function(){return this.scale.range}},{key:"rangeMin",get:function(){return this.range()[0]}},{key:"rangeMax",get:function(){return this.range()[1]}},{key:"bandwidth",get:function(){return this.scale.bandwidth}},{key:"apply",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=r.bandAware,o=r.position;if(n!==void 0){if(o)switch(o){case"start":return this.scale(n);case"middle":{var a=this.bandwidth?this.bandwidth()/2:0;return this.scale(n)+a}case"end":{var s=this.bandwidth?this.bandwidth():0;return this.scale(n)+s}default:return this.scale(n)}if(i){var u=this.bandwidth?this.bandwidth()/2:0;return this.scale(n)+u}return this.scale(n)}}},{key:"isInRange",value:function(n){var r=this.range(),i=r[0],o=r[r.length-1];return i<=o?n>=i&&n<=o:n>=o&&n<=i}}],[{key:"create",value:function(n){return new e(n)}}])}();ew(rK,"EPS",1e-4);var OA=function(t){var n=Object.keys(t).reduce(function(r,i){return Da(Da({},r),{},ew({},i,rK.create(t[i])))},{});return Da(Da({},n),{},{apply:function(i){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=o.bandAware,s=o.position;return T$e(i,function(u,l){return n[l].apply(u,{bandAware:a,position:s})})},isInRange:function(i){return XH(i,function(o,a){return n[a].isInRange(o)})}})};function dIe(e){return(e%180+180)%180}var hIe=function(t){var n=t.width,r=t.height,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,o=dIe(i),a=o*Math.PI/180,s=Math.atan(r/n),u=a>s&&a-1?i[o?t[a]:a]:void 0}}var yIe=vIe,bIe=qH;function xIe(e){var t=bIe(e),n=t%1;return t===t?n?t-n:t:0}var wIe=xIe,_Ie=pW,SIe=Vl,CIe=wIe,EIe=Math.max;function OIe(e,t,n){var r=e==null?0:e.length;if(!r)return-1;var i=n==null?0:CIe(n);return i<0&&(i=EIe(r+i,0)),_Ie(e,SIe(t),i)}var AIe=OIe,PIe=yIe,kIe=AIe,TIe=PIe(kIe),MIe=TIe;const RIe=Dn(MIe);var DIe=I2e(function(e){return{x:e.left,y:e.top,width:e.width,height:e.height}},function(e){return["l",e.left,"t",e.top,"w",e.width,"h",e.height].join("")}),AA=y.createContext(void 0),PA=y.createContext(void 0),iK=y.createContext(void 0),oK=y.createContext({}),aK=y.createContext(void 0),sK=y.createContext(0),uK=y.createContext(0),H$=function(t){var n=t.state,r=n.xAxisMap,i=n.yAxisMap,o=n.offset,a=t.clipPathId,s=t.children,u=t.width,l=t.height,c=DIe(o);return F.createElement(AA.Provider,{value:r},F.createElement(PA.Provider,{value:i},F.createElement(oK.Provider,{value:o},F.createElement(iK.Provider,{value:c},F.createElement(aK.Provider,{value:a},F.createElement(sK.Provider,{value:l},F.createElement(uK.Provider,{value:u},s)))))))},$Ie=function(){return y.useContext(aK)},lK=function(t){var n=y.useContext(AA);n==null&&rf();var r=n[t];return r==null&&rf(),r},IIe=function(){var t=y.useContext(AA);return rl(t)},NIe=function(){var t=y.useContext(PA),n=RIe(t,function(r){return XH(r.domain,Number.isFinite)});return n||rl(t)},cK=function(t){var n=y.useContext(PA);n==null&&rf();var r=n[t];return r==null&&rf(),r},LIe=function(){var t=y.useContext(iK);return t},FIe=function(){return y.useContext(oK)},kA=function(){return y.useContext(uK)},TA=function(){return y.useContext(sK)};function dh(e){"@babel/helpers - typeof";return dh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},dh(e)}function jIe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function BIe(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);ne*i)return!1;var o=n();return e*(t-e*o/2-r)>=0&&e*(t+e*o/2-i)<=0}function wNe(e,t){return vK(e,t+1)}function _Ne(e,t,n,r,i){for(var o=(r||[]).slice(),a=t.start,s=t.end,u=0,l=1,c=a,f=function(){var m=r?.[u];if(m===void 0)return{v:vK(r,l)};var v=u,b,w=function(){return b===void 0&&(b=n(m,v)),b},x=m.coordinate,S=u===0||rx(e,x,w,c,s);S||(u=0,c=a,l+=1),S&&(c=x+e*(w()/2+i),u+=l)},h;l<=o.length;)if(h=f(),h)return h.v;return[]}function Jg(e){"@babel/helpers - typeof";return Jg=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Jg(e)}function J$(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Ai(e){for(var t=1;t0?p.coordinate-b*e:p.coordinate})}else o[h]=p=Ai(Ai({},p),{},{tickCoord:p.coordinate});var w=rx(e,p.tickCoord,v,s,u);w&&(u=p.tickCoord-e*(v()/2+i),o[h]=Ai(Ai({},p),{},{isShow:!0}))},c=a-1;c>=0;c--)l(c);return o}function ANe(e,t,n,r,i,o){var a=(r||[]).slice(),s=a.length,u=t.start,l=t.end;if(o){var c=r[s-1],f=n(c,s-1),h=e*(c.coordinate+e*f/2-l);a[s-1]=c=Ai(Ai({},c),{},{tickCoord:h>0?c.coordinate-h*e:c.coordinate});var p=rx(e,c.tickCoord,function(){return f},u,l);p&&(l=c.tickCoord-e*(f/2+i),a[s-1]=Ai(Ai({},c),{},{isShow:!0}))}for(var m=o?s-1:s,v=function(x){var S=a[x],O,E=function(){return O===void 0&&(O=n(S,x)),O};if(x===0){var C=e*(S.coordinate-e*E()/2-u);a[x]=S=Ai(Ai({},S),{},{tickCoord:C<0?S.coordinate-C*e:S.coordinate})}else a[x]=S=Ai(Ai({},S),{},{tickCoord:S.coordinate});var k=rx(e,S.tickCoord,E,u,l);k&&(u=S.tickCoord+e*(E()/2+i),a[x]=Ai(Ai({},S),{},{isShow:!0}))},b=0;b=2?Ua(i[1].coordinate-i[0].coordinate):1,w=xNe(o,b,p);return u==="equidistantPreserveStart"?_Ne(b,w,v,i,a):(u==="preserveStart"||u==="preserveStartEnd"?h=ANe(b,w,v,i,a,u==="preserveStartEnd"):h=ONe(b,w,v,i,a),h.filter(function(x){return x.isShow}))}var PNe=["viewBox"],kNe=["viewBox"],TNe=["ticks"];function gh(e){"@babel/helpers - typeof";return gh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},gh(e)}function vd(){return vd=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function MNe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function RNe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function tI(e,t){for(var n=0;n0?u(this.props):u(p)),a<=0||s<=0||!m||!m.length?null:F.createElement(Cn,{className:dn("recharts-cartesian-axis",l),ref:function(b){r.layerReference=b}},o&&this.renderAxisLine(),this.renderTicks(m,this.state.fontSize,this.state.letterSpacing),ki.renderCallByParent(this.props))}}],[{key:"renderTickItem",value:function(r,i,o){var a;return F.isValidElement(r)?a=F.cloneElement(r,i):Ht(r)?a=r(i):a=F.createElement(Ob,vd({},i,{className:"recharts-cartesian-axis-tick-value"}),o),a}}])}(y.Component);$A(np,"displayName","CartesianAxis");$A(np,"defaultProps",{x:0,y:0,width:0,height:0,viewBox:{x:0,y:0,width:0,height:0},orientation:"bottom",ticks:[],stroke:"#666",tickLine:!0,axisLine:!0,tick:!0,mirror:!1,minTickGap:5,tickSize:6,tickMargin:2,interval:"preserveEnd"});var jNe=["x1","y1","x2","y2","key"],BNe=["offset"];function of(e){"@babel/helpers - typeof";return of=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},of(e)}function nI(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Ti(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function WNe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var HNe=function(t){var n=t.fill;if(!n||n==="none")return null;var r=t.fillOpacity,i=t.x,o=t.y,a=t.width,s=t.height,u=t.ry;return F.createElement("rect",{x:i,y:o,ry:u,width:a,height:s,stroke:"none",fill:n,fillOpacity:r,className:"recharts-cartesian-grid-bg"})};function xK(e,t){var n;if(F.isValidElement(e))n=F.cloneElement(e,t);else if(Ht(e))n=e(t);else{var r=t.x1,i=t.y1,o=t.x2,a=t.y2,s=t.key,u=rI(t,jNe),l=zt(u,!1);l.offset;var c=rI(l,BNe);n=F.createElement("line",Oc({},c,{x1:r,y1:i,x2:o,y2:a,fill:"none",key:s}))}return n}function KNe(e){var t=e.x,n=e.width,r=e.horizontal,i=r===void 0?!0:r,o=e.horizontalPoints;if(!i||!o||!o.length)return null;var a=o.map(function(s,u){var l=Ti(Ti({},e),{},{x1:t,y1:s,x2:t+n,y2:s,key:"line-".concat(u),index:u});return xK(i,l)});return F.createElement("g",{className:"recharts-cartesian-grid-horizontal"},a)}function qNe(e){var t=e.y,n=e.height,r=e.vertical,i=r===void 0?!0:r,o=e.verticalPoints;if(!i||!o||!o.length)return null;var a=o.map(function(s,u){var l=Ti(Ti({},e),{},{x1:s,y1:t,x2:s,y2:t+n,key:"line-".concat(u),index:u});return xK(i,l)});return F.createElement("g",{className:"recharts-cartesian-grid-vertical"},a)}function GNe(e){var t=e.horizontalFill,n=e.fillOpacity,r=e.x,i=e.y,o=e.width,a=e.height,s=e.horizontalPoints,u=e.horizontal,l=u===void 0?!0:u;if(!l||!t||!t.length)return null;var c=s.map(function(h){return Math.round(h+i-i)}).sort(function(h,p){return h-p});i!==c[0]&&c.unshift(0);var f=c.map(function(h,p){var m=!c[p+1],v=m?i+a-h:c[p+1]-h;if(v<=0)return null;var b=p%t.length;return F.createElement("rect",{key:"react-".concat(p),y:h,x:r,height:v,width:o,stroke:"none",fill:t[b],fillOpacity:n,className:"recharts-cartesian-grid-bg"})});return F.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},f)}function YNe(e){var t=e.vertical,n=t===void 0?!0:t,r=e.verticalFill,i=e.fillOpacity,o=e.x,a=e.y,s=e.width,u=e.height,l=e.verticalPoints;if(!n||!r||!r.length)return null;var c=l.map(function(h){return Math.round(h+o-o)}).sort(function(h,p){return h-p});o!==c[0]&&c.unshift(0);var f=c.map(function(h,p){var m=!c[p+1],v=m?o+s-h:c[p+1]-h;if(v<=0)return null;var b=p%r.length;return F.createElement("rect",{key:"react-".concat(p),x:h,y:a,width:v,height:u,stroke:"none",fill:r[b],fillOpacity:i,className:"recharts-cartesian-grid-bg"})});return F.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},f)}var ZNe=function(t,n){var r=t.xAxis,i=t.width,o=t.height,a=t.offset;return RH(DA(Ti(Ti(Ti({},np.defaultProps),r),{},{ticks:su(r,!0),viewBox:{x:0,y:0,width:i,height:o}})),a.left,a.left+a.width,n)},XNe=function(t,n){var r=t.yAxis,i=t.width,o=t.height,a=t.offset;return RH(DA(Ti(Ti(Ti({},np.defaultProps),r),{},{ticks:su(r,!0),viewBox:{x:0,y:0,width:i,height:o}})),a.top,a.top+a.height,n)},Zf={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[]};function QNe(e){var t,n,r,i,o,a,s=kA(),u=TA(),l=FIe(),c=Ti(Ti({},e),{},{stroke:(t=e.stroke)!==null&&t!==void 0?t:Zf.stroke,fill:(n=e.fill)!==null&&n!==void 0?n:Zf.fill,horizontal:(r=e.horizontal)!==null&&r!==void 0?r:Zf.horizontal,horizontalFill:(i=e.horizontalFill)!==null&&i!==void 0?i:Zf.horizontalFill,vertical:(o=e.vertical)!==null&&o!==void 0?o:Zf.vertical,verticalFill:(a=e.verticalFill)!==null&&a!==void 0?a:Zf.verticalFill,x:qe(e.x)?e.x:l.left,y:qe(e.y)?e.y:l.top,width:qe(e.width)?e.width:l.width,height:qe(e.height)?e.height:l.height}),f=c.x,h=c.y,p=c.width,m=c.height,v=c.syncWithTicks,b=c.horizontalValues,w=c.verticalValues,x=IIe(),S=NIe();if(!qe(p)||p<=0||!qe(m)||m<=0||!qe(f)||f!==+f||!qe(h)||h!==+h)return null;var O=c.verticalCoordinatesGenerator||ZNe,E=c.horizontalCoordinatesGenerator||XNe,C=c.horizontalPoints,k=c.verticalPoints;if((!C||!C.length)&&Ht(E)){var M=b&&b.length,L=E({yAxis:S?Ti(Ti({},S),{},{ticks:M?b:S.ticks}):void 0,width:s,height:u,offset:l},M?!0:v);du(Array.isArray(L),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(of(L),"]")),Array.isArray(L)&&(C=L)}if((!k||!k.length)&&Ht(O)){var U=w&&w.length,H=O({xAxis:x?Ti(Ti({},x),{},{ticks:U?w:x.ticks}):void 0,width:s,height:u,offset:l},U?!0:v);du(Array.isArray(H),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(of(H),"]")),Array.isArray(H)&&(k=H)}return F.createElement("g",{className:"recharts-cartesian-grid"},F.createElement(HNe,{fill:c.fill,fillOpacity:c.fillOpacity,x:c.x,y:c.y,width:c.width,height:c.height,ry:c.ry}),F.createElement(KNe,Oc({},c,{offset:l,horizontalPoints:C,xAxis:x,yAxis:S})),F.createElement(qNe,Oc({},c,{offset:l,verticalPoints:k,xAxis:x,yAxis:S})),F.createElement(GNe,Oc({},c,{horizontalPoints:C})),F.createElement(YNe,Oc({},c,{verticalPoints:k})))}QNe.displayName="CartesianGrid";var JNe=["type","layout","connectNulls","ref"],eLe=["key"];function mh(e){"@babel/helpers - typeof";return mh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},mh(e)}function iI(e,t){if(e==null)return{};var n=tLe(e,t),r,i;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function tLe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function A0(){return A0=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);nf){p=[].concat(Xf(u.slice(0,m)),[f-v]);break}var b=p.length%2===0?[0,h]:[h];return[].concat(Xf(t.repeat(u,c)),Xf(p),b).map(function(w){return"".concat(w,"px")}).join(", ")}),$a(n,"id",vf("recharts-line-")),$a(n,"pathRef",function(a){n.mainCurve=a}),$a(n,"handleAnimationEnd",function(){n.setState({isAnimationFinished:!0}),n.props.onAnimationEnd&&n.props.onAnimationEnd()}),$a(n,"handleAnimationStart",function(){n.setState({isAnimationFinished:!1}),n.props.onAnimationStart&&n.props.onAnimationStart()}),n}return fLe(t,e),sLe(t,[{key:"componentDidMount",value:function(){if(this.props.isAnimationActive){var r=this.getTotalLength();this.setState({totalLength:r})}}},{key:"componentDidUpdate",value:function(){if(this.props.isAnimationActive){var r=this.getTotalLength();r!==this.state.totalLength&&this.setState({totalLength:r})}}},{key:"getTotalLength",value:function(){var r=this.mainCurve;try{return r&&r.getTotalLength&&r.getTotalLength()||0}catch{return 0}}},{key:"renderErrorBar",value:function(r,i){if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var o=this.props,a=o.points,s=o.xAxis,u=o.yAxis,l=o.layout,c=o.children,f=po(c,Jh);if(!f)return null;var h=function(v,b){return{x:v.x,y:v.y,value:v.value,errorVal:Kr(v.payload,b)}},p={clipPath:r?"url(#clipPath-".concat(i,")"):null};return F.createElement(Cn,p,f.map(function(m){return F.cloneElement(m,{key:"bar-".concat(m.props.dataKey),data:a,xAxis:s,yAxis:u,layout:l,dataPointFormatter:h})}))}},{key:"renderDots",value:function(r,i,o){var a=this.props.isAnimationActive;if(a&&!this.state.isAnimationFinished)return null;var s=this.props,u=s.dot,l=s.points,c=s.dataKey,f=zt(this.props,!1),h=zt(u,!0),p=l.map(function(v,b){var w=Oo(Oo(Oo({key:"dot-".concat(b),r:3},f),h),{},{value:v.value,dataKey:c,cx:v.x,cy:v.y,index:b,payload:v.payload});return t.renderDotItem(u,w)}),m={clipPath:r?"url(#clipPath-".concat(i?"":"dots-").concat(o,")"):null};return F.createElement(Cn,A0({className:"recharts-line-dots",key:"dots"},m),p)}},{key:"renderCurveStatically",value:function(r,i,o,a){var s=this.props,u=s.type,l=s.layout,c=s.connectNulls;s.ref;var f=iI(s,JNe),h=Oo(Oo(Oo({},zt(f,!0)),{},{fill:"none",className:"recharts-line-curve",clipPath:i?"url(#clipPath-".concat(o,")"):null,points:r},a),{},{type:u,layout:l,connectNulls:c});return F.createElement(Ic,A0({},h,{pathRef:this.pathRef}))}},{key:"renderCurveWithAnimation",value:function(r,i){var o=this,a=this.props,s=a.points,u=a.strokeDasharray,l=a.isAnimationActive,c=a.animationBegin,f=a.animationDuration,h=a.animationEasing,p=a.animationId,m=a.animateNewValues,v=a.width,b=a.height,w=this.state,x=w.prevPoints,S=w.totalLength;return F.createElement(Xa,{begin:c,duration:f,isActive:l,easing:h,from:{t:0},to:{t:1},key:"line-".concat(p),onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(O){var E=O.t;if(x){var C=x.length/s.length,k=s.map(function(V,ne){var Z=Math.floor(ne*C);if(x[Z]){var G=x[Z],q=Er(G.x,V.x),W=Er(G.y,V.y);return Oo(Oo({},V),{},{x:q(E),y:W(E)})}if(m){var j=Er(v*2,V.x),K=Er(b/2,V.y);return Oo(Oo({},V),{},{x:j(E),y:K(E)})}return Oo(Oo({},V),{},{x:V.x,y:V.y})});return o.renderCurveStatically(k,r,i)}var M=Er(0,S),L=M(E),U;if(u){var H="".concat(u).split(/[,\s]+/gim).map(function(V){return parseFloat(V)});U=o.getStrokeDasharray(L,S,H)}else U=o.generateSimpleStrokeDasharray(S,L);return o.renderCurveStatically(s,r,i,{strokeDasharray:U})})}},{key:"renderCurve",value:function(r,i){var o=this.props,a=o.points,s=o.isAnimationActive,u=this.state,l=u.prevPoints,c=u.totalLength;return s&&a&&a.length&&(!l&&c>0||!tf(l,a))?this.renderCurveWithAnimation(r,i):this.renderCurveStatically(a,r,i)}},{key:"render",value:function(){var r,i=this.props,o=i.hide,a=i.dot,s=i.points,u=i.className,l=i.xAxis,c=i.yAxis,f=i.top,h=i.left,p=i.width,m=i.height,v=i.isAnimationActive,b=i.id;if(o||!s||!s.length)return null;var w=this.state.isAnimationFinished,x=s.length===1,S=dn("recharts-line",u),O=l&&l.allowDataOverflow,E=c&&c.allowDataOverflow,C=O||E,k=Ut(b)?this.id:b,M=(r=zt(a,!1))!==null&&r!==void 0?r:{r:3,strokeWidth:2},L=M.r,U=L===void 0?3:L,H=M.strokeWidth,V=H===void 0?2:H,ne=EV(a)?a:{},Z=ne.clipDot,G=Z===void 0?!0:Z,q=U*2+V;return F.createElement(Cn,{className:S},O||E?F.createElement("defs",null,F.createElement("clipPath",{id:"clipPath-".concat(k)},F.createElement("rect",{x:O?h:h-p/2,y:E?f:f-m/2,width:O?p:p*2,height:E?m:m*2})),!G&&F.createElement("clipPath",{id:"clipPath-dots-".concat(k)},F.createElement("rect",{x:h-q/2,y:f-q/2,width:p+q,height:m+q}))):null,!x&&this.renderCurve(C,k),this.renderErrorBar(C,k),(x||a)&&this.renderDots(C,G,k),(!v||w)&&As.renderCallByParent(this.props,s))}}],[{key:"getDerivedStateFromProps",value:function(r,i){return r.animationId!==i.prevAnimationId?{prevAnimationId:r.animationId,curPoints:r.points,prevPoints:i.curPoints}:r.points!==i.curPoints?{curPoints:r.points}:null}},{key:"repeat",value:function(r,i){for(var o=r.length%2!==0?[].concat(Xf(r),[0]):r,a=[],s=0;s=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function gLe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function Ac(){return Ac=Object.assign?Object.assign.bind():function(e){for(var t=1;t0||!tf(c,a)||!tf(f,s))?this.renderAreaWithAnimation(r,i):this.renderAreaStatically(a,s,r,i)}},{key:"render",value:function(){var r,i=this.props,o=i.hide,a=i.dot,s=i.points,u=i.className,l=i.top,c=i.left,f=i.xAxis,h=i.yAxis,p=i.width,m=i.height,v=i.isAnimationActive,b=i.id;if(o||!s||!s.length)return null;var w=this.state.isAnimationFinished,x=s.length===1,S=dn("recharts-area",u),O=f&&f.allowDataOverflow,E=h&&h.allowDataOverflow,C=O||E,k=Ut(b)?this.id:b,M=(r=zt(a,!1))!==null&&r!==void 0?r:{r:3,strokeWidth:2},L=M.r,U=L===void 0?3:L,H=M.strokeWidth,V=H===void 0?2:H,ne=EV(a)?a:{},Z=ne.clipDot,G=Z===void 0?!0:Z,q=U*2+V;return F.createElement(Cn,{className:S},O||E?F.createElement("defs",null,F.createElement("clipPath",{id:"clipPath-".concat(k)},F.createElement("rect",{x:O?c:c-p/2,y:E?l:l-m/2,width:O?p:p*2,height:E?m:m*2})),!G&&F.createElement("clipPath",{id:"clipPath-dots-".concat(k)},F.createElement("rect",{x:c-q/2,y:l-q/2,width:p+q,height:m+q}))):null,x?null:this.renderArea(C,k),(a||x)&&this.renderDots(C,G,k),(!v||w)&&As.renderCallByParent(this.props,s))}}],[{key:"getDerivedStateFromProps",value:function(r,i){return r.animationId!==i.prevAnimationId?{prevAnimationId:r.animationId,curPoints:r.points,curBaseLine:r.baseLine,prevPoints:i.curPoints,prevBaseLine:i.curBaseLine}:r.points!==i.curPoints||r.baseLine!==i.curBaseLine?{curPoints:r.points,curBaseLine:r.baseLine}:null}}])}(y.PureComponent);SK=xf;bs(xf,"displayName","Area");bs(xf,"defaultProps",{stroke:"#3182bd",fill:"#3182bd",fillOpacity:.6,xAxisId:0,yAxisId:0,legendType:"line",connectNulls:!1,points:[],dot:!1,activeDot:!0,hide:!1,isAnimationActive:!Ka.isSsr,animationBegin:0,animationDuration:1500,animationEasing:"ease"});bs(xf,"getBaseValue",function(e,t,n,r){var i=e.layout,o=e.baseValue,a=t.props.baseValue,s=a??o;if(qe(s)&&typeof s=="number")return s;var u=i==="horizontal"?r:n,l=u.scale.domain();if(u.type==="number"){var c=Math.max(l[0],l[1]),f=Math.min(l[0],l[1]);return s==="dataMin"?f:s==="dataMax"||c<0?c:Math.max(Math.min(l[0],l[1]),0)}return s==="dataMin"?l[0]:s==="dataMax"?l[1]:l[0]});bs(xf,"getComposedData",function(e){var t=e.props,n=e.item,r=e.xAxis,i=e.yAxis,o=e.xAxisTicks,a=e.yAxisTicks,s=e.bandSize,u=e.dataKey,l=e.stackedData,c=e.dataStartIndex,f=e.displayedData,h=e.offset,p=t.layout,m=l&&l.length,v=SK.getBaseValue(t,n,r,i),b=p==="horizontal",w=!1,x=f.map(function(O,E){var C;m?C=l[c+E]:(C=Kr(O,u),Array.isArray(C)?w=!0:C=[v,C]);var k=C[1]==null||m&&Kr(O,u)==null;return b?{x:sh({axis:r,ticks:o,bandSize:s,entry:O,index:E}),y:k?null:i.scale(C[1]),value:C,payload:O}:{x:k?null:r.scale(C[1]),y:sh({axis:i,ticks:a,bandSize:s,entry:O,index:E}),value:C,payload:O}}),S;return m||w?S=x.map(function(O){var E=Array.isArray(O.value)?O.value[0]:null;return b?{x:O.x,y:E!=null&&O.y!=null?i.scale(E):null}:{x:E!=null?r.scale(E):null,y:O.y}}):S=b?i.scale(v):r.scale(v),Yu({points:x,baseLine:S,layout:p,isRange:w},h)});bs(xf,"renderDotItem",function(e,t){var n;if(F.isValidElement(e))n=F.cloneElement(e,t);else if(Ht(e))n=e(t);else{var r=dn("recharts-area-dot",typeof e!="boolean"?e.className:""),i=t.key,o=CK(t,pLe);n=F.createElement(X2,Ac({},o,{key:i,className:r}))}return n});function yh(e){"@babel/helpers - typeof";return yh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},yh(e)}function SLe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function CLe(e,t){for(var n=0;n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function DLe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function $Le(e){var t=e.option,n=e.isActive,r=RLe(e,MLe);return typeof t=="string"?F.createElement(A6,P0({option:F.createElement(F2,P0({type:t},r)),isActive:n,shapeType:"symbols"},r)):F.createElement(A6,P0({option:t,isActive:n,shapeType:"symbols"},r))}function bh(e){"@babel/helpers - typeof";return bh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},bh(e)}function k0(){return k0=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function PFe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function kFe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function TFe(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n0?a:t&&t.length&&qe(i)&&qe(o)?t.slice(i,o+1):[]};function KK(e){return e==="number"?[0,"auto"]:void 0}var X6=function(t,n,r,i){var o=t.graphicalItems,a=t.tooltipAxis,s=uw(n,t);return r<0||!o||!o.length||r>=s.length?null:o.reduce(function(u,l){var c,f=(c=l.props.data)!==null&&c!==void 0?c:n;f&&t.dataStartIndex+t.dataEndIndex!==0&&t.dataEndIndex-t.dataStartIndex>=r&&(f=f.slice(t.dataStartIndex,t.dataEndIndex+1));var h;if(a.dataKey&&!a.allowDuplicatedCategory){var p=f===void 0?s:f;h=fb(p,a.dataKey,i)}else h=f&&f[r]||s[r];return h?[].concat(Sh(u),[$H(l,h)]):u},[])},mI=function(t,n,r,i){var o=i||{x:t.chartX,y:t.chartY},a=UFe(o,r),s=t.orderedTooltipTicks,u=t.tooltipAxis,l=t.tooltipTicks,c=WMe(a,s,l,u);if(c>=0&&l){var f=l[c]&&l[c].value,h=X6(t,n,c,f),p=VFe(r,s,c,o);return{activeTooltipIndex:c,activeLabel:f,activePayload:h,activeCoordinate:p}}return null},WFe=function(t,n){var r=n.axes,i=n.graphicalItems,o=n.axisType,a=n.axisIdKey,s=n.stackGroups,u=n.dataStartIndex,l=n.dataEndIndex,c=t.layout,f=t.children,h=t.stackOffset,p=MH(c,o);return r.reduce(function(m,v){var b,w=v.type.defaultProps!==void 0?Se(Se({},v.type.defaultProps),v.props):v.props,x=w.type,S=w.dataKey,O=w.allowDataOverflow,E=w.allowDuplicatedCategory,C=w.scale,k=w.ticks,M=w.includeHidden,L=w[a];if(m[L])return m;var U=uw(t.data,{graphicalItems:i.filter(function(ae){var ue,be=a in ae.props?ae.props[a]:(ue=ae.type.defaultProps)===null||ue===void 0?void 0:ue[a];return be===L}),dataStartIndex:u,dataEndIndex:l}),H=U.length,V,ne,Z;mFe(w.domain,O,x)&&(V=f6(w.domain,null,O),p&&(x==="number"||C!=="auto")&&(Z=E0(U,S,"category")));var G=KK(x);if(!V||V.length===0){var q,W=(q=w.domain)!==null&&q!==void 0?q:G;if(S){if(V=E0(U,S,x),x==="category"&&p){var j=Rwe(V);E&&j?(ne=V,V=Yb(0,H)):E||(V=W7(W,V,v).reduce(function(ae,ue){return ae.indexOf(ue)>=0?ae:[].concat(Sh(ae),[ue])},[]))}else if(x==="category")E?V=V.filter(function(ae){return ae!==""&&!Ut(ae)}):V=W7(W,V,v).reduce(function(ae,ue){return ae.indexOf(ue)>=0||ue===""||Ut(ue)?ae:[].concat(Sh(ae),[ue])},[]);else if(x==="number"){var K=YMe(U,i.filter(function(ae){var ue,be,we=a in ae.props?ae.props[a]:(ue=ae.type.defaultProps)===null||ue===void 0?void 0:ue[a],He="hide"in ae.props?ae.props.hide:(be=ae.type.defaultProps)===null||be===void 0?void 0:be.hide;return we===L&&(M||!He)}),S,o,c);K&&(V=K)}p&&(x==="number"||C!=="auto")&&(Z=E0(U,S,"category"))}else p?V=Yb(0,H):s&&s[L]&&s[L].hasStack&&x==="number"?V=h==="expand"?[0,1]:DH(s[L].stackGroups,u,l):V=TH(U,i.filter(function(ae){var ue=a in ae.props?ae.props[a]:ae.type.defaultProps[a],be="hide"in ae.props?ae.props.hide:ae.type.defaultProps.hide;return ue===L&&(M||!be)}),x,c,!0);if(x==="number")V=G6(f,V,L,o,k),W&&(V=f6(W,V,O));else if(x==="category"&&W){var Y=W,oe=V.every(function(ae){return Y.indexOf(ae)>=0});oe&&(V=Y)}}return Se(Se({},m),{},kt({},L,Se(Se({},w),{},{axisType:o,domain:V,categoricalDomain:Z,duplicateDomain:ne,originalDomain:(b=w.domain)!==null&&b!==void 0?b:G,isCategorical:p,layout:c})))},{})},HFe=function(t,n){var r=n.graphicalItems,i=n.Axis,o=n.axisType,a=n.axisIdKey,s=n.stackGroups,u=n.dataStartIndex,l=n.dataEndIndex,c=t.layout,f=t.children,h=uw(t.data,{graphicalItems:r,dataStartIndex:u,dataEndIndex:l}),p=h.length,m=MH(c,o),v=-1;return r.reduce(function(b,w){var x=w.type.defaultProps!==void 0?Se(Se({},w.type.defaultProps),w.props):w.props,S=x[a],O=KK("number");if(!b[S]){v++;var E;return m?E=Yb(0,p):s&&s[S]&&s[S].hasStack?(E=DH(s[S].stackGroups,u,l),E=G6(f,E,S,o)):(E=f6(O,TH(h,r.filter(function(C){var k,M,L=a in C.props?C.props[a]:(k=C.type.defaultProps)===null||k===void 0?void 0:k[a],U="hide"in C.props?C.props.hide:(M=C.type.defaultProps)===null||M===void 0?void 0:M.hide;return L===S&&!U}),"number",c),i.defaultProps.allowDataOverflow),E=G6(f,E,S,o)),Se(Se({},b),{},kt({},S,Se(Se({axisType:o},i.defaultProps),{},{hide:!0,orientation:ha(BFe,"".concat(o,".").concat(v%2),null),domain:E,originalDomain:O,isCategorical:m,layout:c})))}return b},{})},KFe=function(t,n){var r=n.axisType,i=r===void 0?"xAxis":r,o=n.AxisComp,a=n.graphicalItems,s=n.stackGroups,u=n.dataStartIndex,l=n.dataEndIndex,c=t.children,f="".concat(i,"Id"),h=po(c,o),p={};return h.length?p=WFe(t,{axes:h,graphicalItems:a,axisType:i,axisIdKey:f,stackGroups:s,dataStartIndex:u,dataEndIndex:l}):a&&a.length&&(p=HFe(t,{Axis:o,graphicalItems:a,axisType:i,axisIdKey:f,stackGroups:s,dataStartIndex:u,dataEndIndex:l})),p},qFe=function(t){var n=rl(t),r=su(n,!1,!0);return{tooltipTicks:r,orderedTooltipTicks:XO(r,function(i){return i.coordinate}),tooltipAxis:n,tooltipAxisBandSize:Bb(n,r)}},vI=function(t){var n=t.children,r=t.defaultShowTooltip,i=To(n,ch),o=0,a=0;return t.data&&t.data.length!==0&&(a=t.data.length-1),i&&i.props&&(i.props.startIndex>=0&&(o=i.props.startIndex),i.props.endIndex>=0&&(a=i.props.endIndex)),{chartX:0,chartY:0,dataStartIndex:o,dataEndIndex:a,activeTooltipIndex:-1,isTooltipActive:!!r}},GFe=function(t){return!t||!t.length?!1:t.some(function(n){var r=fu(n&&n.type);return r&&r.indexOf("Bar")>=0})},yI=function(t){return t==="horizontal"?{numericAxisName:"yAxis",cateAxisName:"xAxis"}:t==="vertical"?{numericAxisName:"xAxis",cateAxisName:"yAxis"}:t==="centric"?{numericAxisName:"radiusAxis",cateAxisName:"angleAxis"}:{numericAxisName:"angleAxis",cateAxisName:"radiusAxis"}},YFe=function(t,n){var r=t.props,i=t.graphicalItems,o=t.xAxisMap,a=o===void 0?{}:o,s=t.yAxisMap,u=s===void 0?{}:s,l=r.width,c=r.height,f=r.children,h=r.margin||{},p=To(f,ch),m=To(f,Dd),v=Object.keys(u).reduce(function(E,C){var k=u[C],M=k.orientation;return!k.mirror&&!k.hide?Se(Se({},E),{},kt({},M,E[M]+k.width)):E},{left:h.left||0,right:h.right||0}),b=Object.keys(a).reduce(function(E,C){var k=a[C],M=k.orientation;return!k.mirror&&!k.hide?Se(Se({},E),{},kt({},M,ha(E,"".concat(M))+k.height)):E},{top:h.top||0,bottom:h.bottom||0}),w=Se(Se({},b),v),x=w.bottom;p&&(w.bottom+=p.props.height||ch.defaultProps.height),m&&n&&(w=qMe(w,i,r,n));var S=l-w.left-w.right,O=c-w.top-w.bottom;return Se(Se({brushBottom:x},w),{},{width:Math.max(S,0),height:Math.max(O,0)})},ZFe=function(t,n){if(n==="xAxis")return t[n].width;if(n==="yAxis")return t[n].height},XFe=function(t){var n=t.chartName,r=t.GraphicalChild,i=t.defaultTooltipEventType,o=i===void 0?"axis":i,a=t.validateTooltipEventTypes,s=a===void 0?["axis"]:a,u=t.axisComponents,l=t.legendContent,c=t.formatAxisMap,f=t.defaultProps,h=function(w,x){var S=x.graphicalItems,O=x.stackGroups,E=x.offset,C=x.updateId,k=x.dataStartIndex,M=x.dataEndIndex,L=w.barSize,U=w.layout,H=w.barGap,V=w.barCategoryGap,ne=w.maxBarSize,Z=yI(U),G=Z.numericAxisName,q=Z.cateAxisName,W=GFe(S),j=[];return S.forEach(function(K,Y){var oe=uw(w.data,{graphicalItems:[K],dataStartIndex:k,dataEndIndex:M}),ae=K.type.defaultProps!==void 0?Se(Se({},K.type.defaultProps),K.props):K.props,ue=ae.dataKey,be=ae.maxBarSize,we=ae["".concat(G,"Id")],He=ae["".concat(q,"Id")],Ee={},it=u.reduce(function(ze,Fe){var Ae=x["".concat(Fe.axisType,"Map")],tt=ae["".concat(Fe.axisType,"Id")];Ae&&Ae[tt]||Fe.axisType==="zAxis"||rf();var mt=Ae[tt];return Se(Se({},ze),{},kt(kt({},Fe.axisType,mt),"".concat(Fe.axisType,"Ticks"),su(mt)))},Ee),ke=it[q],Le=it["".concat(q,"Ticks")],De=O&&O[we]&&O[we].hasStack&&sRe(K,O[we].stackGroups),me=fu(K.type).indexOf("Bar")>=0,yt=Bb(ke,Le),lt=[],Nt=W&&HMe({barSize:L,stackGroups:O,totalSize:ZFe(it,q)});if(me){var yn,nn,te=Ut(be)?ne:be,de=(yn=(nn=Bb(ke,Le,!0))!==null&&nn!==void 0?nn:te)!==null&&yn!==void 0?yn:0;lt=KMe({barGap:H,barCategoryGap:V,bandSize:de!==yt?de:yt,sizeList:Nt[He],maxBarSize:te}),de!==yt&&(lt=lt.map(function(ze){return Se(Se({},ze),{},{position:Se(Se({},ze.position),{},{offset:ze.position.offset-de/2})})}))}var ge=K&&K.type&&K.type.getComposedData;ge&&j.push({props:Se(Se({},ge(Se(Se({},it),{},{displayedData:oe,props:w,dataKey:ue,item:K,bandSize:yt,barPosition:lt,offset:E,stackedData:De,layout:U,dataStartIndex:k,dataEndIndex:M}))),{},kt(kt(kt({key:K.key||"item-".concat(Y)},G,it[G]),q,it[q]),"animationId",C)),childIndex:Wwe(K,w.children),item:K})}),j},p=function(w,x){var S=w.props,O=w.dataStartIndex,E=w.dataEndIndex,C=w.updateId;if(!F9({props:S}))return null;var k=S.children,M=S.layout,L=S.stackOffset,U=S.data,H=S.reverseStackOrder,V=yI(M),ne=V.numericAxisName,Z=V.cateAxisName,G=po(k,r),q=iRe(U,G,"".concat(ne,"Id"),"".concat(Z,"Id"),L,H),W=u.reduce(function(ae,ue){var be="".concat(ue.axisType,"Map");return Se(Se({},ae),{},kt({},be,KFe(S,Se(Se({},ue),{},{graphicalItems:G,stackGroups:ue.axisType===ne&&q,dataStartIndex:O,dataEndIndex:E}))))},{}),j=YFe(Se(Se({},W),{},{props:S,graphicalItems:G}),x?.legendBBox);Object.keys(W).forEach(function(ae){W[ae]=c(S,W[ae],j,ae.replace("Map",""),n)});var K=W["".concat(Z,"Map")],Y=qFe(K),oe=h(S,Se(Se({},W),{},{dataStartIndex:O,dataEndIndex:E,updateId:C,graphicalItems:G,stackGroups:q,offset:j}));return Se(Se({formattedGraphicalItems:oe,graphicalItems:G,offset:j,stackGroups:q},Y),W)},m=function(b){function w(x){var S,O,E;return kFe(this,w),E=RFe(this,w,[x]),kt(E,"eventEmitterSymbol",Symbol("rechartsEventEmitter")),kt(E,"accessibilityManager",new gFe),kt(E,"handleLegendBBoxUpdate",function(C){if(C){var k=E.state,M=k.dataStartIndex,L=k.dataEndIndex,U=k.updateId;E.setState(Se({legendBBox:C},p({props:E.props,dataStartIndex:M,dataEndIndex:L,updateId:U},Se(Se({},E.state),{},{legendBBox:C}))))}}),kt(E,"handleReceiveSyncEvent",function(C,k,M){if(E.props.syncId===C){if(M===E.eventEmitterSymbol&&typeof E.props.syncMethod!="function")return;E.applySyncEvent(k)}}),kt(E,"handleBrushChange",function(C){var k=C.startIndex,M=C.endIndex;if(k!==E.state.dataStartIndex||M!==E.state.dataEndIndex){var L=E.state.updateId;E.setState(function(){return Se({dataStartIndex:k,dataEndIndex:M},p({props:E.props,dataStartIndex:k,dataEndIndex:M,updateId:L},E.state))}),E.triggerSyncEvent({dataStartIndex:k,dataEndIndex:M})}}),kt(E,"handleMouseEnter",function(C){var k=E.getMouseInfo(C);if(k){var M=Se(Se({},k),{},{isTooltipActive:!0});E.setState(M),E.triggerSyncEvent(M);var L=E.props.onMouseEnter;Ht(L)&&L(M,C)}}),kt(E,"triggeredAfterMouseMove",function(C){var k=E.getMouseInfo(C),M=k?Se(Se({},k),{},{isTooltipActive:!0}):{isTooltipActive:!1};E.setState(M),E.triggerSyncEvent(M);var L=E.props.onMouseMove;Ht(L)&&L(M,C)}),kt(E,"handleItemMouseEnter",function(C){E.setState(function(){return{isTooltipActive:!0,activeItem:C,activePayload:C.tooltipPayload,activeCoordinate:C.tooltipPosition||{x:C.cx,y:C.cy}}})}),kt(E,"handleItemMouseLeave",function(){E.setState(function(){return{isTooltipActive:!1}})}),kt(E,"handleMouseMove",function(C){C.persist(),E.throttleTriggeredAfterMouseMove(C)}),kt(E,"handleMouseLeave",function(C){E.throttleTriggeredAfterMouseMove.cancel();var k={isTooltipActive:!1};E.setState(k),E.triggerSyncEvent(k);var M=E.props.onMouseLeave;Ht(M)&&M(k,C)}),kt(E,"handleOuterEvent",function(C){var k=Vwe(C),M=ha(E.props,"".concat(k));if(k&&Ht(M)){var L,U;/.*touch.*/i.test(k)?U=E.getMouseInfo(C.changedTouches[0]):U=E.getMouseInfo(C),M((L=U)!==null&&L!==void 0?L:{},C)}}),kt(E,"handleClick",function(C){var k=E.getMouseInfo(C);if(k){var M=Se(Se({},k),{},{isTooltipActive:!0});E.setState(M),E.triggerSyncEvent(M);var L=E.props.onClick;Ht(L)&&L(M,C)}}),kt(E,"handleMouseDown",function(C){var k=E.props.onMouseDown;if(Ht(k)){var M=E.getMouseInfo(C);k(M,C)}}),kt(E,"handleMouseUp",function(C){var k=E.props.onMouseUp;if(Ht(k)){var M=E.getMouseInfo(C);k(M,C)}}),kt(E,"handleTouchMove",function(C){C.changedTouches!=null&&C.changedTouches.length>0&&E.throttleTriggeredAfterMouseMove(C.changedTouches[0])}),kt(E,"handleTouchStart",function(C){C.changedTouches!=null&&C.changedTouches.length>0&&E.handleMouseDown(C.changedTouches[0])}),kt(E,"handleTouchEnd",function(C){C.changedTouches!=null&&C.changedTouches.length>0&&E.handleMouseUp(C.changedTouches[0])}),kt(E,"handleDoubleClick",function(C){var k=E.props.onDoubleClick;if(Ht(k)){var M=E.getMouseInfo(C);k(M,C)}}),kt(E,"handleContextMenu",function(C){var k=E.props.onContextMenu;if(Ht(k)){var M=E.getMouseInfo(C);k(M,C)}}),kt(E,"triggerSyncEvent",function(C){E.props.syncId!==void 0&&s3.emit(u3,E.props.syncId,C,E.eventEmitterSymbol)}),kt(E,"applySyncEvent",function(C){var k=E.props,M=k.layout,L=k.syncMethod,U=E.state.updateId,H=C.dataStartIndex,V=C.dataEndIndex;if(C.dataStartIndex!==void 0||C.dataEndIndex!==void 0)E.setState(Se({dataStartIndex:H,dataEndIndex:V},p({props:E.props,dataStartIndex:H,dataEndIndex:V,updateId:U},E.state)));else if(C.activeTooltipIndex!==void 0){var ne=C.chartX,Z=C.chartY,G=C.activeTooltipIndex,q=E.state,W=q.offset,j=q.tooltipTicks;if(!W)return;if(typeof L=="function")G=L(j,C);else if(L==="value"){G=-1;for(var K=0;K=0){var De,me;if(ne.dataKey&&!ne.allowDuplicatedCategory){var yt=typeof ne.dataKey=="function"?Le:"payload.".concat(ne.dataKey.toString());De=fb(K,yt,G),me=Y&&oe&&fb(oe,yt,G)}else De=K?.[Z],me=Y&&oe&&oe[Z];if(He||we){var lt=C.props.activeIndex!==void 0?C.props.activeIndex:Z;return[y.cloneElement(C,Se(Se(Se({},L.props),it),{},{activeIndex:lt})),null,null]}if(!Ut(De))return[ke].concat(Sh(E.renderActivePoints({item:L,activePoint:De,basePoint:me,childIndex:Z,isRange:Y})))}else{var Nt,yn=(Nt=E.getItemByXY(E.state.activeCoordinate))!==null&&Nt!==void 0?Nt:{graphicalItem:ke},nn=yn.graphicalItem,te=nn.item,de=te===void 0?C:te,ge=nn.childIndex,ze=Se(Se(Se({},L.props),it),{},{activeIndex:ge});return[y.cloneElement(de,ze),null,null]}return Y?[ke,null,null]:[ke,null]}),kt(E,"renderCustomized",function(C,k,M){return y.cloneElement(C,Se(Se({key:"recharts-customized-".concat(M)},E.props),E.state))}),kt(E,"renderMap",{CartesianGrid:{handler:O1,once:!0},ReferenceArea:{handler:E.renderReferenceElement},ReferenceLine:{handler:O1},ReferenceDot:{handler:E.renderReferenceElement},XAxis:{handler:O1},YAxis:{handler:O1},Brush:{handler:E.renderBrush,once:!0},Bar:{handler:E.renderGraphicChild},Line:{handler:E.renderGraphicChild},Area:{handler:E.renderGraphicChild},Radar:{handler:E.renderGraphicChild},RadialBar:{handler:E.renderGraphicChild},Scatter:{handler:E.renderGraphicChild},Pie:{handler:E.renderGraphicChild},Funnel:{handler:E.renderGraphicChild},Tooltip:{handler:E.renderCursor,once:!0},PolarGrid:{handler:E.renderPolarGrid,once:!0},PolarAngleAxis:{handler:E.renderPolarAxis},PolarRadiusAxis:{handler:E.renderPolarAxis},Customized:{handler:E.renderCustomized}}),E.clipPathId="".concat((S=x.id)!==null&&S!==void 0?S:vf("recharts"),"-clip"),E.throttleTriggeredAfterMouseMove=PW(E.triggeredAfterMouseMove,(O=x.throttleDelay)!==null&&O!==void 0?O:1e3/60),E.state={},E}return IFe(w,b),MFe(w,[{key:"componentDidMount",value:function(){var S,O;this.addListener(),this.accessibilityManager.setDetails({container:this.container,offset:{left:(S=this.props.margin.left)!==null&&S!==void 0?S:0,top:(O=this.props.margin.top)!==null&&O!==void 0?O:0},coordinateList:this.state.tooltipTicks,mouseHandlerCallback:this.triggeredAfterMouseMove,layout:this.props.layout}),this.displayDefaultTooltip()}},{key:"displayDefaultTooltip",value:function(){var S=this.props,O=S.children,E=S.data,C=S.height,k=S.layout,M=To(O,Js);if(M){var L=M.props.defaultIndex;if(!(typeof L!="number"||L<0||L>this.state.tooltipTicks.length-1)){var U=this.state.tooltipTicks[L]&&this.state.tooltipTicks[L].value,H=X6(this.state,E,L,U),V=this.state.tooltipTicks[L].coordinate,ne=(this.state.offset.top+C)/2,Z=k==="horizontal",G=Z?{x:V,y:ne}:{y:V,x:ne},q=this.state.formattedGraphicalItems.find(function(j){var K=j.item;return K.type.name==="Scatter"});q&&(G=Se(Se({},G),q.props.points[L].tooltipPosition),H=q.props.points[L].tooltipPayload);var W={activeTooltipIndex:L,isTooltipActive:!0,activeLabel:U,activePayload:H,activeCoordinate:G};this.setState(W),this.renderCursor(M),this.accessibilityManager.setIndex(L)}}}},{key:"getSnapshotBeforeUpdate",value:function(S,O){if(!this.props.accessibilityLayer)return null;if(this.state.tooltipTicks!==O.tooltipTicks&&this.accessibilityManager.setDetails({coordinateList:this.state.tooltipTicks}),this.props.layout!==S.layout&&this.accessibilityManager.setDetails({layout:this.props.layout}),this.props.margin!==S.margin){var E,C;this.accessibilityManager.setDetails({offset:{left:(E=this.props.margin.left)!==null&&E!==void 0?E:0,top:(C=this.props.margin.top)!==null&&C!==void 0?C:0}})}return null}},{key:"componentDidUpdate",value:function(S){OE([To(S.children,Js)],[To(this.props.children,Js)])||this.displayDefaultTooltip()}},{key:"componentWillUnmount",value:function(){this.removeListener(),this.throttleTriggeredAfterMouseMove.cancel()}},{key:"getTooltipEventType",value:function(){var S=To(this.props.children,Js);if(S&&typeof S.props.shared=="boolean"){var O=S.props.shared?"axis":"item";return s.indexOf(O)>=0?O:o}return o}},{key:"getMouseInfo",value:function(S){if(!this.container)return null;var O=this.container,E=O.getBoundingClientRect(),C=mPe(E),k={chartX:Math.round(S.pageX-C.left),chartY:Math.round(S.pageY-C.top)},M=E.width/O.offsetWidth||1,L=this.inRange(k.chartX,k.chartY,M);if(!L)return null;var U=this.state,H=U.xAxisMap,V=U.yAxisMap,ne=this.getTooltipEventType();if(ne!=="axis"&&H&&V){var Z=rl(H).scale,G=rl(V).scale,q=Z&&Z.invert?Z.invert(k.chartX):null,W=G&&G.invert?G.invert(k.chartY):null;return Se(Se({},k),{},{xValue:q,yValue:W})}var j=mI(this.state,this.props.data,this.props.layout,L);return j?Se(Se({},k),j):null}},{key:"inRange",value:function(S,O){var E=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,C=this.props.layout,k=S/E,M=O/E;if(C==="horizontal"||C==="vertical"){var L=this.state.offset,U=k>=L.left&&k<=L.left+L.width&&M>=L.top&&M<=L.top+L.height;return U?{x:k,y:M}:null}var H=this.state,V=H.angleAxisMap,ne=H.radiusAxisMap;if(V&&ne){var Z=rl(V);return q7({x:k,y:M},Z)}return null}},{key:"parseEventsOfWrapper",value:function(){var S=this.props.children,O=this.getTooltipEventType(),E=To(S,Js),C={};E&&O==="axis"&&(E.props.trigger==="click"?C={onClick:this.handleClick}:C={onMouseEnter:this.handleMouseEnter,onDoubleClick:this.handleDoubleClick,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd,onContextMenu:this.handleContextMenu});var k=db(this.props,this.handleOuterEvent);return Se(Se({},k),C)}},{key:"addListener",value:function(){s3.on(u3,this.handleReceiveSyncEvent)}},{key:"removeListener",value:function(){s3.removeListener(u3,this.handleReceiveSyncEvent)}},{key:"filterFormatItem",value:function(S,O,E){for(var C=this.state.formattedGraphicalItems,k=0,M=C.length;k{const{__scopeTabs:n,value:r,onValueChange:i,defaultValue:o,orientation:a="horizontal",dir:s,activationMode:u="automatic",...l}=e,c=Em(s),[f,h]=Za({prop:r,onChange:i,defaultProp:o});return I.jsx(JFe,{scope:n,baseId:Fo(),value:f,onValueChange:h,orientation:a,dir:c,activationMode:u,children:I.jsx(pt.div,{dir:c,"data-orientation":a,...l,ref:t})})});GK.displayName=LA;var YK="TabsList",ZK=y.forwardRef((e,t)=>{const{__scopeTabs:n,loop:r=!0,...i}=e,o=FA(YK,n),a=qK(n);return I.jsx(Uz,{asChild:!0,...a,orientation:o.orientation,dir:o.dir,loop:r,children:I.jsx(pt.div,{role:"tablist","aria-orientation":o.orientation,...i,ref:t})})});ZK.displayName=YK;var XK="TabsTrigger",QK=y.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,disabled:i=!1,...o}=e,a=FA(XK,n),s=qK(n),u=tq(a.baseId,r),l=nq(a.baseId,r),c=r===a.value;return I.jsx(Vz,{asChild:!0,...s,focusable:!i,active:c,children:I.jsx(pt.button,{type:"button",role:"tab","aria-selected":c,"aria-controls":l,"data-state":c?"active":"inactive","data-disabled":i?"":void 0,disabled:i,id:u,...o,ref:t,onMouseDown:Ye(e.onMouseDown,f=>{!i&&f.button===0&&f.ctrlKey===!1?a.onValueChange(r):f.preventDefault()}),onKeyDown:Ye(e.onKeyDown,f=>{[" ","Enter"].includes(f.key)&&a.onValueChange(r)}),onFocus:Ye(e.onFocus,()=>{const f=a.activationMode!=="manual";!c&&!i&&f&&a.onValueChange(r)})})})});QK.displayName=XK;var JK="TabsContent",eq=y.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,forceMount:i,children:o,...a}=e,s=FA(JK,n),u=tq(s.baseId,r),l=nq(s.baseId,r),c=r===s.value,f=y.useRef(c);return y.useEffect(()=>{const h=requestAnimationFrame(()=>f.current=!1);return()=>cancelAnimationFrame(h)},[]),I.jsx(Gr,{present:i||c,children:({present:h})=>I.jsx(pt.div,{"data-state":c?"active":"inactive","data-orientation":s.orientation,role:"tabpanel","aria-labelledby":u,hidden:!h,id:l,tabIndex:0,...a,ref:t,style:{...e.style,animationDuration:f.current?"0s":void 0},children:h&&o})})});eq.displayName=JK;function tq(e,t){return`${e}-trigger-${t}`}function nq(e,t){return`${e}-content-${t}`}var $Xe=GK,IXe=ZK,NXe=QK,LXe=eq;function Q6(e,[t,n]){return Math.min(n,Math.max(t,e))}function jA(e){const t=y.useRef({value:e,previous:e});return y.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var eje=[" ","Enter","ArrowUp","ArrowDown"],tje=[" ","Enter"],zm="Select",[lw,cw,nje]=J5(zm),[rp,FXe]=vi(zm,[nje,zl]),fw=zl(),[rje,ql]=rp(zm),[ije,oje]=rp(zm),rq=e=>{const{__scopeSelect:t,children:n,open:r,defaultOpen:i,onOpenChange:o,value:a,defaultValue:s,onValueChange:u,dir:l,name:c,autoComplete:f,disabled:h,required:p,form:m}=e,v=fw(t),[b,w]=y.useState(null),[x,S]=y.useState(null),[O,E]=y.useState(!1),C=Em(l),[k=!1,M]=Za({prop:r,defaultProp:i,onChange:o}),[L,U]=Za({prop:a,defaultProp:s,onChange:u}),H=y.useRef(null),V=b?m||!!b.closest("form"):!0,[ne,Z]=y.useState(new Set),G=Array.from(ne).map(q=>q.props.value).join(";");return I.jsx(a2,{...v,children:I.jsxs(rje,{required:p,scope:t,trigger:b,onTriggerChange:w,valueNode:x,onValueNodeChange:S,valueNodeHasChildren:O,onValueNodeHasChildrenChange:E,contentId:Fo(),value:L,onValueChange:U,open:k,onOpenChange:M,dir:C,triggerPointerDownPosRef:H,disabled:h,children:[I.jsx(lw.Provider,{scope:t,children:I.jsx(ije,{scope:e.__scopeSelect,onNativeOptionAdd:y.useCallback(q=>{Z(W=>new Set(W).add(q))},[]),onNativeOptionRemove:y.useCallback(q=>{Z(W=>{const j=new Set(W);return j.delete(q),j})},[]),children:n})}),V?I.jsxs(kq,{"aria-hidden":!0,required:p,tabIndex:-1,name:c,autoComplete:f,value:L,onChange:q=>U(q.target.value),disabled:h,form:m,children:[L===void 0?I.jsx("option",{value:""}):null,Array.from(ne)]},G):null]})})};rq.displayName=zm;var iq="SelectTrigger",oq=y.forwardRef((e,t)=>{const{__scopeSelect:n,disabled:r=!1,...i}=e,o=fw(n),a=ql(iq,n),s=a.disabled||r,u=Yt(t,a.onTriggerChange),l=cw(n),c=y.useRef("touch"),[f,h,p]=Tq(v=>{const b=l().filter(S=>!S.disabled),w=b.find(S=>S.value===a.value),x=Mq(b,v,w);x!==void 0&&a.onValueChange(x.value)}),m=v=>{s||(a.onOpenChange(!0),p()),v&&(a.triggerPointerDownPosRef.current={x:Math.round(v.pageX),y:Math.round(v.pageY)})};return I.jsx(Am,{asChild:!0,...o,children:I.jsx(pt.button,{type:"button",role:"combobox","aria-controls":a.contentId,"aria-expanded":a.open,"aria-required":a.required,"aria-autocomplete":"none",dir:a.dir,"data-state":a.open?"open":"closed",disabled:s,"data-disabled":s?"":void 0,"data-placeholder":Pq(a.value)?"":void 0,...i,ref:u,onClick:Ye(i.onClick,v=>{v.currentTarget.focus(),c.current!=="mouse"&&m(v)}),onPointerDown:Ye(i.onPointerDown,v=>{c.current=v.pointerType;const b=v.target;b.hasPointerCapture(v.pointerId)&&b.releasePointerCapture(v.pointerId),v.button===0&&v.ctrlKey===!1&&v.pointerType==="mouse"&&(m(v),v.preventDefault())}),onKeyDown:Ye(i.onKeyDown,v=>{const b=f.current!=="";!(v.ctrlKey||v.altKey||v.metaKey)&&v.key.length===1&&h(v.key),!(b&&v.key===" ")&&eje.includes(v.key)&&(m(),v.preventDefault())})})})});oq.displayName=iq;var aq="SelectValue",sq=y.forwardRef((e,t)=>{const{__scopeSelect:n,className:r,style:i,children:o,placeholder:a="",...s}=e,u=ql(aq,n),{onValueNodeHasChildrenChange:l}=u,c=o!==void 0,f=Yt(t,u.onValueNodeChange);return ii(()=>{l(c)},[l,c]),I.jsx(pt.span,{...s,ref:f,style:{pointerEvents:"none"},children:Pq(u.value)?I.jsx(I.Fragment,{children:a}):o})});sq.displayName=aq;var aje="SelectIcon",uq=y.forwardRef((e,t)=>{const{__scopeSelect:n,children:r,...i}=e;return I.jsx(pt.span,{"aria-hidden":!0,...i,ref:t,children:r||"▼"})});uq.displayName=aje;var sje="SelectPortal",lq=e=>I.jsx(Lh,{asChild:!0,...e});lq.displayName=sje;var af="SelectContent",cq=y.forwardRef((e,t)=>{const n=ql(af,e.__scopeSelect),[r,i]=y.useState();if(ii(()=>{i(new DocumentFragment)},[]),!n.open){const o=r;return o?Au.createPortal(I.jsx(fq,{scope:e.__scopeSelect,children:I.jsx(lw.Slot,{scope:e.__scopeSelect,children:I.jsx("div",{children:e.children})})}),o):null}return I.jsx(dq,{...e,ref:t})});cq.displayName=af;var ka=10,[fq,Gl]=rp(af),uje="SelectContentImpl",dq=y.forwardRef((e,t)=>{const{__scopeSelect:n,position:r="item-aligned",onCloseAutoFocus:i,onEscapeKeyDown:o,onPointerDownOutside:a,side:s,sideOffset:u,align:l,alignOffset:c,arrowPadding:f,collisionBoundary:h,collisionPadding:p,sticky:m,hideWhenDetached:v,avoidCollisions:b,...w}=e,x=ql(af,n),[S,O]=y.useState(null),[E,C]=y.useState(null),k=Yt(t,Ee=>O(Ee)),[M,L]=y.useState(null),[U,H]=y.useState(null),V=cw(n),[ne,Z]=y.useState(!1),G=y.useRef(!1);y.useEffect(()=>{if(S)return Cm(S)},[S]),n2();const q=y.useCallback(Ee=>{const[it,...ke]=V().map(me=>me.ref.current),[Le]=ke.slice(-1),De=document.activeElement;for(const me of Ee)if(me===De||(me?.scrollIntoView({block:"nearest"}),me===it&&E&&(E.scrollTop=0),me===Le&&E&&(E.scrollTop=E.scrollHeight),me?.focus(),document.activeElement!==De))return},[V,E]),W=y.useCallback(()=>q([M,S]),[q,M,S]);y.useEffect(()=>{ne&&W()},[ne,W]);const{onOpenChange:j,triggerPointerDownPosRef:K}=x;y.useEffect(()=>{if(S){let Ee={x:0,y:0};const it=Le=>{Ee={x:Math.abs(Math.round(Le.pageX)-(K.current?.x??0)),y:Math.abs(Math.round(Le.pageY)-(K.current?.y??0))}},ke=Le=>{Ee.x<=10&&Ee.y<=10?Le.preventDefault():S.contains(Le.target)||j(!1),document.removeEventListener("pointermove",it),K.current=null};return K.current!==null&&(document.addEventListener("pointermove",it),document.addEventListener("pointerup",ke,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",it),document.removeEventListener("pointerup",ke,{capture:!0})}}},[S,j,K]),y.useEffect(()=>{const Ee=()=>j(!1);return window.addEventListener("blur",Ee),window.addEventListener("resize",Ee),()=>{window.removeEventListener("blur",Ee),window.removeEventListener("resize",Ee)}},[j]);const[Y,oe]=Tq(Ee=>{const it=V().filter(De=>!De.disabled),ke=it.find(De=>De.ref.current===document.activeElement),Le=Mq(it,Ee,ke);Le&&setTimeout(()=>Le.ref.current.focus())}),ae=y.useCallback((Ee,it,ke)=>{const Le=!G.current&&!ke;(x.value!==void 0&&x.value===it||Le)&&(L(Ee),Le&&(G.current=!0))},[x.value]),ue=y.useCallback(()=>S?.focus(),[S]),be=y.useCallback((Ee,it,ke)=>{const Le=!G.current&&!ke;(x.value!==void 0&&x.value===it||Le)&&H(Ee)},[x.value]),we=r==="popper"?J6:hq,He=we===J6?{side:s,sideOffset:u,align:l,alignOffset:c,arrowPadding:f,collisionBoundary:h,collisionPadding:p,sticky:m,hideWhenDetached:v,avoidCollisions:b}:{};return I.jsx(fq,{scope:n,content:S,viewport:E,onViewportChange:C,itemRefCallback:ae,selectedItem:M,onItemLeave:ue,itemTextRefCallback:be,focusSelectedItem:W,selectedItemText:U,position:r,isPositioned:ne,searchRef:Y,children:I.jsx(Sm,{as:Al,allowPinchZoom:!0,children:I.jsx(_m,{asChild:!0,trapped:x.open,onMountAutoFocus:Ee=>{Ee.preventDefault()},onUnmountAutoFocus:Ye(i,Ee=>{x.trigger?.focus({preventScroll:!0}),Ee.preventDefault()}),children:I.jsx(Nh,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:o,onPointerDownOutside:a,onFocusOutside:Ee=>Ee.preventDefault(),onDismiss:()=>x.onOpenChange(!1),children:I.jsx(we,{role:"listbox",id:x.contentId,"data-state":x.open?"open":"closed",dir:x.dir,onContextMenu:Ee=>Ee.preventDefault(),...w,...He,onPlaced:()=>Z(!0),ref:k,style:{display:"flex",flexDirection:"column",outline:"none",...w.style},onKeyDown:Ye(w.onKeyDown,Ee=>{const it=Ee.ctrlKey||Ee.altKey||Ee.metaKey;if(Ee.key==="Tab"&&Ee.preventDefault(),!it&&Ee.key.length===1&&oe(Ee.key),["ArrowUp","ArrowDown","Home","End"].includes(Ee.key)){let Le=V().filter(De=>!De.disabled).map(De=>De.ref.current);if(["ArrowUp","End"].includes(Ee.key)&&(Le=Le.slice().reverse()),["ArrowUp","ArrowDown"].includes(Ee.key)){const De=Ee.target,me=Le.indexOf(De);Le=Le.slice(me+1)}setTimeout(()=>q(Le)),Ee.preventDefault()}})})})})})})});dq.displayName=uje;var lje="SelectItemAlignedPosition",hq=y.forwardRef((e,t)=>{const{__scopeSelect:n,onPlaced:r,...i}=e,o=ql(af,n),a=Gl(af,n),[s,u]=y.useState(null),[l,c]=y.useState(null),f=Yt(t,k=>c(k)),h=cw(n),p=y.useRef(!1),m=y.useRef(!0),{viewport:v,selectedItem:b,selectedItemText:w,focusSelectedItem:x}=a,S=y.useCallback(()=>{if(o.trigger&&o.valueNode&&s&&l&&v&&b&&w){const k=o.trigger.getBoundingClientRect(),M=l.getBoundingClientRect(),L=o.valueNode.getBoundingClientRect(),U=w.getBoundingClientRect();if(o.dir!=="rtl"){const De=U.left-M.left,me=L.left-De,yt=k.left-me,lt=k.width+yt,Nt=Math.max(lt,M.width),yn=window.innerWidth-ka,nn=Q6(me,[ka,Math.max(ka,yn-Nt)]);s.style.minWidth=lt+"px",s.style.left=nn+"px"}else{const De=M.right-U.right,me=window.innerWidth-L.right-De,yt=window.innerWidth-k.right-me,lt=k.width+yt,Nt=Math.max(lt,M.width),yn=window.innerWidth-ka,nn=Q6(me,[ka,Math.max(ka,yn-Nt)]);s.style.minWidth=lt+"px",s.style.right=nn+"px"}const H=h(),V=window.innerHeight-ka*2,ne=v.scrollHeight,Z=window.getComputedStyle(l),G=parseInt(Z.borderTopWidth,10),q=parseInt(Z.paddingTop,10),W=parseInt(Z.borderBottomWidth,10),j=parseInt(Z.paddingBottom,10),K=G+q+ne+j+W,Y=Math.min(b.offsetHeight*5,K),oe=window.getComputedStyle(v),ae=parseInt(oe.paddingTop,10),ue=parseInt(oe.paddingBottom,10),be=k.top+k.height/2-ka,we=V-be,He=b.offsetHeight/2,Ee=b.offsetTop+He,it=G+q+Ee,ke=K-it;if(it<=be){const De=H.length>0&&b===H[H.length-1].ref.current;s.style.bottom="0px";const me=l.clientHeight-v.offsetTop-v.offsetHeight,yt=Math.max(we,He+(De?ue:0)+me+W),lt=it+yt;s.style.height=lt+"px"}else{const De=H.length>0&&b===H[0].ref.current;s.style.top="0px";const yt=Math.max(be,G+v.offsetTop+(De?ae:0)+He)+ke;s.style.height=yt+"px",v.scrollTop=it-be+v.offsetTop}s.style.margin=`${ka}px 0`,s.style.minHeight=Y+"px",s.style.maxHeight=V+"px",r?.(),requestAnimationFrame(()=>p.current=!0)}},[h,o.trigger,o.valueNode,s,l,v,b,w,o.dir,r]);ii(()=>S(),[S]);const[O,E]=y.useState();ii(()=>{l&&E(window.getComputedStyle(l).zIndex)},[l]);const C=y.useCallback(k=>{k&&m.current===!0&&(S(),x?.(),m.current=!1)},[S,x]);return I.jsx(fje,{scope:n,contentWrapper:s,shouldExpandOnScrollRef:p,onScrollButtonChange:C,children:I.jsx("div",{ref:u,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:O},children:I.jsx(pt.div,{...i,ref:f,style:{boxSizing:"border-box",maxHeight:"100%",...i.style}})})})});hq.displayName=lje;var cje="SelectPopperPosition",J6=y.forwardRef((e,t)=>{const{__scopeSelect:n,align:r="start",collisionPadding:i=ka,...o}=e,a=fw(n);return I.jsx(s2,{...a,...o,ref:t,align:r,collisionPadding:i,style:{boxSizing:"border-box",...o.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});J6.displayName=cje;var[fje,BA]=rp(af,{}),e4="SelectViewport",pq=y.forwardRef((e,t)=>{const{__scopeSelect:n,nonce:r,...i}=e,o=Gl(e4,n),a=BA(e4,n),s=Yt(t,o.onViewportChange),u=y.useRef(0);return I.jsxs(I.Fragment,{children:[I.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:r}),I.jsx(lw.Slot,{scope:n,children:I.jsx(pt.div,{"data-radix-select-viewport":"",role:"presentation",...i,ref:s,style:{position:"relative",flex:1,overflow:"hidden auto",...i.style},onScroll:Ye(i.onScroll,l=>{const c=l.currentTarget,{contentWrapper:f,shouldExpandOnScrollRef:h}=a;if(h?.current&&f){const p=Math.abs(u.current-c.scrollTop);if(p>0){const m=window.innerHeight-ka*2,v=parseFloat(f.style.minHeight),b=parseFloat(f.style.height),w=Math.max(v,b);if(w0?O:0,f.style.justifyContent="flex-end")}}}u.current=c.scrollTop})})})]})});pq.displayName=e4;var gq="SelectGroup",[dje,hje]=rp(gq),mq=y.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,i=Fo();return I.jsx(dje,{scope:n,id:i,children:I.jsx(pt.div,{role:"group","aria-labelledby":i,...r,ref:t})})});mq.displayName=gq;var vq="SelectLabel",yq=y.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,i=hje(vq,n);return I.jsx(pt.div,{id:i.id,...r,ref:t})});yq.displayName=vq;var dx="SelectItem",[pje,bq]=rp(dx),xq=y.forwardRef((e,t)=>{const{__scopeSelect:n,value:r,disabled:i=!1,textValue:o,...a}=e,s=ql(dx,n),u=Gl(dx,n),l=s.value===r,[c,f]=y.useState(o??""),[h,p]=y.useState(!1),m=Yt(t,x=>u.itemRefCallback?.(x,r,i)),v=Fo(),b=y.useRef("touch"),w=()=>{i||(s.onValueChange(r),s.onOpenChange(!1))};if(r==="")throw new Error("A must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return I.jsx(pje,{scope:n,value:r,disabled:i,textId:v,isSelected:l,onItemTextChange:y.useCallback(x=>{f(S=>S||(x?.textContent??"").trim())},[]),children:I.jsx(lw.ItemSlot,{scope:n,value:r,disabled:i,textValue:c,children:I.jsx(pt.div,{role:"option","aria-labelledby":v,"data-highlighted":h?"":void 0,"aria-selected":l&&h,"data-state":l?"checked":"unchecked","aria-disabled":i||void 0,"data-disabled":i?"":void 0,tabIndex:i?void 0:-1,...a,ref:m,onFocus:Ye(a.onFocus,()=>p(!0)),onBlur:Ye(a.onBlur,()=>p(!1)),onClick:Ye(a.onClick,()=>{b.current!=="mouse"&&w()}),onPointerUp:Ye(a.onPointerUp,()=>{b.current==="mouse"&&w()}),onPointerDown:Ye(a.onPointerDown,x=>{b.current=x.pointerType}),onPointerMove:Ye(a.onPointerMove,x=>{b.current=x.pointerType,i?u.onItemLeave?.():b.current==="mouse"&&x.currentTarget.focus({preventScroll:!0})}),onPointerLeave:Ye(a.onPointerLeave,x=>{x.currentTarget===document.activeElement&&u.onItemLeave?.()}),onKeyDown:Ye(a.onKeyDown,x=>{u.searchRef?.current!==""&&x.key===" "||(tje.includes(x.key)&&w(),x.key===" "&&x.preventDefault())})})})})});xq.displayName=dx;var l0="SelectItemText",wq=y.forwardRef((e,t)=>{const{__scopeSelect:n,className:r,style:i,...o}=e,a=ql(l0,n),s=Gl(l0,n),u=bq(l0,n),l=oje(l0,n),[c,f]=y.useState(null),h=Yt(t,w=>f(w),u.onItemTextChange,w=>s.itemTextRefCallback?.(w,u.value,u.disabled)),p=c?.textContent,m=y.useMemo(()=>I.jsx("option",{value:u.value,disabled:u.disabled,children:p},u.value),[u.disabled,u.value,p]),{onNativeOptionAdd:v,onNativeOptionRemove:b}=l;return ii(()=>(v(m),()=>b(m)),[v,b,m]),I.jsxs(I.Fragment,{children:[I.jsx(pt.span,{id:u.textId,...o,ref:h}),u.isSelected&&a.valueNode&&!a.valueNodeHasChildren?Au.createPortal(o.children,a.valueNode):null]})});wq.displayName=l0;var _q="SelectItemIndicator",Sq=y.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e;return bq(_q,n).isSelected?I.jsx(pt.span,{"aria-hidden":!0,...r,ref:t}):null});Sq.displayName=_q;var t4="SelectScrollUpButton",Cq=y.forwardRef((e,t)=>{const n=Gl(t4,e.__scopeSelect),r=BA(t4,e.__scopeSelect),[i,o]=y.useState(!1),a=Yt(t,r.onScrollButtonChange);return ii(()=>{if(n.viewport&&n.isPositioned){let s=function(){const l=u.scrollTop>0;o(l)};const u=n.viewport;return s(),u.addEventListener("scroll",s),()=>u.removeEventListener("scroll",s)}},[n.viewport,n.isPositioned]),i?I.jsx(Oq,{...e,ref:a,onAutoScroll:()=>{const{viewport:s,selectedItem:u}=n;s&&u&&(s.scrollTop=s.scrollTop-u.offsetHeight)}}):null});Cq.displayName=t4;var n4="SelectScrollDownButton",Eq=y.forwardRef((e,t)=>{const n=Gl(n4,e.__scopeSelect),r=BA(n4,e.__scopeSelect),[i,o]=y.useState(!1),a=Yt(t,r.onScrollButtonChange);return ii(()=>{if(n.viewport&&n.isPositioned){let s=function(){const l=u.scrollHeight-u.clientHeight,c=Math.ceil(u.scrollTop)u.removeEventListener("scroll",s)}},[n.viewport,n.isPositioned]),i?I.jsx(Oq,{...e,ref:a,onAutoScroll:()=>{const{viewport:s,selectedItem:u}=n;s&&u&&(s.scrollTop=s.scrollTop+u.offsetHeight)}}):null});Eq.displayName=n4;var Oq=y.forwardRef((e,t)=>{const{__scopeSelect:n,onAutoScroll:r,...i}=e,o=Gl("SelectScrollButton",n),a=y.useRef(null),s=cw(n),u=y.useCallback(()=>{a.current!==null&&(window.clearInterval(a.current),a.current=null)},[]);return y.useEffect(()=>()=>u(),[u]),ii(()=>{s().find(c=>c.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[s]),I.jsx(pt.div,{"aria-hidden":!0,...i,ref:t,style:{flexShrink:0,...i.style},onPointerDown:Ye(i.onPointerDown,()=>{a.current===null&&(a.current=window.setInterval(r,50))}),onPointerMove:Ye(i.onPointerMove,()=>{o.onItemLeave?.(),a.current===null&&(a.current=window.setInterval(r,50))}),onPointerLeave:Ye(i.onPointerLeave,()=>{u()})})}),gje="SelectSeparator",Aq=y.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e;return I.jsx(pt.div,{"aria-hidden":!0,...r,ref:t})});Aq.displayName=gje;var r4="SelectArrow",mje=y.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,i=fw(n),o=ql(r4,n),a=Gl(r4,n);return o.open&&a.position==="popper"?I.jsx(u2,{...i,...r,ref:t}):null});mje.displayName=r4;function Pq(e){return e===""||e===void 0}var kq=y.forwardRef((e,t)=>{const{value:n,...r}=e,i=y.useRef(null),o=Yt(t,i),a=jA(n);return y.useEffect(()=>{const s=i.current,u=window.HTMLSelectElement.prototype,c=Object.getOwnPropertyDescriptor(u,"value").set;if(a!==n&&c){const f=new Event("change",{bubbles:!0});c.call(s,n),s.dispatchEvent(f)}},[a,n]),I.jsx(wO,{asChild:!0,children:I.jsx("select",{...r,ref:o,defaultValue:n})})});kq.displayName="BubbleSelect";function Tq(e){const t=Vr(e),n=y.useRef(""),r=y.useRef(0),i=y.useCallback(a=>{const s=n.current+a;t(s),function u(l){n.current=l,window.clearTimeout(r.current),l!==""&&(r.current=window.setTimeout(()=>u(""),1e3))}(s)},[t]),o=y.useCallback(()=>{n.current="",window.clearTimeout(r.current)},[]);return y.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,i,o]}function Mq(e,t,n){const i=t.length>1&&Array.from(t).every(l=>l===t[0])?t[0]:t,o=n?e.indexOf(n):-1;let a=vje(e,Math.max(o,0));i.length===1&&(a=a.filter(l=>l!==n));const u=a.find(l=>l.textValue.toLowerCase().startsWith(i.toLowerCase()));return u!==n?u:void 0}function vje(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var jXe=rq,BXe=oq,zXe=sq,UXe=uq,VXe=lq,WXe=cq,HXe=pq,KXe=mq,qXe=yq,GXe=xq,YXe=wq,ZXe=Sq,XXe=Cq,QXe=Eq,JXe=Aq;const zA=6048e5,yje=864e5,bI=Symbol.for("constructDateFrom");function oi(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&bI in e?e[bI](t):e instanceof Date?new e.constructor(t):new Date(t)}function Rn(e,t){return oi(t||e,e)}function Ui(e,t,n){const r=Rn(e,n?.in);return isNaN(t)?oi(n?.in||e,NaN):(t&&r.setDate(r.getDate()+t),r)}function Qa(e,t,n){const r=Rn(e,n?.in);if(isNaN(t))return oi(n?.in||e,NaN);if(!t)return r;const i=r.getDate(),o=oi(n?.in||e,r.getTime());o.setMonth(r.getMonth()+t+1,0);const a=o.getDate();return i>=a?o:(r.setFullYear(o.getFullYear(),o.getMonth(),i),r)}let bje={};function Um(){return bje}function ya(e,t){const n=Um(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,i=Rn(e,t?.in),o=i.getDay(),a=(o=o.getTime()?r+1:n.getTime()>=s.getTime()?r:r-1}function hx(e){const t=Rn(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function wf(e,...t){const n=oi.bind(null,e||t.find(r=>typeof r=="object"));return t.map(n)}function uf(e,t){const n=Rn(e,t?.in);return n.setHours(0,0,0,0),n}function xs(e,t,n){const[r,i]=wf(n?.in,e,t),o=uf(r),a=uf(i),s=+o-hx(o),u=+a-hx(a);return Math.round((s-u)/yje)}function xje(e,t){const n=Rq(e,t),r=oi(e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),sf(r)}function i4(e,t,n){return Ui(e,t*7,n)}function wje(e,t,n){return Qa(e,t*12,n)}function _je(e,t){let n,r=t?.in;return e.forEach(i=>{!r&&typeof i=="object"&&(r=oi.bind(null,i));const o=Rn(i,r);(!n||n{!r&&typeof i=="object"&&(r=oi.bind(null,i));const o=Rn(i,r);(!n||n>o||isNaN(+o))&&(n=o)}),oi(r,n||NaN)}function uo(e,t,n){const[r,i]=wf(n?.in,e,t);return+uf(r)==+uf(i)}function UA(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function Cje(e){return!(!UA(e)&&typeof e!="number"||isNaN(+Rn(e)))}function nm(e,t,n){const[r,i]=wf(n?.in,e,t),o=r.getFullYear()-i.getFullYear(),a=r.getMonth()-i.getMonth();return o*12+a}function Eje(e,t,n){const[r,i]=wf(n?.in,e,t),o=ya(r,n),a=ya(i,n),s=+o-hx(o),u=+a-hx(a);return Math.round((s-u)/zA)}function VA(e,t){const n=Rn(e,t?.in),r=n.getMonth();return n.setFullYear(n.getFullYear(),r+1,0),n.setHours(23,59,59,999),n}function go(e,t){const n=Rn(e,t?.in);return n.setDate(1),n.setHours(0,0,0,0),n}function Dq(e,t){const n=Rn(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function WA(e,t){const n=Um(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,i=Rn(e,t?.in),o=i.getDay(),a=(o{let r;const i=Oje[e];return typeof i=="string"?r=i:t===1?r=i.one:r=i.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+r:r+" ago":r};function Nd(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const Pje={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},kje={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},Tje={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},Mje={date:Nd({formats:Pje,defaultWidth:"full"}),time:Nd({formats:kje,defaultWidth:"full"}),dateTime:Nd({formats:Tje,defaultWidth:"full"})},Rje={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},Dje=(e,t,n,r)=>Rje[e];function ps(e){return(t,n)=>{const r=n?.context?String(n.context):"standalone";let i;if(r==="formatting"&&e.formattingValues){const a=e.defaultFormattingWidth||e.defaultWidth,s=n?.width?String(n.width):a;i=e.formattingValues[s]||e.formattingValues[a]}else{const a=e.defaultWidth,s=n?.width?String(n.width):e.defaultWidth;i=e.values[s]||e.values[a]}const o=e.argumentCallback?e.argumentCallback(t):t;return i[o]}}const $je={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},Ije={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},Nje={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},Lje={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},Fje={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},jje={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},Bje=(e,t)=>{const n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},zje={ordinalNumber:Bje,era:ps({values:$je,defaultWidth:"wide"}),quarter:ps({values:Ije,defaultWidth:"wide",argumentCallback:e=>e-1}),month:ps({values:Nje,defaultWidth:"wide"}),day:ps({values:Lje,defaultWidth:"wide"}),dayPeriod:ps({values:Fje,defaultWidth:"wide",formattingValues:jje,defaultFormattingWidth:"wide"})};function gs(e){return(t,n={})=>{const r=n.width,i=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],o=t.match(i);if(!o)return null;const a=o[0],s=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],u=Array.isArray(s)?Vje(s,f=>f.test(a)):Uje(s,f=>f.test(a));let l;l=e.valueCallback?e.valueCallback(u):u,l=n.valueCallback?n.valueCallback(l):l;const c=t.slice(a.length);return{value:l,rest:c}}}function Uje(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function Vje(e,t){for(let n=0;n{const r=t.match(e.matchPattern);if(!r)return null;const i=r[0],o=t.match(e.parsePattern);if(!o)return null;let a=e.valueCallback?e.valueCallback(o[0]):o[0];a=n.valueCallback?n.valueCallback(a):a;const s=t.slice(i.length);return{value:a,rest:s}}}const Wje=/^(\d+)(th|st|nd|rd)?/i,Hje=/\d+/i,Kje={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},qje={any:[/^b/i,/^(a|c)/i]},Gje={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},Yje={any:[/1/i,/2/i,/3/i,/4/i]},Zje={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},Xje={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},Qje={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},Jje={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},eBe={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},tBe={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},nBe={ordinalNumber:Iq({matchPattern:Wje,parsePattern:Hje,valueCallback:e=>parseInt(e,10)}),era:gs({matchPatterns:Kje,defaultMatchWidth:"wide",parsePatterns:qje,defaultParseWidth:"any"}),quarter:gs({matchPatterns:Gje,defaultMatchWidth:"wide",parsePatterns:Yje,defaultParseWidth:"any",valueCallback:e=>e+1}),month:gs({matchPatterns:Zje,defaultMatchWidth:"wide",parsePatterns:Xje,defaultParseWidth:"any"}),day:gs({matchPatterns:Qje,defaultMatchWidth:"wide",parsePatterns:Jje,defaultParseWidth:"any"}),dayPeriod:gs({matchPatterns:eBe,defaultMatchWidth:"any",parsePatterns:tBe,defaultParseWidth:"any"})},Nq={code:"en-US",formatDistance:Aje,formatLong:Mje,formatRelative:Dje,localize:zje,match:nBe,options:{weekStartsOn:0,firstWeekContainsDate:1}};function rBe(e,t){const n=Rn(e,t?.in);return xs(n,Dq(n))+1}function Lq(e,t){const n=Rn(e,t?.in),r=+sf(n)-+xje(n);return Math.round(r/zA)+1}function Fq(e,t){const n=Rn(e,t?.in),r=n.getFullYear(),i=Um(),o=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,a=oi(t?.in||e,0);a.setFullYear(r+1,0,o),a.setHours(0,0,0,0);const s=ya(a,t),u=oi(t?.in||e,0);u.setFullYear(r,0,o),u.setHours(0,0,0,0);const l=ya(u,t);return+n>=+s?r+1:+n>=+l?r:r-1}function iBe(e,t){const n=Um(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,i=Fq(e,t),o=oi(t?.in||e,0);return o.setFullYear(i,0,r),o.setHours(0,0,0,0),ya(o,t)}function jq(e,t){const n=Rn(e,t?.in),r=+ya(n,t)-+iBe(n,t);return Math.round(r/zA)+1}function Tn(e,t){const n=e<0?"-":"",r=Math.abs(e).toString().padStart(t,"0");return n+r}const Ku={y(e,t){const n=e.getFullYear(),r=n>0?n:1-n;return Tn(t==="yy"?r%100:r,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):Tn(n+1,2)},d(e,t){return Tn(e.getDate(),t.length)},a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];case"aaaa":default:return n==="am"?"a.m.":"p.m."}},h(e,t){return Tn(e.getHours()%12||12,t.length)},H(e,t){return Tn(e.getHours(),t.length)},m(e,t){return Tn(e.getMinutes(),t.length)},s(e,t){return Tn(e.getSeconds(),t.length)},S(e,t){const n=t.length,r=e.getMilliseconds(),i=Math.trunc(r*Math.pow(10,n-3));return Tn(i,t.length)}},Qf={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},xI={G:function(e,t,n){const r=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});case"GGGG":default:return n.era(r,{width:"wide"})}},y:function(e,t,n){if(t==="yo"){const r=e.getFullYear(),i=r>0?r:1-r;return n.ordinalNumber(i,{unit:"year"})}return Ku.y(e,t)},Y:function(e,t,n,r){const i=Fq(e,r),o=i>0?i:1-i;if(t==="YY"){const a=o%100;return Tn(a,2)}return t==="Yo"?n.ordinalNumber(o,{unit:"year"}):Tn(o,t.length)},R:function(e,t){const n=Rq(e);return Tn(n,t.length)},u:function(e,t){const n=e.getFullYear();return Tn(n,t.length)},Q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(r);case"QQ":return Tn(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(r);case"qq":return Tn(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(e,t,n){const r=e.getMonth();switch(t){case"M":case"MM":return Ku.M(e,t);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(e,t,n){const r=e.getMonth();switch(t){case"L":return String(r+1);case"LL":return Tn(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(e,t,n,r){const i=jq(e,r);return t==="wo"?n.ordinalNumber(i,{unit:"week"}):Tn(i,t.length)},I:function(e,t,n){const r=Lq(e);return t==="Io"?n.ordinalNumber(r,{unit:"week"}):Tn(r,t.length)},d:function(e,t,n){return t==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):Ku.d(e,t)},D:function(e,t,n){const r=rBe(e);return t==="Do"?n.ordinalNumber(r,{unit:"dayOfYear"}):Tn(r,t.length)},E:function(e,t,n){const r=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});case"EEEE":default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(e,t,n,r){const i=e.getDay(),o=(i-r.weekStartsOn+8)%7||7;switch(t){case"e":return String(o);case"ee":return Tn(o,2);case"eo":return n.ordinalNumber(o,{unit:"day"});case"eee":return n.day(i,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(i,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(i,{width:"short",context:"formatting"});case"eeee":default:return n.day(i,{width:"wide",context:"formatting"})}},c:function(e,t,n,r){const i=e.getDay(),o=(i-r.weekStartsOn+8)%7||7;switch(t){case"c":return String(o);case"cc":return Tn(o,t.length);case"co":return n.ordinalNumber(o,{unit:"day"});case"ccc":return n.day(i,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(i,{width:"narrow",context:"standalone"});case"cccccc":return n.day(i,{width:"short",context:"standalone"});case"cccc":default:return n.day(i,{width:"wide",context:"standalone"})}},i:function(e,t,n){const r=e.getDay(),i=r===0?7:r;switch(t){case"i":return String(i);case"ii":return Tn(i,t.length);case"io":return n.ordinalNumber(i,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});case"iiii":default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(e,t,n){const i=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(i,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},b:function(e,t,n){const r=e.getHours();let i;switch(r===12?i=Qf.noon:r===0?i=Qf.midnight:i=r/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(i,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},B:function(e,t,n){const r=e.getHours();let i;switch(r>=17?i=Qf.evening:r>=12?i=Qf.afternoon:r>=4?i=Qf.morning:i=Qf.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(i,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},h:function(e,t,n){if(t==="ho"){let r=e.getHours()%12;return r===0&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return Ku.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):Ku.H(e,t)},K:function(e,t,n){const r=e.getHours()%12;return t==="Ko"?n.ordinalNumber(r,{unit:"hour"}):Tn(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t==="ko"?n.ordinalNumber(r,{unit:"hour"}):Tn(r,t.length)},m:function(e,t,n){return t==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):Ku.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):Ku.s(e,t)},S:function(e,t){return Ku.S(e,t)},X:function(e,t,n){const r=e.getTimezoneOffset();if(r===0)return"Z";switch(t){case"X":return _I(r);case"XXXX":case"XX":return pc(r);case"XXXXX":case"XXX":default:return pc(r,":")}},x:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"x":return _I(r);case"xxxx":case"xx":return pc(r);case"xxxxx":case"xxx":default:return pc(r,":")}},O:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+wI(r,":");case"OOOO":default:return"GMT"+pc(r,":")}},z:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+wI(r,":");case"zzzz":default:return"GMT"+pc(r,":")}},t:function(e,t,n){const r=Math.trunc(+e/1e3);return Tn(r,t.length)},T:function(e,t,n){return Tn(+e,t.length)}};function wI(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),i=Math.trunc(r/60),o=r%60;return o===0?n+String(i):n+String(i)+t+Tn(o,2)}function _I(e,t){return e%60===0?(e>0?"-":"+")+Tn(Math.abs(e)/60,2):pc(e,t)}function pc(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),i=Tn(Math.trunc(r/60),2),o=Tn(r%60,2);return n+i+t+o}const SI=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});case"PPPP":default:return t.date({width:"full"})}},Bq=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});case"pppp":default:return t.time({width:"full"})}},oBe=(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],r=n[1],i=n[2];if(!i)return SI(e,t);let o;switch(r){case"P":o=t.dateTime({width:"short"});break;case"PP":o=t.dateTime({width:"medium"});break;case"PPP":o=t.dateTime({width:"long"});break;case"PPPP":default:o=t.dateTime({width:"full"});break}return o.replace("{{date}}",SI(r,t)).replace("{{time}}",Bq(i,t))},aBe={p:Bq,P:oBe},sBe=/^D+$/,uBe=/^Y+$/,lBe=["D","DD","YY","YYYY"];function cBe(e){return sBe.test(e)}function fBe(e){return uBe.test(e)}function dBe(e,t,n){const r=hBe(e,t,n);if(console.warn(r),lBe.includes(e))throw new RangeError(r)}function hBe(e,t,n){const r=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const pBe=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,gBe=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,mBe=/^'([^]*?)'?$/,vBe=/''/g,yBe=/[a-zA-Z]/;function _f(e,t,n){const r=Um(),i=n?.locale??r.locale??Nq,o=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,a=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,s=Rn(e,n?.in);if(!Cje(s))throw new RangeError("Invalid time value");let u=t.match(gBe).map(c=>{const f=c[0];if(f==="p"||f==="P"){const h=aBe[f];return h(c,i.formatLong)}return c}).join("").match(pBe).map(c=>{if(c==="''")return{isToken:!1,value:"'"};const f=c[0];if(f==="'")return{isToken:!1,value:bBe(c)};if(xI[f])return{isToken:!0,value:c};if(f.match(yBe))throw new RangeError("Format string contains an unescaped latin alphabet character `"+f+"`");return{isToken:!1,value:c}});i.localize.preprocessor&&(u=i.localize.preprocessor(s,u));const l={firstWeekContainsDate:o,weekStartsOn:a,locale:i};return u.map(c=>{if(!c.isToken)return c.value;const f=c.value;(!n?.useAdditionalWeekYearTokens&&fBe(f)||!n?.useAdditionalDayOfYearTokens&&cBe(f))&&dBe(f,t,String(e));const h=xI[f[0]];return h(s,f,i.localize,l)}).join("")}function bBe(e){const t=e.match(mBe);return t?t[1].replace(vBe,"'"):e}function xBe(e,t){const n=Rn(e,t?.in),r=n.getFullYear(),i=n.getMonth(),o=oi(n,0);return o.setFullYear(r,i+1,0),o.setHours(0,0,0,0),o.getDate()}function wBe(e){return Math.trunc(+Rn(e)/1e3)}function _Be(e,t){const n=Rn(e,t?.in),r=n.getMonth();return n.setFullYear(n.getFullYear(),r+1,0),n.setHours(0,0,0,0),Rn(n,t?.in)}function SBe(e,t){const n=Rn(e,t?.in);return Eje(_Be(n,t),go(n,t),t)+1}function o4(e,t){return+Rn(e)>+Rn(t)}function zq(e,t){return+Rn(e)<+Rn(t)}function CBe(e,t,n){const[r,i]=wf(n?.in,e,t);return+ya(r,n)==+ya(i,n)}function HA(e,t,n){const[r,i]=wf(n?.in,e,t);return r.getFullYear()===i.getFullYear()&&r.getMonth()===i.getMonth()}function EBe(e,t,n){const[r,i]=wf(n?.in,e,t);return r.getFullYear()===i.getFullYear()}function c3(e,t,n){return Ui(e,-t,n)}function f3(e,t,n){const r=Rn(e,n?.in),i=r.getFullYear(),o=r.getDate(),a=oi(e,0);a.setFullYear(i,t,15),a.setHours(0,0,0,0);const s=xBe(a);return r.setMonth(t,Math.min(o,s)),r}function CI(e,t,n){const r=Rn(e,n?.in);return isNaN(+r)?oi(e,NaN):(r.setFullYear(t),r)}function eQe(e){return uf(Date.now(),e)}const OBe={lessThanXSeconds:{one:"不到 1 秒",other:"不到 {{count}} 秒"},xSeconds:{one:"1 秒",other:"{{count}} 秒"},halfAMinute:"半分钟",lessThanXMinutes:{one:"不到 1 分钟",other:"不到 {{count}} 分钟"},xMinutes:{one:"1 分钟",other:"{{count}} 分钟"},xHours:{one:"1 小时",other:"{{count}} 小时"},aboutXHours:{one:"大约 1 小时",other:"大约 {{count}} 小时"},xDays:{one:"1 天",other:"{{count}} 天"},aboutXWeeks:{one:"大约 1 个星期",other:"大约 {{count}} 个星期"},xWeeks:{one:"1 个星期",other:"{{count}} 个星期"},aboutXMonths:{one:"大约 1 个月",other:"大约 {{count}} 个月"},xMonths:{one:"1 个月",other:"{{count}} 个月"},aboutXYears:{one:"大约 1 年",other:"大约 {{count}} 年"},xYears:{one:"1 年",other:"{{count}} 年"},overXYears:{one:"超过 1 年",other:"超过 {{count}} 年"},almostXYears:{one:"将近 1 年",other:"将近 {{count}} 年"}},ABe=(e,t,n)=>{let r;const i=OBe[e];return typeof i=="string"?r=i:t===1?r=i.one:r=i.other.replace("{{count}}",String(t)),n?.addSuffix?n.comparison&&n.comparison>0?r+"内":r+"前":r},PBe={full:"y'年'M'月'd'日' EEEE",long:"y'年'M'月'd'日'",medium:"yyyy-MM-dd",short:"yy-MM-dd"},kBe={full:"zzzz a h:mm:ss",long:"z a h:mm:ss",medium:"a h:mm:ss",short:"a h:mm"},TBe={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},MBe={date:Nd({formats:PBe,defaultWidth:"full"}),time:Nd({formats:kBe,defaultWidth:"full"}),dateTime:Nd({formats:TBe,defaultWidth:"full"})};function EI(e,t,n){const r="eeee p";return CBe(e,t,n)?r:e.getTime()>t.getTime()?"'下个'"+r:"'上个'"+r}const RBe={lastWeek:EI,yesterday:"'昨天' p",today:"'今天' p",tomorrow:"'明天' p",nextWeek:EI,other:"PP p"},DBe=(e,t,n,r)=>{const i=RBe[e];return typeof i=="function"?i(t,n,r):i},$Be={narrow:["前","公元"],abbreviated:["前","公元"],wide:["公元前","公元"]},IBe={narrow:["1","2","3","4"],abbreviated:["第一季","第二季","第三季","第四季"],wide:["第一季度","第二季度","第三季度","第四季度"]},NBe={narrow:["一","二","三","四","五","六","七","八","九","十","十一","十二"],abbreviated:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],wide:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},LBe={narrow:["日","一","二","三","四","五","六"],short:["日","一","二","三","四","五","六"],abbreviated:["周日","周一","周二","周三","周四","周五","周六"],wide:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},FBe={narrow:{am:"上",pm:"下",midnight:"凌晨",noon:"午",morning:"早",afternoon:"下午",evening:"晚",night:"夜"},abbreviated:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"},wide:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"}},jBe={narrow:{am:"上",pm:"下",midnight:"凌晨",noon:"午",morning:"早",afternoon:"下午",evening:"晚",night:"夜"},abbreviated:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"},wide:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"}},BBe=(e,t)=>{const n=Number(e);switch(t?.unit){case"date":return n.toString()+"日";case"hour":return n.toString()+"时";case"minute":return n.toString()+"分";case"second":return n.toString()+"秒";default:return"第 "+n.toString()}},zBe={ordinalNumber:BBe,era:ps({values:$Be,defaultWidth:"wide"}),quarter:ps({values:IBe,defaultWidth:"wide",argumentCallback:e=>e-1}),month:ps({values:NBe,defaultWidth:"wide"}),day:ps({values:LBe,defaultWidth:"wide"}),dayPeriod:ps({values:FBe,defaultWidth:"wide",formattingValues:jBe,defaultFormattingWidth:"wide"})},UBe=/^(第\s*)?\d+(日|时|分|秒)?/i,VBe=/\d+/i,WBe={narrow:/^(前)/i,abbreviated:/^(前)/i,wide:/^(公元前|公元)/i},HBe={any:[/^(前)/i,/^(公元)/i]},KBe={narrow:/^[1234]/i,abbreviated:/^第[一二三四]刻/i,wide:/^第[一二三四]刻钟/i},qBe={any:[/(1|一)/i,/(2|二)/i,/(3|三)/i,/(4|四)/i]},GBe={narrow:/^(一|二|三|四|五|六|七|八|九|十[二一])/i,abbreviated:/^(一|二|三|四|五|六|七|八|九|十[二一]|\d|1[12])月/i,wide:/^(一|二|三|四|五|六|七|八|九|十[二一])月/i},YBe={narrow:[/^一/i,/^二/i,/^三/i,/^四/i,/^五/i,/^六/i,/^七/i,/^八/i,/^九/i,/^十(?!(一|二))/i,/^十一/i,/^十二/i],any:[/^一|1/i,/^二|2/i,/^三|3/i,/^四|4/i,/^五|5/i,/^六|6/i,/^七|7/i,/^八|8/i,/^九|9/i,/^十(?!(一|二))|10/i,/^十一|11/i,/^十二|12/i]},ZBe={narrow:/^[一二三四五六日]/i,short:/^[一二三四五六日]/i,abbreviated:/^周[一二三四五六日]/i,wide:/^星期[一二三四五六日]/i},XBe={any:[/日/i,/一/i,/二/i,/三/i,/四/i,/五/i,/六/i]},QBe={any:/^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨|)/i},JBe={any:{am:/^上午?/i,pm:/^下午?/i,midnight:/^午夜/i,noon:/^[中正]午/i,morning:/^早上/i,afternoon:/^下午/i,evening:/^晚上?/i,night:/^凌晨/i}},eze={ordinalNumber:Iq({matchPattern:UBe,parsePattern:VBe,valueCallback:e=>parseInt(e,10)}),era:gs({matchPatterns:WBe,defaultMatchWidth:"wide",parsePatterns:HBe,defaultParseWidth:"any"}),quarter:gs({matchPatterns:KBe,defaultMatchWidth:"wide",parsePatterns:qBe,defaultParseWidth:"any",valueCallback:e=>e+1}),month:gs({matchPatterns:GBe,defaultMatchWidth:"wide",parsePatterns:YBe,defaultParseWidth:"any"}),day:gs({matchPatterns:ZBe,defaultMatchWidth:"wide",parsePatterns:XBe,defaultParseWidth:"any"}),dayPeriod:gs({matchPatterns:QBe,defaultMatchWidth:"any",parsePatterns:JBe,defaultParseWidth:"any"})},tQe={code:"zh-CN",formatDistance:ABe,formatLong:MBe,formatRelative:DBe,localize:zBe,match:eze,options:{weekStartsOn:1,firstWeekContainsDate:4}};var Rt=function(){return Rt=Object.assign||function(t){for(var n,r=1,i=arguments.length;r1&&(u||!l),f=t>1&&(l||!u),h=function(){r&&o(r)},p=function(){i&&o(i)};return I.jsx(Dze,{displayMonth:e.displayMonth,hideNext:c,hidePrevious:f,nextMonth:i,previousMonth:r,onPreviousClick:h,onNextClick:p})}function $ze(e){var t,n=Kn(),r=n.classNames,i=n.disableNavigation,o=n.styles,a=n.captionLayout,s=n.components,u=(t=s?.CaptionLabel)!==null&&t!==void 0?t:Wq,l;return i?l=I.jsx(u,{id:e.id,displayMonth:e.displayMonth}):a==="dropdown"?l=I.jsx(OI,{displayMonth:e.displayMonth,id:e.id}):a==="dropdown-buttons"?l=I.jsxs(I.Fragment,{children:[I.jsx(OI,{displayMonth:e.displayMonth,displayIndex:e.displayIndex,id:e.id}),I.jsx(AI,{displayMonth:e.displayMonth,displayIndex:e.displayIndex,id:e.id})]}):l=I.jsxs(I.Fragment,{children:[I.jsx(u,{id:e.id,displayMonth:e.displayMonth,displayIndex:e.displayIndex}),I.jsx(AI,{displayMonth:e.displayMonth,id:e.id})]}),I.jsx("div",{className:r.caption,style:o.caption,children:l})}function Ize(e){var t=Kn(),n=t.footer,r=t.styles,i=t.classNames.tfoot;return n?I.jsx("tfoot",{className:i,style:r.tfoot,children:I.jsx("tr",{children:I.jsx("td",{colSpan:8,children:n})})}):I.jsx(I.Fragment,{})}function Nze(e,t,n){for(var r=n?sf(new Date):ya(new Date,{locale:e,weekStartsOn:t}),i=[],o=0;o<7;o++){var a=Ui(r,o);i.push(a)}return i}function Lze(){var e=Kn(),t=e.classNames,n=e.styles,r=e.showWeekNumber,i=e.locale,o=e.weekStartsOn,a=e.ISOWeek,s=e.formatters.formatWeekdayName,u=e.labels.labelWeekday,l=Nze(i,o,a);return I.jsxs("tr",{style:n.head_row,className:t.head_row,children:[r&&I.jsx("td",{style:n.head_cell,className:t.head_cell}),l.map(function(c,f){return I.jsx("th",{scope:"col",className:t.head_cell,style:n.head_cell,"aria-label":u(c,{locale:i}),children:s(c,{locale:i})},f)})]})}function Fze(){var e,t=Kn(),n=t.classNames,r=t.styles,i=t.components,o=(e=i?.HeadRow)!==null&&e!==void 0?e:Lze;return I.jsx("thead",{style:r.head,className:n.head,children:I.jsx(o,{})})}function jze(e){var t=Kn(),n=t.locale,r=t.formatters.formatDay;return I.jsx(I.Fragment,{children:r(e.date,{locale:n})})}var KA=y.createContext(void 0);function Bze(e){if(!Vm(e.initialProps)){var t={selected:void 0,modifiers:{disabled:[]}};return I.jsx(KA.Provider,{value:t,children:e.children})}return I.jsx(zze,{initialProps:e.initialProps,children:e.children})}function zze(e){var t=e.initialProps,n=e.children,r=t.selected,i=t.min,o=t.max,a=function(l,c,f){var h,p;(h=t.onDayClick)===null||h===void 0||h.call(t,l,c,f);var m=!!(c.selected&&i&&r?.length===i);if(!m){var v=!!(!c.selected&&o&&r?.length===o);if(!v){var b=r?Uq([],r):[];if(c.selected){var w=b.findIndex(function(x){return uo(l,x)});b.splice(w,1)}else b.push(l);(p=t.onSelect)===null||p===void 0||p.call(t,b,l,c,f)}}},s={disabled:[]};r&&s.disabled.push(function(l){var c=o&&r.length>o-1,f=r.some(function(h){return uo(h,l)});return!!(c&&!f)});var u={selected:r,onDayClick:a,modifiers:s};return I.jsx(KA.Provider,{value:u,children:n})}function qA(){var e=y.useContext(KA);if(!e)throw new Error("useSelectMultiple must be used within a SelectMultipleProvider");return e}function Uze(e,t){var n=t||{},r=n.from,i=n.to;return r&&i?uo(i,e)&&uo(r,e)?void 0:uo(i,e)?{from:i,to:void 0}:uo(r,e)?void 0:o4(r,e)?{from:e,to:i}:{from:r,to:e}:i?o4(e,i)?{from:i,to:e}:{from:e,to:i}:r?zq(e,r)?{from:e,to:r}:{from:r,to:e}:{from:e,to:void 0}}var GA=y.createContext(void 0);function Vze(e){if(!Wm(e.initialProps)){var t={selected:void 0,modifiers:{range_start:[],range_end:[],range_middle:[],disabled:[]}};return I.jsx(GA.Provider,{value:t,children:e.children})}return I.jsx(Wze,{initialProps:e.initialProps,children:e.children})}function Wze(e){var t=e.initialProps,n=e.children,r=t.selected,i=r||{},o=i.from,a=i.to,s=t.min,u=t.max,l=function(p,m,v){var b,w;(b=t.onDayClick)===null||b===void 0||b.call(t,p,m,v);var x=Uze(p,r);(w=t.onSelect)===null||w===void 0||w.call(t,x,p,m,v)},c={range_start:[],range_end:[],range_middle:[],disabled:[]};if(o?(c.range_start=[o],a?(c.range_end=[a],uo(o,a)||(c.range_middle=[{after:o,before:a}])):c.range_end=[o]):a&&(c.range_start=[a],c.range_end=[a]),s&&(o&&!a&&c.disabled.push({after:c3(o,s-1),before:Ui(o,s-1)}),o&&a&&c.disabled.push({after:o,before:Ui(o,s-1)}),!o&&a&&c.disabled.push({after:c3(a,s-1),before:Ui(a,s-1)})),u){if(o&&!a&&(c.disabled.push({before:Ui(o,-u+1)}),c.disabled.push({after:Ui(o,u-1)})),o&&a){var f=xs(a,o)+1,h=u-f;c.disabled.push({before:c3(o,h)}),c.disabled.push({after:Ui(a,h)})}!o&&a&&(c.disabled.push({before:Ui(a,-u+1)}),c.disabled.push({after:Ui(a,u-1)}))}return I.jsx(GA.Provider,{value:{selected:r,onDayClick:l,modifiers:c},children:n})}function YA(){var e=y.useContext(GA);if(!e)throw new Error("useSelectRange must be used within a SelectRangeProvider");return e}function ry(e){return Array.isArray(e)?Uq([],e):e!==void 0?[e]:[]}function Hze(e){var t={};return Object.entries(e).forEach(function(n){var r=n[0],i=n[1];t[r]=ry(i)}),t}var Ja;(function(e){e.Outside="outside",e.Disabled="disabled",e.Selected="selected",e.Hidden="hidden",e.Today="today",e.RangeStart="range_start",e.RangeEnd="range_end",e.RangeMiddle="range_middle"})(Ja||(Ja={}));var Kze=Ja.Selected,Ys=Ja.Disabled,qze=Ja.Hidden,Gze=Ja.Today,d3=Ja.RangeEnd,h3=Ja.RangeMiddle,p3=Ja.RangeStart,Yze=Ja.Outside;function Zze(e,t,n){var r,i=(r={},r[Kze]=ry(e.selected),r[Ys]=ry(e.disabled),r[qze]=ry(e.hidden),r[Gze]=[e.today],r[d3]=[],r[h3]=[],r[p3]=[],r[Yze]=[],r);return e.fromDate&&i[Ys].push({before:e.fromDate}),e.toDate&&i[Ys].push({after:e.toDate}),Vm(e)?i[Ys]=i[Ys].concat(t.modifiers[Ys]):Wm(e)&&(i[Ys]=i[Ys].concat(n.modifiers[Ys]),i[p3]=n.modifiers[p3],i[h3]=n.modifiers[h3],i[d3]=n.modifiers[d3]),i}var qq=y.createContext(void 0);function Xze(e){var t=Kn(),n=qA(),r=YA(),i=Zze(t,n,r),o=Hze(t.modifiers),a=Rt(Rt({},i),o);return I.jsx(qq.Provider,{value:a,children:e.children})}function Gq(){var e=y.useContext(qq);if(!e)throw new Error("useModifiers must be used within a ModifiersProvider");return e}function Qze(e){return!!(e&&typeof e=="object"&&"before"in e&&"after"in e)}function Jze(e){return!!(e&&typeof e=="object"&&"from"in e)}function eUe(e){return!!(e&&typeof e=="object"&&"after"in e)}function tUe(e){return!!(e&&typeof e=="object"&&"before"in e)}function nUe(e){return!!(e&&typeof e=="object"&&"dayOfWeek"in e)}function rUe(e,t){var n,r=t.from,i=t.to;if(r&&i){var o=xs(i,r)<0;o&&(n=[i,r],r=n[0],i=n[1]);var a=xs(e,r)>=0&&xs(i,e)>=0;return a}return i?uo(i,e):r?uo(r,e):!1}function iUe(e){return UA(e)}function oUe(e){return Array.isArray(e)&&e.every(UA)}function aUe(e,t){return t.some(function(n){if(typeof n=="boolean")return n;if(iUe(n))return uo(e,n);if(oUe(n))return n.includes(e);if(Jze(n))return rUe(e,n);if(nUe(n))return n.dayOfWeek.includes(e.getDay());if(Qze(n)){var r=xs(n.before,e),i=xs(n.after,e),o=r>0,a=i<0,s=o4(n.before,n.after);return s?a&&o:o||a}return eUe(n)?xs(e,n.after)>0:tUe(n)?xs(n.before,e)>0:typeof n=="function"?n(e):!1})}function ZA(e,t,n){var r=Object.keys(t).reduce(function(o,a){var s=t[a];return aUe(e,s)&&o.push(a),o},[]),i={};return r.forEach(function(o){return i[o]=!0}),n&&!HA(e,n)&&(i.outside=!0),i}function sUe(e,t){for(var n=go(e[0]),r=VA(e[e.length-1]),i,o,a=n;a<=r;){var s=ZA(a,t),u=!s.disabled&&!s.hidden;if(!u){a=Ui(a,1);continue}if(s.selected)return a;s.today&&!o&&(o=a),i||(i=a),a=Ui(a,1)}return o||i}var uUe=365;function Yq(e,t){var n=t.moveBy,r=t.direction,i=t.context,o=t.modifiers,a=t.retry,s=a===void 0?{count:0,lastFocused:e}:a,u=i.weekStartsOn,l=i.fromDate,c=i.toDate,f=i.locale,h={day:Ui,week:i4,month:Qa,year:wje,startOfWeek:function(b){return i.ISOWeek?sf(b):ya(b,{locale:f,weekStartsOn:u})},endOfWeek:function(b){return i.ISOWeek?$q(b):WA(b,{locale:f,weekStartsOn:u})}},p=h[n](e,r==="after"?1:-1);r==="before"&&l?p=_je([l,p]):r==="after"&&c&&(p=Sje([c,p]));var m=!0;if(o){var v=ZA(p,o);m=!v.disabled&&!v.hidden}return m?p:s.count>uUe?s.lastFocused:Yq(p,{moveBy:n,direction:r,context:i,modifiers:o,retry:Rt(Rt({},s),{count:s.count+1})})}var Zq=y.createContext(void 0);function lUe(e){var t=Hm(),n=Gq(),r=y.useState(),i=r[0],o=r[1],a=y.useState(),s=a[0],u=a[1],l=sUe(t.displayMonths,n),c=i??(s&&t.isDateDisplayed(s))?s:l,f=function(){u(i),o(void 0)},h=function(b){o(b)},p=Kn(),m=function(b,w){if(i){var x=Yq(i,{moveBy:b,direction:w,context:p,modifiers:n});uo(i,x)||(t.goToDate(x,i),h(x))}},v={focusedDay:i,focusTarget:c,blur:f,focus:h,focusDayAfter:function(){return m("day","after")},focusDayBefore:function(){return m("day","before")},focusWeekAfter:function(){return m("week","after")},focusWeekBefore:function(){return m("week","before")},focusMonthBefore:function(){return m("month","before")},focusMonthAfter:function(){return m("month","after")},focusYearBefore:function(){return m("year","before")},focusYearAfter:function(){return m("year","after")},focusStartOfWeek:function(){return m("startOfWeek","before")},focusEndOfWeek:function(){return m("endOfWeek","after")}};return I.jsx(Zq.Provider,{value:v,children:e.children})}function XA(){var e=y.useContext(Zq);if(!e)throw new Error("useFocusContext must be used within a FocusProvider");return e}function cUe(e,t){var n=Gq(),r=ZA(e,n,t);return r}var QA=y.createContext(void 0);function fUe(e){if(!dw(e.initialProps)){var t={selected:void 0};return I.jsx(QA.Provider,{value:t,children:e.children})}return I.jsx(dUe,{initialProps:e.initialProps,children:e.children})}function dUe(e){var t=e.initialProps,n=e.children,r=function(o,a,s){var u,l,c;if((u=t.onDayClick)===null||u===void 0||u.call(t,o,a,s),a.selected&&!t.required){(l=t.onSelect)===null||l===void 0||l.call(t,void 0,o,a,s);return}(c=t.onSelect)===null||c===void 0||c.call(t,o,o,a,s)},i={selected:t.selected,onDayClick:r};return I.jsx(QA.Provider,{value:i,children:n})}function Xq(){var e=y.useContext(QA);if(!e)throw new Error("useSelectSingle must be used within a SelectSingleProvider");return e}function hUe(e,t){var n=Kn(),r=Xq(),i=qA(),o=YA(),a=XA(),s=a.focusDayAfter,u=a.focusDayBefore,l=a.focusWeekAfter,c=a.focusWeekBefore,f=a.blur,h=a.focus,p=a.focusMonthBefore,m=a.focusMonthAfter,v=a.focusYearBefore,b=a.focusYearAfter,w=a.focusStartOfWeek,x=a.focusEndOfWeek,S=function(W){var j,K,Y,oe;dw(n)?(j=r.onDayClick)===null||j===void 0||j.call(r,e,t,W):Vm(n)?(K=i.onDayClick)===null||K===void 0||K.call(i,e,t,W):Wm(n)?(Y=o.onDayClick)===null||Y===void 0||Y.call(o,e,t,W):(oe=n.onDayClick)===null||oe===void 0||oe.call(n,e,t,W)},O=function(W){var j;h(e),(j=n.onDayFocus)===null||j===void 0||j.call(n,e,t,W)},E=function(W){var j;f(),(j=n.onDayBlur)===null||j===void 0||j.call(n,e,t,W)},C=function(W){var j;(j=n.onDayMouseEnter)===null||j===void 0||j.call(n,e,t,W)},k=function(W){var j;(j=n.onDayMouseLeave)===null||j===void 0||j.call(n,e,t,W)},M=function(W){var j;(j=n.onDayPointerEnter)===null||j===void 0||j.call(n,e,t,W)},L=function(W){var j;(j=n.onDayPointerLeave)===null||j===void 0||j.call(n,e,t,W)},U=function(W){var j;(j=n.onDayTouchCancel)===null||j===void 0||j.call(n,e,t,W)},H=function(W){var j;(j=n.onDayTouchEnd)===null||j===void 0||j.call(n,e,t,W)},V=function(W){var j;(j=n.onDayTouchMove)===null||j===void 0||j.call(n,e,t,W)},ne=function(W){var j;(j=n.onDayTouchStart)===null||j===void 0||j.call(n,e,t,W)},Z=function(W){var j;(j=n.onDayKeyUp)===null||j===void 0||j.call(n,e,t,W)},G=function(W){var j;switch(W.key){case"ArrowLeft":W.preventDefault(),W.stopPropagation(),n.dir==="rtl"?s():u();break;case"ArrowRight":W.preventDefault(),W.stopPropagation(),n.dir==="rtl"?u():s();break;case"ArrowDown":W.preventDefault(),W.stopPropagation(),l();break;case"ArrowUp":W.preventDefault(),W.stopPropagation(),c();break;case"PageUp":W.preventDefault(),W.stopPropagation(),W.shiftKey?v():p();break;case"PageDown":W.preventDefault(),W.stopPropagation(),W.shiftKey?b():m();break;case"Home":W.preventDefault(),W.stopPropagation(),w();break;case"End":W.preventDefault(),W.stopPropagation(),x();break}(j=n.onDayKeyDown)===null||j===void 0||j.call(n,e,t,W)},q={onClick:S,onFocus:O,onBlur:E,onKeyDown:G,onKeyUp:Z,onMouseEnter:C,onMouseLeave:k,onPointerEnter:M,onPointerLeave:L,onTouchCancel:U,onTouchEnd:H,onTouchMove:V,onTouchStart:ne};return q}function pUe(){var e=Kn(),t=Xq(),n=qA(),r=YA(),i=dw(e)?t.selected:Vm(e)?n.selected:Wm(e)?r.selected:void 0;return i}function gUe(e){return Object.values(Ja).includes(e)}function mUe(e,t){var n=[e.classNames.day];return Object.keys(t).forEach(function(r){var i=e.modifiersClassNames[r];if(i)n.push(i);else if(gUe(r)){var o=e.classNames["day_".concat(r)];o&&n.push(o)}}),n}function vUe(e,t){var n=Rt({},e.styles.day);return Object.keys(t).forEach(function(r){var i;n=Rt(Rt({},n),(i=e.modifiersStyles)===null||i===void 0?void 0:i[r])}),n}function yUe(e,t,n){var r,i,o,a=Kn(),s=XA(),u=cUe(e,t),l=hUe(e,u),c=pUe(),f=!!(a.onDayClick||a.mode!=="default");y.useEffect(function(){var C;u.outside||s.focusedDay&&f&&uo(s.focusedDay,e)&&((C=n.current)===null||C===void 0||C.focus())},[s.focusedDay,e,n,f,u.outside]);var h=mUe(a,u).join(" "),p=vUe(a,u),m=!!(u.outside&&!a.showOutsideDays||u.hidden),v=(o=(i=a.components)===null||i===void 0?void 0:i.DayContent)!==null&&o!==void 0?o:jze,b=I.jsx(v,{date:e,displayMonth:t,activeModifiers:u}),w={style:p,className:h,children:b,role:"gridcell"},x=s.focusTarget&&uo(s.focusTarget,e)&&!u.outside,S=s.focusedDay&&uo(s.focusedDay,e),O=Rt(Rt(Rt({},w),(r={disabled:u.disabled,role:"gridcell"},r["aria-selected"]=u.selected,r.tabIndex=S||x?0:-1,r)),l),E={isButton:f,isHidden:m,activeModifiers:u,selectedDays:c,buttonProps:O,divProps:w};return E}function bUe(e){var t=y.useRef(null),n=yUe(e.date,e.displayMonth,t);return n.isHidden?I.jsx("div",{role:"gridcell"}):n.isButton?I.jsx(px,Rt({name:"day",ref:t},n.buttonProps)):I.jsx("div",Rt({},n.divProps))}function xUe(e){var t=e.number,n=e.dates,r=Kn(),i=r.onWeekNumberClick,o=r.styles,a=r.classNames,s=r.locale,u=r.labels.labelWeekNumber,l=r.formatters.formatWeekNumber,c=l(Number(t),{locale:s});if(!i)return I.jsx("span",{className:a.weeknumber,style:o.weeknumber,children:c});var f=u(Number(t),{locale:s}),h=function(p){i(t,n,p)};return I.jsx(px,{name:"week-number","aria-label":f,className:a.weeknumber,style:o.weeknumber,onClick:h,children:c})}function wUe(e){var t,n,r=Kn(),i=r.styles,o=r.classNames,a=r.showWeekNumber,s=r.components,u=(t=s?.Day)!==null&&t!==void 0?t:bUe,l=(n=s?.WeekNumber)!==null&&n!==void 0?n:xUe,c;return a&&(c=I.jsx("td",{className:o.cell,style:i.cell,children:I.jsx(l,{number:e.weekNumber,dates:e.dates})})),I.jsxs("tr",{className:o.row,style:i.row,children:[c,e.dates.map(function(f){return I.jsx("td",{className:o.cell,style:i.cell,role:"presentation",children:I.jsx(u,{displayMonth:e.displayMonth,date:f})},wBe(f))})]})}function PI(e,t,n){for(var r=n?.ISOWeek?$q(t):WA(t,n),i=n?.ISOWeek?sf(e):ya(e,n),o=xs(r,i),a=[],s=0;s<=o;s++)a.push(Ui(i,s));var u=a.reduce(function(l,c){var f=n?.ISOWeek?Lq(c):jq(c,n),h=l.find(function(p){return p.weekNumber===f});return h?(h.dates.push(c),l):(l.push({weekNumber:f,dates:[c]}),l)},[]);return u}function _Ue(e,t){var n=PI(go(e),VA(e),t);if(t?.useFixedWeeks){var r=SBe(e,t);if(r<6){var i=n[n.length-1],o=i.dates[i.dates.length-1],a=i4(o,6-r),s=PI(i4(o,1),a,t);n.push.apply(n,s)}}return n}function SUe(e){var t,n,r,i=Kn(),o=i.locale,a=i.classNames,s=i.styles,u=i.hideHead,l=i.fixedWeeks,c=i.components,f=i.weekStartsOn,h=i.firstWeekContainsDate,p=i.ISOWeek,m=_Ue(e.displayMonth,{useFixedWeeks:!!l,ISOWeek:p,locale:o,weekStartsOn:f,firstWeekContainsDate:h}),v=(t=c?.Head)!==null&&t!==void 0?t:Fze,b=(n=c?.Row)!==null&&n!==void 0?n:wUe,w=(r=c?.Footer)!==null&&r!==void 0?r:Ize;return I.jsxs("table",{id:e.id,className:a.table,style:s.table,role:"grid","aria-labelledby":e["aria-labelledby"],children:[!u&&I.jsx(v,{}),I.jsx("tbody",{className:a.tbody,style:s.tbody,children:m.map(function(x){return I.jsx(b,{displayMonth:e.displayMonth,dates:x.dates,weekNumber:x.weekNumber},x.weekNumber)})}),I.jsx(w,{displayMonth:e.displayMonth})]})}function CUe(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}var EUe=CUe()?y.useLayoutEffect:y.useEffect,g3=!1,OUe=0;function kI(){return"react-day-picker-".concat(++OUe)}function AUe(e){var t,n=e??(g3?kI():null),r=y.useState(n),i=r[0],o=r[1];return EUe(function(){i===null&&o(kI())},[]),y.useEffect(function(){g3===!1&&(g3=!0)},[]),(t=e??i)!==null&&t!==void 0?t:void 0}function PUe(e){var t,n,r=Kn(),i=r.dir,o=r.classNames,a=r.styles,s=r.components,u=Hm().displayMonths,l=AUe(r.id?"".concat(r.id,"-").concat(e.displayIndex):void 0),c=r.id?"".concat(r.id,"-grid-").concat(e.displayIndex):void 0,f=[o.month],h=a.month,p=e.displayIndex===0,m=e.displayIndex===u.length-1,v=!p&&!m;i==="rtl"&&(t=[p,m],m=t[0],p=t[1]),p&&(f.push(o.caption_start),h=Rt(Rt({},h),a.caption_start)),m&&(f.push(o.caption_end),h=Rt(Rt({},h),a.caption_end)),v&&(f.push(o.caption_between),h=Rt(Rt({},h),a.caption_between));var b=(n=s?.Caption)!==null&&n!==void 0?n:$ze;return I.jsxs("div",{className:f.join(" "),style:h,children:[I.jsx(b,{id:l,displayMonth:e.displayMonth,displayIndex:e.displayIndex}),I.jsx(SUe,{id:c,"aria-labelledby":l,displayMonth:e.displayMonth})]},e.displayIndex)}function kUe(e){var t=Kn(),n=t.classNames,r=t.styles;return I.jsx("div",{className:n.months,style:r.months,children:e.children})}function TUe(e){var t,n,r=e.initialProps,i=Kn(),o=XA(),a=Hm(),s=y.useState(!1),u=s[0],l=s[1];y.useEffect(function(){i.initialFocus&&o.focusTarget&&(u||(o.focus(o.focusTarget),l(!0)))},[i.initialFocus,u,o.focus,o.focusTarget,o]);var c=[i.classNames.root,i.className];i.numberOfMonths>1&&c.push(i.classNames.multiple_months),i.showWeekNumber&&c.push(i.classNames.with_weeknumber);var f=Rt(Rt({},i.styles.root),i.style),h=Object.keys(r).filter(function(m){return m.startsWith("data-")}).reduce(function(m,v){var b;return Rt(Rt({},m),(b={},b[v]=r[v],b))},{}),p=(n=(t=r.components)===null||t===void 0?void 0:t.Months)!==null&&n!==void 0?n:kUe;return I.jsx("div",Rt({className:c.join(" "),style:f,dir:i.dir,id:i.id,nonce:r.nonce,title:r.title,lang:r.lang},h,{children:I.jsx(p,{children:a.displayMonths.map(function(m,v){return I.jsx(PUe,{displayIndex:v,displayMonth:m},v)})})}))}function MUe(e){var t=e.children,n=tze(e,["children"]);return I.jsx(xze,{initialProps:n,children:I.jsx(Tze,{children:I.jsx(fUe,{initialProps:n,children:I.jsx(Bze,{initialProps:n,children:I.jsx(Vze,{initialProps:n,children:I.jsx(Xze,{children:I.jsx(lUe,{children:t})})})})})})})}function nQe(e){return I.jsx(MUe,Rt({},e,{children:I.jsx(TUe,{initialProps:e})}))}var JA="Popover",[Qq,rQe]=vi(JA,[zl]),Km=zl(),[RUe,Yl]=Qq(JA),Jq=e=>{const{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:o,modal:a=!1}=e,s=Km(t),u=y.useRef(null),[l,c]=y.useState(!1),[f=!1,h]=Za({prop:r,defaultProp:i,onChange:o});return I.jsx(a2,{...s,children:I.jsx(RUe,{scope:t,contentId:Fo(),triggerRef:u,open:f,onOpenChange:h,onOpenToggle:y.useCallback(()=>h(p=>!p),[h]),hasCustomAnchor:l,onCustomAnchorAdd:y.useCallback(()=>c(!0),[]),onCustomAnchorRemove:y.useCallback(()=>c(!1),[]),modal:a,children:n})})};Jq.displayName=JA;var eG="PopoverAnchor",DUe=y.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,i=Yl(eG,n),o=Km(n),{onCustomAnchorAdd:a,onCustomAnchorRemove:s}=i;return y.useEffect(()=>(a(),()=>s()),[a,s]),I.jsx(Am,{...o,...r,ref:t})});DUe.displayName=eG;var tG="PopoverTrigger",nG=y.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,i=Yl(tG,n),o=Km(n),a=Yt(t,i.triggerRef),s=I.jsx(pt.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.contentId,"data-state":sG(i.open),...r,ref:a,onClick:Ye(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?s:I.jsx(Am,{asChild:!0,...o,children:s})});nG.displayName=tG;var eP="PopoverPortal",[$Ue,IUe]=Qq(eP,{forceMount:void 0}),rG=e=>{const{__scopePopover:t,forceMount:n,children:r,container:i}=e,o=Yl(eP,t);return I.jsx($Ue,{scope:t,forceMount:n,children:I.jsx(Gr,{present:n||o.open,children:I.jsx(Lh,{asChild:!0,container:i,children:r})})})};rG.displayName=eP;var Ch="PopoverContent",iG=y.forwardRef((e,t)=>{const n=IUe(Ch,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,o=Yl(Ch,e.__scopePopover);return I.jsx(Gr,{present:r||o.open,children:o.modal?I.jsx(NUe,{...i,ref:t}):I.jsx(LUe,{...i,ref:t})})});iG.displayName=Ch;var NUe=y.forwardRef((e,t)=>{const n=Yl(Ch,e.__scopePopover),r=y.useRef(null),i=Yt(t,r),o=y.useRef(!1);return y.useEffect(()=>{const a=r.current;if(a)return Cm(a)},[]),I.jsx(Sm,{as:Al,allowPinchZoom:!0,children:I.jsx(oG,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Ye(e.onCloseAutoFocus,a=>{a.preventDefault(),o.current||n.triggerRef.current?.focus()}),onPointerDownOutside:Ye(e.onPointerDownOutside,a=>{const s=a.detail.originalEvent,u=s.button===0&&s.ctrlKey===!0,l=s.button===2||u;o.current=l},{checkForDefaultPrevented:!1}),onFocusOutside:Ye(e.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1})})})}),LUe=y.forwardRef((e,t)=>{const n=Yl(Ch,e.__scopePopover),r=y.useRef(!1),i=y.useRef(!1);return I.jsx(oG,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:o=>{e.onCloseAutoFocus?.(o),o.defaultPrevented||(r.current||n.triggerRef.current?.focus(),o.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:o=>{e.onInteractOutside?.(o),o.defaultPrevented||(r.current=!0,o.detail.originalEvent.type==="pointerdown"&&(i.current=!0));const a=o.target;n.triggerRef.current?.contains(a)&&o.preventDefault(),o.detail.originalEvent.type==="focusin"&&i.current&&o.preventDefault()}})}),oG=y.forwardRef((e,t)=>{const{__scopePopover:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:o,disableOutsidePointerEvents:a,onEscapeKeyDown:s,onPointerDownOutside:u,onFocusOutside:l,onInteractOutside:c,...f}=e,h=Yl(Ch,n),p=Km(n);return n2(),I.jsx(_m,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:o,children:I.jsx(Nh,{asChild:!0,disableOutsidePointerEvents:a,onInteractOutside:c,onEscapeKeyDown:s,onPointerDownOutside:u,onFocusOutside:l,onDismiss:()=>h.onOpenChange(!1),children:I.jsx(s2,{"data-state":sG(h.open),role:"dialog",id:h.contentId,...p,...f,ref:t,style:{...f.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),aG="PopoverClose",FUe=y.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,i=Yl(aG,n);return I.jsx(pt.button,{type:"button",...r,ref:t,onClick:Ye(e.onClick,()=>i.onOpenChange(!1))})});FUe.displayName=aG;var jUe="PopoverArrow",BUe=y.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,i=Km(n);return I.jsx(u2,{...i,...r,ref:t})});BUe.displayName=jUe;function sG(e){return e?"open":"closed"}var iQe=Jq,oQe=nG,aQe=rG,sQe=iG,gx={exports:{}};/** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */gx.exports;(function(e,t){(function(){var n,r="4.17.21",i=200,o="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",a="Expected a function",s="Invalid `variable` option passed into `_.template`",u="__lodash_hash_undefined__",l=500,c="__lodash_placeholder__",f=1,h=2,p=4,m=1,v=2,b=1,w=2,x=4,S=8,O=16,E=32,C=64,k=128,M=256,L=512,U=30,H="...",V=800,ne=16,Z=1,G=2,q=3,W=1/0,j=9007199254740991,K=17976931348623157e292,Y=NaN,oe=4294967295,ae=oe-1,ue=oe>>>1,be=[["ary",k],["bind",b],["bindKey",w],["curry",S],["curryRight",O],["flip",L],["partial",E],["partialRight",C],["rearg",M]],we="[object Arguments]",He="[object Array]",Ee="[object AsyncFunction]",it="[object Boolean]",ke="[object Date]",Le="[object DOMException]",De="[object Error]",me="[object Function]",yt="[object GeneratorFunction]",lt="[object Map]",Nt="[object Number]",yn="[object Null]",nn="[object Object]",te="[object Promise]",de="[object Proxy]",ge="[object RegExp]",ze="[object Set]",Fe="[object String]",Ae="[object Symbol]",tt="[object Undefined]",mt="[object WeakMap]",xn="[object WeakSet]",Kt="[object ArrayBuffer]",wn="[object DataView]",Ii="[object Float32Array]",br="[object Float64Array]",yi="[object Int8Array]",sr="[object Int16Array]",si="[object Int32Array]",bi="[object Uint8Array]",Rr="[object Uint8ClampedArray]",Xi="[object Uint16Array]",yo="[object Uint32Array]",xi=/\b__p \+= '';/g,Dr=/\b(__p \+=) '' \+/g,_a=/(__e\(.*?\)|\b__t\)) \+\n'';/g,_t=/&(?:amp|lt|gt|quot|#39);/g,hn=/[&<>"']/g,_n=RegExp(_t.source),qn=RegExp(hn.source),ur=/<%-([\s\S]+?)%>/g,Xr=/<%([\s\S]+?)%>/g,bo=/<%=([\s\S]+?)%>/g,Zl=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Sf=/^\w*$/,re=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,se=/[\\^$.*+?()[\]{}|]/g,ve=RegExp(se.source),T=/^\s+/,D=/\s/,$=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,A=/\{\n\/\* \[wrapped with (.+)\] \*/,N=/,? & /,Q=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ee=/[()=,{}\[\]\/\s]/,fe=/\\(\\)?/g,_e=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,je=/\w*$/,We=/^[-+]0x[0-9a-f]+$/i,ct=/^0b[01]+$/i,Ie=/^\[object .+?Constructor\]$/,nt=/^0o[0-7]+$/i,bt=/^(?:0|[1-9]\d*)$/,Ot=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,gt=/($^)/,ht=/['\n\r\u2028\u2029\\]/g,xt="\\ud800-\\udfff",wt="\\u0300-\\u036f",Qe="\\ufe20-\\ufe2f",ut="\\u20d0-\\u20ff",Xe=wt+Qe+ut,Ne="\\u2700-\\u27bf",Ke="a-z\\xdf-\\xf6\\xf8-\\xff",Ge="\\xac\\xb1\\xd7\\xf7",pe="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",he="\\u2000-\\u206f",Re=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Oe="A-Z\\xc0-\\xd6\\xd8-\\xde",Pe="\\ufe0e\\ufe0f",Be=Ge+pe+he+Re,vt="['’]",Lt="["+xt+"]",Ft="["+Be+"]",$t="["+Xe+"]",J="\\d+",Zt="["+Ne+"]",sn="["+Ke+"]",un="[^"+xt+Be+J+Ne+Ke+Oe+"]",jt="\\ud83c[\\udffb-\\udfff]",ln="(?:"+$t+"|"+jt+")",rn="[^"+xt+"]",Gn="(?:\\ud83c[\\udde6-\\uddff]){2}",mn="[\\ud800-\\udbff][\\udc00-\\udfff]",Pn="["+Oe+"]",Yn="\\u200d",Zn="(?:"+sn+"|"+un+")",xr="(?:"+Pn+"|"+un+")",$r="(?:"+vt+"(?:d|ll|m|re|s|t|ve))?",Ir="(?:"+vt+"(?:D|LL|M|RE|S|T|VE))?",Nr=ln+"?",MP="["+Pe+"]?",hZ="(?:"+Yn+"(?:"+[rn,Gn,mn].join("|")+")"+MP+Nr+")*",pZ="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",gZ="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",RP=MP+Nr+hZ,mZ="(?:"+[Zt,Gn,mn].join("|")+")"+RP,vZ="(?:"+[rn+$t+"?",$t,Gn,mn,Lt].join("|")+")",yZ=RegExp(vt,"g"),bZ=RegExp($t,"g"),_w=RegExp(jt+"(?="+jt+")|"+vZ+RP,"g"),xZ=RegExp([Pn+"?"+sn+"+"+$r+"(?="+[Ft,Pn,"$"].join("|")+")",xr+"+"+Ir+"(?="+[Ft,Pn+Zn,"$"].join("|")+")",Pn+"?"+Zn+"+"+$r,Pn+"+"+Ir,gZ,pZ,J,mZ].join("|"),"g"),wZ=RegExp("["+Yn+xt+Xe+Pe+"]"),_Z=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,SZ=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],CZ=-1,Xn={};Xn[Ii]=Xn[br]=Xn[yi]=Xn[sr]=Xn[si]=Xn[bi]=Xn[Rr]=Xn[Xi]=Xn[yo]=!0,Xn[we]=Xn[He]=Xn[Kt]=Xn[it]=Xn[wn]=Xn[ke]=Xn[De]=Xn[me]=Xn[lt]=Xn[Nt]=Xn[nn]=Xn[ge]=Xn[ze]=Xn[Fe]=Xn[mt]=!1;var Un={};Un[we]=Un[He]=Un[Kt]=Un[wn]=Un[it]=Un[ke]=Un[Ii]=Un[br]=Un[yi]=Un[sr]=Un[si]=Un[lt]=Un[Nt]=Un[nn]=Un[ge]=Un[ze]=Un[Fe]=Un[Ae]=Un[bi]=Un[Rr]=Un[Xi]=Un[yo]=!0,Un[De]=Un[me]=Un[mt]=!1;var EZ={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},OZ={"&":"&","<":"<",">":">",'"':""","'":"'"},AZ={"&":"&","<":"<",">":">",""":'"',"'":"'"},PZ={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},kZ=parseFloat,TZ=parseInt,DP=typeof La=="object"&&La&&La.Object===Object&&La,MZ=typeof self=="object"&&self&&self.Object===Object&&self,ui=DP||MZ||Function("return this")(),Sw=t&&!t.nodeType&&t,Xl=Sw&&!0&&e&&!e.nodeType&&e,$P=Xl&&Xl.exports===Sw,Cw=$P&&DP.process,qo=function(){try{var le=Xl&&Xl.require&&Xl.require("util").types;return le||Cw&&Cw.binding&&Cw.binding("util")}catch{}}(),IP=qo&&qo.isArrayBuffer,NP=qo&&qo.isDate,LP=qo&&qo.isMap,FP=qo&&qo.isRegExp,jP=qo&&qo.isSet,BP=qo&&qo.isTypedArray;function xo(le,Ce,ye){switch(ye.length){case 0:return le.call(Ce);case 1:return le.call(Ce,ye[0]);case 2:return le.call(Ce,ye[0],ye[1]);case 3:return le.call(Ce,ye[0],ye[1],ye[2])}return le.apply(Ce,ye)}function RZ(le,Ce,ye,ot){for(var Bt=-1,Sn=le==null?0:le.length;++Bt-1}function Ew(le,Ce,ye){for(var ot=-1,Bt=le==null?0:le.length;++ot-1;);return ye}function GP(le,Ce){for(var ye=le.length;ye--&&Cf(Ce,le[ye],0)>-1;);return ye}function zZ(le,Ce){for(var ye=le.length,ot=0;ye--;)le[ye]===Ce&&++ot;return ot}var UZ=kw(EZ),VZ=kw(OZ);function WZ(le){return"\\"+PZ[le]}function HZ(le,Ce){return le==null?n:le[Ce]}function Ef(le){return wZ.test(le)}function KZ(le){return _Z.test(le)}function qZ(le){for(var Ce,ye=[];!(Ce=le.next()).done;)ye.push(Ce.value);return ye}function Dw(le){var Ce=-1,ye=Array(le.size);return le.forEach(function(ot,Bt){ye[++Ce]=[Bt,ot]}),ye}function YP(le,Ce){return function(ye){return le(Ce(ye))}}function Nu(le,Ce){for(var ye=-1,ot=le.length,Bt=0,Sn=[];++ye-1}function $X(d,g){var _=this.__data__,P=hv(_,d);return P<0?(++this.size,_.push([d,g])):_[P][1]=g,this}Ls.prototype.clear=TX,Ls.prototype.delete=MX,Ls.prototype.get=RX,Ls.prototype.has=DX,Ls.prototype.set=$X;function Fs(d){var g=-1,_=d==null?0:d.length;for(this.clear();++g<_;){var P=d[g];this.set(P[0],P[1])}}function IX(){this.size=0,this.__data__={hash:new Jl,map:new(sp||Ls),string:new Jl}}function NX(d){var g=Ev(this,d).delete(d);return this.size-=g?1:0,g}function LX(d){return Ev(this,d).get(d)}function FX(d){return Ev(this,d).has(d)}function jX(d,g){var _=Ev(this,d),P=_.size;return _.set(d,g),this.size+=_.size==P?0:1,this}Fs.prototype.clear=IX,Fs.prototype.delete=NX,Fs.prototype.get=LX,Fs.prototype.has=FX,Fs.prototype.set=jX;function ec(d){var g=-1,_=d==null?0:d.length;for(this.__data__=new Fs;++g<_;)this.add(d[g])}function BX(d){return this.__data__.set(d,u),this}function zX(d){return this.__data__.has(d)}ec.prototype.add=ec.prototype.push=BX,ec.prototype.has=zX;function Ca(d){var g=this.__data__=new Ls(d);this.size=g.size}function UX(){this.__data__=new Ls,this.size=0}function VX(d){var g=this.__data__,_=g.delete(d);return this.size=g.size,_}function WX(d){return this.__data__.get(d)}function HX(d){return this.__data__.has(d)}function KX(d,g){var _=this.__data__;if(_ instanceof Ls){var P=_.__data__;if(!sp||P.length=g?d:g)),d}function Xo(d,g,_,P,R,z){var X,ie=g&f,ce=g&h,Te=g&p;if(_&&(X=R?_(d,P,R,z):_(d)),X!==n)return X;if(!lr(d))return d;var Me=Wt(d);if(Me){if(X=FQ(d),!ie)return Qi(d,X)}else{var $e=_i(d),Je=$e==me||$e==yt;if(Uu(d))return M8(d,ie);if($e==nn||$e==we||Je&&!R){if(X=ce||Je?{}:Z8(d),!ie)return ce?AQ(d,ZX(X,d)):OQ(d,s8(X,d))}else{if(!Un[$e])return R?d:{};X=jQ(d,$e,ie)}}z||(z=new Ca);var ft=z.get(d);if(ft)return ft;z.set(d,X),Ek(d)?d.forEach(function(Pt){X.add(Xo(Pt,g,_,Pt,d,z))}):Sk(d)&&d.forEach(function(Pt,on){X.set(on,Xo(Pt,g,_,on,d,z))});var At=Te?ce?o_:i_:ce?eo:Qr,Jt=Me?n:At(d);return Go(Jt||d,function(Pt,on){Jt&&(on=Pt,Pt=d[on]),fp(X,on,Xo(Pt,g,_,on,d,z))}),X}function XX(d){var g=Qr(d);return function(_){return u8(_,d,g)}}function u8(d,g,_){var P=_.length;if(d==null)return!P;for(d=jn(d);P--;){var R=_[P],z=g[R],X=d[R];if(X===n&&!(R in d)||!z(X))return!1}return!0}function l8(d,g,_){if(typeof d!="function")throw new Yo(a);return yp(function(){d.apply(n,_)},g)}function dp(d,g,_,P){var R=-1,z=Zm,X=!0,ie=d.length,ce=[],Te=g.length;if(!ie)return ce;_&&(g=rr(g,wo(_))),P?(z=Ew,X=!1):g.length>=i&&(z=op,X=!1,g=new ec(g));e:for(;++RR?0:R+_),P=P===n||P>R?R:Xt(P),P<0&&(P+=R),P=_>P?0:Ak(P);_0&&_(ie)?g>1?li(ie,g-1,_,P,R):Iu(R,ie):P||(R[R.length]=ie)}return R}var Bw=L8(),d8=L8(!0);function os(d,g){return d&&Bw(d,g,Qr)}function zw(d,g){return d&&d8(d,g,Qr)}function gv(d,g){return $u(g,function(_){return Vs(d[_])})}function nc(d,g){g=Bu(g,d);for(var _=0,P=g.length;d!=null&&_g}function eQ(d,g){return d!=null&&kn.call(d,g)}function tQ(d,g){return d!=null&&g in jn(d)}function nQ(d,g,_){return d>=wi(g,_)&&d=120&&Me.length>=120)?new ec(X&&Me):n}Me=d[0];var $e=-1,Je=ie[0];e:for(;++$e-1;)ie!==d&&av.call(ie,ce,1),av.call(d,ce,1);return d}function S8(d,g){for(var _=d?g.length:0,P=_-1;_--;){var R=g[_];if(_==P||R!==z){var z=R;Us(R)?av.call(d,R,1):Xw(d,R)}}return d}function Gw(d,g){return d+lv(r8()*(g-d+1))}function gQ(d,g,_,P){for(var R=-1,z=Fr(uv((g-d)/(_||1)),0),X=ye(z);z--;)X[P?z:++R]=d,d+=_;return X}function Yw(d,g){var _="";if(!d||g<1||g>j)return _;do g%2&&(_+=d),g=lv(g/2),g&&(d+=d);while(g);return _}function tn(d,g){return d_(J8(d,g,to),d+"")}function mQ(d){return a8(Nf(d))}function vQ(d,g){var _=Nf(d);return Ov(_,tc(g,0,_.length))}function gp(d,g,_,P){if(!lr(d))return d;g=Bu(g,d);for(var R=-1,z=g.length,X=z-1,ie=d;ie!=null&&++RR?0:R+g),_=_>R?R:_,_<0&&(_+=R),R=g>_?0:_-g>>>0,g>>>=0;for(var z=ye(R);++P>>1,X=d[z];X!==null&&!So(X)&&(_?X<=g:X=i){var Te=g?null:MQ(d);if(Te)return Qm(Te);X=!1,R=op,ce=new ec}else ce=g?[]:ie;e:for(;++P=P?d:Qo(d,g,_)}var T8=uX||function(d){return ui.clearTimeout(d)};function M8(d,g){if(g)return d.slice();var _=d.length,P=QP?QP(_):new d.constructor(_);return d.copy(P),P}function t_(d){var g=new d.constructor(d.byteLength);return new iv(g).set(new iv(d)),g}function _Q(d,g){var _=g?t_(d.buffer):d.buffer;return new d.constructor(_,d.byteOffset,d.byteLength)}function SQ(d){var g=new d.constructor(d.source,je.exec(d));return g.lastIndex=d.lastIndex,g}function CQ(d){return cp?jn(cp.call(d)):{}}function R8(d,g){var _=g?t_(d.buffer):d.buffer;return new d.constructor(_,d.byteOffset,d.length)}function D8(d,g){if(d!==g){var _=d!==n,P=d===null,R=d===d,z=So(d),X=g!==n,ie=g===null,ce=g===g,Te=So(g);if(!ie&&!Te&&!z&&d>g||z&&X&&ce&&!ie&&!Te||P&&X&&ce||!_&&ce||!R)return 1;if(!P&&!z&&!Te&&d=ie)return ce;var Te=_[P];return ce*(Te=="desc"?-1:1)}}return d.index-g.index}function $8(d,g,_,P){for(var R=-1,z=d.length,X=_.length,ie=-1,ce=g.length,Te=Fr(z-X,0),Me=ye(ce+Te),$e=!P;++ie1?_[R-1]:n,X=R>2?_[2]:n;for(z=d.length>3&&typeof z=="function"?(R--,z):n,X&&Li(_[0],_[1],X)&&(z=R<3?n:z,R=1),g=jn(g);++P-1?R[z?g[X]:X]:n}}function B8(d){return zs(function(g){var _=g.length,P=_,R=Zo.prototype.thru;for(d&&g.reverse();P--;){var z=g[P];if(typeof z!="function")throw new Yo(a);if(R&&!X&&Cv(z)=="wrapper")var X=new Zo([],!0)}for(P=X?P:_;++P<_;){z=g[P];var ie=Cv(z),ce=ie=="wrapper"?a_(z):n;ce&&c_(ce[0])&&ce[1]==(k|S|E|M)&&!ce[4].length&&ce[9]==1?X=X[Cv(ce[0])].apply(X,ce[3]):X=z.length==1&&c_(z)?X[ie]():X.thru(z)}return function(){var Te=arguments,Me=Te[0];if(X&&Te.length==1&&Wt(Me))return X.plant(Me).value();for(var $e=0,Je=_?g[$e].apply(this,Te):Me;++$e<_;)Je=g[$e].call(this,Je);return Je}})}function xv(d,g,_,P,R,z,X,ie,ce,Te){var Me=g&k,$e=g&b,Je=g&w,ft=g&(S|O),At=g&L,Jt=Je?n:mp(d);function Pt(){for(var on=arguments.length,pn=ye(on),Co=on;Co--;)pn[Co]=arguments[Co];if(ft)var Fi=$f(Pt),Eo=zZ(pn,Fi);if(P&&(pn=$8(pn,P,R,ft)),z&&(pn=I8(pn,z,X,ft)),on-=Eo,ft&&on1&&pn.reverse(),Me&&ceie))return!1;var Te=z.get(d),Me=z.get(g);if(Te&&Me)return Te==g&&Me==d;var $e=-1,Je=!0,ft=_&v?new ec:n;for(z.set(d,g),z.set(g,d);++$e1?"& ":"")+g[P],g=g.join(_>2?", ":" "),d.replace($,`{ +/* [wrapped with `+g+`] */ +`)}function zQ(d){return Wt(d)||oc(d)||!!(t8&&d&&d[t8])}function Us(d,g){var _=typeof d;return g=g??j,!!g&&(_=="number"||_!="symbol"&&bt.test(d))&&d>-1&&d%1==0&&d0){if(++g>=V)return arguments[0]}else g=0;return d.apply(n,arguments)}}function Ov(d,g){var _=-1,P=d.length,R=P-1;for(g=g===n?P:g;++_1?d[g-1]:n;return _=typeof _=="function"?(d.pop(),_):n,fk(d,_)});function dk(d){var g=B(d);return g.__chain__=!0,g}function QJ(d,g){return g(d),d}function Av(d,g){return g(d)}var JJ=zs(function(d){var g=d.length,_=g?d[0]:0,P=this.__wrapped__,R=function(z){return jw(z,d)};return g>1||this.__actions__.length||!(P instanceof cn)||!Us(_)?this.thru(R):(P=P.slice(_,+_+(g?1:0)),P.__actions__.push({func:Av,args:[R],thisArg:n}),new Zo(P,this.__chain__).thru(function(z){return g&&!z.length&&z.push(n),z}))});function eee(){return dk(this)}function tee(){return new Zo(this.value(),this.__chain__)}function nee(){this.__values__===n&&(this.__values__=Ok(this.value()));var d=this.__index__>=this.__values__.length,g=d?n:this.__values__[this.__index__++];return{done:d,value:g}}function ree(){return this}function iee(d){for(var g,_=this;_ instanceof dv;){var P=ok(_);P.__index__=0,P.__values__=n,g?R.__wrapped__=P:g=P;var R=P;_=_.__wrapped__}return R.__wrapped__=d,g}function oee(){var d=this.__wrapped__;if(d instanceof cn){var g=d;return this.__actions__.length&&(g=new cn(this)),g=g.reverse(),g.__actions__.push({func:Av,args:[h_],thisArg:n}),new Zo(g,this.__chain__)}return this.thru(h_)}function aee(){return P8(this.__wrapped__,this.__actions__)}var see=bv(function(d,g,_){kn.call(d,_)?++d[_]:js(d,_,1)});function uee(d,g,_){var P=Wt(d)?zP:QX;return _&&Li(d,g,_)&&(g=n),P(d,Et(g,3))}function lee(d,g){var _=Wt(d)?$u:f8;return _(d,Et(g,3))}var cee=j8(ak),fee=j8(sk);function dee(d,g){return li(Pv(d,g),1)}function hee(d,g){return li(Pv(d,g),W)}function pee(d,g,_){return _=_===n?1:Xt(_),li(Pv(d,g),_)}function hk(d,g){var _=Wt(d)?Go:Fu;return _(d,Et(g,3))}function pk(d,g){var _=Wt(d)?DZ:c8;return _(d,Et(g,3))}var gee=bv(function(d,g,_){kn.call(d,_)?d[_].push(g):js(d,_,[g])});function mee(d,g,_,P){d=Ji(d)?d:Nf(d),_=_&&!P?Xt(_):0;var R=d.length;return _<0&&(_=Fr(R+_,0)),Dv(d)?_<=R&&d.indexOf(g,_)>-1:!!R&&Cf(d,g,_)>-1}var vee=tn(function(d,g,_){var P=-1,R=typeof g=="function",z=Ji(d)?ye(d.length):[];return Fu(d,function(X){z[++P]=R?xo(g,X,_):hp(X,g,_)}),z}),yee=bv(function(d,g,_){js(d,_,g)});function Pv(d,g){var _=Wt(d)?rr:v8;return _(d,Et(g,3))}function bee(d,g,_,P){return d==null?[]:(Wt(g)||(g=g==null?[]:[g]),_=P?n:_,Wt(_)||(_=_==null?[]:[_]),w8(d,g,_))}var xee=bv(function(d,g,_){d[_?0:1].push(g)},function(){return[[],[]]});function wee(d,g,_){var P=Wt(d)?Ow:HP,R=arguments.length<3;return P(d,Et(g,4),_,R,Fu)}function _ee(d,g,_){var P=Wt(d)?$Z:HP,R=arguments.length<3;return P(d,Et(g,4),_,R,c8)}function See(d,g){var _=Wt(d)?$u:f8;return _(d,Mv(Et(g,3)))}function Cee(d){var g=Wt(d)?a8:mQ;return g(d)}function Eee(d,g,_){(_?Li(d,g,_):g===n)?g=1:g=Xt(g);var P=Wt(d)?qX:vQ;return P(d,g)}function Oee(d){var g=Wt(d)?GX:bQ;return g(d)}function Aee(d){if(d==null)return 0;if(Ji(d))return Dv(d)?Of(d):d.length;var g=_i(d);return g==lt||g==ze?d.size:Hw(d).length}function Pee(d,g,_){var P=Wt(d)?Aw:xQ;return _&&Li(d,g,_)&&(g=n),P(d,Et(g,3))}var kee=tn(function(d,g){if(d==null)return[];var _=g.length;return _>1&&Li(d,g[0],g[1])?g=[]:_>2&&Li(g[0],g[1],g[2])&&(g=[g[0]]),w8(d,li(g,1),[])}),kv=lX||function(){return ui.Date.now()};function Tee(d,g){if(typeof g!="function")throw new Yo(a);return d=Xt(d),function(){if(--d<1)return g.apply(this,arguments)}}function gk(d,g,_){return g=_?n:g,g=d&&g==null?d.length:g,Bs(d,k,n,n,n,n,g)}function mk(d,g){var _;if(typeof g!="function")throw new Yo(a);return d=Xt(d),function(){return--d>0&&(_=g.apply(this,arguments)),d<=1&&(g=n),_}}var g_=tn(function(d,g,_){var P=b;if(_.length){var R=Nu(_,$f(g_));P|=E}return Bs(d,P,g,_,R)}),vk=tn(function(d,g,_){var P=b|w;if(_.length){var R=Nu(_,$f(vk));P|=E}return Bs(g,P,d,_,R)});function yk(d,g,_){g=_?n:g;var P=Bs(d,S,n,n,n,n,n,g);return P.placeholder=yk.placeholder,P}function bk(d,g,_){g=_?n:g;var P=Bs(d,O,n,n,n,n,n,g);return P.placeholder=bk.placeholder,P}function xk(d,g,_){var P,R,z,X,ie,ce,Te=0,Me=!1,$e=!1,Je=!0;if(typeof d!="function")throw new Yo(a);g=ea(g)||0,lr(_)&&(Me=!!_.leading,$e="maxWait"in _,z=$e?Fr(ea(_.maxWait)||0,g):z,Je="trailing"in _?!!_.trailing:Je);function ft(_r){var Oa=P,Hs=R;return P=R=n,Te=_r,X=d.apply(Hs,Oa),X}function At(_r){return Te=_r,ie=yp(on,g),Me?ft(_r):X}function Jt(_r){var Oa=_r-ce,Hs=_r-Te,jk=g-Oa;return $e?wi(jk,z-Hs):jk}function Pt(_r){var Oa=_r-ce,Hs=_r-Te;return ce===n||Oa>=g||Oa<0||$e&&Hs>=z}function on(){var _r=kv();if(Pt(_r))return pn(_r);ie=yp(on,Jt(_r))}function pn(_r){return ie=n,Je&&P?ft(_r):(P=R=n,X)}function Co(){ie!==n&&T8(ie),Te=0,P=ce=R=ie=n}function Fi(){return ie===n?X:pn(kv())}function Eo(){var _r=kv(),Oa=Pt(_r);if(P=arguments,R=this,ce=_r,Oa){if(ie===n)return At(ce);if($e)return T8(ie),ie=yp(on,g),ft(ce)}return ie===n&&(ie=yp(on,g)),X}return Eo.cancel=Co,Eo.flush=Fi,Eo}var Mee=tn(function(d,g){return l8(d,1,g)}),Ree=tn(function(d,g,_){return l8(d,ea(g)||0,_)});function Dee(d){return Bs(d,L)}function Tv(d,g){if(typeof d!="function"||g!=null&&typeof g!="function")throw new Yo(a);var _=function(){var P=arguments,R=g?g.apply(this,P):P[0],z=_.cache;if(z.has(R))return z.get(R);var X=d.apply(this,P);return _.cache=z.set(R,X)||z,X};return _.cache=new(Tv.Cache||Fs),_}Tv.Cache=Fs;function Mv(d){if(typeof d!="function")throw new Yo(a);return function(){var g=arguments;switch(g.length){case 0:return!d.call(this);case 1:return!d.call(this,g[0]);case 2:return!d.call(this,g[0],g[1]);case 3:return!d.call(this,g[0],g[1],g[2])}return!d.apply(this,g)}}function $ee(d){return mk(2,d)}var Iee=wQ(function(d,g){g=g.length==1&&Wt(g[0])?rr(g[0],wo(Et())):rr(li(g,1),wo(Et()));var _=g.length;return tn(function(P){for(var R=-1,z=wi(P.length,_);++R=g}),oc=p8(function(){return arguments}())?p8:function(d){return pr(d)&&kn.call(d,"callee")&&!e8.call(d,"callee")},Wt=ye.isArray,Zee=IP?wo(IP):iQ;function Ji(d){return d!=null&&Rv(d.length)&&!Vs(d)}function wr(d){return pr(d)&&Ji(d)}function Xee(d){return d===!0||d===!1||pr(d)&&Ni(d)==it}var Uu=fX||A_,Qee=NP?wo(NP):oQ;function Jee(d){return pr(d)&&d.nodeType===1&&!bp(d)}function ete(d){if(d==null)return!0;if(Ji(d)&&(Wt(d)||typeof d=="string"||typeof d.splice=="function"||Uu(d)||If(d)||oc(d)))return!d.length;var g=_i(d);if(g==lt||g==ze)return!d.size;if(vp(d))return!Hw(d).length;for(var _ in d)if(kn.call(d,_))return!1;return!0}function tte(d,g){return pp(d,g)}function nte(d,g,_){_=typeof _=="function"?_:n;var P=_?_(d,g):n;return P===n?pp(d,g,n,_):!!P}function v_(d){if(!pr(d))return!1;var g=Ni(d);return g==De||g==Le||typeof d.message=="string"&&typeof d.name=="string"&&!bp(d)}function rte(d){return typeof d=="number"&&n8(d)}function Vs(d){if(!lr(d))return!1;var g=Ni(d);return g==me||g==yt||g==Ee||g==de}function _k(d){return typeof d=="number"&&d==Xt(d)}function Rv(d){return typeof d=="number"&&d>-1&&d%1==0&&d<=j}function lr(d){var g=typeof d;return d!=null&&(g=="object"||g=="function")}function pr(d){return d!=null&&typeof d=="object"}var Sk=LP?wo(LP):sQ;function ite(d,g){return d===g||Ww(d,g,s_(g))}function ote(d,g,_){return _=typeof _=="function"?_:n,Ww(d,g,s_(g),_)}function ate(d){return Ck(d)&&d!=+d}function ste(d){if(WQ(d))throw new Bt(o);return g8(d)}function ute(d){return d===null}function lte(d){return d==null}function Ck(d){return typeof d=="number"||pr(d)&&Ni(d)==Nt}function bp(d){if(!pr(d)||Ni(d)!=nn)return!1;var g=ov(d);if(g===null)return!0;var _=kn.call(g,"constructor")&&g.constructor;return typeof _=="function"&&_ instanceof _&&tv.call(_)==oX}var y_=FP?wo(FP):uQ;function cte(d){return _k(d)&&d>=-j&&d<=j}var Ek=jP?wo(jP):lQ;function Dv(d){return typeof d=="string"||!Wt(d)&&pr(d)&&Ni(d)==Fe}function So(d){return typeof d=="symbol"||pr(d)&&Ni(d)==Ae}var If=BP?wo(BP):cQ;function fte(d){return d===n}function dte(d){return pr(d)&&_i(d)==mt}function hte(d){return pr(d)&&Ni(d)==xn}var pte=Sv(Kw),gte=Sv(function(d,g){return d<=g});function Ok(d){if(!d)return[];if(Ji(d))return Dv(d)?Sa(d):Qi(d);if(ap&&d[ap])return qZ(d[ap]());var g=_i(d),_=g==lt?Dw:g==ze?Qm:Nf;return _(d)}function Ws(d){if(!d)return d===0?d:0;if(d=ea(d),d===W||d===-W){var g=d<0?-1:1;return g*K}return d===d?d:0}function Xt(d){var g=Ws(d),_=g%1;return g===g?_?g-_:g:0}function Ak(d){return d?tc(Xt(d),0,oe):0}function ea(d){if(typeof d=="number")return d;if(So(d))return Y;if(lr(d)){var g=typeof d.valueOf=="function"?d.valueOf():d;d=lr(g)?g+"":g}if(typeof d!="string")return d===0?d:+d;d=KP(d);var _=ct.test(d);return _||nt.test(d)?TZ(d.slice(2),_?2:8):We.test(d)?Y:+d}function Pk(d){return as(d,eo(d))}function mte(d){return d?tc(Xt(d),-j,j):d===0?d:0}function On(d){return d==null?"":_o(d)}var vte=Rf(function(d,g){if(vp(g)||Ji(g)){as(g,Qr(g),d);return}for(var _ in g)kn.call(g,_)&&fp(d,_,g[_])}),kk=Rf(function(d,g){as(g,eo(g),d)}),$v=Rf(function(d,g,_,P){as(g,eo(g),d,P)}),yte=Rf(function(d,g,_,P){as(g,Qr(g),d,P)}),bte=zs(jw);function xte(d,g){var _=Mf(d);return g==null?_:s8(_,g)}var wte=tn(function(d,g){d=jn(d);var _=-1,P=g.length,R=P>2?g[2]:n;for(R&&Li(g[0],g[1],R)&&(P=1);++_1),z}),as(d,o_(d),_),P&&(_=Xo(_,f|h|p,RQ));for(var R=g.length;R--;)Xw(_,g[R]);return _});function jte(d,g){return Mk(d,Mv(Et(g)))}var Bte=zs(function(d,g){return d==null?{}:hQ(d,g)});function Mk(d,g){if(d==null)return{};var _=rr(o_(d),function(P){return[P]});return g=Et(g),_8(d,_,function(P,R){return g(P,R[0])})}function zte(d,g,_){g=Bu(g,d);var P=-1,R=g.length;for(R||(R=1,d=n);++Pg){var P=d;d=g,g=P}if(_||d%1||g%1){var R=r8();return wi(d+R*(g-d+kZ("1e-"+((R+"").length-1))),g)}return Gw(d,g)}var Qte=Df(function(d,g,_){return g=g.toLowerCase(),d+(_?$k(g):g)});function $k(d){return w_(On(d).toLowerCase())}function Ik(d){return d=On(d),d&&d.replace(Ot,UZ).replace(bZ,"")}function Jte(d,g,_){d=On(d),g=_o(g);var P=d.length;_=_===n?P:tc(Xt(_),0,P);var R=_;return _-=g.length,_>=0&&d.slice(_,R)==g}function ene(d){return d=On(d),d&&qn.test(d)?d.replace(hn,VZ):d}function tne(d){return d=On(d),d&&ve.test(d)?d.replace(se,"\\$&"):d}var nne=Df(function(d,g,_){return d+(_?"-":"")+g.toLowerCase()}),rne=Df(function(d,g,_){return d+(_?" ":"")+g.toLowerCase()}),ine=F8("toLowerCase");function one(d,g,_){d=On(d),g=Xt(g);var P=g?Of(d):0;if(!g||P>=g)return d;var R=(g-P)/2;return _v(lv(R),_)+d+_v(uv(R),_)}function ane(d,g,_){d=On(d),g=Xt(g);var P=g?Of(d):0;return g&&P>>0,_?(d=On(d),d&&(typeof g=="string"||g!=null&&!y_(g))&&(g=_o(g),!g&&Ef(d))?zu(Sa(d),0,_):d.split(g,_)):[]}var hne=Df(function(d,g,_){return d+(_?" ":"")+w_(g)});function pne(d,g,_){return d=On(d),_=_==null?0:tc(Xt(_),0,d.length),g=_o(g),d.slice(_,_+g.length)==g}function gne(d,g,_){var P=B.templateSettings;_&&Li(d,g,_)&&(g=n),d=On(d),g=$v({},g,P,H8);var R=$v({},g.imports,P.imports,H8),z=Qr(R),X=Rw(R,z),ie,ce,Te=0,Me=g.interpolate||gt,$e="__p += '",Je=$w((g.escape||gt).source+"|"+Me.source+"|"+(Me===bo?_e:gt).source+"|"+(g.evaluate||gt).source+"|$","g"),ft="//# sourceURL="+(kn.call(g,"sourceURL")?(g.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++CZ+"]")+` +`;d.replace(Je,function(Pt,on,pn,Co,Fi,Eo){return pn||(pn=Co),$e+=d.slice(Te,Eo).replace(ht,WZ),on&&(ie=!0,$e+=`' + +__e(`+on+`) + +'`),Fi&&(ce=!0,$e+=`'; +`+Fi+`; +__p += '`),pn&&($e+=`' + +((__t = (`+pn+`)) == null ? '' : __t) + +'`),Te=Eo+Pt.length,Pt}),$e+=`'; +`;var At=kn.call(g,"variable")&&g.variable;if(!At)$e=`with (obj) { +`+$e+` +} +`;else if(ee.test(At))throw new Bt(s);$e=(ce?$e.replace(xi,""):$e).replace(Dr,"$1").replace(_a,"$1;"),$e="function("+(At||"obj")+`) { +`+(At?"":`obj || (obj = {}); +`)+"var __t, __p = ''"+(ie?", __e = _.escape":"")+(ce?`, __j = Array.prototype.join; +function print() { __p += __j.call(arguments, '') } +`:`; +`)+$e+`return __p +}`;var Jt=Lk(function(){return Sn(z,ft+"return "+$e).apply(n,X)});if(Jt.source=$e,v_(Jt))throw Jt;return Jt}function mne(d){return On(d).toLowerCase()}function vne(d){return On(d).toUpperCase()}function yne(d,g,_){if(d=On(d),d&&(_||g===n))return KP(d);if(!d||!(g=_o(g)))return d;var P=Sa(d),R=Sa(g),z=qP(P,R),X=GP(P,R)+1;return zu(P,z,X).join("")}function bne(d,g,_){if(d=On(d),d&&(_||g===n))return d.slice(0,ZP(d)+1);if(!d||!(g=_o(g)))return d;var P=Sa(d),R=GP(P,Sa(g))+1;return zu(P,0,R).join("")}function xne(d,g,_){if(d=On(d),d&&(_||g===n))return d.replace(T,"");if(!d||!(g=_o(g)))return d;var P=Sa(d),R=qP(P,Sa(g));return zu(P,R).join("")}function wne(d,g){var _=U,P=H;if(lr(g)){var R="separator"in g?g.separator:R;_="length"in g?Xt(g.length):_,P="omission"in g?_o(g.omission):P}d=On(d);var z=d.length;if(Ef(d)){var X=Sa(d);z=X.length}if(_>=z)return d;var ie=_-Of(P);if(ie<1)return P;var ce=X?zu(X,0,ie).join(""):d.slice(0,ie);if(R===n)return ce+P;if(X&&(ie+=ce.length-ie),y_(R)){if(d.slice(ie).search(R)){var Te,Me=ce;for(R.global||(R=$w(R.source,On(je.exec(R))+"g")),R.lastIndex=0;Te=R.exec(Me);)var $e=Te.index;ce=ce.slice(0,$e===n?ie:$e)}}else if(d.indexOf(_o(R),ie)!=ie){var Je=ce.lastIndexOf(R);Je>-1&&(ce=ce.slice(0,Je))}return ce+P}function _ne(d){return d=On(d),d&&_n.test(d)?d.replace(_t,XZ):d}var Sne=Df(function(d,g,_){return d+(_?" ":"")+g.toUpperCase()}),w_=F8("toUpperCase");function Nk(d,g,_){return d=On(d),g=_?n:g,g===n?KZ(d)?eX(d):LZ(d):d.match(g)||[]}var Lk=tn(function(d,g){try{return xo(d,n,g)}catch(_){return v_(_)?_:new Bt(_)}}),Cne=zs(function(d,g){return Go(g,function(_){_=ss(_),js(d,_,g_(d[_],d))}),d});function Ene(d){var g=d==null?0:d.length,_=Et();return d=g?rr(d,function(P){if(typeof P[1]!="function")throw new Yo(a);return[_(P[0]),P[1]]}):[],tn(function(P){for(var R=-1;++Rj)return[];var _=oe,P=wi(d,oe);g=Et(g),d-=oe;for(var R=Mw(P,g);++_0||g<0)?new cn(_):(d<0?_=_.takeRight(-d):d&&(_=_.drop(d)),g!==n&&(g=Xt(g),_=g<0?_.dropRight(-g):_.take(g-d)),_)},cn.prototype.takeRightWhile=function(d){return this.reverse().takeWhile(d).reverse()},cn.prototype.toArray=function(){return this.take(oe)},os(cn.prototype,function(d,g){var _=/^(?:filter|find|map|reject)|While$/.test(g),P=/^(?:head|last)$/.test(g),R=B[P?"take"+(g=="last"?"Right":""):g],z=P||/^find/.test(g);R&&(B.prototype[g]=function(){var X=this.__wrapped__,ie=P?[1]:arguments,ce=X instanceof cn,Te=ie[0],Me=ce||Wt(X),$e=function(on){var pn=R.apply(B,Iu([on],ie));return P&&Je?pn[0]:pn};Me&&_&&typeof Te=="function"&&Te.length!=1&&(ce=Me=!1);var Je=this.__chain__,ft=!!this.__actions__.length,At=z&&!Je,Jt=ce&&!ft;if(!z&&Me){X=Jt?X:new cn(this);var Pt=d.apply(X,ie);return Pt.__actions__.push({func:Av,args:[$e],thisArg:n}),new Zo(Pt,Je)}return At&&Jt?d.apply(this,ie):(Pt=this.thru($e),At?P?Pt.value()[0]:Pt.value():Pt)})}),Go(["pop","push","shift","sort","splice","unshift"],function(d){var g=Jm[d],_=/^(?:push|sort|unshift)$/.test(d)?"tap":"thru",P=/^(?:pop|shift)$/.test(d);B.prototype[d]=function(){var R=arguments;if(P&&!this.__chain__){var z=this.value();return g.apply(Wt(z)?z:[],R)}return this[_](function(X){return g.apply(Wt(X)?X:[],R)})}}),os(cn.prototype,function(d,g){var _=B[g];if(_){var P=_.name+"";kn.call(Tf,P)||(Tf[P]=[]),Tf[P].push({name:g,func:_})}}),Tf[xv(n,w).name]=[{name:"wrapper",func:n}],cn.prototype.clone=_X,cn.prototype.reverse=SX,cn.prototype.value=CX,B.prototype.at=JJ,B.prototype.chain=eee,B.prototype.commit=tee,B.prototype.next=nee,B.prototype.plant=iee,B.prototype.reverse=oee,B.prototype.toJSON=B.prototype.valueOf=B.prototype.value=aee,B.prototype.first=B.prototype.head,ap&&(B.prototype[ap]=ree),B},Af=tX();Xl?((Xl.exports=Af)._=Af,Sw._=Af):ui._=Af}).call(La)})(gx,gx.exports);var uQe=gx.exports;function zUe(e,t){return y.useReducer((n,r)=>t[n][r]??n,e)}var tP="ScrollArea",[uG,lQe]=vi(tP),[UUe,wa]=uG(tP),lG=y.forwardRef((e,t)=>{const{__scopeScrollArea:n,type:r="hover",dir:i,scrollHideDelay:o=600,...a}=e,[s,u]=y.useState(null),[l,c]=y.useState(null),[f,h]=y.useState(null),[p,m]=y.useState(null),[v,b]=y.useState(null),[w,x]=y.useState(0),[S,O]=y.useState(0),[E,C]=y.useState(!1),[k,M]=y.useState(!1),L=Yt(t,H=>u(H)),U=Em(i);return I.jsx(UUe,{scope:n,type:r,dir:U,scrollHideDelay:o,scrollArea:s,viewport:l,onViewportChange:c,content:f,onContentChange:h,scrollbarX:p,onScrollbarXChange:m,scrollbarXEnabled:E,onScrollbarXEnabledChange:C,scrollbarY:v,onScrollbarYChange:b,scrollbarYEnabled:k,onScrollbarYEnabledChange:M,onCornerWidthChange:x,onCornerHeightChange:O,children:I.jsx(pt.div,{dir:U,...a,ref:L,style:{position:"relative","--radix-scroll-area-corner-width":w+"px","--radix-scroll-area-corner-height":S+"px",...e.style}})})});lG.displayName=tP;var cG="ScrollAreaViewport",fG=y.forwardRef((e,t)=>{const{__scopeScrollArea:n,children:r,nonce:i,...o}=e,a=wa(cG,n),s=y.useRef(null),u=Yt(t,s,a.onViewportChange);return I.jsxs(I.Fragment,{children:[I.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:i}),I.jsx(pt.div,{"data-radix-scroll-area-viewport":"",...o,ref:u,style:{overflowX:a.scrollbarXEnabled?"scroll":"hidden",overflowY:a.scrollbarYEnabled?"scroll":"hidden",...e.style},children:I.jsx("div",{ref:a.onContentChange,style:{minWidth:"100%",display:"table"},children:r})})]})});fG.displayName=cG;var $s="ScrollAreaScrollbar",VUe=y.forwardRef((e,t)=>{const{forceMount:n,...r}=e,i=wa($s,e.__scopeScrollArea),{onScrollbarXEnabledChange:o,onScrollbarYEnabledChange:a}=i,s=e.orientation==="horizontal";return y.useEffect(()=>(s?o(!0):a(!0),()=>{s?o(!1):a(!1)}),[s,o,a]),i.type==="hover"?I.jsx(WUe,{...r,ref:t,forceMount:n}):i.type==="scroll"?I.jsx(HUe,{...r,ref:t,forceMount:n}):i.type==="auto"?I.jsx(dG,{...r,ref:t,forceMount:n}):i.type==="always"?I.jsx(nP,{...r,ref:t}):null});VUe.displayName=$s;var WUe=y.forwardRef((e,t)=>{const{forceMount:n,...r}=e,i=wa($s,e.__scopeScrollArea),[o,a]=y.useState(!1);return y.useEffect(()=>{const s=i.scrollArea;let u=0;if(s){const l=()=>{window.clearTimeout(u),a(!0)},c=()=>{u=window.setTimeout(()=>a(!1),i.scrollHideDelay)};return s.addEventListener("pointerenter",l),s.addEventListener("pointerleave",c),()=>{window.clearTimeout(u),s.removeEventListener("pointerenter",l),s.removeEventListener("pointerleave",c)}}},[i.scrollArea,i.scrollHideDelay]),I.jsx(Gr,{present:n||o,children:I.jsx(dG,{"data-state":o?"visible":"hidden",...r,ref:t})})}),HUe=y.forwardRef((e,t)=>{const{forceMount:n,...r}=e,i=wa($s,e.__scopeScrollArea),o=e.orientation==="horizontal",a=pw(()=>u("SCROLL_END"),100),[s,u]=zUe("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return y.useEffect(()=>{if(s==="idle"){const l=window.setTimeout(()=>u("HIDE"),i.scrollHideDelay);return()=>window.clearTimeout(l)}},[s,i.scrollHideDelay,u]),y.useEffect(()=>{const l=i.viewport,c=o?"scrollLeft":"scrollTop";if(l){let f=l[c];const h=()=>{const p=l[c];f!==p&&(u("SCROLL"),a()),f=p};return l.addEventListener("scroll",h),()=>l.removeEventListener("scroll",h)}},[i.viewport,o,u,a]),I.jsx(Gr,{present:n||s!=="hidden",children:I.jsx(nP,{"data-state":s==="hidden"?"hidden":"visible",...r,ref:t,onPointerEnter:Ye(e.onPointerEnter,()=>u("POINTER_ENTER")),onPointerLeave:Ye(e.onPointerLeave,()=>u("POINTER_LEAVE"))})})}),dG=y.forwardRef((e,t)=>{const n=wa($s,e.__scopeScrollArea),{forceMount:r,...i}=e,[o,a]=y.useState(!1),s=e.orientation==="horizontal",u=pw(()=>{if(n.viewport){const l=n.viewport.offsetWidth{const{orientation:n="vertical",...r}=e,i=wa($s,e.__scopeScrollArea),o=y.useRef(null),a=y.useRef(0),[s,u]=y.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=mG(s.viewport,s.content),c={...r,sizes:s,onSizesChange:u,hasThumb:l>0&&l<1,onThumbChange:h=>o.current=h,onThumbPointerUp:()=>a.current=0,onThumbPointerDown:h=>a.current=h};function f(h,p){return QUe(h,a.current,s,p)}return n==="horizontal"?I.jsx(KUe,{...c,ref:t,onThumbPositionChange:()=>{if(i.viewport&&o.current){const h=i.viewport.scrollLeft,p=TI(h,s,i.dir);o.current.style.transform=`translate3d(${p}px, 0, 0)`}},onWheelScroll:h=>{i.viewport&&(i.viewport.scrollLeft=h)},onDragScroll:h=>{i.viewport&&(i.viewport.scrollLeft=f(h,i.dir))}}):n==="vertical"?I.jsx(qUe,{...c,ref:t,onThumbPositionChange:()=>{if(i.viewport&&o.current){const h=i.viewport.scrollTop,p=TI(h,s);o.current.style.transform=`translate3d(0, ${p}px, 0)`}},onWheelScroll:h=>{i.viewport&&(i.viewport.scrollTop=h)},onDragScroll:h=>{i.viewport&&(i.viewport.scrollTop=f(h))}}):null}),KUe=y.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...i}=e,o=wa($s,e.__scopeScrollArea),[a,s]=y.useState(),u=y.useRef(null),l=Yt(t,u,o.onScrollbarXChange);return y.useEffect(()=>{u.current&&s(getComputedStyle(u.current))},[u]),I.jsx(pG,{"data-orientation":"horizontal",...i,ref:l,sizes:n,style:{bottom:0,left:o.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:o.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":hw(n)+"px",...e.style},onThumbPointerDown:c=>e.onThumbPointerDown(c.x),onDragScroll:c=>e.onDragScroll(c.x),onWheelScroll:(c,f)=>{if(o.viewport){const h=o.viewport.scrollLeft+c.deltaX;e.onWheelScroll(h),yG(h,f)&&c.preventDefault()}},onResize:()=>{u.current&&o.viewport&&a&&r({content:o.viewport.scrollWidth,viewport:o.viewport.offsetWidth,scrollbar:{size:u.current.clientWidth,paddingStart:vx(a.paddingLeft),paddingEnd:vx(a.paddingRight)}})}})}),qUe=y.forwardRef((e,t)=>{const{sizes:n,onSizesChange:r,...i}=e,o=wa($s,e.__scopeScrollArea),[a,s]=y.useState(),u=y.useRef(null),l=Yt(t,u,o.onScrollbarYChange);return y.useEffect(()=>{u.current&&s(getComputedStyle(u.current))},[u]),I.jsx(pG,{"data-orientation":"vertical",...i,ref:l,sizes:n,style:{top:0,right:o.dir==="ltr"?0:void 0,left:o.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":hw(n)+"px",...e.style},onThumbPointerDown:c=>e.onThumbPointerDown(c.y),onDragScroll:c=>e.onDragScroll(c.y),onWheelScroll:(c,f)=>{if(o.viewport){const h=o.viewport.scrollTop+c.deltaY;e.onWheelScroll(h),yG(h,f)&&c.preventDefault()}},onResize:()=>{u.current&&o.viewport&&a&&r({content:o.viewport.scrollHeight,viewport:o.viewport.offsetHeight,scrollbar:{size:u.current.clientHeight,paddingStart:vx(a.paddingTop),paddingEnd:vx(a.paddingBottom)}})}})}),[GUe,hG]=uG($s),pG=y.forwardRef((e,t)=>{const{__scopeScrollArea:n,sizes:r,hasThumb:i,onThumbChange:o,onThumbPointerUp:a,onThumbPointerDown:s,onThumbPositionChange:u,onDragScroll:l,onWheelScroll:c,onResize:f,...h}=e,p=wa($s,n),[m,v]=y.useState(null),b=Yt(t,L=>v(L)),w=y.useRef(null),x=y.useRef(""),S=p.viewport,O=r.content-r.viewport,E=Vr(c),C=Vr(u),k=pw(f,10);function M(L){if(w.current){const U=L.clientX-w.current.left,H=L.clientY-w.current.top;l({x:U,y:H})}}return y.useEffect(()=>{const L=U=>{const H=U.target;m?.contains(H)&&E(U,O)};return document.addEventListener("wheel",L,{passive:!1}),()=>document.removeEventListener("wheel",L,{passive:!1})},[S,m,O,E]),y.useEffect(C,[r,C]),Eh(m,k),Eh(p.content,k),I.jsx(GUe,{scope:n,scrollbar:m,hasThumb:i,onThumbChange:Vr(o),onThumbPointerUp:Vr(a),onThumbPositionChange:C,onThumbPointerDown:Vr(s),children:I.jsx(pt.div,{...h,ref:b,style:{position:"absolute",...h.style},onPointerDown:Ye(e.onPointerDown,L=>{L.button===0&&(L.target.setPointerCapture(L.pointerId),w.current=m.getBoundingClientRect(),x.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",p.viewport&&(p.viewport.style.scrollBehavior="auto"),M(L))}),onPointerMove:Ye(e.onPointerMove,M),onPointerUp:Ye(e.onPointerUp,L=>{const U=L.target;U.hasPointerCapture(L.pointerId)&&U.releasePointerCapture(L.pointerId),document.body.style.webkitUserSelect=x.current,p.viewport&&(p.viewport.style.scrollBehavior=""),w.current=null})})})}),mx="ScrollAreaThumb",YUe=y.forwardRef((e,t)=>{const{forceMount:n,...r}=e,i=hG(mx,e.__scopeScrollArea);return I.jsx(Gr,{present:n||i.hasThumb,children:I.jsx(ZUe,{ref:t,...r})})}),ZUe=y.forwardRef((e,t)=>{const{__scopeScrollArea:n,style:r,...i}=e,o=wa(mx,n),a=hG(mx,n),{onThumbPositionChange:s}=a,u=Yt(t,f=>a.onThumbChange(f)),l=y.useRef(void 0),c=pw(()=>{l.current&&(l.current(),l.current=void 0)},100);return y.useEffect(()=>{const f=o.viewport;if(f){const h=()=>{if(c(),!l.current){const p=JUe(f,s);l.current=p,s()}};return s(),f.addEventListener("scroll",h),()=>f.removeEventListener("scroll",h)}},[o.viewport,c,s]),I.jsx(pt.div,{"data-state":a.hasThumb?"visible":"hidden",...i,ref:u,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...r},onPointerDownCapture:Ye(e.onPointerDownCapture,f=>{const p=f.target.getBoundingClientRect(),m=f.clientX-p.left,v=f.clientY-p.top;a.onThumbPointerDown({x:m,y:v})}),onPointerUp:Ye(e.onPointerUp,a.onThumbPointerUp)})});YUe.displayName=mx;var rP="ScrollAreaCorner",gG=y.forwardRef((e,t)=>{const n=wa(rP,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!=="scroll"&&r?I.jsx(XUe,{...e,ref:t}):null});gG.displayName=rP;var XUe=y.forwardRef((e,t)=>{const{__scopeScrollArea:n,...r}=e,i=wa(rP,n),[o,a]=y.useState(0),[s,u]=y.useState(0),l=!!(o&&s);return Eh(i.scrollbarX,()=>{const c=i.scrollbarX?.offsetHeight||0;i.onCornerHeightChange(c),u(c)}),Eh(i.scrollbarY,()=>{const c=i.scrollbarY?.offsetWidth||0;i.onCornerWidthChange(c),a(c)}),l?I.jsx(pt.div,{...r,ref:t,style:{width:o,height:s,position:"absolute",right:i.dir==="ltr"?0:void 0,left:i.dir==="rtl"?0:void 0,bottom:0,...e.style}}):null});function vx(e){return e?parseInt(e,10):0}function mG(e,t){const n=e/t;return isNaN(n)?0:n}function hw(e){const t=mG(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function QUe(e,t,n,r="ltr"){const i=hw(n),o=i/2,a=t||o,s=i-a,u=n.scrollbar.paddingStart+a,l=n.scrollbar.size-n.scrollbar.paddingEnd-s,c=n.content-n.viewport,f=r==="ltr"?[0,c]:[c*-1,0];return vG([u,l],f)(e)}function TI(e,t,n="ltr"){const r=hw(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,o=t.scrollbar.size-i,a=t.content-t.viewport,s=o-r,u=n==="ltr"?[0,a]:[a*-1,0],l=Q6(e,u);return vG([0,a],[0,s])(l)}function vG(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function yG(e,t){return e>0&&e{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return function i(){const o={left:e.scrollLeft,top:e.scrollTop},a=n.left!==o.left,s=n.top!==o.top;(a||s)&&t(),n=o,r=window.requestAnimationFrame(i)}(),()=>window.cancelAnimationFrame(r)};function pw(e,t){const n=Vr(e),r=y.useRef(0);return y.useEffect(()=>()=>window.clearTimeout(r.current),[]),y.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function Eh(e,t){const n=Vr(t);ii(()=>{let r=0;if(e){const i=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(n)});return i.observe(e),()=>{window.cancelAnimationFrame(r),i.unobserve(e)}}},[e,n])}var cQe=lG,fQe=fG,dQe=gG,iP="Progress",oP=100,[eVe,hQe]=vi(iP),[tVe,nVe]=eVe(iP),bG=y.forwardRef((e,t)=>{const{__scopeProgress:n,value:r=null,max:i,getValueLabel:o=rVe,...a}=e;(i||i===0)&&!MI(i)&&console.error(iVe(`${i}`,"Progress"));const s=MI(i)?i:oP;r!==null&&!RI(r,s)&&console.error(oVe(`${r}`,"Progress"));const u=RI(r,s)?r:null,l=yx(u)?o(u,s):void 0;return I.jsx(tVe,{scope:n,value:u,max:s,children:I.jsx(pt.div,{"aria-valuemax":s,"aria-valuemin":0,"aria-valuenow":yx(u)?u:void 0,"aria-valuetext":l,role:"progressbar","data-state":_G(u,s),"data-value":u??void 0,"data-max":s,...a,ref:t})})});bG.displayName=iP;var xG="ProgressIndicator",wG=y.forwardRef((e,t)=>{const{__scopeProgress:n,...r}=e,i=nVe(xG,n);return I.jsx(pt.div,{"data-state":_G(i.value,i.max),"data-value":i.value??void 0,"data-max":i.max,...r,ref:t})});wG.displayName=xG;function rVe(e,t){return`${Math.round(e/t*100)}%`}function _G(e,t){return e==null?"indeterminate":e===t?"complete":"loading"}function yx(e){return typeof e=="number"}function MI(e){return yx(e)&&!isNaN(e)&&e>0}function RI(e,t){return yx(e)&&!isNaN(e)&&e<=t&&e>=0}function iVe(e,t){return`Invalid prop \`max\` of value \`${e}\` supplied to \`${t}\`. Only numbers greater than 0 are valid max values. Defaulting to \`${oP}\`.`}function oVe(e,t){return`Invalid prop \`value\` of value \`${e}\` supplied to \`${t}\`. The \`value\` prop must be: + - a positive number + - less than the value passed to \`max\` (or ${oP} if no \`max\` prop is set) + - \`null\` or \`undefined\` if the progress is indeterminate. + +Defaulting to \`null\`.`}var pQe=bG,gQe=wG,aVe="Separator",DI="horizontal",sVe=["horizontal","vertical"],SG=y.forwardRef((e,t)=>{const{decorative:n,orientation:r=DI,...i}=e,o=uVe(r)?r:DI,s=n?{role:"none"}:{"aria-orientation":o==="vertical"?o:void 0,role:"separator"};return I.jsx(pt.div,{"data-orientation":o,...s,...i,ref:t})});SG.displayName=aVe;function uVe(e){return sVe.includes(e)}var mQe=SG,aP="Switch",[lVe,vQe]=vi(aP),[cVe,fVe]=lVe(aP),CG=y.forwardRef((e,t)=>{const{__scopeSwitch:n,name:r,checked:i,defaultChecked:o,required:a,disabled:s,value:u="on",onCheckedChange:l,form:c,...f}=e,[h,p]=y.useState(null),m=Yt(t,S=>p(S)),v=y.useRef(!1),b=h?c||!!h.closest("form"):!0,[w=!1,x]=Za({prop:i,defaultProp:o,onChange:l});return I.jsxs(cVe,{scope:n,checked:w,disabled:s,children:[I.jsx(pt.button,{type:"button",role:"switch","aria-checked":w,"aria-required":a,"data-state":AG(w),"data-disabled":s?"":void 0,disabled:s,value:u,...f,ref:m,onClick:Ye(e.onClick,S=>{x(O=>!O),b&&(v.current=S.isPropagationStopped(),v.current||S.stopPropagation())})}),b&&I.jsx(dVe,{control:h,bubbles:!v.current,name:r,value:u,checked:w,required:a,disabled:s,form:c,style:{transform:"translateX(-100%)"}})]})});CG.displayName=aP;var EG="SwitchThumb",OG=y.forwardRef((e,t)=>{const{__scopeSwitch:n,...r}=e,i=fVe(EG,n);return I.jsx(pt.span,{"data-state":AG(i.checked),"data-disabled":i.disabled?"":void 0,...r,ref:t})});OG.displayName=EG;var dVe=e=>{const{control:t,checked:n,bubbles:r=!0,...i}=e,o=y.useRef(null),a=jA(n),s=aO(t);return y.useEffect(()=>{const u=o.current,l=window.HTMLInputElement.prototype,f=Object.getOwnPropertyDescriptor(l,"checked").set;if(a!==n&&f){const h=new Event("click",{bubbles:r});f.call(u,n),u.dispatchEvent(h)}},[a,n,r]),I.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:n,...i,tabIndex:-1,ref:o,style:{...e.style,...s,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function AG(e){return e?"checked":"unchecked"}var yQe=CG,bQe=OG;/** + * table-core + * + * Copyright (c) TanStack + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function fl(e,t){return typeof e=="function"?e(t):e}function Vo(e,t){return n=>{t.setState(r=>({...r,[e]:fl(n,r[e])}))}}function gw(e){return e instanceof Function}function hVe(e){return Array.isArray(e)&&e.every(t=>typeof t=="number")}function pVe(e,t){const n=[],r=i=>{i.forEach(o=>{n.push(o);const a=t(o);a!=null&&a.length&&r(a)})};return r(e),n}function St(e,t,n){let r=[],i;return o=>{let a;n.key&&n.debug&&(a=Date.now());const s=e(o);if(!(s.length!==r.length||s.some((c,f)=>r[f]!==c)))return i;r=s;let l;if(n.key&&n.debug&&(l=Date.now()),i=t(...s),n==null||n.onChange==null||n.onChange(i),n.key&&n.debug&&n!=null&&n.debug()){const c=Math.round((Date.now()-a)*100)/100,f=Math.round((Date.now()-l)*100)/100,h=f/16,p=(m,v)=>{for(m=String(m);m.length{var i;return(i=e?.debugAll)!=null?i:e[t]},key:!1,onChange:r}}function gVe(e,t,n,r){const i=()=>{var a;return(a=o.getValue())!=null?a:e.options.renderFallbackValue},o={id:`${t.id}_${n.id}`,row:t,column:n,getValue:()=>t.getValue(r),renderValue:i,getContext:St(()=>[e,n,t,o],(a,s,u,l)=>({table:a,column:s,row:u,cell:l,getValue:l.getValue,renderValue:l.renderValue}),Ct(e.options,"debugCells"))};return e._features.forEach(a=>{a.createCell==null||a.createCell(o,n,t,e)},{}),o}function mVe(e,t,n,r){var i,o;const s={...e._getDefaultColumnDef(),...t},u=s.accessorKey;let l=(i=(o=s.id)!=null?o:u?typeof String.prototype.replaceAll=="function"?u.replaceAll(".","_"):u.replace(/\./g,"_"):void 0)!=null?i:typeof s.header=="string"?s.header:void 0,c;if(s.accessorFn?c=s.accessorFn:u&&(u.includes(".")?c=h=>{let p=h;for(const v of u.split(".")){var m;p=(m=p)==null?void 0:m[v]}return p}:c=h=>h[s.accessorKey]),!l)throw new Error;let f={id:`${String(l)}`,accessorFn:c,parent:r,depth:n,columnDef:s,columns:[],getFlatColumns:St(()=>[!0],()=>{var h;return[f,...(h=f.columns)==null?void 0:h.flatMap(p=>p.getFlatColumns())]},Ct(e.options,"debugColumns")),getLeafColumns:St(()=>[e._getOrderColumnsFn()],h=>{var p;if((p=f.columns)!=null&&p.length){let m=f.columns.flatMap(v=>v.getLeafColumns());return h(m)}return[f]},Ct(e.options,"debugColumns"))};for(const h of e._features)h.createColumn==null||h.createColumn(f,e);return f}const Ei="debugHeaders";function $I(e,t,n){var r;let o={id:(r=n.id)!=null?r:t.id,column:t,index:n.index,isPlaceholder:!!n.isPlaceholder,placeholderId:n.placeholderId,depth:n.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{const a=[],s=u=>{u.subHeaders&&u.subHeaders.length&&u.subHeaders.map(s),a.push(u)};return s(o),a},getContext:()=>({table:e,header:o,column:t})};return e._features.forEach(a=>{a.createHeader==null||a.createHeader(o,e)}),o}const vVe={createTable:e=>{e.getHeaderGroups=St(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,i)=>{var o,a;const s=(o=r?.map(f=>n.find(h=>h.id===f)).filter(Boolean))!=null?o:[],u=(a=i?.map(f=>n.find(h=>h.id===f)).filter(Boolean))!=null?a:[],l=n.filter(f=>!(r!=null&&r.includes(f.id))&&!(i!=null&&i.includes(f.id)));return A1(t,[...s,...l,...u],e)},Ct(e.options,Ei)),e.getCenterHeaderGroups=St(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,i)=>(n=n.filter(o=>!(r!=null&&r.includes(o.id))&&!(i!=null&&i.includes(o.id))),A1(t,n,e,"center")),Ct(e.options,Ei)),e.getLeftHeaderGroups=St(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(t,n,r)=>{var i;const o=(i=r?.map(a=>n.find(s=>s.id===a)).filter(Boolean))!=null?i:[];return A1(t,o,e,"left")},Ct(e.options,Ei)),e.getRightHeaderGroups=St(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(t,n,r)=>{var i;const o=(i=r?.map(a=>n.find(s=>s.id===a)).filter(Boolean))!=null?i:[];return A1(t,o,e,"right")},Ct(e.options,Ei)),e.getFooterGroups=St(()=>[e.getHeaderGroups()],t=>[...t].reverse(),Ct(e.options,Ei)),e.getLeftFooterGroups=St(()=>[e.getLeftHeaderGroups()],t=>[...t].reverse(),Ct(e.options,Ei)),e.getCenterFooterGroups=St(()=>[e.getCenterHeaderGroups()],t=>[...t].reverse(),Ct(e.options,Ei)),e.getRightFooterGroups=St(()=>[e.getRightHeaderGroups()],t=>[...t].reverse(),Ct(e.options,Ei)),e.getFlatHeaders=St(()=>[e.getHeaderGroups()],t=>t.map(n=>n.headers).flat(),Ct(e.options,Ei)),e.getLeftFlatHeaders=St(()=>[e.getLeftHeaderGroups()],t=>t.map(n=>n.headers).flat(),Ct(e.options,Ei)),e.getCenterFlatHeaders=St(()=>[e.getCenterHeaderGroups()],t=>t.map(n=>n.headers).flat(),Ct(e.options,Ei)),e.getRightFlatHeaders=St(()=>[e.getRightHeaderGroups()],t=>t.map(n=>n.headers).flat(),Ct(e.options,Ei)),e.getCenterLeafHeaders=St(()=>[e.getCenterFlatHeaders()],t=>t.filter(n=>{var r;return!((r=n.subHeaders)!=null&&r.length)}),Ct(e.options,Ei)),e.getLeftLeafHeaders=St(()=>[e.getLeftFlatHeaders()],t=>t.filter(n=>{var r;return!((r=n.subHeaders)!=null&&r.length)}),Ct(e.options,Ei)),e.getRightLeafHeaders=St(()=>[e.getRightFlatHeaders()],t=>t.filter(n=>{var r;return!((r=n.subHeaders)!=null&&r.length)}),Ct(e.options,Ei)),e.getLeafHeaders=St(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(t,n,r)=>{var i,o,a,s,u,l;return[...(i=(o=t[0])==null?void 0:o.headers)!=null?i:[],...(a=(s=n[0])==null?void 0:s.headers)!=null?a:[],...(u=(l=r[0])==null?void 0:l.headers)!=null?u:[]].map(c=>c.getLeafHeaders()).flat()},Ct(e.options,Ei))}};function A1(e,t,n,r){var i,o;let a=0;const s=function(h,p){p===void 0&&(p=1),a=Math.max(a,p),h.filter(m=>m.getIsVisible()).forEach(m=>{var v;(v=m.columns)!=null&&v.length&&s(m.columns,p+1)},0)};s(e);let u=[];const l=(h,p)=>{const m={depth:p,id:[r,`${p}`].filter(Boolean).join("_"),headers:[]},v=[];h.forEach(b=>{const w=[...v].reverse()[0],x=b.column.depth===m.depth;let S,O=!1;if(x&&b.column.parent?S=b.column.parent:(S=b.column,O=!0),w&&w?.column===S)w.subHeaders.push(b);else{const E=$I(n,S,{id:[r,p,S.id,b?.id].filter(Boolean).join("_"),isPlaceholder:O,placeholderId:O?`${v.filter(C=>C.column===S).length}`:void 0,depth:p,index:v.length});E.subHeaders.push(b),v.push(E)}m.headers.push(b),b.headerGroup=m}),u.push(m),p>0&&l(v,p-1)},c=t.map((h,p)=>$I(n,h,{depth:a,index:p}));l(c,a-1),u.reverse();const f=h=>h.filter(m=>m.column.getIsVisible()).map(m=>{let v=0,b=0,w=[0];m.subHeaders&&m.subHeaders.length?(w=[],f(m.subHeaders).forEach(S=>{let{colSpan:O,rowSpan:E}=S;v+=O,w.push(E)})):v=1;const x=Math.min(...w);return b=b+x,m.colSpan=v,m.rowSpan=b,{colSpan:v,rowSpan:b}});return f((i=(o=u[0])==null?void 0:o.headers)!=null?i:[]),u}const sP=(e,t,n,r,i,o,a)=>{let s={id:t,index:r,original:n,depth:i,parentId:a,_valuesCache:{},_uniqueValuesCache:{},getValue:u=>{if(s._valuesCache.hasOwnProperty(u))return s._valuesCache[u];const l=e.getColumn(u);if(l!=null&&l.accessorFn)return s._valuesCache[u]=l.accessorFn(s.original,r),s._valuesCache[u]},getUniqueValues:u=>{if(s._uniqueValuesCache.hasOwnProperty(u))return s._uniqueValuesCache[u];const l=e.getColumn(u);if(l!=null&&l.accessorFn)return l.columnDef.getUniqueValues?(s._uniqueValuesCache[u]=l.columnDef.getUniqueValues(s.original,r),s._uniqueValuesCache[u]):(s._uniqueValuesCache[u]=[s.getValue(u)],s._uniqueValuesCache[u])},renderValue:u=>{var l;return(l=s.getValue(u))!=null?l:e.options.renderFallbackValue},subRows:[],getLeafRows:()=>pVe(s.subRows,u=>u.subRows),getParentRow:()=>s.parentId?e.getRow(s.parentId,!0):void 0,getParentRows:()=>{let u=[],l=s;for(;;){const c=l.getParentRow();if(!c)break;u.push(c),l=c}return u.reverse()},getAllCells:St(()=>[e.getAllLeafColumns()],u=>u.map(l=>gVe(e,s,l,l.id)),Ct(e.options,"debugRows")),_getAllCellsByColumnId:St(()=>[s.getAllCells()],u=>u.reduce((l,c)=>(l[c.column.id]=c,l),{}),Ct(e.options,"debugRows"))};for(let u=0;u{e._getFacetedRowModel=t.options.getFacetedRowModel&&t.options.getFacetedRowModel(t,e.id),e.getFacetedRowModel=()=>e._getFacetedRowModel?e._getFacetedRowModel():t.getPreFilteredRowModel(),e._getFacetedUniqueValues=t.options.getFacetedUniqueValues&&t.options.getFacetedUniqueValues(t,e.id),e.getFacetedUniqueValues=()=>e._getFacetedUniqueValues?e._getFacetedUniqueValues():new Map,e._getFacetedMinMaxValues=t.options.getFacetedMinMaxValues&&t.options.getFacetedMinMaxValues(t,e.id),e.getFacetedMinMaxValues=()=>{if(e._getFacetedMinMaxValues)return e._getFacetedMinMaxValues()}}},PG=(e,t,n)=>{var r,i;const o=n==null||(r=n.toString())==null?void 0:r.toLowerCase();return!!(!((i=e.getValue(t))==null||(i=i.toString())==null||(i=i.toLowerCase())==null)&&i.includes(o))};PG.autoRemove=e=>qa(e);const kG=(e,t,n)=>{var r;return!!(!((r=e.getValue(t))==null||(r=r.toString())==null)&&r.includes(n))};kG.autoRemove=e=>qa(e);const TG=(e,t,n)=>{var r;return((r=e.getValue(t))==null||(r=r.toString())==null?void 0:r.toLowerCase())===n?.toLowerCase()};TG.autoRemove=e=>qa(e);const MG=(e,t,n)=>{var r;return(r=e.getValue(t))==null?void 0:r.includes(n)};MG.autoRemove=e=>qa(e)||!(e!=null&&e.length);const RG=(e,t,n)=>!n.some(r=>{var i;return!((i=e.getValue(t))!=null&&i.includes(r))});RG.autoRemove=e=>qa(e)||!(e!=null&&e.length);const DG=(e,t,n)=>n.some(r=>{var i;return(i=e.getValue(t))==null?void 0:i.includes(r)});DG.autoRemove=e=>qa(e)||!(e!=null&&e.length);const $G=(e,t,n)=>e.getValue(t)===n;$G.autoRemove=e=>qa(e);const IG=(e,t,n)=>e.getValue(t)==n;IG.autoRemove=e=>qa(e);const uP=(e,t,n)=>{let[r,i]=n;const o=e.getValue(t);return o>=r&&o<=i};uP.resolveFilterValue=e=>{let[t,n]=e,r=typeof t!="number"?parseFloat(t):t,i=typeof n!="number"?parseFloat(n):n,o=t===null||Number.isNaN(r)?-1/0:r,a=n===null||Number.isNaN(i)?1/0:i;if(o>a){const s=o;o=a,a=s}return[o,a]};uP.autoRemove=e=>qa(e)||qa(e[0])&&qa(e[1]);const eu={includesString:PG,includesStringSensitive:kG,equalsString:TG,arrIncludes:MG,arrIncludesAll:RG,arrIncludesSome:DG,equals:$G,weakEquals:IG,inNumberRange:uP};function qa(e){return e==null||e===""}const bVe={getDefaultColumnDef:()=>({filterFn:"auto"}),getInitialState:e=>({columnFilters:[],...e}),getDefaultOptions:e=>({onColumnFiltersChange:Vo("columnFilters",e),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(e,t)=>{e.getAutoFilterFn=()=>{const n=t.getCoreRowModel().flatRows[0],r=n?.getValue(e.id);return typeof r=="string"?eu.includesString:typeof r=="number"?eu.inNumberRange:typeof r=="boolean"||r!==null&&typeof r=="object"?eu.equals:Array.isArray(r)?eu.arrIncludes:eu.weakEquals},e.getFilterFn=()=>{var n,r;return gw(e.columnDef.filterFn)?e.columnDef.filterFn:e.columnDef.filterFn==="auto"?e.getAutoFilterFn():(n=(r=t.options.filterFns)==null?void 0:r[e.columnDef.filterFn])!=null?n:eu[e.columnDef.filterFn]},e.getCanFilter=()=>{var n,r,i;return((n=e.columnDef.enableColumnFilter)!=null?n:!0)&&((r=t.options.enableColumnFilters)!=null?r:!0)&&((i=t.options.enableFilters)!=null?i:!0)&&!!e.accessorFn},e.getIsFiltered=()=>e.getFilterIndex()>-1,e.getFilterValue=()=>{var n;return(n=t.getState().columnFilters)==null||(n=n.find(r=>r.id===e.id))==null?void 0:n.value},e.getFilterIndex=()=>{var n,r;return(n=(r=t.getState().columnFilters)==null?void 0:r.findIndex(i=>i.id===e.id))!=null?n:-1},e.setFilterValue=n=>{t.setColumnFilters(r=>{const i=e.getFilterFn(),o=r?.find(c=>c.id===e.id),a=fl(n,o?o.value:void 0);if(II(i,a,e)){var s;return(s=r?.filter(c=>c.id!==e.id))!=null?s:[]}const u={id:e.id,value:a};if(o){var l;return(l=r?.map(c=>c.id===e.id?u:c))!=null?l:[]}return r!=null&&r.length?[...r,u]:[u]})}},createRow:(e,t)=>{e.columnFilters={},e.columnFiltersMeta={}},createTable:e=>{e.setColumnFilters=t=>{const n=e.getAllLeafColumns(),r=i=>{var o;return(o=fl(t,i))==null?void 0:o.filter(a=>{const s=n.find(u=>u.id===a.id);if(s){const u=s.getFilterFn();if(II(u,a.value,s))return!1}return!0})};e.options.onColumnFiltersChange==null||e.options.onColumnFiltersChange(r)},e.resetColumnFilters=t=>{var n,r;e.setColumnFilters(t?[]:(n=(r=e.initialState)==null?void 0:r.columnFilters)!=null?n:[])},e.getPreFilteredRowModel=()=>e.getCoreRowModel(),e.getFilteredRowModel=()=>(!e._getFilteredRowModel&&e.options.getFilteredRowModel&&(e._getFilteredRowModel=e.options.getFilteredRowModel(e)),e.options.manualFiltering||!e._getFilteredRowModel?e.getPreFilteredRowModel():e._getFilteredRowModel())}};function II(e,t,n){return(e&&e.autoRemove?e.autoRemove(t,n):!1)||typeof t>"u"||typeof t=="string"&&!t}const xVe=(e,t,n)=>n.reduce((r,i)=>{const o=i.getValue(e);return r+(typeof o=="number"?o:0)},0),wVe=(e,t,n)=>{let r;return n.forEach(i=>{const o=i.getValue(e);o!=null&&(r>o||r===void 0&&o>=o)&&(r=o)}),r},_Ve=(e,t,n)=>{let r;return n.forEach(i=>{const o=i.getValue(e);o!=null&&(r=o)&&(r=o)}),r},SVe=(e,t,n)=>{let r,i;return n.forEach(o=>{const a=o.getValue(e);a!=null&&(r===void 0?a>=a&&(r=i=a):(r>a&&(r=a),i{let n=0,r=0;if(t.forEach(i=>{let o=i.getValue(e);o!=null&&(o=+o)>=o&&(++n,r+=o)}),n)return r/n},EVe=(e,t)=>{if(!t.length)return;const n=t.map(o=>o.getValue(e));if(!hVe(n))return;if(n.length===1)return n[0];const r=Math.floor(n.length/2),i=n.sort((o,a)=>o-a);return n.length%2!==0?i[r]:(i[r-1]+i[r])/2},OVe=(e,t)=>Array.from(new Set(t.map(n=>n.getValue(e))).values()),AVe=(e,t)=>new Set(t.map(n=>n.getValue(e))).size,PVe=(e,t)=>t.length,m3={sum:xVe,min:wVe,max:_Ve,extent:SVe,mean:CVe,median:EVe,unique:OVe,uniqueCount:AVe,count:PVe},kVe={getDefaultColumnDef:()=>({aggregatedCell:e=>{var t,n;return(t=(n=e.getValue())==null||n.toString==null?void 0:n.toString())!=null?t:null},aggregationFn:"auto"}),getInitialState:e=>({grouping:[],...e}),getDefaultOptions:e=>({onGroupingChange:Vo("grouping",e),groupedColumnMode:"reorder"}),createColumn:(e,t)=>{e.toggleGrouping=()=>{t.setGrouping(n=>n!=null&&n.includes(e.id)?n.filter(r=>r!==e.id):[...n??[],e.id])},e.getCanGroup=()=>{var n,r;return((n=e.columnDef.enableGrouping)!=null?n:!0)&&((r=t.options.enableGrouping)!=null?r:!0)&&(!!e.accessorFn||!!e.columnDef.getGroupingValue)},e.getIsGrouped=()=>{var n;return(n=t.getState().grouping)==null?void 0:n.includes(e.id)},e.getGroupedIndex=()=>{var n;return(n=t.getState().grouping)==null?void 0:n.indexOf(e.id)},e.getToggleGroupingHandler=()=>{const n=e.getCanGroup();return()=>{n&&e.toggleGrouping()}},e.getAutoAggregationFn=()=>{const n=t.getCoreRowModel().flatRows[0],r=n?.getValue(e.id);if(typeof r=="number")return m3.sum;if(Object.prototype.toString.call(r)==="[object Date]")return m3.extent},e.getAggregationFn=()=>{var n,r;if(!e)throw new Error;return gw(e.columnDef.aggregationFn)?e.columnDef.aggregationFn:e.columnDef.aggregationFn==="auto"?e.getAutoAggregationFn():(n=(r=t.options.aggregationFns)==null?void 0:r[e.columnDef.aggregationFn])!=null?n:m3[e.columnDef.aggregationFn]}},createTable:e=>{e.setGrouping=t=>e.options.onGroupingChange==null?void 0:e.options.onGroupingChange(t),e.resetGrouping=t=>{var n,r;e.setGrouping(t?[]:(n=(r=e.initialState)==null?void 0:r.grouping)!=null?n:[])},e.getPreGroupedRowModel=()=>e.getFilteredRowModel(),e.getGroupedRowModel=()=>(!e._getGroupedRowModel&&e.options.getGroupedRowModel&&(e._getGroupedRowModel=e.options.getGroupedRowModel(e)),e.options.manualGrouping||!e._getGroupedRowModel?e.getPreGroupedRowModel():e._getGroupedRowModel())},createRow:(e,t)=>{e.getIsGrouped=()=>!!e.groupingColumnId,e.getGroupingValue=n=>{if(e._groupingValuesCache.hasOwnProperty(n))return e._groupingValuesCache[n];const r=t.getColumn(n);return r!=null&&r.columnDef.getGroupingValue?(e._groupingValuesCache[n]=r.columnDef.getGroupingValue(e.original),e._groupingValuesCache[n]):e.getValue(n)},e._groupingValuesCache={}},createCell:(e,t,n,r)=>{e.getIsGrouped=()=>t.getIsGrouped()&&t.id===n.groupingColumnId,e.getIsPlaceholder=()=>!e.getIsGrouped()&&t.getIsGrouped(),e.getIsAggregated=()=>{var i;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&!!((i=n.subRows)!=null&&i.length)}}};function TVe(e,t,n){if(!(t!=null&&t.length)||!n)return e;const r=e.filter(o=>!t.includes(o.id));return n==="remove"?r:[...t.map(o=>e.find(a=>a.id===o)).filter(Boolean),...r]}const MVe={getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:Vo("columnOrder",e)}),createColumn:(e,t)=>{e.getIndex=St(n=>[T0(t,n)],n=>n.findIndex(r=>r.id===e.id),Ct(t.options,"debugColumns")),e.getIsFirstColumn=n=>{var r;return((r=T0(t,n)[0])==null?void 0:r.id)===e.id},e.getIsLastColumn=n=>{var r;const i=T0(t,n);return((r=i[i.length-1])==null?void 0:r.id)===e.id}},createTable:e=>{e.setColumnOrder=t=>e.options.onColumnOrderChange==null?void 0:e.options.onColumnOrderChange(t),e.resetColumnOrder=t=>{var n;e.setColumnOrder(t?[]:(n=e.initialState.columnOrder)!=null?n:[])},e._getOrderColumnsFn=St(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(t,n,r)=>i=>{let o=[];if(!(t!=null&&t.length))o=i;else{const a=[...t],s=[...i];for(;s.length&&a.length;){const u=a.shift(),l=s.findIndex(c=>c.id===u);l>-1&&o.push(s.splice(l,1)[0])}o=[...o,...s]}return TVe(o,n,r)},Ct(e.options,"debugTable"))}},v3=()=>({left:[],right:[]}),RVe={getInitialState:e=>({columnPinning:v3(),...e}),getDefaultOptions:e=>({onColumnPinningChange:Vo("columnPinning",e)}),createColumn:(e,t)=>{e.pin=n=>{const r=e.getLeafColumns().map(i=>i.id).filter(Boolean);t.setColumnPinning(i=>{var o,a;if(n==="right"){var s,u;return{left:((s=i?.left)!=null?s:[]).filter(f=>!(r!=null&&r.includes(f))),right:[...((u=i?.right)!=null?u:[]).filter(f=>!(r!=null&&r.includes(f))),...r]}}if(n==="left"){var l,c;return{left:[...((l=i?.left)!=null?l:[]).filter(f=>!(r!=null&&r.includes(f))),...r],right:((c=i?.right)!=null?c:[]).filter(f=>!(r!=null&&r.includes(f)))}}return{left:((o=i?.left)!=null?o:[]).filter(f=>!(r!=null&&r.includes(f))),right:((a=i?.right)!=null?a:[]).filter(f=>!(r!=null&&r.includes(f)))}})},e.getCanPin=()=>e.getLeafColumns().some(r=>{var i,o,a;return((i=r.columnDef.enablePinning)!=null?i:!0)&&((o=(a=t.options.enableColumnPinning)!=null?a:t.options.enablePinning)!=null?o:!0)}),e.getIsPinned=()=>{const n=e.getLeafColumns().map(s=>s.id),{left:r,right:i}=t.getState().columnPinning,o=n.some(s=>r?.includes(s)),a=n.some(s=>i?.includes(s));return o?"left":a?"right":!1},e.getPinnedIndex=()=>{var n,r;const i=e.getIsPinned();return i?(n=(r=t.getState().columnPinning)==null||(r=r[i])==null?void 0:r.indexOf(e.id))!=null?n:-1:0}},createRow:(e,t)=>{e.getCenterVisibleCells=St(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left,t.getState().columnPinning.right],(n,r,i)=>{const o=[...r??[],...i??[]];return n.filter(a=>!o.includes(a.column.id))},Ct(t.options,"debugRows")),e.getLeftVisibleCells=St(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left],(n,r)=>(r??[]).map(o=>n.find(a=>a.column.id===o)).filter(Boolean).map(o=>({...o,position:"left"})),Ct(t.options,"debugRows")),e.getRightVisibleCells=St(()=>[e._getAllVisibleCells(),t.getState().columnPinning.right],(n,r)=>(r??[]).map(o=>n.find(a=>a.column.id===o)).filter(Boolean).map(o=>({...o,position:"right"})),Ct(t.options,"debugRows"))},createTable:e=>{e.setColumnPinning=t=>e.options.onColumnPinningChange==null?void 0:e.options.onColumnPinningChange(t),e.resetColumnPinning=t=>{var n,r;return e.setColumnPinning(t?v3():(n=(r=e.initialState)==null?void 0:r.columnPinning)!=null?n:v3())},e.getIsSomeColumnsPinned=t=>{var n;const r=e.getState().columnPinning;if(!t){var i,o;return!!((i=r.left)!=null&&i.length||(o=r.right)!=null&&o.length)}return!!((n=r[t])!=null&&n.length)},e.getLeftLeafColumns=St(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left],(t,n)=>(n??[]).map(r=>t.find(i=>i.id===r)).filter(Boolean),Ct(e.options,"debugColumns")),e.getRightLeafColumns=St(()=>[e.getAllLeafColumns(),e.getState().columnPinning.right],(t,n)=>(n??[]).map(r=>t.find(i=>i.id===r)).filter(Boolean),Ct(e.options,"debugColumns")),e.getCenterLeafColumns=St(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r)=>{const i=[...n??[],...r??[]];return t.filter(o=>!i.includes(o.id))},Ct(e.options,"debugColumns"))}},P1={size:150,minSize:20,maxSize:Number.MAX_SAFE_INTEGER},y3=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),DVe={getDefaultColumnDef:()=>P1,getInitialState:e=>({columnSizing:{},columnSizingInfo:y3(),...e}),getDefaultOptions:e=>({columnResizeMode:"onEnd",columnResizeDirection:"ltr",onColumnSizingChange:Vo("columnSizing",e),onColumnSizingInfoChange:Vo("columnSizingInfo",e)}),createColumn:(e,t)=>{e.getSize=()=>{var n,r,i;const o=t.getState().columnSizing[e.id];return Math.min(Math.max((n=e.columnDef.minSize)!=null?n:P1.minSize,(r=o??e.columnDef.size)!=null?r:P1.size),(i=e.columnDef.maxSize)!=null?i:P1.maxSize)},e.getStart=St(n=>[n,T0(t,n),t.getState().columnSizing],(n,r)=>r.slice(0,e.getIndex(n)).reduce((i,o)=>i+o.getSize(),0),Ct(t.options,"debugColumns")),e.getAfter=St(n=>[n,T0(t,n),t.getState().columnSizing],(n,r)=>r.slice(e.getIndex(n)+1).reduce((i,o)=>i+o.getSize(),0),Ct(t.options,"debugColumns")),e.resetSize=()=>{t.setColumnSizing(n=>{let{[e.id]:r,...i}=n;return i})},e.getCanResize=()=>{var n,r;return((n=e.columnDef.enableResizing)!=null?n:!0)&&((r=t.options.enableColumnResizing)!=null?r:!0)},e.getIsResizing=()=>t.getState().columnSizingInfo.isResizingColumn===e.id},createHeader:(e,t)=>{e.getSize=()=>{let n=0;const r=i=>{if(i.subHeaders.length)i.subHeaders.forEach(r);else{var o;n+=(o=i.column.getSize())!=null?o:0}};return r(e),n},e.getStart=()=>{if(e.index>0){const n=e.headerGroup.headers[e.index-1];return n.getStart()+n.getSize()}return 0},e.getResizeHandler=n=>{const r=t.getColumn(e.column.id),i=r?.getCanResize();return o=>{if(!r||!i||(o.persist==null||o.persist(),b3(o)&&o.touches&&o.touches.length>1))return;const a=e.getSize(),s=e?e.getLeafHeaders().map(w=>[w.column.id,w.column.getSize()]):[[r.id,r.getSize()]],u=b3(o)?Math.round(o.touches[0].clientX):o.clientX,l={},c=(w,x)=>{typeof x=="number"&&(t.setColumnSizingInfo(S=>{var O,E;const C=t.options.columnResizeDirection==="rtl"?-1:1,k=(x-((O=S?.startOffset)!=null?O:0))*C,M=Math.max(k/((E=S?.startSize)!=null?E:0),-.999999);return S.columnSizingStart.forEach(L=>{let[U,H]=L;l[U]=Math.round(Math.max(H+H*M,0)*100)/100}),{...S,deltaOffset:k,deltaPercentage:M}}),(t.options.columnResizeMode==="onChange"||w==="end")&&t.setColumnSizing(S=>({...S,...l})))},f=w=>c("move",w),h=w=>{c("end",w),t.setColumnSizingInfo(x=>({...x,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},p=n||typeof document<"u"?document:null,m={moveHandler:w=>f(w.clientX),upHandler:w=>{p?.removeEventListener("mousemove",m.moveHandler),p?.removeEventListener("mouseup",m.upHandler),h(w.clientX)}},v={moveHandler:w=>(w.cancelable&&(w.preventDefault(),w.stopPropagation()),f(w.touches[0].clientX),!1),upHandler:w=>{var x;p?.removeEventListener("touchmove",v.moveHandler),p?.removeEventListener("touchend",v.upHandler),w.cancelable&&(w.preventDefault(),w.stopPropagation()),h((x=w.touches[0])==null?void 0:x.clientX)}},b=$Ve()?{passive:!1}:!1;b3(o)?(p?.addEventListener("touchmove",v.moveHandler,b),p?.addEventListener("touchend",v.upHandler,b)):(p?.addEventListener("mousemove",m.moveHandler,b),p?.addEventListener("mouseup",m.upHandler,b)),t.setColumnSizingInfo(w=>({...w,startOffset:u,startSize:a,deltaOffset:0,deltaPercentage:0,columnSizingStart:s,isResizingColumn:r.id}))}}},createTable:e=>{e.setColumnSizing=t=>e.options.onColumnSizingChange==null?void 0:e.options.onColumnSizingChange(t),e.setColumnSizingInfo=t=>e.options.onColumnSizingInfoChange==null?void 0:e.options.onColumnSizingInfoChange(t),e.resetColumnSizing=t=>{var n;e.setColumnSizing(t?{}:(n=e.initialState.columnSizing)!=null?n:{})},e.resetHeaderSizeInfo=t=>{var n;e.setColumnSizingInfo(t?y3():(n=e.initialState.columnSizingInfo)!=null?n:y3())},e.getTotalSize=()=>{var t,n;return(t=(n=e.getHeaderGroups()[0])==null?void 0:n.headers.reduce((r,i)=>r+i.getSize(),0))!=null?t:0},e.getLeftTotalSize=()=>{var t,n;return(t=(n=e.getLeftHeaderGroups()[0])==null?void 0:n.headers.reduce((r,i)=>r+i.getSize(),0))!=null?t:0},e.getCenterTotalSize=()=>{var t,n;return(t=(n=e.getCenterHeaderGroups()[0])==null?void 0:n.headers.reduce((r,i)=>r+i.getSize(),0))!=null?t:0},e.getRightTotalSize=()=>{var t,n;return(t=(n=e.getRightHeaderGroups()[0])==null?void 0:n.headers.reduce((r,i)=>r+i.getSize(),0))!=null?t:0}}};let k1=null;function $Ve(){if(typeof k1=="boolean")return k1;let e=!1;try{const t={get passive(){return e=!0,!1}},n=()=>{};window.addEventListener("test",n,t),window.removeEventListener("test",n)}catch{e=!1}return k1=e,k1}function b3(e){return e.type==="touchstart"}const IVe={getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:Vo("columnVisibility",e)}),createColumn:(e,t)=>{e.toggleVisibility=n=>{e.getCanHide()&&t.setColumnVisibility(r=>({...r,[e.id]:n??!e.getIsVisible()}))},e.getIsVisible=()=>{var n,r;const i=e.columns;return(n=i.length?i.some(o=>o.getIsVisible()):(r=t.getState().columnVisibility)==null?void 0:r[e.id])!=null?n:!0},e.getCanHide=()=>{var n,r;return((n=e.columnDef.enableHiding)!=null?n:!0)&&((r=t.options.enableHiding)!=null?r:!0)},e.getToggleVisibilityHandler=()=>n=>{e.toggleVisibility==null||e.toggleVisibility(n.target.checked)}},createRow:(e,t)=>{e._getAllVisibleCells=St(()=>[e.getAllCells(),t.getState().columnVisibility],n=>n.filter(r=>r.column.getIsVisible()),Ct(t.options,"debugRows")),e.getVisibleCells=St(()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()],(n,r,i)=>[...n,...r,...i],Ct(t.options,"debugRows"))},createTable:e=>{const t=(n,r)=>St(()=>[r(),r().filter(i=>i.getIsVisible()).map(i=>i.id).join("_")],i=>i.filter(o=>o.getIsVisible==null?void 0:o.getIsVisible()),Ct(e.options,"debugColumns"));e.getVisibleFlatColumns=t("getVisibleFlatColumns",()=>e.getAllFlatColumns()),e.getVisibleLeafColumns=t("getVisibleLeafColumns",()=>e.getAllLeafColumns()),e.getLeftVisibleLeafColumns=t("getLeftVisibleLeafColumns",()=>e.getLeftLeafColumns()),e.getRightVisibleLeafColumns=t("getRightVisibleLeafColumns",()=>e.getRightLeafColumns()),e.getCenterVisibleLeafColumns=t("getCenterVisibleLeafColumns",()=>e.getCenterLeafColumns()),e.setColumnVisibility=n=>e.options.onColumnVisibilityChange==null?void 0:e.options.onColumnVisibilityChange(n),e.resetColumnVisibility=n=>{var r;e.setColumnVisibility(n?{}:(r=e.initialState.columnVisibility)!=null?r:{})},e.toggleAllColumnsVisible=n=>{var r;n=(r=n)!=null?r:!e.getIsAllColumnsVisible(),e.setColumnVisibility(e.getAllLeafColumns().reduce((i,o)=>({...i,[o.id]:n||!(o.getCanHide!=null&&o.getCanHide())}),{}))},e.getIsAllColumnsVisible=()=>!e.getAllLeafColumns().some(n=>!(n.getIsVisible!=null&&n.getIsVisible())),e.getIsSomeColumnsVisible=()=>e.getAllLeafColumns().some(n=>n.getIsVisible==null?void 0:n.getIsVisible()),e.getToggleAllColumnsVisibilityHandler=()=>n=>{var r;e.toggleAllColumnsVisible((r=n.target)==null?void 0:r.checked)}}};function T0(e,t){return t?t==="center"?e.getCenterVisibleLeafColumns():t==="left"?e.getLeftVisibleLeafColumns():e.getRightVisibleLeafColumns():e.getVisibleLeafColumns()}const NVe={createTable:e=>{e._getGlobalFacetedRowModel=e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,"__global__"),e.getGlobalFacetedRowModel=()=>e.options.manualFiltering||!e._getGlobalFacetedRowModel?e.getPreFilteredRowModel():e._getGlobalFacetedRowModel(),e._getGlobalFacetedUniqueValues=e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,"__global__"),e.getGlobalFacetedUniqueValues=()=>e._getGlobalFacetedUniqueValues?e._getGlobalFacetedUniqueValues():new Map,e._getGlobalFacetedMinMaxValues=e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,"__global__"),e.getGlobalFacetedMinMaxValues=()=>{if(e._getGlobalFacetedMinMaxValues)return e._getGlobalFacetedMinMaxValues()}}},LVe={getInitialState:e=>({globalFilter:void 0,...e}),getDefaultOptions:e=>({onGlobalFilterChange:Vo("globalFilter",e),globalFilterFn:"auto",getColumnCanGlobalFilter:t=>{var n;const r=(n=e.getCoreRowModel().flatRows[0])==null||(n=n._getAllCellsByColumnId()[t.id])==null?void 0:n.getValue();return typeof r=="string"||typeof r=="number"}}),createColumn:(e,t)=>{e.getCanGlobalFilter=()=>{var n,r,i,o;return((n=e.columnDef.enableGlobalFilter)!=null?n:!0)&&((r=t.options.enableGlobalFilter)!=null?r:!0)&&((i=t.options.enableFilters)!=null?i:!0)&&((o=t.options.getColumnCanGlobalFilter==null?void 0:t.options.getColumnCanGlobalFilter(e))!=null?o:!0)&&!!e.accessorFn}},createTable:e=>{e.getGlobalAutoFilterFn=()=>eu.includesString,e.getGlobalFilterFn=()=>{var t,n;const{globalFilterFn:r}=e.options;return gw(r)?r:r==="auto"?e.getGlobalAutoFilterFn():(t=(n=e.options.filterFns)==null?void 0:n[r])!=null?t:eu[r]},e.setGlobalFilter=t=>{e.options.onGlobalFilterChange==null||e.options.onGlobalFilterChange(t)},e.resetGlobalFilter=t=>{e.setGlobalFilter(t?void 0:e.initialState.globalFilter)}}},FVe={getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:Vo("expanded",e),paginateExpandedRows:!0}),createTable:e=>{let t=!1,n=!1;e._autoResetExpanded=()=>{var r,i;if(!t){e._queue(()=>{t=!0});return}if((r=(i=e.options.autoResetAll)!=null?i:e.options.autoResetExpanded)!=null?r:!e.options.manualExpanding){if(n)return;n=!0,e._queue(()=>{e.resetExpanded(),n=!1})}},e.setExpanded=r=>e.options.onExpandedChange==null?void 0:e.options.onExpandedChange(r),e.toggleAllRowsExpanded=r=>{r??!e.getIsAllRowsExpanded()?e.setExpanded(!0):e.setExpanded({})},e.resetExpanded=r=>{var i,o;e.setExpanded(r?{}:(i=(o=e.initialState)==null?void 0:o.expanded)!=null?i:{})},e.getCanSomeRowsExpand=()=>e.getPrePaginationRowModel().flatRows.some(r=>r.getCanExpand()),e.getToggleAllRowsExpandedHandler=()=>r=>{r.persist==null||r.persist(),e.toggleAllRowsExpanded()},e.getIsSomeRowsExpanded=()=>{const r=e.getState().expanded;return r===!0||Object.values(r).some(Boolean)},e.getIsAllRowsExpanded=()=>{const r=e.getState().expanded;return typeof r=="boolean"?r===!0:!(!Object.keys(r).length||e.getRowModel().flatRows.some(i=>!i.getIsExpanded()))},e.getExpandedDepth=()=>{let r=0;return(e.getState().expanded===!0?Object.keys(e.getRowModel().rowsById):Object.keys(e.getState().expanded)).forEach(o=>{const a=o.split(".");r=Math.max(r,a.length)}),r},e.getPreExpandedRowModel=()=>e.getSortedRowModel(),e.getExpandedRowModel=()=>(!e._getExpandedRowModel&&e.options.getExpandedRowModel&&(e._getExpandedRowModel=e.options.getExpandedRowModel(e)),e.options.manualExpanding||!e._getExpandedRowModel?e.getPreExpandedRowModel():e._getExpandedRowModel())},createRow:(e,t)=>{e.toggleExpanded=n=>{t.setExpanded(r=>{var i;const o=r===!0?!0:!!(r!=null&&r[e.id]);let a={};if(r===!0?Object.keys(t.getRowModel().rowsById).forEach(s=>{a[s]=!0}):a=r,n=(i=n)!=null?i:!o,!o&&n)return{...a,[e.id]:!0};if(o&&!n){const{[e.id]:s,...u}=a;return u}return r})},e.getIsExpanded=()=>{var n;const r=t.getState().expanded;return!!((n=t.options.getIsRowExpanded==null?void 0:t.options.getIsRowExpanded(e))!=null?n:r===!0||r?.[e.id])},e.getCanExpand=()=>{var n,r,i;return(n=t.options.getRowCanExpand==null?void 0:t.options.getRowCanExpand(e))!=null?n:((r=t.options.enableExpanding)!=null?r:!0)&&!!((i=e.subRows)!=null&&i.length)},e.getIsAllParentsExpanded=()=>{let n=!0,r=e;for(;n&&r.parentId;)r=t.getRow(r.parentId,!0),n=r.getIsExpanded();return n},e.getToggleExpandedHandler=()=>{const n=e.getCanExpand();return()=>{n&&e.toggleExpanded()}}}},a4=0,s4=10,x3=()=>({pageIndex:a4,pageSize:s4}),jVe={getInitialState:e=>({...e,pagination:{...x3(),...e?.pagination}}),getDefaultOptions:e=>({onPaginationChange:Vo("pagination",e)}),createTable:e=>{let t=!1,n=!1;e._autoResetPageIndex=()=>{var r,i;if(!t){e._queue(()=>{t=!0});return}if((r=(i=e.options.autoResetAll)!=null?i:e.options.autoResetPageIndex)!=null?r:!e.options.manualPagination){if(n)return;n=!0,e._queue(()=>{e.resetPageIndex(),n=!1})}},e.setPagination=r=>{const i=o=>fl(r,o);return e.options.onPaginationChange==null?void 0:e.options.onPaginationChange(i)},e.resetPagination=r=>{var i;e.setPagination(r?x3():(i=e.initialState.pagination)!=null?i:x3())},e.setPageIndex=r=>{e.setPagination(i=>{let o=fl(r,i.pageIndex);const a=typeof e.options.pageCount>"u"||e.options.pageCount===-1?Number.MAX_SAFE_INTEGER:e.options.pageCount-1;return o=Math.max(0,Math.min(o,a)),{...i,pageIndex:o}})},e.resetPageIndex=r=>{var i,o;e.setPageIndex(r?a4:(i=(o=e.initialState)==null||(o=o.pagination)==null?void 0:o.pageIndex)!=null?i:a4)},e.resetPageSize=r=>{var i,o;e.setPageSize(r?s4:(i=(o=e.initialState)==null||(o=o.pagination)==null?void 0:o.pageSize)!=null?i:s4)},e.setPageSize=r=>{e.setPagination(i=>{const o=Math.max(1,fl(r,i.pageSize)),a=i.pageSize*i.pageIndex,s=Math.floor(a/o);return{...i,pageIndex:s,pageSize:o}})},e.setPageCount=r=>e.setPagination(i=>{var o;let a=fl(r,(o=e.options.pageCount)!=null?o:-1);return typeof a=="number"&&(a=Math.max(-1,a)),{...i,pageCount:a}}),e.getPageOptions=St(()=>[e.getPageCount()],r=>{let i=[];return r&&r>0&&(i=[...new Array(r)].fill(null).map((o,a)=>a)),i},Ct(e.options,"debugTable")),e.getCanPreviousPage=()=>e.getState().pagination.pageIndex>0,e.getCanNextPage=()=>{const{pageIndex:r}=e.getState().pagination,i=e.getPageCount();return i===-1?!0:i===0?!1:re.setPageIndex(r=>r-1),e.nextPage=()=>e.setPageIndex(r=>r+1),e.firstPage=()=>e.setPageIndex(0),e.lastPage=()=>e.setPageIndex(e.getPageCount()-1),e.getPrePaginationRowModel=()=>e.getExpandedRowModel(),e.getPaginationRowModel=()=>(!e._getPaginationRowModel&&e.options.getPaginationRowModel&&(e._getPaginationRowModel=e.options.getPaginationRowModel(e)),e.options.manualPagination||!e._getPaginationRowModel?e.getPrePaginationRowModel():e._getPaginationRowModel()),e.getPageCount=()=>{var r;return(r=e.options.pageCount)!=null?r:Math.ceil(e.getRowCount()/e.getState().pagination.pageSize)},e.getRowCount=()=>{var r;return(r=e.options.rowCount)!=null?r:e.getPrePaginationRowModel().rows.length}}},w3=()=>({top:[],bottom:[]}),BVe={getInitialState:e=>({rowPinning:w3(),...e}),getDefaultOptions:e=>({onRowPinningChange:Vo("rowPinning",e)}),createRow:(e,t)=>{e.pin=(n,r,i)=>{const o=r?e.getLeafRows().map(u=>{let{id:l}=u;return l}):[],a=i?e.getParentRows().map(u=>{let{id:l}=u;return l}):[],s=new Set([...a,e.id,...o]);t.setRowPinning(u=>{var l,c;if(n==="bottom"){var f,h;return{top:((f=u?.top)!=null?f:[]).filter(v=>!(s!=null&&s.has(v))),bottom:[...((h=u?.bottom)!=null?h:[]).filter(v=>!(s!=null&&s.has(v))),...Array.from(s)]}}if(n==="top"){var p,m;return{top:[...((p=u?.top)!=null?p:[]).filter(v=>!(s!=null&&s.has(v))),...Array.from(s)],bottom:((m=u?.bottom)!=null?m:[]).filter(v=>!(s!=null&&s.has(v)))}}return{top:((l=u?.top)!=null?l:[]).filter(v=>!(s!=null&&s.has(v))),bottom:((c=u?.bottom)!=null?c:[]).filter(v=>!(s!=null&&s.has(v)))}})},e.getCanPin=()=>{var n;const{enableRowPinning:r,enablePinning:i}=t.options;return typeof r=="function"?r(e):(n=r??i)!=null?n:!0},e.getIsPinned=()=>{const n=[e.id],{top:r,bottom:i}=t.getState().rowPinning,o=n.some(s=>r?.includes(s)),a=n.some(s=>i?.includes(s));return o?"top":a?"bottom":!1},e.getPinnedIndex=()=>{var n,r;const i=e.getIsPinned();if(!i)return-1;const o=(n=i==="top"?t.getTopRows():t.getBottomRows())==null?void 0:n.map(a=>{let{id:s}=a;return s});return(r=o?.indexOf(e.id))!=null?r:-1}},createTable:e=>{e.setRowPinning=t=>e.options.onRowPinningChange==null?void 0:e.options.onRowPinningChange(t),e.resetRowPinning=t=>{var n,r;return e.setRowPinning(t?w3():(n=(r=e.initialState)==null?void 0:r.rowPinning)!=null?n:w3())},e.getIsSomeRowsPinned=t=>{var n;const r=e.getState().rowPinning;if(!t){var i,o;return!!((i=r.top)!=null&&i.length||(o=r.bottom)!=null&&o.length)}return!!((n=r[t])!=null&&n.length)},e._getPinnedRows=(t,n,r)=>{var i;return((i=e.options.keepPinnedRows)==null||i?(n??[]).map(a=>{const s=e.getRow(a,!0);return s.getIsAllParentsExpanded()?s:null}):(n??[]).map(a=>t.find(s=>s.id===a))).filter(Boolean).map(a=>({...a,position:r}))},e.getTopRows=St(()=>[e.getRowModel().rows,e.getState().rowPinning.top],(t,n)=>e._getPinnedRows(t,n,"top"),Ct(e.options,"debugRows")),e.getBottomRows=St(()=>[e.getRowModel().rows,e.getState().rowPinning.bottom],(t,n)=>e._getPinnedRows(t,n,"bottom"),Ct(e.options,"debugRows")),e.getCenterRows=St(()=>[e.getRowModel().rows,e.getState().rowPinning.top,e.getState().rowPinning.bottom],(t,n,r)=>{const i=new Set([...n??[],...r??[]]);return t.filter(o=>!i.has(o.id))},Ct(e.options,"debugRows"))}},zVe={getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:Vo("rowSelection",e),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:e=>{e.setRowSelection=t=>e.options.onRowSelectionChange==null?void 0:e.options.onRowSelectionChange(t),e.resetRowSelection=t=>{var n;return e.setRowSelection(t?{}:(n=e.initialState.rowSelection)!=null?n:{})},e.toggleAllRowsSelected=t=>{e.setRowSelection(n=>{t=typeof t<"u"?t:!e.getIsAllRowsSelected();const r={...n},i=e.getPreGroupedRowModel().flatRows;return t?i.forEach(o=>{o.getCanSelect()&&(r[o.id]=!0)}):i.forEach(o=>{delete r[o.id]}),r})},e.toggleAllPageRowsSelected=t=>e.setRowSelection(n=>{const r=typeof t<"u"?t:!e.getIsAllPageRowsSelected(),i={...n};return e.getRowModel().rows.forEach(o=>{u4(i,o.id,r,!0,e)}),i}),e.getPreSelectedRowModel=()=>e.getCoreRowModel(),e.getSelectedRowModel=St(()=>[e.getState().rowSelection,e.getCoreRowModel()],(t,n)=>Object.keys(t).length?_3(e,n):{rows:[],flatRows:[],rowsById:{}},Ct(e.options,"debugTable")),e.getFilteredSelectedRowModel=St(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(t,n)=>Object.keys(t).length?_3(e,n):{rows:[],flatRows:[],rowsById:{}},Ct(e.options,"debugTable")),e.getGroupedSelectedRowModel=St(()=>[e.getState().rowSelection,e.getSortedRowModel()],(t,n)=>Object.keys(t).length?_3(e,n):{rows:[],flatRows:[],rowsById:{}},Ct(e.options,"debugTable")),e.getIsAllRowsSelected=()=>{const t=e.getFilteredRowModel().flatRows,{rowSelection:n}=e.getState();let r=!!(t.length&&Object.keys(n).length);return r&&t.some(i=>i.getCanSelect()&&!n[i.id])&&(r=!1),r},e.getIsAllPageRowsSelected=()=>{const t=e.getPaginationRowModel().flatRows.filter(i=>i.getCanSelect()),{rowSelection:n}=e.getState();let r=!!t.length;return r&&t.some(i=>!n[i.id])&&(r=!1),r},e.getIsSomeRowsSelected=()=>{var t;const n=Object.keys((t=e.getState().rowSelection)!=null?t:{}).length;return n>0&&n{const t=e.getPaginationRowModel().flatRows;return e.getIsAllPageRowsSelected()?!1:t.filter(n=>n.getCanSelect()).some(n=>n.getIsSelected()||n.getIsSomeSelected())},e.getToggleAllRowsSelectedHandler=()=>t=>{e.toggleAllRowsSelected(t.target.checked)},e.getToggleAllPageRowsSelectedHandler=()=>t=>{e.toggleAllPageRowsSelected(t.target.checked)}},createRow:(e,t)=>{e.toggleSelected=(n,r)=>{const i=e.getIsSelected();t.setRowSelection(o=>{var a;if(n=typeof n<"u"?n:!i,e.getCanSelect()&&i===n)return o;const s={...o};return u4(s,e.id,n,(a=r?.selectChildren)!=null?a:!0,t),s})},e.getIsSelected=()=>{const{rowSelection:n}=t.getState();return lP(e,n)},e.getIsSomeSelected=()=>{const{rowSelection:n}=t.getState();return l4(e,n)==="some"},e.getIsAllSubRowsSelected=()=>{const{rowSelection:n}=t.getState();return l4(e,n)==="all"},e.getCanSelect=()=>{var n;return typeof t.options.enableRowSelection=="function"?t.options.enableRowSelection(e):(n=t.options.enableRowSelection)!=null?n:!0},e.getCanSelectSubRows=()=>{var n;return typeof t.options.enableSubRowSelection=="function"?t.options.enableSubRowSelection(e):(n=t.options.enableSubRowSelection)!=null?n:!0},e.getCanMultiSelect=()=>{var n;return typeof t.options.enableMultiRowSelection=="function"?t.options.enableMultiRowSelection(e):(n=t.options.enableMultiRowSelection)!=null?n:!0},e.getToggleSelectedHandler=()=>{const n=e.getCanSelect();return r=>{var i;n&&e.toggleSelected((i=r.target)==null?void 0:i.checked)}}}},u4=(e,t,n,r,i)=>{var o;const a=i.getRow(t,!0);n?(a.getCanMultiSelect()||Object.keys(e).forEach(s=>delete e[s]),a.getCanSelect()&&(e[t]=!0)):delete e[t],r&&(o=a.subRows)!=null&&o.length&&a.getCanSelectSubRows()&&a.subRows.forEach(s=>u4(e,s.id,n,r,i))};function _3(e,t){const n=e.getState().rowSelection,r=[],i={},o=function(a,s){return a.map(u=>{var l;const c=lP(u,n);if(c&&(r.push(u),i[u.id]=u),(l=u.subRows)!=null&&l.length&&(u={...u,subRows:o(u.subRows)}),c)return u}).filter(Boolean)};return{rows:o(t.rows),flatRows:r,rowsById:i}}function lP(e,t){var n;return(n=t[e.id])!=null?n:!1}function l4(e,t,n){var r;if(!((r=e.subRows)!=null&&r.length))return!1;let i=!0,o=!1;return e.subRows.forEach(a=>{if(!(o&&!i)&&(a.getCanSelect()&&(lP(a,t)?o=!0:i=!1),a.subRows&&a.subRows.length)){const s=l4(a,t);s==="all"?o=!0:(s==="some"&&(o=!0),i=!1)}}),i?"all":o?"some":!1}const c4=/([0-9]+)/gm,UVe=(e,t,n)=>NG(Il(e.getValue(n)).toLowerCase(),Il(t.getValue(n)).toLowerCase()),VVe=(e,t,n)=>NG(Il(e.getValue(n)),Il(t.getValue(n))),WVe=(e,t,n)=>cP(Il(e.getValue(n)).toLowerCase(),Il(t.getValue(n)).toLowerCase()),HVe=(e,t,n)=>cP(Il(e.getValue(n)),Il(t.getValue(n))),KVe=(e,t,n)=>{const r=e.getValue(n),i=t.getValue(n);return r>i?1:rcP(e.getValue(n),t.getValue(n));function cP(e,t){return e===t?0:e>t?1:-1}function Il(e){return typeof e=="number"?isNaN(e)||e===1/0||e===-1/0?"":String(e):typeof e=="string"?e:""}function NG(e,t){const n=e.split(c4).filter(Boolean),r=t.split(c4).filter(Boolean);for(;n.length&&r.length;){const i=n.shift(),o=r.shift(),a=parseInt(i,10),s=parseInt(o,10),u=[a,s].sort();if(isNaN(u[0])){if(i>o)return 1;if(o>i)return-1;continue}if(isNaN(u[1]))return isNaN(a)?-1:1;if(a>s)return 1;if(s>a)return-1}return n.length-r.length}const Zp={alphanumeric:UVe,alphanumericCaseSensitive:VVe,text:WVe,textCaseSensitive:HVe,datetime:KVe,basic:qVe},GVe={getInitialState:e=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:"auto",sortUndefined:1}),getDefaultOptions:e=>({onSortingChange:Vo("sorting",e),isMultiSortEvent:t=>t.shiftKey}),createColumn:(e,t)=>{e.getAutoSortingFn=()=>{const n=t.getFilteredRowModel().flatRows.slice(10);let r=!1;for(const i of n){const o=i?.getValue(e.id);if(Object.prototype.toString.call(o)==="[object Date]")return Zp.datetime;if(typeof o=="string"&&(r=!0,o.split(c4).length>1))return Zp.alphanumeric}return r?Zp.text:Zp.basic},e.getAutoSortDir=()=>{const n=t.getFilteredRowModel().flatRows[0];return typeof n?.getValue(e.id)=="string"?"asc":"desc"},e.getSortingFn=()=>{var n,r;if(!e)throw new Error;return gw(e.columnDef.sortingFn)?e.columnDef.sortingFn:e.columnDef.sortingFn==="auto"?e.getAutoSortingFn():(n=(r=t.options.sortingFns)==null?void 0:r[e.columnDef.sortingFn])!=null?n:Zp[e.columnDef.sortingFn]},e.toggleSorting=(n,r)=>{const i=e.getNextSortingOrder(),o=typeof n<"u"&&n!==null;t.setSorting(a=>{const s=a?.find(p=>p.id===e.id),u=a?.findIndex(p=>p.id===e.id);let l=[],c,f=o?n:i==="desc";if(a!=null&&a.length&&e.getCanMultiSort()&&r?s?c="toggle":c="add":a!=null&&a.length&&u!==a.length-1?c="replace":s?c="toggle":c="replace",c==="toggle"&&(o||i||(c="remove")),c==="add"){var h;l=[...a,{id:e.id,desc:f}],l.splice(0,l.length-((h=t.options.maxMultiSortColCount)!=null?h:Number.MAX_SAFE_INTEGER))}else c==="toggle"?l=a.map(p=>p.id===e.id?{...p,desc:f}:p):c==="remove"?l=a.filter(p=>p.id!==e.id):l=[{id:e.id,desc:f}];return l})},e.getFirstSortDir=()=>{var n,r;return((n=(r=e.columnDef.sortDescFirst)!=null?r:t.options.sortDescFirst)!=null?n:e.getAutoSortDir()==="desc")?"desc":"asc"},e.getNextSortingOrder=n=>{var r,i;const o=e.getFirstSortDir(),a=e.getIsSorted();return a?a!==o&&((r=t.options.enableSortingRemoval)==null||r)&&(!(n&&(i=t.options.enableMultiRemove)!=null)||i)?!1:a==="desc"?"asc":"desc":o},e.getCanSort=()=>{var n,r;return((n=e.columnDef.enableSorting)!=null?n:!0)&&((r=t.options.enableSorting)!=null?r:!0)&&!!e.accessorFn},e.getCanMultiSort=()=>{var n,r;return(n=(r=e.columnDef.enableMultiSort)!=null?r:t.options.enableMultiSort)!=null?n:!!e.accessorFn},e.getIsSorted=()=>{var n;const r=(n=t.getState().sorting)==null?void 0:n.find(i=>i.id===e.id);return r?r.desc?"desc":"asc":!1},e.getSortIndex=()=>{var n,r;return(n=(r=t.getState().sorting)==null?void 0:r.findIndex(i=>i.id===e.id))!=null?n:-1},e.clearSorting=()=>{t.setSorting(n=>n!=null&&n.length?n.filter(r=>r.id!==e.id):[])},e.getToggleSortingHandler=()=>{const n=e.getCanSort();return r=>{n&&(r.persist==null||r.persist(),e.toggleSorting==null||e.toggleSorting(void 0,e.getCanMultiSort()?t.options.isMultiSortEvent==null?void 0:t.options.isMultiSortEvent(r):!1))}}},createTable:e=>{e.setSorting=t=>e.options.onSortingChange==null?void 0:e.options.onSortingChange(t),e.resetSorting=t=>{var n,r;e.setSorting(t?[]:(n=(r=e.initialState)==null?void 0:r.sorting)!=null?n:[])},e.getPreSortedRowModel=()=>e.getGroupedRowModel(),e.getSortedRowModel=()=>(!e._getSortedRowModel&&e.options.getSortedRowModel&&(e._getSortedRowModel=e.options.getSortedRowModel(e)),e.options.manualSorting||!e._getSortedRowModel?e.getPreSortedRowModel():e._getSortedRowModel())}},YVe=[vVe,IVe,MVe,RVe,yVe,bVe,NVe,LVe,GVe,kVe,FVe,jVe,BVe,zVe,DVe];function ZVe(e){var t,n;const r=[...YVe,...(t=e._features)!=null?t:[]];let i={_features:r};const o=i._features.reduce((h,p)=>Object.assign(h,p.getDefaultOptions==null?void 0:p.getDefaultOptions(i)),{}),a=h=>i.options.mergeOptions?i.options.mergeOptions(o,h):{...o,...h};let u={...{},...(n=e.initialState)!=null?n:{}};i._features.forEach(h=>{var p;u=(p=h.getInitialState==null?void 0:h.getInitialState(u))!=null?p:u});const l=[];let c=!1;const f={_features:r,options:{...o,...e},initialState:u,_queue:h=>{l.push(h),c||(c=!0,Promise.resolve().then(()=>{for(;l.length;)l.shift()();c=!1}).catch(p=>setTimeout(()=>{throw p})))},reset:()=>{i.setState(i.initialState)},setOptions:h=>{const p=fl(h,i.options);i.options=a(p)},getState:()=>i.options.state,setState:h=>{i.options.onStateChange==null||i.options.onStateChange(h)},_getRowId:(h,p,m)=>{var v;return(v=i.options.getRowId==null?void 0:i.options.getRowId(h,p,m))!=null?v:`${m?[m.id,p].join("."):p}`},getCoreRowModel:()=>(i._getCoreRowModel||(i._getCoreRowModel=i.options.getCoreRowModel(i)),i._getCoreRowModel()),getRowModel:()=>i.getPaginationRowModel(),getRow:(h,p)=>{let m=(p?i.getPrePaginationRowModel():i.getRowModel()).rowsById[h];if(!m&&(m=i.getCoreRowModel().rowsById[h],!m))throw new Error;return m},_getDefaultColumnDef:St(()=>[i.options.defaultColumn],h=>{var p;return h=(p=h)!=null?p:{},{header:m=>{const v=m.header.column.columnDef;return v.accessorKey?v.accessorKey:v.accessorFn?v.id:null},cell:m=>{var v,b;return(v=(b=m.renderValue())==null||b.toString==null?void 0:b.toString())!=null?v:null},...i._features.reduce((m,v)=>Object.assign(m,v.getDefaultColumnDef==null?void 0:v.getDefaultColumnDef()),{}),...h}},Ct(e,"debugColumns")),_getColumnDefs:()=>i.options.columns,getAllColumns:St(()=>[i._getColumnDefs()],h=>{const p=function(m,v,b){return b===void 0&&(b=0),m.map(w=>{const x=mVe(i,w,b,v),S=w;return x.columns=S.columns?p(S.columns,x,b+1):[],x})};return p(h)},Ct(e,"debugColumns")),getAllFlatColumns:St(()=>[i.getAllColumns()],h=>h.flatMap(p=>p.getFlatColumns()),Ct(e,"debugColumns")),_getAllFlatColumnsById:St(()=>[i.getAllFlatColumns()],h=>h.reduce((p,m)=>(p[m.id]=m,p),{}),Ct(e,"debugColumns")),getAllLeafColumns:St(()=>[i.getAllColumns(),i._getOrderColumnsFn()],(h,p)=>{let m=h.flatMap(v=>v.getLeafColumns());return p(m)},Ct(e,"debugColumns")),getColumn:h=>i._getAllFlatColumnsById()[h]};Object.assign(i,f);for(let h=0;hSt(()=>[e.options.data],t=>{const n={rows:[],flatRows:[],rowsById:{}},r=function(i,o,a){o===void 0&&(o=0);const s=[];for(let l=0;le._autoResetPageIndex()))}function XVe(e){const t=[],n=r=>{var i;t.push(r),(i=r.subRows)!=null&&i.length&&r.getIsExpanded()&&r.subRows.forEach(n)};return e.rows.forEach(n),{rows:t,flatRows:e.flatRows,rowsById:e.rowsById}}function LG(e,t,n){return n.options.filterFromLeafRows?QVe(e,t,n):JVe(e,t,n)}function QVe(e,t,n){var r;const i=[],o={},a=(r=n.options.maxLeafRowFilterDepth)!=null?r:100,s=function(u,l){l===void 0&&(l=0);const c=[];for(let h=0;hSt(()=>[e.getPreFilteredRowModel(),e.getState().columnFilters,e.getState().globalFilter,e.getFilteredRowModel()],(n,r,i)=>{if(!n.rows.length||!(r!=null&&r.length)&&!i)return n;const o=[...r.map(s=>s.id).filter(s=>s!==t),i?"__global__":void 0].filter(Boolean),a=s=>{for(let u=0;uSt(()=>{var n;return[(n=e.getColumn(t))==null?void 0:n.getFacetedRowModel()]},n=>{if(!n)return new Map;let r=new Map;for(let o=0;oSt(()=>[e.getPreFilteredRowModel(),e.getState().columnFilters,e.getState().globalFilter],(t,n,r)=>{if(!t.rows.length||!(n!=null&&n.length)&&!r){for(let h=0;h{var p;const m=e.getColumn(h.id);if(!m)return;const v=m.getFilterFn();v&&i.push({id:h.id,filterFn:v,resolvedValue:(p=v.resolveFilterValue==null?void 0:v.resolveFilterValue(h.value))!=null?p:h.value})});const a=(n??[]).map(h=>h.id),s=e.getGlobalFilterFn(),u=e.getAllLeafColumns().filter(h=>h.getCanGlobalFilter());r&&s&&u.length&&(a.push("__global__"),u.forEach(h=>{var p;o.push({id:h.id,filterFn:s,resolvedValue:(p=s.resolveFilterValue==null?void 0:s.resolveFilterValue(r))!=null?p:r})}));let l,c;for(let h=0;h{p.columnFiltersMeta[v]=b})}if(o.length){for(let m=0;m{p.columnFiltersMeta[v]=b})){p.columnFilters.__global__=!0;break}}p.columnFilters.__global__!==!0&&(p.columnFilters.__global__=!1)}}const f=h=>{for(let p=0;pe._autoResetPageIndex()))}function CQe(e){return t=>St(()=>[t.getState().pagination,t.getPrePaginationRowModel(),t.options.paginateExpandedRows?void 0:t.getState().expanded],(n,r)=>{if(!r.rows.length)return r;const{pageSize:i,pageIndex:o}=n;let{rows:a,flatRows:s,rowsById:u}=r;const l=i*o,c=l+i;a=a.slice(l,c);let f;t.options.paginateExpandedRows?f={rows:a,flatRows:s,rowsById:u}:f=XVe({rows:a,flatRows:s,rowsById:u}),f.flatRows=[];const h=p=>{f.flatRows.push(p),p.subRows.length&&p.subRows.forEach(h)};return f.rows.forEach(h),f},Ct(t.options,"debugTable"))}function EQe(){return e=>St(()=>[e.getState().sorting,e.getPreSortedRowModel()],(t,n)=>{if(!n.rows.length||!(t!=null&&t.length))return n;const r=e.getState().sorting,i=[],o=r.filter(u=>{var l;return(l=e.getColumn(u.id))==null?void 0:l.getCanSort()}),a={};o.forEach(u=>{const l=e.getColumn(u.id);l&&(a[u.id]={sortUndefined:l.columnDef.sortUndefined,invertSorting:l.columnDef.invertSorting,sortingFn:l.getSortingFn()})});const s=u=>{const l=u.map(c=>({...c}));return l.sort((c,f)=>{for(let p=0;p{var f;i.push(c),(f=c.subRows)!=null&&f.length&&(c.subRows=s(c.subRows))}),l};return{rows:s(n.rows),flatRows:i,rowsById:n.rowsById}},Ct(e.options,"debugTable","getSortedRowModel",()=>e._autoResetPageIndex()))}/** + * react-table + * + * Copyright (c) TanStack + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function OQe(e,t){return e?eWe(e)?y.createElement(e,t):e:null}function eWe(e){return tWe(e)||typeof e=="function"||nWe(e)}function tWe(e){return typeof e=="function"&&(()=>{const t=Object.getPrototypeOf(e);return t.prototype&&t.prototype.isReactComponent})()}function nWe(e){return typeof e=="object"&&typeof e.$$typeof=="symbol"&&["react.memo","react.forward_ref"].includes(e.$$typeof.description)}function AQe(e){const t={state:{},onStateChange:()=>{},renderFallbackValue:null,...e},[n]=y.useState(()=>({current:ZVe(t)})),[r,i]=y.useState(()=>n.current.initialState);return n.current.setOptions(o=>({...o,...e,state:{...r,...e.state},onStateChange:a=>{i(a),e.onStateChange==null||e.onStateChange(a)}})),n.current}const FG=Object.freeze({left:0,top:0,width:16,height:16}),bx=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),fP=Object.freeze({...FG,...bx}),f4=Object.freeze({...fP,body:"",hidden:!1});function rWe(e,t){const n={};!e.hFlip!=!t.hFlip&&(n.hFlip=!0),!e.vFlip!=!t.vFlip&&(n.vFlip=!0);const r=((e.rotate||0)+(t.rotate||0))%4;return r&&(n.rotate=r),n}function NI(e,t){const n=rWe(e,t);for(const r in f4)r in bx?r in e&&!(r in n)&&(n[r]=bx[r]):r in t?n[r]=t[r]:r in e&&(n[r]=e[r]);return n}function iWe(e,t){const n=e.icons,r=e.aliases||Object.create(null),i=Object.create(null);function o(a){if(n[a])return i[a]=[];if(!(a in i)){i[a]=null;const s=r[a]&&r[a].parent,u=s&&o(s);u&&(i[a]=[s].concat(u))}return i[a]}return Object.keys(n).concat(Object.keys(r)).forEach(o),i}function oWe(e,t,n){const r=e.icons,i=e.aliases||Object.create(null);let o={};function a(s){o=NI(r[s]||i[s],o)}return a(t),n.forEach(a),NI(e,o)}function jG(e,t){const n=[];if(typeof e!="object"||typeof e.icons!="object")return n;e.not_found instanceof Array&&e.not_found.forEach(i=>{t(i,null),n.push(i)});const r=iWe(e);for(const i in r){const o=r[i];o&&(t(i,oWe(e,i,o)),n.push(i))}return n}const aWe={provider:"",aliases:{},not_found:{},...FG};function S3(e,t){for(const n in t)if(n in e&&typeof e[n]!=typeof t[n])return!1;return!0}function BG(e){if(typeof e!="object"||e===null)return null;const t=e;if(typeof t.prefix!="string"||!e.icons||typeof e.icons!="object"||!S3(e,aWe))return null;const n=t.icons;for(const i in n){const o=n[i];if(!i||typeof o.body!="string"||!S3(o,f4))return null}const r=t.aliases||Object.create(null);for(const i in r){const o=r[i],a=o.parent;if(!i||typeof a!="string"||!n[a]&&!r[a]||!S3(o,f4))return null}return t}const zG=/^[a-z0-9]+(-[a-z0-9]+)*$/,mw=(e,t,n,r="")=>{const i=e.split(":");if(e.slice(0,1)==="@"){if(i.length<2||i.length>3)return null;r=i.shift().slice(1)}if(i.length>3||!i.length)return null;if(i.length>1){const s=i.pop(),u=i.pop(),l={provider:i.length>0?i[0]:r,prefix:u,name:s};return t&&!iy(l)?null:l}const o=i[0],a=o.split("-");if(a.length>1){const s={provider:r,prefix:a.shift(),name:a.join("-")};return t&&!iy(s)?null:s}if(n&&r===""){const s={provider:r,prefix:"",name:o};return t&&!iy(s,n)?null:s}return null},iy=(e,t)=>e?!!((t&&e.prefix===""||e.prefix)&&e.name):!1,LI=Object.create(null);function sWe(e,t){return{provider:e,prefix:t,icons:Object.create(null),missing:new Set}}function lf(e,t){const n=LI[e]||(LI[e]=Object.create(null));return n[t]||(n[t]=sWe(e,t))}function dP(e,t){return BG(t)?jG(t,(n,r)=>{r?e.icons[n]=r:e.missing.add(n)}):[]}function uWe(e,t,n){try{if(typeof n.body=="string")return e.icons[t]={...n},!0}catch{}return!1}let rm=!1;function UG(e){return typeof e=="boolean"&&(rm=e),rm}function FI(e){const t=typeof e=="string"?mw(e,!0,rm):e;if(t){const n=lf(t.provider,t.prefix),r=t.name;return n.icons[r]||(n.missing.has(r)?null:void 0)}}function lWe(e,t){const n=mw(e,!0,rm);if(!n)return!1;const r=lf(n.provider,n.prefix);return t?uWe(r,n.name,t):(r.missing.add(n.name),!0)}function cWe(e,t){if(typeof e!="object")return!1;if(typeof t!="string"&&(t=e.provider||""),rm&&!t&&!e.prefix){let i=!1;return BG(e)&&(e.prefix="",jG(e,(o,a)=>{lWe(o,a)&&(i=!0)})),i}const n=e.prefix;if(!iy({provider:t,prefix:n,name:"a"}))return!1;const r=lf(t,n);return!!dP(r,e)}const VG=Object.freeze({width:null,height:null}),WG=Object.freeze({...VG,...bx}),fWe=/(-?[0-9.]*[0-9]+[0-9.]*)/g,dWe=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function jI(e,t,n){if(t===1)return e;if(n=n||100,typeof e=="number")return Math.ceil(e*t*n)/n;if(typeof e!="string")return e;const r=e.split(fWe);if(r===null||!r.length)return e;const i=[];let o=r.shift(),a=dWe.test(o);for(;;){if(a){const s=parseFloat(o);isNaN(s)?i.push(o):i.push(Math.ceil(s*t*n)/n)}else i.push(o);if(o=r.shift(),o===void 0)return i.join("");a=!a}}function hWe(e,t="defs"){let n="";const r=e.indexOf("<"+t);for(;r>=0;){const i=e.indexOf(">",r),o=e.indexOf("",o);if(a===-1)break;n+=e.slice(i+1,o).trim(),e=e.slice(0,r).trim()+e.slice(a+1)}return{defs:n,content:e}}function pWe(e,t){return e?""+e+""+t:t}function gWe(e,t,n){const r=hWe(e);return pWe(r.defs,t+r.content+n)}const mWe=e=>e==="unset"||e==="undefined"||e==="none";function vWe(e,t){const n={...fP,...e},r={...WG,...t},i={left:n.left,top:n.top,width:n.width,height:n.height};let o=n.body;[n,r].forEach(v=>{const b=[],w=v.hFlip,x=v.vFlip;let S=v.rotate;w?x?S+=2:(b.push("translate("+(i.width+i.left).toString()+" "+(0-i.top).toString()+")"),b.push("scale(-1 1)"),i.top=i.left=0):x&&(b.push("translate("+(0-i.left).toString()+" "+(i.height+i.top).toString()+")"),b.push("scale(1 -1)"),i.top=i.left=0);let O;switch(S<0&&(S-=Math.floor(S/4)*4),S=S%4,S){case 1:O=i.height/2+i.top,b.unshift("rotate(90 "+O.toString()+" "+O.toString()+")");break;case 2:b.unshift("rotate(180 "+(i.width/2+i.left).toString()+" "+(i.height/2+i.top).toString()+")");break;case 3:O=i.width/2+i.left,b.unshift("rotate(-90 "+O.toString()+" "+O.toString()+")");break}S%2===1&&(i.left!==i.top&&(O=i.left,i.left=i.top,i.top=O),i.width!==i.height&&(O=i.width,i.width=i.height,i.height=O)),b.length&&(o=gWe(o,'',""))});const a=r.width,s=r.height,u=i.width,l=i.height;let c,f;a===null?(f=s===null?"1em":s==="auto"?l:s,c=jI(f,u/l)):(c=a==="auto"?u:a,f=s===null?jI(c,l/u):s==="auto"?l:s);const h={},p=(v,b)=>{mWe(b)||(h[v]=b.toString())};p("width",c),p("height",f);const m=[i.left,i.top,u,l];return h.viewBox=m.join(" "),{attributes:h,viewBox:m,body:o}}const yWe=/\sid="(\S+)"/g,bWe="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let xWe=0;function wWe(e,t=bWe){const n=[];let r;for(;r=yWe.exec(e);)n.push(r[1]);if(!n.length)return e;const i="suffix"+(Math.random()*16777216|Date.now()).toString(16);return n.forEach(o=>{const a=typeof t=="function"?t(o):t+(xWe++).toString(),s=o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e=e.replace(new RegExp('([#;"])('+s+')([")]|\\.[a-z])',"g"),"$1"+a+i+"$3")}),e=e.replace(new RegExp(i,"g"),""),e}const d4=Object.create(null);function _We(e,t){d4[e]=t}function h4(e){return d4[e]||d4[""]}function hP(e){let t;if(typeof e.resources=="string")t=[e.resources];else if(t=e.resources,!(t instanceof Array)||!t.length)return null;return{resources:t,path:e.path||"/",maxURL:e.maxURL||500,rotate:e.rotate||750,timeout:e.timeout||5e3,random:e.random===!0,index:e.index||0,dataAfterTimeout:e.dataAfterTimeout!==!1}}const pP=Object.create(null),Xp=["https://api.simplesvg.com","https://api.unisvg.com"],oy=[];for(;Xp.length>0;)Xp.length===1||Math.random()>.5?oy.push(Xp.shift()):oy.push(Xp.pop());pP[""]=hP({resources:["https://api.iconify.design"].concat(oy)});function SWe(e,t){const n=hP(t);return n===null?!1:(pP[e]=n,!0)}function gP(e){return pP[e]}const CWe=()=>{let e;try{if(e=fetch,typeof e=="function")return e}catch{}};let BI=CWe();function EWe(e,t){const n=gP(e);if(!n)return 0;let r;if(!n.maxURL)r=0;else{let i=0;n.resources.forEach(a=>{i=Math.max(i,a.length)});const o=t+".json?icons=";r=n.maxURL-i-n.path.length-o.length}return r}function OWe(e){return e===404}const AWe=(e,t,n)=>{const r=[],i=EWe(e,t),o="icons";let a={type:o,provider:e,prefix:t,icons:[]},s=0;return n.forEach((u,l)=>{s+=u.length+1,s>=i&&l>0&&(r.push(a),a={type:o,provider:e,prefix:t,icons:[]},s=u.length),a.icons.push(u)}),r.push(a),r};function PWe(e){if(typeof e=="string"){const t=gP(e);if(t)return t.path}return"/"}const kWe=(e,t,n)=>{if(!BI){n("abort",424);return}let r=PWe(t.provider);switch(t.type){case"icons":{const o=t.prefix,s=t.icons.join(","),u=new URLSearchParams({icons:s});r+=o+".json?"+u.toString();break}case"custom":{const o=t.uri;r+=o.slice(0,1)==="/"?o.slice(1):o;break}default:n("abort",400);return}let i=503;BI(e+r).then(o=>{const a=o.status;if(a!==200){setTimeout(()=>{n(OWe(a)?"abort":"next",a)});return}return i=501,o.json()}).then(o=>{if(typeof o!="object"||o===null){setTimeout(()=>{o===404?n("abort",o):n("next",i)});return}setTimeout(()=>{n("success",o)})}).catch(()=>{n("next",i)})},TWe={prepare:AWe,send:kWe};function MWe(e){const t={loaded:[],missing:[],pending:[]},n=Object.create(null);e.sort((i,o)=>i.provider!==o.provider?i.provider.localeCompare(o.provider):i.prefix!==o.prefix?i.prefix.localeCompare(o.prefix):i.name.localeCompare(o.name));let r={provider:"",prefix:"",name:""};return e.forEach(i=>{if(r.name===i.name&&r.prefix===i.prefix&&r.provider===i.provider)return;r=i;const o=i.provider,a=i.prefix,s=i.name,u=n[o]||(n[o]=Object.create(null)),l=u[a]||(u[a]=lf(o,a));let c;s in l.icons?c=t.loaded:a===""||l.missing.has(s)?c=t.missing:c=t.pending;const f={provider:o,prefix:a,name:s};c.push(f)}),t}function HG(e,t){e.forEach(n=>{const r=n.loaderCallbacks;r&&(n.loaderCallbacks=r.filter(i=>i.id!==t))})}function RWe(e){e.pendingCallbacksFlag||(e.pendingCallbacksFlag=!0,setTimeout(()=>{e.pendingCallbacksFlag=!1;const t=e.loaderCallbacks?e.loaderCallbacks.slice(0):[];if(!t.length)return;let n=!1;const r=e.provider,i=e.prefix;t.forEach(o=>{const a=o.icons,s=a.pending.length;a.pending=a.pending.filter(u=>{if(u.prefix!==i)return!0;const l=u.name;if(e.icons[l])a.loaded.push({provider:r,prefix:i,name:l});else if(e.missing.has(l))a.missing.push({provider:r,prefix:i,name:l});else return n=!0,!0;return!1}),a.pending.length!==s&&(n||HG([e],o.id),o.callback(a.loaded.slice(0),a.missing.slice(0),a.pending.slice(0),o.abort))})}))}let DWe=0;function $We(e,t,n){const r=DWe++,i=HG.bind(null,n,r);if(!t.pending.length)return i;const o={id:r,icons:t,callback:e,abort:i};return n.forEach(a=>{(a.loaderCallbacks||(a.loaderCallbacks=[])).push(o)}),i}function IWe(e,t=!0,n=!1){const r=[];return e.forEach(i=>{const o=typeof i=="string"?mw(i,t,n):i;o&&r.push(o)}),r}var NWe={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function LWe(e,t,n,r){const i=e.resources.length,o=e.random?Math.floor(Math.random()*i):e.index;let a;if(e.random){let C=e.resources.slice(0);for(a=[];C.length>1;){const k=Math.floor(Math.random()*C.length);a.push(C[k]),C=C.slice(0,k).concat(C.slice(k+1))}a=a.concat(C)}else a=e.resources.slice(o).concat(e.resources.slice(0,o));const s=Date.now();let u="pending",l=0,c,f=null,h=[],p=[];typeof r=="function"&&p.push(r);function m(){f&&(clearTimeout(f),f=null)}function v(){u==="pending"&&(u="aborted"),m(),h.forEach(C=>{C.status==="pending"&&(C.status="aborted")}),h=[]}function b(C,k){k&&(p=[]),typeof C=="function"&&p.push(C)}function w(){return{startTime:s,payload:t,status:u,queriesSent:l,queriesPending:h.length,subscribe:b,abort:v}}function x(){u="failed",p.forEach(C=>{C(void 0,c)})}function S(){h.forEach(C=>{C.status==="pending"&&(C.status="aborted")}),h=[]}function O(C,k,M){const L=k!=="success";switch(h=h.filter(U=>U!==C),u){case"pending":break;case"failed":if(L||!e.dataAfterTimeout)return;break;default:return}if(k==="abort"){c=M,x();return}if(L){c=M,h.length||(a.length?E():x());return}if(m(),S(),!e.random){const U=e.resources.indexOf(C.resource);U!==-1&&U!==e.index&&(e.index=U)}u="completed",p.forEach(U=>{U(M)})}function E(){if(u!=="pending")return;m();const C=a.shift();if(C===void 0){if(h.length){f=setTimeout(()=>{m(),u==="pending"&&(S(),x())},e.timeout);return}x();return}const k={status:"pending",resource:C,callback:(M,L)=>{O(k,M,L)}};h.push(k),l++,f=setTimeout(E,e.rotate),n(C,t,k.callback)}return setTimeout(E),w}function KG(e){const t={...NWe,...e};let n=[];function r(){n=n.filter(s=>s().status==="pending")}function i(s,u,l){const c=LWe(t,s,u,(f,h)=>{r(),l&&l(f,h)});return n.push(c),c}function o(s){return n.find(u=>s(u))||null}return{query:i,find:o,setIndex:s=>{t.index=s},getIndex:()=>t.index,cleanup:r}}function zI(){}const C3=Object.create(null);function FWe(e){if(!C3[e]){const t=gP(e);if(!t)return;const n=KG(t),r={config:t,redundancy:n};C3[e]=r}return C3[e]}function jWe(e,t,n){let r,i;if(typeof e=="string"){const o=h4(e);if(!o)return n(void 0,424),zI;i=o.send;const a=FWe(e);a&&(r=a.redundancy)}else{const o=hP(e);if(o){r=KG(o);const a=e.resources?e.resources[0]:"",s=h4(a);s&&(i=s.send)}}return!r||!i?(n(void 0,424),zI):r.query(t,i,n)().abort}const UI="iconify2",im="iconify",qG=im+"-count",VI=im+"-version",GG=36e5,BWe=168,zWe=50;function p4(e,t){try{return e.getItem(t)}catch{}}function mP(e,t,n){try{return e.setItem(t,n),!0}catch{}}function WI(e,t){try{e.removeItem(t)}catch{}}function g4(e,t){return mP(e,qG,t.toString())}function m4(e){return parseInt(p4(e,qG))||0}const vw={local:!0,session:!0},YG={local:new Set,session:new Set};let vP=!1;function UWe(e){vP=e}let T1=typeof window>"u"?{}:window;function ZG(e){const t=e+"Storage";try{if(T1&&T1[t]&&typeof T1[t].length=="number")return T1[t]}catch{}vw[e]=!1}function XG(e,t){const n=ZG(e);if(!n)return;const r=p4(n,VI);if(r!==UI){if(r){const s=m4(n);for(let u=0;u{const u=im+s.toString(),l=p4(n,u);if(typeof l=="string"){try{const c=JSON.parse(l);if(typeof c=="object"&&typeof c.cached=="number"&&c.cached>i&&typeof c.provider=="string"&&typeof c.data=="object"&&typeof c.data.prefix=="string"&&t(c,s))return!0}catch{}WI(n,u)}};let a=m4(n);for(let s=a-1;s>=0;s--)o(s)||(s===a-1?(a--,g4(n,a)):YG[e].add(s))}function QG(){if(!vP){UWe(!0);for(const e in vw)XG(e,t=>{const n=t.data,r=t.provider,i=n.prefix,o=lf(r,i);if(!dP(o,n).length)return!1;const a=n.lastModified||-1;return o.lastModifiedCached=o.lastModifiedCached?Math.min(o.lastModifiedCached,a):a,!0})}}function VWe(e,t){const n=e.lastModifiedCached;if(n&&n>=t)return n===t;if(e.lastModifiedCached=t,n)for(const r in vw)XG(r,i=>{const o=i.data;return i.provider!==e.provider||o.prefix!==e.prefix||o.lastModified===t});return!0}function WWe(e,t){vP||QG();function n(r){let i;if(!vw[r]||!(i=ZG(r)))return;const o=YG[r];let a;if(o.size)o.delete(a=Array.from(o).shift());else if(a=m4(i),a>=zWe||!g4(i,a+1))return;const s={cached:Math.floor(Date.now()/GG),provider:e.provider,data:t};return mP(i,im+a.toString(),JSON.stringify(s))}t.lastModified&&!VWe(e,t.lastModified)||Object.keys(t.icons).length&&(t.not_found&&(t=Object.assign({},t),delete t.not_found),n("local")||n("session"))}function HWe(){}function KWe(e){e.iconsLoaderFlag||(e.iconsLoaderFlag=!0,setTimeout(()=>{e.iconsLoaderFlag=!1,RWe(e)}))}function qWe(e){const t=[],n=[];return e.forEach(r=>{(r.match(zG)?t:n).push(r)}),{valid:t,invalid:n}}function Qp(e,t,n,r){function i(){const o=e.pendingIcons;t.forEach(a=>{o&&o.delete(a),e.icons[a]||e.missing.add(a)})}if(n&&typeof n=="object")try{if(!dP(e,n).length){i();return}r&&WWe(e,n)}catch(o){console.error(o)}i(),KWe(e)}function HI(e,t){e instanceof Promise?e.then(n=>{t(n)}).catch(()=>{t(null)}):t(e)}function GWe(e,t){e.iconsToLoad?e.iconsToLoad=e.iconsToLoad.concat(t).sort():e.iconsToLoad=t,e.iconsQueueFlag||(e.iconsQueueFlag=!0,setTimeout(()=>{e.iconsQueueFlag=!1;const{provider:n,prefix:r}=e,i=e.iconsToLoad;if(delete e.iconsToLoad,!i||!i.length)return;const o=e.loadIcon;if(e.loadIcons&&(i.length>1||!o)){HI(e.loadIcons(i,r,n),c=>{Qp(e,i,c,!1)});return}if(o){i.forEach(c=>{const f=o(c,r,n);HI(f,h=>{const p=h?{prefix:r,icons:{[c]:h}}:null;Qp(e,[c],p,!1)})});return}const{valid:a,invalid:s}=qWe(i);if(s.length&&Qp(e,s,null,!1),!a.length)return;const u=r.match(zG)?h4(n):null;if(!u){Qp(e,a,null,!1);return}u.prepare(n,r,a).forEach(c=>{jWe(n,c,f=>{Qp(e,c.icons,f,!0)})})}))}const YWe=(e,t)=>{const n=IWe(e,!0,UG()),r=MWe(n);if(!r.pending.length){let u=!0;return setTimeout(()=>{u&&t(r.loaded,r.missing,r.pending,HWe)}),()=>{u=!1}}const i=Object.create(null),o=[];let a,s;return r.pending.forEach(u=>{const{provider:l,prefix:c}=u;if(c===s&&l===a)return;a=l,s=c,o.push(lf(l,c));const f=i[l]||(i[l]=Object.create(null));f[c]||(f[c]=[])}),r.pending.forEach(u=>{const{provider:l,prefix:c,name:f}=u,h=lf(l,c),p=h.pendingIcons||(h.pendingIcons=new Set);p.has(f)||(p.add(f),i[l][c].push(f))}),o.forEach(u=>{const l=i[u.provider][u.prefix];l.length&&GWe(u,l)}),$We(t,r,o)};function ZWe(e,t){const n={...e};for(const r in t){const i=t[r],o=typeof i;r in VG?(i===null||i&&(o==="string"||o==="number"))&&(n[r]=i):o===typeof n[r]&&(n[r]=r==="rotate"?i%4:i)}return n}const XWe=/[\s,]+/;function QWe(e,t){t.split(XWe).forEach(n=>{switch(n.trim()){case"horizontal":e.hFlip=!0;break;case"vertical":e.vFlip=!0;break}})}function JWe(e,t=0){const n=e.replace(/^-?[0-9.]*/,"");function r(i){for(;i<0;)i+=4;return i%4}if(n===""){const i=parseInt(e);return isNaN(i)?0:r(i)}else if(n!==e){let i=0;switch(n){case"%":i=25;break;case"deg":i=90}if(i){let o=parseFloat(e.slice(0,e.length-n.length));return isNaN(o)?0:(o=o/i,o%1===0?r(o):0)}}return t}function eHe(e,t){let n=e.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const r in t)n+=" "+r+'="'+t[r]+'"';return'"+e+""}function tHe(e){return e.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(//g,"%3E").replace(/\s+/g," ")}function nHe(e){return"data:image/svg+xml,"+tHe(e)}function rHe(e){return'url("'+nHe(e)+'")'}let M0;function iHe(){try{M0=window.trustedTypes.createPolicy("iconify",{createHTML:e=>e})}catch{M0=null}}function oHe(e){return M0===void 0&&iHe(),M0?M0.createHTML(e):e}const JG={...WG,inline:!1},aHe={xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},sHe={display:"inline-block"},v4={backgroundColor:"currentColor"},eY={backgroundColor:"transparent"},KI={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},qI={WebkitMask:v4,mask:v4,background:eY};for(const e in qI){const t=qI[e];for(const n in KI)t[e+n]=KI[n]}const uHe={...JG,inline:!0};function GI(e){return e+(e.match(/^[-0-9.]+$/)?"px":"")}const lHe=(e,t,n)=>{const r=t.inline?uHe:JG,i=ZWe(r,t),o=t.mode||"svg",a={},s=t.style||{},u={...o==="svg"?aHe:{}};if(n){const b=mw(n,!1,!0);if(b){const w=["iconify"],x=["provider","prefix"];for(const S of x)b[S]&&w.push("iconify--"+b[S]);u.className=w.join(" ")}}for(let b in t){const w=t[b];if(w!==void 0)switch(b){case"icon":case"style":case"children":case"onLoad":case"mode":case"ssr":break;case"_ref":u.ref=w;break;case"className":u[b]=(u[b]?u[b]+" ":"")+w;break;case"inline":case"hFlip":case"vFlip":i[b]=w===!0||w==="true"||w===1;break;case"flip":typeof w=="string"&&QWe(i,w);break;case"color":a.color=w;break;case"rotate":typeof w=="string"?i[b]=JWe(w):typeof w=="number"&&(i[b]=w);break;case"ariaHidden":case"aria-hidden":w!==!0&&w!=="true"&&delete u["aria-hidden"];break;default:r[b]===void 0&&(u[b]=w)}}const l=vWe(e,i),c=l.attributes;if(i.inline&&(a.verticalAlign="-0.125em"),o==="svg"){u.style={...a,...s},Object.assign(u,c);let b=0,w=t.id;return typeof w=="string"&&(w=w.replace(/-/g,"_")),u.dangerouslySetInnerHTML={__html:oHe(wWe(l.body,w?()=>w+"ID"+b++:"iconifyReact"))},y.createElement("svg",u)}const{body:f,width:h,height:p}=e,m=o==="mask"||(o==="bg"?!1:f.indexOf("currentColor")!==-1),v=eHe(f,{...c,width:h+"",height:p+""});return u.style={...a,"--svg":rHe(v),width:GI(c.width),height:GI(c.height),...sHe,...m?v4:eY,...s},y.createElement("span",u)};UG(!0);_We("",TWe);if(typeof document<"u"&&typeof window<"u"){QG();const e=window;if(e.IconifyPreload!==void 0){const t=e.IconifyPreload,n="Invalid IconifyPreload syntax.";typeof t=="object"&&t!==null&&(t instanceof Array?t:[t]).forEach(r=>{try{(typeof r!="object"||r===null||r instanceof Array||typeof r.icons!="object"||typeof r.prefix!="string"||!cWe(r))&&console.error(n)}catch{console.error(n)}})}if(e.IconifyProviders!==void 0){const t=e.IconifyProviders;if(typeof t=="object"&&t!==null)for(let n in t){const r="IconifyProviders["+n+"] is invalid.";try{const i=t[n];if(typeof i!="object"||!i||i.resources===void 0)continue;SWe(n,i)||console.error(r)}catch{console.error(r)}}}}function tY(e){const[t,n]=y.useState(!!e.ssr),[r,i]=y.useState({});function o(p){if(p){const m=e.icon;if(typeof m=="object")return{name:"",data:m};const v=FI(m);if(v)return{name:m,data:v}}return{name:""}}const[a,s]=y.useState(o(!!e.ssr));function u(){const p=r.callback;p&&(p(),i({}))}function l(p){if(JSON.stringify(a)!==JSON.stringify(p))return u(),s(p),!0}function c(){var p;const m=e.icon;if(typeof m=="object"){l({name:"",data:m});return}const v=FI(m);if(l({name:m,data:v}))if(v===void 0){const b=YWe([m],c);i({callback:b})}else v&&((p=e.onLoad)===null||p===void 0||p.call(e,m))}y.useEffect(()=>(n(!0),u),[]),y.useEffect(()=>{t&&c()},[e.icon,t]);const{name:f,data:h}=a;return h?lHe({...fP,...h},e,f):e.children?e.children:y.createElement("span",{})}const PQe=y.forwardRef((e,t)=>tY({...e,_ref:t}));y.forwardRef((e,t)=>tY({inline:!0,...e,_ref:t}));var nY="AlertDialog",[cHe,kQe]=vi(nY,[ez]),Du=ez(),rY=e=>{const{__scopeAlertDialog:t,...n}=e,r=Du(t);return I.jsx(J0e,{...r,...n,modal:!0})};rY.displayName=nY;var fHe="AlertDialogTrigger",iY=y.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,i=Du(n);return I.jsx(ege,{...i,...r,ref:t})});iY.displayName=fHe;var dHe="AlertDialogPortal",oY=e=>{const{__scopeAlertDialog:t,...n}=e,r=Du(t);return I.jsx(tge,{...r,...n})};oY.displayName=dHe;var hHe="AlertDialogOverlay",aY=y.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,i=Du(n);return I.jsx(nge,{...i,...r,ref:t})});aY.displayName=hHe;var Ld="AlertDialogContent",[pHe,gHe]=cHe(Ld),sY=y.forwardRef((e,t)=>{const{__scopeAlertDialog:n,children:r,...i}=e,o=Du(n),a=y.useRef(null),s=Yt(t,a),u=y.useRef(null);return I.jsx(Y0e,{contentName:Ld,titleName:uY,docsSlug:"alert-dialog",children:I.jsx(pHe,{scope:n,cancelRef:u,children:I.jsxs(rge,{role:"alertdialog",...o,...i,ref:s,onOpenAutoFocus:Ye(i.onOpenAutoFocus,l=>{l.preventDefault(),u.current?.focus({preventScroll:!0})}),onPointerDownOutside:l=>l.preventDefault(),onInteractOutside:l=>l.preventDefault(),children:[I.jsx(O5,{children:r}),I.jsx(vHe,{contentRef:a})]})})})});sY.displayName=Ld;var uY="AlertDialogTitle",lY=y.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,i=Du(n);return I.jsx(ige,{...i,...r,ref:t})});lY.displayName=uY;var cY="AlertDialogDescription",fY=y.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,i=Du(n);return I.jsx(oge,{...i,...r,ref:t})});fY.displayName=cY;var mHe="AlertDialogAction",dY=y.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,i=Du(n);return I.jsx(mz,{...i,...r,ref:t})});dY.displayName=mHe;var hY="AlertDialogCancel",pY=y.forwardRef((e,t)=>{const{__scopeAlertDialog:n,...r}=e,{cancelRef:i}=gHe(hY,n),o=Du(n),a=Yt(t,i);return I.jsx(mz,{...o,...r,ref:a})});pY.displayName=hY;var vHe=({contentRef:e})=>{const t=`\`${Ld}\` requires a description for the component to be accessible for screen reader users. + +You can add a description to the \`${Ld}\` by passing a \`${cY}\` component as a child, which also benefits sighted users by adding visible context to the dialog. + +Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${Ld}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component. + +For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return y.useEffect(()=>{document.getElementById(e.current?.getAttribute("aria-describedby"))||console.warn(t)},[t,e]),null},TQe=rY,MQe=iY,RQe=oY,DQe=aY,$Qe=sY,IQe=dY,NQe=pY,LQe=lY,FQe=fY;function fs(){return fs=Object.assign?Object.assign.bind():function(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:0,n=(ci[e[t+0]]+ci[e[t+1]]+ci[e[t+2]]+ci[e[t+3]]+"-"+ci[e[t+4]]+ci[e[t+5]]+"-"+ci[e[t+6]]+ci[e[t+7]]+"-"+ci[e[t+8]]+ci[e[t+9]]+"-"+ci[e[t+10]]+ci[e[t+11]]+ci[e[t+12]]+ci[e[t+13]]+ci[e[t+14]]+ci[e[t+15]]).toLowerCase();if(!wHe(n))throw TypeError("Stringified UUID is invalid");return n}function gY(e,t,n){e=e||{};var r=e.random||(e.rng||bHe)();return r[6]=r[6]&15|64,r[8]=r[8]&63|128,_He(r)}function Ar(e){return y.createElement("i",{className:"rmel-iconfont rmel-icon-"+e.type})}function SHe(e){return y.createElement("div",{className:"rc-md-navigation "+(e.visible?"visible":"in-visible")},y.createElement("div",{className:"navigation-nav left"},y.createElement("div",{className:"button-wrap"},e.left)),y.createElement("div",{className:"navigation-nav right"},y.createElement("div",{className:"button-wrap"},e.right)))}function CHe(e){return y.createElement("div",{className:"tool-bar",style:e.style},e.children)}var mY=function(e){Fn(t,e);function t(){for(var n,r=arguments.length,i=new Array(r),o=0;o"u")){var r="enUS";if(navigator.language){var i=navigator.language.split("-");r=i[0],i.length!==1&&(r+=i[i.length-1].toUpperCase())}if(navigator.browserLanguage){var o=navigator.browserLanguage.split("-");r=o[0],o[1]&&(r+=o[1].toUpperCase())}this.current!==r&&this.isAvailable(r)&&(this.current=r,dl.emit(dl.EVENT_LANG_CHANGE,this,r,this.langs[r]))}},t.isAvailable=function(r){return typeof this.langs[r]<"u"},t.add=function(r,i){this.langs[r]=i},t.setCurrent=function(r){if(!this.isAvailable(r))throw new Error("Language "+r+" is not exists");this.current!==r&&(this.current=r,dl.emit(dl.EVENT_LANG_CHANGE,this,r,this.langs[r]))},t.get=function(r,i){var o=this.langs[this.current][r]||"";return i&&Object.keys(i).forEach(function(a){o=o.replace(new RegExp("\\{"+a+"\\}","g"),i[a])}),o},t.getCurrent=function(){return this.current},e}(),Ln=new AHe;function om(e){"@babel/helpers - typeof";return om=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},om(e)}function PHe(e,t){if(om(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(om(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function kHe(e){var t=PHe(e,"string");return om(t)=="symbol"?t:t+""}function THe(e,t){for(var n=0;n=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function DHe(e,t){if(e){if(typeof e=="string")return YI(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return YI(e,t)}}function YI(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0)for(var s=RHe(n),u;!(u=s()).done;){var l=u.value;if(typeof a[l]<"u"&&!a[l])return!1}else if(a.metaKey||a.ctrlKey||a.shiftKey||a.altKey)return!1;return a.key?a.key===i:a.keyCode===r}function O3(e,t){var n=e.split(` +`),r=e.substr(0,t).split(` +`),i=r.length,o=r[r.length-1].length,a=n[r.length-1],s=r.length>1?r[r.length-2]:null,u=n.length>r.length?n[r.length]:null;return{line:i,col:o,beforeText:e.substr(0,t),afterText:e.substr(t),curLine:a,prevLine:s,nextLine:u}}var nd={bold:["**","**"],italic:["*","*"],underline:["++","++"],strikethrough:["~~","~~"],quote:[` +> `,` +`],inlinecode:["`","`"],code:["\n```\n","\n```\n"]};for(var R1=1;R1<=6;R1++)nd["h"+R1]=[` +`+$He("#",R1)+" ",` +`];function NHe(e){for(var t=e.row,n=t===void 0?2:t,r=e.col,i=r===void 0?2:r,o=["|"],a=["|"],s=["|"],u="",l=1;l<=i;l++)o.push(" Head |"),s.push(" --- |"),a.push(" Data |");for(var c=1;c<=n;c++)u+=` +`+a.join("");return o.join("")+` +`+s.join("")+u}function ZI(e,t){var n=t;if(n.substr(0,1)!==` +`&&(n=` +`+n),e==="unordered")return n.length>1?n.replace(/\n/g,` +* `).trim():"* ";var r=1;return n.length>1?n.replace(/\n/g,function(){return` +`+r+++". "}).trim():"1. "}function A3(e,t){return{text:e,newBlock:t,selection:{start:e.length,end:e.length}}}function x4(e,t,n){if(typeof nd[t]<"u")return{text:""+nd[t][0]+e+nd[t][1],selection:{start:nd[t][0].length,end:nd[t][0].length+e.length}};switch(t){case"tab":var r=n.tabMapValue===1?" ":" ".repeat(n.tabMapValue),i=r+e.replace(/\n/g,` +`+r),o=e.includes(` +`)?e.match(/\n/g).length:0;return{text:i,selection:{start:n.tabMapValue,end:n.tabMapValue*(o+1)+e.length}};case"unordered":return A3(ZI("unordered",e),!0);case"order":return A3(ZI("order",e),!0);case"hr":return A3("---",!0);case"table":return{text:NHe(n),newBlock:!0};case"image":return{text:"!["+(e||n.target)+"]("+(n.imageUrl||"")+")",selection:{start:2,end:e.length+2}};case"link":return{text:"["+e+"]("+(n.linkUrl||"")+")",selection:{start:1,end:e.length+1}}}return{text:e,selection:{start:0,end:e.length}}}function yY(e,t){var n={};return Object.keys(e).forEach(function(r){if(typeof t[r]>"u"){n[r]=e[r];return}if(typeof t[r]=="object"){Array.isArray(t[r])?n[r]=[].concat(t[r]):n[r]=yY(e[r],t[r]);return}n[r]=t[r]}),n}function LHe(e){for(var t=fs({},e),n=arguments.length,r=new Array(n>1?n-1:0),i=1;i=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function BHe(e,t){if(e){if(typeof e=="string")return QI(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return QI(e,t)}}function QI(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n"u"&&(c[f.comp.align]=[]);var h=f.comp.pluginName==="divider"?gY():f.comp.pluginName;c[f.comp.align].push(y.createElement(f.comp,{editor:i,editorConfig:i.config,config:fs({},f.comp.defaultConfig||{},f.config||{}),key:h}))}),c},n.handleSyncScroll=function(i,o){var a=this;if(i===this.shouldSyncScroll){this.props.onScroll&&this.props.onScroll(o,i),this.emitter.emit(this.emitter.EVENT_SCROLL,o,i);var s=this.config.syncScrollMode,u=s===void 0?[]:s;u.includes(i==="md"?"rightFollowLeft":"leftFollowRight")&&(this.hasContentChanged&&this.nodeMdText.current&&this.nodeMdPreviewWrapper.current&&(this.scrollScale=this.nodeMdText.current.scrollHeight/this.nodeMdPreviewWrapper.current.scrollHeight,this.hasContentChanged=!1),this.isSyncingScroll||(this.isSyncingScroll=!0,requestAnimationFrame(function(){a.nodeMdText.current&&a.nodeMdPreviewWrapper.current&&(i==="md"?a.nodeMdPreviewWrapper.current.scrollTop=a.nodeMdText.current.scrollTop/a.scrollScale:a.nodeMdText.current.scrollTop=a.nodeMdPreviewWrapper.current.scrollTop*a.scrollScale),a.isSyncingScroll=!1})))}},n.renderHTML=function(i){var o=this;if(!this.props.renderHTML)return console.error("renderHTML props is required!"),Promise.resolve();var a=this.props.renderHTML(i);return yP(a)?a.then(function(s){return o.setHtml(s)}):typeof a=="function"?this.setHtml(a()):this.setHtml(a)},n.setHtml=function(i){var o=this;return new Promise(function(a){o.setState({html:i},a)})},n.handleToggleMenu=function(){this.setView({menu:!this.state.view.menu})},n.handleFocus=function(i){var o=this.props.onFocus;o&&o(i),this.emitter.emit(this.emitter.EVENT_FOCUS,i)},n.handleBlur=function(i){var o=this.props.onBlur;o&&o(i),this.emitter.emit(this.emitter.EVENT_BLUR,i)},n.handleChange=function(i){i.persist();var o=i.target.value;this.setText(o,i)},n.handlePaste=function(i){if(!(!this.config.allowPasteImage||!this.config.onImageUpload)){var o=i.nativeEvent,a=(o.clipboardData||window.clipboardData).items;a&&(i.preventDefault(),this.uploadWithDataTransfer(a))}},n.handleDrop=function(i){if(this.config.onImageUpload){var o=i.nativeEvent;if(o.dataTransfer){var a=o.dataTransfer.items;a&&(i.preventDefault(),this.uploadWithDataTransfer(a))}}},n.handleEditorKeyDown=function(i){var o=this,a=i.keyCode,s=i.key,u=i.currentTarget;if((a===13||s==="Enter")&&this.composing===!1){var l=u.value,c=u.selectionStart,f=O3(l,c),h=function(){var x=u.value.substr(0,c-f.curLine.length)+u.value.substr(c);o.setText(x,void 0,{start:c-f.curLine.length,end:c-f.curLine.length}),i.preventDefault()},p=function(x){o.insertText(` +`+x,!1,{start:x.length+1,end:x.length+1}),i.preventDefault()},m=f.curLine.match(/^(\s*?)\* /);if(m){if(/^(\s*?)\* $/.test(f.curLine)){h();return}p(m[0]);return}var v=f.curLine.match(/^(\s*?)(\d+)\. /);if(v){if(/^(\s*?)(\d+)\. $/.test(f.curLine)){h();return}var b=""+v[1]+(parseInt(v[2],10)+1)+". ";p(b);return}}this.emitter.emit(this.emitter.EVENT_EDITOR_KEY_DOWN,i)},n.handleLocaleUpdate=function(){this.forceUpdate()},n.getMdElement=function(){return this.nodeMdText.current},n.getHtmlElement=function(){return this.nodeMdPreviewWrapper.current},n.clearSelection=function(){this.nodeMdText.current&&this.nodeMdText.current.setSelectionRange(0,0,"none")},n.getSelection=function(){var i=this.nodeMdText.current;if(!i)return fs({},MHe);var o=i.selectionStart,a=i.selectionEnd,s=(i.value||"").slice(o,a);return{start:o,end:a,text:s}},n.setSelection=function(i){this.nodeMdText.current&&(this.nodeMdText.current.setSelectionRange(i.start,i.end,"forward"),this.nodeMdText.current.focus())},n.insertMarkdown=function(i,o){o===void 0&&(o={});var a=this.getSelection(),s=o?fs({},o):{};if(i==="image"&&(s=fs({},s,{target:o.target||a.text||"",imageUrl:o.imageUrl||this.config.imageUrl})),i==="link"&&(s=fs({},s,{linkUrl:this.config.linkUrl})),i==="tab"&&a.start!==a.end){var u=this.getMdValue().slice(0,a.start).lastIndexOf(` +`)+1;this.setSelection({start:u,end:a.end})}var l=x4(a.text,i,s),c=l.text,f=l.selection;if(l.newBlock){var h=O3(this.getMdValue(),a.start),p=h.col,m=h.curLine;p>0&&m.length>0&&(c=` +`+c,f&&(f.start++,f.end++));var v=h.afterText;a.start!==a.end&&(v=O3(this.getMdValue(),a.end).afterText),v.trim()!==""&&v.substr(0,2)!==` + +`&&(v.substr(0,1)!==` +`&&(c+=` +`),c+=` +`)}this.insertText(c,!0,f)},n.insertPlaceholder=function(i,o){var a=this;this.insertText(i,!0),o.then(function(s){var u=a.getMdValue().replace(i,s);a.setText(u)})},n.insertText=function(i,o,a){i===void 0&&(i=""),o===void 0&&(o=!1);var s=this.state.text,u=this.getSelection(),l=s.slice(0,u.start),c=s.slice(o?u.end:u.start,s.length);this.setText(l+i+c,void 0,a?{start:a.start+l.length,end:a.end+l.length}:{start:u.start,end:u.start})},n.setText=function(i,o,a){var s=this;i===void 0&&(i="");var u=this.config.onChangeTrigger,l=u===void 0?"both":u,c=i.replace(/↵/g,` +`);if(this.state.text!==i){this.setState({text:c}),this.props.onChange&&(l==="both"||l==="beforeRender")&&this.props.onChange({text:c,html:this.getHtmlValue()},o),this.emitter.emit(this.emitter.EVENT_CHANGE,i,o,typeof o>"u"),a&&setTimeout(function(){return s.setSelection(a)}),this.hasContentChanged||(this.hasContentChanged=!0);var f=this.renderHTML(c);(l==="both"||l==="afterRender")&&f.then(function(){s.props.onChange&&s.props.onChange({text:s.state.text,html:s.getHtmlValue()},o)})}},n.getMdValue=function(){return this.state.text},n.getHtmlValue=function(){return typeof this.state.html=="string"?this.state.html:this.nodeMdPreview.current?this.nodeMdPreview.current.getHtml():""},n.onKeyboard=function(i){var o=this;if(Array.isArray(i)){i.forEach(function(a){return o.onKeyboard(a)});return}this.keyboardListeners.includes(i)||this.keyboardListeners.push(i)},n.offKeyboard=function(i){var o=this;if(Array.isArray(i)){i.forEach(function(s){return o.offKeyboard(s)});return}var a=this.keyboardListeners.indexOf(i);a>=0&&this.keyboardListeners.splice(a,1)},n.handleKeyDown=function(i){for(var o=P3(this.keyboardListeners),a;!(a=o()).done;){var s=a.value;if(IHe(i,s)){i.preventDefault(),s.callback(i);return}}this.emitter.emit(this.emitter.EVENT_KEY_DOWN,i)},n.getEventType=function(i){switch(i){case"change":return this.emitter.EVENT_CHANGE;case"fullscreen":return this.emitter.EVENT_FULL_SCREEN;case"viewchange":return this.emitter.EVENT_VIEW_CHANGE;case"keydown":return this.emitter.EVENT_KEY_DOWN;case"editor_keydown":return this.emitter.EVENT_EDITOR_KEY_DOWN;case"blur":return this.emitter.EVENT_BLUR;case"focus":return this.emitter.EVENT_FOCUS;case"scroll":return this.emitter.EVENT_SCROLL}},n.on=function(i,o){var a=this.getEventType(i);a&&this.emitter.on(a,o)},n.off=function(i,o){var a=this.getEventType(i);a&&this.emitter.off(a,o)},n.setView=function(i){var o=this,a=fs({},this.state.view,i);this.setState({view:a},function(){o.emitter.emit(o.emitter.EVENT_VIEW_CHANGE,a)})},n.getView=function(){return fs({},this.state.view)},n.fullScreen=function(i){var o=this;this.state.fullScreen!==i&&this.setState({fullScreen:i},function(){o.emitter.emit(o.emitter.EVENT_FULL_SCREEN,i)})},n.registerPluginApi=function(i,o){this.pluginApis.set(i,o)},n.unregisterPluginApi=function(i){this.pluginApis.delete(i)},n.callPluginApi=function(i){var o=this.pluginApis.get(i);if(!o)throw new Error("API "+i+" not found");for(var a=arguments.length,s=new Array(a>1?a-1:0),u=1;u0&&i.onImageChanged(s.target.files[0])}}))},t}(vr);MY.pluginName="image";var RY=function(e){Fn(t,e);function t(r){var i;return i=e.call(this,r)||this,i.handleKeyboard={key:"k",keyCode:75,aliasCommand:!0,withKey:["ctrlKey"],callback:function(){return i.editor.insertMarkdown("link")}},i}var n=t.prototype;return n.componentDidMount=function(){this.editorConfig.shortcuts&&this.editor.onKeyboard(this.handleKeyboard)},n.componentWillUnmount=function(){this.editor.offKeyboard(this.handleKeyboard)},n.render=function(){var i=this;return y.createElement("span",{className:"button button-type-link",title:Ln.get("btnLink"),onClick:function(){return i.editor.insertMarkdown("link")}},y.createElement(Ar,{type:"link"}))},t}(vr);RY.pluginName="link";var DY=function(e){Fn(t,e);function t(r){var i;return i=e.call(this,r)||this,i.handleKeyboard={key:"7",keyCode:55,withKey:["ctrlKey","shiftKey"],aliasCommand:!0,callback:function(){return i.editor.insertMarkdown("order")}},i}var n=t.prototype;return n.componentDidMount=function(){this.editorConfig.shortcuts&&this.editor.onKeyboard(this.handleKeyboard)},n.componentWillUnmount=function(){this.editor.offKeyboard(this.handleKeyboard)},n.render=function(){var i=this;return y.createElement("span",{className:"button button-type-ordered",title:Ln.get("btnOrdered"),onClick:function(){return i.editor.insertMarkdown("order")}},y.createElement(Ar,{type:"list-ordered"}))},t}(vr);DY.pluginName="list-ordered";var $Y=function(e){Fn(t,e);function t(r){var i;return i=e.call(this,r)||this,i.handleKeyboard={key:"8",keyCode:56,withKey:["ctrlKey","shiftKey"],aliasCommand:!0,callback:function(){return i.editor.insertMarkdown("unordered")}},i}var n=t.prototype;return n.componentDidMount=function(){this.editorConfig.shortcuts&&this.editor.onKeyboard(this.handleKeyboard)},n.componentWillUnmount=function(){this.editor.offKeyboard(this.handleKeyboard)},n.render=function(){var i=this;return y.createElement("span",{className:"button button-type-unordered",title:Ln.get("btnUnordered"),onClick:function(){return i.editor.insertMarkdown("unordered")}},y.createElement(Ar,{type:"list-unordered"}))},t}(vr);$Y.pluginName="list-unordered";var VHe=100,WHe=function(){function e(n){n===void 0&&(n={}),this.record=[],this.recycle=[],this.initValue="";var r=n,i=r.maxSize,o=i===void 0?VHe:i;this.maxSize=o}var t=e.prototype;return t.push=function(r){for(var i=this.record.push(r);this.record.length>this.maxSize;)this.record.shift();return i},t.get=function(){return this.record},t.getLast=function(){var r=this.record.length;return this.record[r-1]},t.undo=function(r){var i=this.record.pop();if(typeof i>"u")return this.initValue;if(i!==r)return this.recycle.push(i),i;var o=this.record.pop();return typeof o>"u"?(this.recycle.push(i),this.initValue):(this.recycle.push(i),o)},t.redo=function(){var r=this.recycle.pop();if(typeof r<"u")return this.push(r),r},t.cleanRedo=function(){this.recycle=[]},t.getUndoCount=function(){return this.undo.length},t.getRedoCount=function(){return this.recycle.length},e}(),IY=function(e){Fn(t,e);function t(r){var i;return i=e.call(this,r)||this,i.handleKeyboards=[],i.lastPop=null,i.handleChange=i.handleChange.bind(Bn(i)),i.handleRedo=i.handleRedo.bind(Bn(i)),i.handleUndo=i.handleUndo.bind(Bn(i)),i.handleKeyboards=[{key:"y",keyCode:89,withKey:["ctrlKey"],callback:i.handleRedo},{key:"z",keyCode:90,withKey:["metaKey","shiftKey"],callback:i.handleRedo},{key:"z",keyCode:90,aliasCommand:!0,withKey:["ctrlKey"],callback:i.handleUndo}],i.logger=new WHe({maxSize:i.editorConfig.loggerMaxSize}),i.editor.registerPluginApi("undo",i.handleUndo),i.editor.registerPluginApi("redo",i.handleRedo),i}var n=t.prototype;return n.handleUndo=function(){var i=this.logger.undo(this.editor.getMdValue());typeof i<"u"&&(this.pause(),this.lastPop=i,this.editor.setText(i),this.forceUpdate())},n.handleRedo=function(){var i=this.logger.redo();typeof i<"u"&&(this.lastPop=i,this.editor.setText(i),this.forceUpdate())},n.handleChange=function(i,o,a){var s=this;if(!(this.logger.getLast()===i||this.lastPop!==null&&this.lastPop===i)){if(this.logger.cleanRedo(),a){this.logger.push(i),this.lastPop=null,this.forceUpdate();return}this.timerId&&(window.clearTimeout(this.timerId),this.timerId=0),this.timerId=window.setTimeout(function(){s.logger.getLast()!==i&&(s.logger.push(i),s.lastPop=null,s.forceUpdate()),window.clearTimeout(s.timerId),s.timerId=0},this.editorConfig.loggerInterval)}},n.componentDidMount=function(){var i=this;this.editor.on("change",this.handleChange),this.handleKeyboards.forEach(function(o){return i.editor.onKeyboard(o)}),this.logger.initValue=this.editor.getMdValue(),this.forceUpdate()},n.componentWillUnmount=function(){var i=this;this.timerId&&window.clearTimeout(this.timerId),this.editor.off("change",this.handleChange),this.editor.unregisterPluginApi("undo"),this.editor.unregisterPluginApi("redo"),this.handleKeyboards.forEach(function(o){return i.editor.offKeyboard(o)})},n.pause=function(){this.timerId&&(window.clearTimeout(this.timerId),this.timerId=void 0)},n.render=function(){var i=this.logger.getUndoCount()>1||this.logger.initValue!==this.editor.getMdValue(),o=this.logger.getRedoCount()>0;return y.createElement(y.Fragment,null,y.createElement("span",{className:"button button-type-undo "+(i?"":"disabled"),title:Ln.get("btnUndo"),onClick:this.handleUndo},y.createElement(Ar,{type:"undo"})),y.createElement("span",{className:"button button-type-redo "+(o?"":"disabled"),title:Ln.get("btnRedo"),onClick:this.handleRedo},y.createElement(Ar,{type:"redo"})))},t}(vr);IY.pluginName="logger";var Oi;(function(e){e[e.SHOW_ALL=0]="SHOW_ALL",e[e.SHOW_MD=1]="SHOW_MD",e[e.SHOW_HTML=2]="SHOW_HTML"})(Oi||(Oi={}));var xP=function(e){Fn(t,e);function t(r){var i;return i=e.call(this,r)||this,i.handleClick=i.handleClick.bind(Bn(i)),i.handleChange=i.handleChange.bind(Bn(i)),i.state={view:i.editor.getView()},i}var n=t.prototype;return n.handleClick=function(){switch(this.next){case Oi.SHOW_ALL:this.editor.setView({html:!0,md:!0});break;case Oi.SHOW_HTML:this.editor.setView({html:!0,md:!1});break;case Oi.SHOW_MD:this.editor.setView({html:!1,md:!0});break}},n.handleChange=function(i){this.setState({view:i})},n.componentDidMount=function(){this.editor.on("viewchange",this.handleChange)},n.componentWillUnmount=function(){this.editor.off("viewchange",this.handleChange)},n.getDisplayInfo=function(){var i=this.next;switch(i){case Oi.SHOW_ALL:return{icon:"view-split",title:"All"};case Oi.SHOW_HTML:return{icon:"visibility",title:"Preview"};default:return{icon:"keyboard",title:"Editor"}}},n.render=function(){if(this.isDisplay){var i=this.getDisplayInfo();return y.createElement("span",{className:"button button-type-mode",title:Ln.get("btnMode"+i.title),onClick:this.handleClick},y.createElement(Ar,{type:i.icon}))}return null},vY(t,[{key:"isDisplay",get:function(){var i=this.editorConfig.canView;return i?[i.html,i.md,i.both].filter(function(o){return o}).length>=2:!1}},{key:"next",get:function(){var i=this.editorConfig.canView,o=this.state.view,a=[Oi.SHOW_ALL,Oi.SHOW_MD,Oi.SHOW_HTML];i&&(i.both||a.splice(a.indexOf(Oi.SHOW_ALL),1),i.md||a.splice(a.indexOf(Oi.SHOW_MD),1),i.html||a.splice(a.indexOf(Oi.SHOW_HTML),1));var s=Oi.SHOW_MD;if(o.html&&(s=Oi.SHOW_HTML),o.html&&o.md&&(s=Oi.SHOW_ALL),a.length===0)return s;if(a.length===1)return a[0];var u=a.indexOf(s);return u=55296&&c<=57343?i+="���":i+=String.fromCharCode(c),o+=6;continue}}if((s&248)===240&&o+91114111?i+="����":(f-=65536,i+=String.fromCharCode(55296+(f>>10),56320+(f&1023))),o+=9;continue}}i+="�"}return i})}Oh.defaultChars=";/?:@&=+$,#";Oh.componentChars="";const eN={};function GHe(e){let t=eN[e];if(t)return t;t=eN[e]=[];for(let n=0;n<128;n++){const r=String.fromCharCode(n);/^[0-9a-z]$/i.test(r)?t.push(r):t.push("%"+("0"+n.toString(16).toUpperCase()).slice(-2))}for(let n=0;n"u"&&(n=!0);const r=GHe(t);let i="";for(let o=0,a=e.length;o=55296&&s<=57343){if(s>=55296&&s<=56319&&o+1=56320&&u<=57343){i+=encodeURIComponent(e[o]+e[o+1]),o++;continue}}i+="%EF%BF%BD";continue}i+=encodeURIComponent(e[o])}return i}qm.defaultChars=";/?:@&=+$,-_.!~*'()#";qm.componentChars="-_.!~*'()";function _P(e){let t="";return t+=e.protocol||"",t+=e.slashes?"//":"",t+=e.auth?e.auth+"@":"",e.hostname&&e.hostname.indexOf(":")!==-1?t+="["+e.hostname+"]":t+=e.hostname||"",t+=e.port?":"+e.port:"",t+=e.pathname||"",t+=e.search||"",t+=e.hash||"",t}function xx(){this.protocol=null,this.slashes=null,this.auth=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.pathname=null}const YHe=/^([a-z0-9.+-]+:)/i,ZHe=/:[0-9]*$/,XHe=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,QHe=["<",">",'"',"`"," ","\r",` +`," "],JHe=["{","}","|","\\","^","`"].concat(QHe),eKe=["'"].concat(JHe),tN=["%","/","?",";","#"].concat(eKe),nN=["/","?","#"],tKe=255,rN=/^[+a-z0-9A-Z_-]{0,63}$/,nKe=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,iN={javascript:!0,"javascript:":!0},oN={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function SP(e,t){if(e&&e instanceof xx)return e;const n=new xx;return n.parse(e,t),n}xx.prototype.parse=function(e,t){let n,r,i,o=e;if(o=o.trim(),!t&&e.split("#").length===1){const l=XHe.exec(o);if(l)return this.pathname=l[1],l[2]&&(this.search=l[2]),this}let a=YHe.exec(o);if(a&&(a=a[0],n=a.toLowerCase(),this.protocol=a,o=o.substr(a.length)),(t||a||o.match(/^\/\/[^@\/]+@[^@\/]+/))&&(i=o.substr(0,2)==="//",i&&!(a&&iN[a])&&(o=o.substr(2),this.slashes=!0)),!iN[a]&&(i||a&&!oN[a])){let l=-1;for(let m=0;m127?x+="x":x+=w[S];if(!x.match(rN)){const S=m.slice(0,v),O=m.slice(v+1),E=w.match(nKe);E&&(S.push(E[1]),O.unshift(E[2])),O.length&&(o=O.join(".")+o),this.hostname=S.join(".");break}}}}this.hostname.length>tKe&&(this.hostname=""),p&&(this.hostname=this.hostname.substr(1,this.hostname.length-2))}const s=o.indexOf("#");s!==-1&&(this.hash=o.substr(s),o=o.slice(0,s));const u=o.indexOf("?");return u!==-1&&(this.search=o.substr(u),o=o.slice(0,u)),o&&(this.pathname=o),oN[n]&&this.hostname&&!this.pathname&&(this.pathname=""),this};xx.prototype.parseHost=function(e){let t=ZHe.exec(e);t&&(t=t[0],t!==":"&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)};const rKe=Object.freeze(Object.defineProperty({__proto__:null,decode:Oh,encode:qm,format:_P,parse:SP},Symbol.toStringTag,{value:"Module"})),NY=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,LY=/[\0-\x1F\x7F-\x9F]/,iKe=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u0890\u0891\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD80D[\uDC30-\uDC3F]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/,CP=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1B7D\u1B7E\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-\u2E4F\u2E52-\u2E5D\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]|\uD803[\uDEAD\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2\uDF00-\uDF09]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDF43-\uDF4F\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/,FY=/[\$\+<->\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u0888\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20C0\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFF\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u31EF\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBC2\uFD40-\uFD4F\uFDCF\uFDFC-\uFDFF\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEDC-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF76\uDF7B-\uDFD9\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC5\uDECE-\uDEDB\uDEE0-\uDEE8\uDEF0-\uDEF8\uDF00-\uDF92\uDF94-\uDFCA]/,jY=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/,oKe=Object.freeze(Object.defineProperty({__proto__:null,Any:NY,Cc:LY,Cf:iKe,P:CP,S:FY,Z:jY},Symbol.toStringTag,{value:"Module"})),aKe=new Uint16Array('ᵁ<Õıʊҝջאٵ۞ޢߖࠏ੊ઑඡ๭༉༦჊ረዡᐕᒝᓃᓟᔥ\0\0\0\0\0\0ᕫᛍᦍᰒᷝ὾⁠↰⊍⏀⏻⑂⠤⤒ⴈ⹈⿎〖㊺㘹㞬㣾㨨㩱㫠㬮ࠀEMabcfglmnoprstu\\bfms„‹•˜¦³¹ÈÏlig耻Æ䃆P耻&䀦cute耻Á䃁reve;䄂Āiyx}rc耻Â䃂;䐐r;쀀𝔄rave耻À䃀pha;䎑acr;䄀d;橓Āgp¡on;䄄f;쀀𝔸plyFunction;恡ing耻Å䃅Ācs¾Ãr;쀀𝒜ign;扔ilde耻Ã䃃ml耻Ä䃄ЀaceforsuåûþėĜĢħĪĀcrêòkslash;或Ŷöø;櫧ed;挆y;䐑ƀcrtąċĔause;戵noullis;愬a;䎒r;쀀𝔅pf;쀀𝔹eve;䋘còēmpeq;扎܀HOacdefhilorsuōőŖƀƞƢƵƷƺǜȕɳɸɾcy;䐧PY耻©䂩ƀcpyŝŢźute;䄆Ā;iŧŨ拒talDifferentialD;慅leys;愭ȀaeioƉƎƔƘron;䄌dil耻Ç䃇rc;䄈nint;戰ot;䄊ĀdnƧƭilla;䂸terDot;䂷òſi;䎧rcleȀDMPTLJNjǑǖot;抙inus;抖lus;投imes;抗oĀcsǢǸkwiseContourIntegral;戲eCurlyĀDQȃȏoubleQuote;思uote;怙ȀlnpuȞȨɇɕonĀ;eȥȦ户;橴ƀgitȯȶȺruent;扡nt;戯ourIntegral;戮ĀfrɌɎ;愂oduct;成nterClockwiseContourIntegral;戳oss;樯cr;쀀𝒞pĀ;Cʄʅ拓ap;才րDJSZacefiosʠʬʰʴʸˋ˗ˡ˦̳ҍĀ;oŹʥtrahd;椑cy;䐂cy;䐅cy;䐏ƀgrsʿ˄ˇger;怡r;憡hv;櫤Āayː˕ron;䄎;䐔lĀ;t˝˞戇a;䎔r;쀀𝔇Āaf˫̧Ācm˰̢riticalȀADGT̖̜̀̆cute;䂴oŴ̋̍;䋙bleAcute;䋝rave;䁠ilde;䋜ond;拄ferentialD;慆Ѱ̽\0\0\0͔͂\0Ѕf;쀀𝔻ƀ;DE͈͉͍䂨ot;惜qual;扐blèCDLRUVͣͲ΂ϏϢϸontourIntegraìȹoɴ͹\0\0ͻ»͉nArrow;懓Āeo·ΤftƀARTΐΖΡrrow;懐ightArrow;懔eåˊngĀLRΫτeftĀARγιrrow;柸ightArrow;柺ightArrow;柹ightĀATϘϞrrow;懒ee;抨pɁϩ\0\0ϯrrow;懑ownArrow;懕erticalBar;戥ǹABLRTaВЪаўѿͼrrowƀ;BUНОТ憓ar;椓pArrow;懵reve;䌑eft˒к\0ц\0ѐightVector;楐eeVector;楞ectorĀ;Bљњ憽ar;楖ightǔѧ\0ѱeeVector;楟ectorĀ;BѺѻ懁ar;楗eeĀ;A҆҇护rrow;憧ĀctҒҗr;쀀𝒟rok;䄐ࠀNTacdfglmopqstuxҽӀӄӋӞӢӧӮӵԡԯԶՒ՝ՠեG;䅊H耻Ð䃐cute耻É䃉ƀaiyӒӗӜron;䄚rc耻Ê䃊;䐭ot;䄖r;쀀𝔈rave耻È䃈ement;戈ĀapӺӾcr;䄒tyɓԆ\0\0ԒmallSquare;旻erySmallSquare;斫ĀgpԦԪon;䄘f;쀀𝔼silon;䎕uĀaiԼՉlĀ;TՂՃ橵ilde;扂librium;懌Āci՗՚r;愰m;橳a;䎗ml耻Ë䃋Āipժկsts;戃onentialE;慇ʀcfiosօֈ֍ֲ׌y;䐤r;쀀𝔉lledɓ֗\0\0֣mallSquare;旼erySmallSquare;斪Ͱֺ\0ֿ\0\0ׄf;쀀𝔽All;戀riertrf;愱cò׋؀JTabcdfgorstר׬ׯ׺؀ؒؖ؛؝أ٬ٲcy;䐃耻>䀾mmaĀ;d׷׸䎓;䏜reve;䄞ƀeiy؇،ؐdil;䄢rc;䄜;䐓ot;䄠r;쀀𝔊;拙pf;쀀𝔾eater̀EFGLSTصلَٖٛ٦qualĀ;Lؾؿ扥ess;招ullEqual;执reater;檢ess;扷lantEqual;橾ilde;扳cr;쀀𝒢;扫ЀAacfiosuڅڋږڛڞڪھۊRDcy;䐪Āctڐڔek;䋇;䁞irc;䄤r;愌lbertSpace;愋ǰگ\0ڲf;愍izontalLine;攀Āctۃۅòکrok;䄦mpńېۘownHumðįqual;扏܀EJOacdfgmnostuۺ۾܃܇܎ܚܞܡܨ݄ݸދޏޕcy;䐕lig;䄲cy;䐁cute耻Í䃍Āiyܓܘrc耻Î䃎;䐘ot;䄰r;愑rave耻Ì䃌ƀ;apܠܯܿĀcgܴܷr;䄪inaryI;慈lieóϝǴ݉\0ݢĀ;eݍݎ戬Āgrݓݘral;戫section;拂isibleĀCTݬݲomma;恣imes;恢ƀgptݿރވon;䄮f;쀀𝕀a;䎙cr;愐ilde;䄨ǫޚ\0ޞcy;䐆l耻Ï䃏ʀcfosuެ޷޼߂ߐĀiyޱ޵rc;䄴;䐙r;쀀𝔍pf;쀀𝕁ǣ߇\0ߌr;쀀𝒥rcy;䐈kcy;䐄΀HJacfosߤߨ߽߬߱ࠂࠈcy;䐥cy;䐌ppa;䎚Āey߶߻dil;䄶;䐚r;쀀𝔎pf;쀀𝕂cr;쀀𝒦րJTaceflmostࠥࠩࠬࡐࡣ঳সে্਷ੇcy;䐉耻<䀼ʀcmnpr࠷࠼ࡁࡄࡍute;䄹bda;䎛g;柪lacetrf;愒r;憞ƀaeyࡗ࡜ࡡron;䄽dil;䄻;䐛Āfsࡨ॰tԀACDFRTUVarࡾࢩࢱࣦ࣠ࣼयज़ΐ४Ānrࢃ࢏gleBracket;柨rowƀ;BR࢙࢚࢞憐ar;懤ightArrow;懆eiling;挈oǵࢷ\0ࣃbleBracket;柦nǔࣈ\0࣒eeVector;楡ectorĀ;Bࣛࣜ懃ar;楙loor;挊ightĀAV࣯ࣵrrow;憔ector;楎Āerँगeƀ;AVउऊऐ抣rrow;憤ector;楚iangleƀ;BEतथऩ抲ar;槏qual;抴pƀDTVषूौownVector;楑eeVector;楠ectorĀ;Bॖॗ憿ar;楘ectorĀ;B॥०憼ar;楒ightáΜs̀EFGLSTॾঋকঝঢভqualGreater;拚ullEqual;扦reater;扶ess;檡lantEqual;橽ilde;扲r;쀀𝔏Ā;eঽা拘ftarrow;懚idot;䄿ƀnpw৔ਖਛgȀLRlr৞৷ਂਐeftĀAR০৬rrow;柵ightArrow;柷ightArrow;柶eftĀarγਊightáοightáϊf;쀀𝕃erĀLRਢਬeftArrow;憙ightArrow;憘ƀchtਾੀੂòࡌ;憰rok;䅁;扪Ѐacefiosuਗ਼੝੠੷੼અઋ઎p;椅y;䐜Ādl੥੯iumSpace;恟lintrf;愳r;쀀𝔐nusPlus;戓pf;쀀𝕄cò੶;䎜ҀJacefostuણધભીଔଙඑ඗ඞcy;䐊cute;䅃ƀaey઴હાron;䅇dil;䅅;䐝ƀgswે૰଎ativeƀMTV૓૟૨ediumSpace;怋hiĀcn૦૘ë૙eryThiî૙tedĀGL૸ଆreaterGreateòٳessLesóੈLine;䀊r;쀀𝔑ȀBnptଢନଷ଺reak;恠BreakingSpace;䂠f;愕ڀ;CDEGHLNPRSTV୕ୖ୪୼஡௫ఄ౞಄ದ೘ൡඅ櫬Āou୛୤ngruent;扢pCap;扭oubleVerticalBar;戦ƀlqxஃஊ஛ement;戉ualĀ;Tஒஓ扠ilde;쀀≂̸ists;戄reater΀;EFGLSTஶஷ஽௉௓௘௥扯qual;扱ullEqual;쀀≧̸reater;쀀≫̸ess;批lantEqual;쀀⩾̸ilde;扵umpń௲௽ownHump;쀀≎̸qual;쀀≏̸eĀfsఊధtTriangleƀ;BEచఛడ拪ar;쀀⧏̸qual;括s̀;EGLSTవశ఼ౄోౘ扮qual;扰reater;扸ess;쀀≪̸lantEqual;쀀⩽̸ilde;扴estedĀGL౨౹reaterGreater;쀀⪢̸essLess;쀀⪡̸recedesƀ;ESಒಓಛ技qual;쀀⪯̸lantEqual;拠ĀeiಫಹverseElement;戌ghtTriangleƀ;BEೋೌ೒拫ar;쀀⧐̸qual;拭ĀquೝഌuareSuĀbp೨೹setĀ;E೰ೳ쀀⊏̸qual;拢ersetĀ;Eഃആ쀀⊐̸qual;拣ƀbcpഓതൎsetĀ;Eഛഞ쀀⊂⃒qual;抈ceedsȀ;ESTലള഻െ抁qual;쀀⪰̸lantEqual;拡ilde;쀀≿̸ersetĀ;E൘൛쀀⊃⃒qual;抉ildeȀ;EFT൮൯൵ൿ扁qual;扄ullEqual;扇ilde;扉erticalBar;戤cr;쀀𝒩ilde耻Ñ䃑;䎝܀Eacdfgmoprstuvලෂ෉෕ෛ෠෧෼ขภยา฿ไlig;䅒cute耻Ó䃓Āiy෎ීrc耻Ô䃔;䐞blac;䅐r;쀀𝔒rave耻Ò䃒ƀaei෮ෲ෶cr;䅌ga;䎩cron;䎟pf;쀀𝕆enCurlyĀDQฎบoubleQuote;怜uote;怘;橔Āclวฬr;쀀𝒪ash耻Ø䃘iŬื฼de耻Õ䃕es;樷ml耻Ö䃖erĀBP๋๠Āar๐๓r;怾acĀek๚๜;揞et;掴arenthesis;揜Ҁacfhilors๿ງຊຏຒດຝະ໼rtialD;戂y;䐟r;쀀𝔓i;䎦;䎠usMinus;䂱Āipຢອncareplanåڝf;愙Ȁ;eio຺ູ໠໤檻cedesȀ;EST່້໏໚扺qual;檯lantEqual;扼ilde;找me;怳Ādp໩໮uct;戏ortionĀ;aȥ໹l;戝Āci༁༆r;쀀𝒫;䎨ȀUfos༑༖༛༟OT耻"䀢r;쀀𝔔pf;愚cr;쀀𝒬؀BEacefhiorsu༾གྷཇའཱིྦྷྪྭ႖ႩႴႾarr;椐G耻®䂮ƀcnrཎནབute;䅔g;柫rĀ;tཛྷཝ憠l;椖ƀaeyཧཬཱron;䅘dil;䅖;䐠Ā;vླྀཹ愜erseĀEUྂྙĀlq྇ྎement;戋uilibrium;懋pEquilibrium;楯r»ཹo;䎡ghtЀACDFTUVa࿁࿫࿳ဢဨၛႇϘĀnr࿆࿒gleBracket;柩rowƀ;BL࿜࿝࿡憒ar;懥eftArrow;懄eiling;按oǵ࿹\0စbleBracket;柧nǔည\0နeeVector;楝ectorĀ;Bဝသ懂ar;楕loor;挋Āerိ၃eƀ;AVဵံြ抢rrow;憦ector;楛iangleƀ;BEၐၑၕ抳ar;槐qual;抵pƀDTVၣၮၸownVector;楏eeVector;楜ectorĀ;Bႂႃ憾ar;楔ectorĀ;B႑႒懀ar;楓Āpuႛ႞f;愝ndImplies;楰ightarrow;懛ĀchႹႼr;愛;憱leDelayed;槴ڀHOacfhimoqstuფჱჷჽᄙᄞᅑᅖᅡᅧᆵᆻᆿĀCcჩხHcy;䐩y;䐨FTcy;䐬cute;䅚ʀ;aeiyᄈᄉᄎᄓᄗ檼ron;䅠dil;䅞rc;䅜;䐡r;쀀𝔖ortȀDLRUᄪᄴᄾᅉownArrow»ОeftArrow»࢚ightArrow»࿝pArrow;憑gma;䎣allCircle;战pf;쀀𝕊ɲᅭ\0\0ᅰt;戚areȀ;ISUᅻᅼᆉᆯ斡ntersection;抓uĀbpᆏᆞsetĀ;Eᆗᆘ抏qual;抑ersetĀ;Eᆨᆩ抐qual;抒nion;抔cr;쀀𝒮ar;拆ȀbcmpᇈᇛሉላĀ;sᇍᇎ拐etĀ;Eᇍᇕqual;抆ĀchᇠህeedsȀ;ESTᇭᇮᇴᇿ扻qual;檰lantEqual;扽ilde;承Tháྌ;我ƀ;esሒሓሣ拑rsetĀ;Eሜም抃qual;抇et»ሓրHRSacfhiorsሾቄ቉ቕ቞ቱቶኟዂወዑORN耻Þ䃞ADE;愢ĀHc቎ቒcy;䐋y;䐦Ābuቚቜ;䀉;䎤ƀaeyብቪቯron;䅤dil;䅢;䐢r;쀀𝔗Āeiቻ኉Dzኀ\0ኇefore;戴a;䎘Ācn኎ኘkSpace;쀀  Space;怉ldeȀ;EFTካኬኲኼ戼qual;扃ullEqual;扅ilde;扈pf;쀀𝕋ipleDot;惛Āctዖዛr;쀀𝒯rok;䅦ૡዷጎጚጦ\0ጬጱ\0\0\0\0\0ጸጽ፷ᎅ\0᏿ᐄᐊᐐĀcrዻጁute耻Ú䃚rĀ;oጇገ憟cir;楉rǣጓ\0጖y;䐎ve;䅬Āiyጞጣrc耻Û䃛;䐣blac;䅰r;쀀𝔘rave耻Ù䃙acr;䅪Ādiፁ፩erĀBPፈ፝Āarፍፐr;䁟acĀekፗፙ;揟et;掵arenthesis;揝onĀ;P፰፱拃lus;抎Āgp፻፿on;䅲f;쀀𝕌ЀADETadps᎕ᎮᎸᏄϨᏒᏗᏳrrowƀ;BDᅐᎠᎤar;椒ownArrow;懅ownArrow;憕quilibrium;楮eeĀ;AᏋᏌ报rrow;憥ownáϳerĀLRᏞᏨeftArrow;憖ightArrow;憗iĀ;lᏹᏺ䏒on;䎥ing;䅮cr;쀀𝒰ilde;䅨ml耻Ü䃜ҀDbcdefosvᐧᐬᐰᐳᐾᒅᒊᒐᒖash;披ar;櫫y;䐒ashĀ;lᐻᐼ抩;櫦Āerᑃᑅ;拁ƀbtyᑌᑐᑺar;怖Ā;iᑏᑕcalȀBLSTᑡᑥᑪᑴar;戣ine;䁼eparator;杘ilde;所ThinSpace;怊r;쀀𝔙pf;쀀𝕍cr;쀀𝒱dash;抪ʀcefosᒧᒬᒱᒶᒼirc;䅴dge;拀r;쀀𝔚pf;쀀𝕎cr;쀀𝒲Ȁfiosᓋᓐᓒᓘr;쀀𝔛;䎞pf;쀀𝕏cr;쀀𝒳ҀAIUacfosuᓱᓵᓹᓽᔄᔏᔔᔚᔠcy;䐯cy;䐇cy;䐮cute耻Ý䃝Āiyᔉᔍrc;䅶;䐫r;쀀𝔜pf;쀀𝕐cr;쀀𝒴ml;䅸ЀHacdefosᔵᔹᔿᕋᕏᕝᕠᕤcy;䐖cute;䅹Āayᕄᕉron;䅽;䐗ot;䅻Dzᕔ\0ᕛoWidtè૙a;䎖r;愨pf;愤cr;쀀𝒵௡ᖃᖊᖐ\0ᖰᖶᖿ\0\0\0\0ᗆᗛᗫᙟ᙭\0ᚕ᚛ᚲᚹ\0ᚾcute耻á䃡reve;䄃̀;Ediuyᖜᖝᖡᖣᖨᖭ戾;쀀∾̳;房rc耻â䃢te肻´̆;䐰lig耻æ䃦Ā;r²ᖺ;쀀𝔞rave耻à䃠ĀepᗊᗖĀfpᗏᗔsym;愵èᗓha;䎱ĀapᗟcĀclᗤᗧr;䄁g;樿ɤᗰ\0\0ᘊʀ;adsvᗺᗻᗿᘁᘇ戧nd;橕;橜lope;橘;橚΀;elmrszᘘᘙᘛᘞᘿᙏᙙ戠;榤e»ᘙsdĀ;aᘥᘦ戡ѡᘰᘲᘴᘶᘸᘺᘼᘾ;榨;榩;榪;榫;榬;榭;榮;榯tĀ;vᙅᙆ戟bĀ;dᙌᙍ抾;榝Āptᙔᙗh;戢»¹arr;捼Āgpᙣᙧon;䄅f;쀀𝕒΀;Eaeiop዁ᙻᙽᚂᚄᚇᚊ;橰cir;橯;扊d;手s;䀧roxĀ;e዁ᚒñᚃing耻å䃥ƀctyᚡᚦᚨr;쀀𝒶;䀪mpĀ;e዁ᚯñʈilde耻ã䃣ml耻ä䃤Āciᛂᛈoninôɲnt;樑ࠀNabcdefiklnoprsu᛭ᛱᜰ᜼ᝃᝈ᝸᝽០៦ᠹᡐᜍ᤽᥈ᥰot;櫭Ācrᛶ᜞kȀcepsᜀᜅᜍᜓong;扌psilon;䏶rime;怵imĀ;e᜚᜛戽q;拍Ŷᜢᜦee;抽edĀ;gᜬᜭ挅e»ᜭrkĀ;t፜᜷brk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓ᝛ᝡᝤᝨausĀ;eĊĉptyv;榰séᜌnoõēƀahwᝯ᝱ᝳ;䎲;愶een;扬r;쀀𝔟g΀costuvwឍឝឳេ៕៛៞ƀaiuបពរðݠrc;旯p»፱ƀdptឤឨឭot;樀lus;樁imes;樂ɱឹ\0\0ើcup;樆ar;昅riangleĀdu៍្own;施p;斳plus;樄eåᑄåᒭarow;植ƀako៭ᠦᠵĀcn៲ᠣkƀlst៺֫᠂ozenge;槫riangleȀ;dlr᠒᠓᠘᠝斴own;斾eft;旂ight;斸k;搣Ʊᠫ\0ᠳƲᠯ\0ᠱ;斒;斑4;斓ck;斈ĀeoᠾᡍĀ;qᡃᡆ쀀=⃥uiv;쀀≡⃥t;挐Ȁptwxᡙᡞᡧᡬf;쀀𝕓Ā;tᏋᡣom»Ꮜtie;拈؀DHUVbdhmptuvᢅᢖᢪᢻᣗᣛᣬ᣿ᤅᤊᤐᤡȀLRlrᢎᢐᢒᢔ;敗;敔;敖;敓ʀ;DUduᢡᢢᢤᢦᢨ敐;敦;敩;敤;敧ȀLRlrᢳᢵᢷᢹ;敝;敚;敜;教΀;HLRhlrᣊᣋᣍᣏᣑᣓᣕ救;敬;散;敠;敫;敢;敟ox;槉ȀLRlrᣤᣦᣨᣪ;敕;敒;攐;攌ʀ;DUduڽ᣷᣹᣻᣽;敥;敨;攬;攴inus;抟lus;択imes;抠ȀLRlrᤙᤛᤝ᤟;敛;敘;攘;攔΀;HLRhlrᤰᤱᤳᤵᤷ᤻᤹攂;敪;敡;敞;攼;攤;攜Āevģ᥂bar耻¦䂦Ȁceioᥑᥖᥚᥠr;쀀𝒷mi;恏mĀ;e᜚᜜lƀ;bhᥨᥩᥫ䁜;槅sub;柈Ŭᥴ᥾lĀ;e᥹᥺怢t»᥺pƀ;Eeįᦅᦇ;檮Ā;qۜۛೡᦧ\0᧨ᨑᨕᨲ\0ᨷᩐ\0\0᪴\0\0᫁\0\0ᬡᬮ᭍᭒\0᯽\0ᰌƀcpr᦭ᦲ᧝ute;䄇̀;abcdsᦿᧀᧄ᧊᧕᧙戩nd;橄rcup;橉Āau᧏᧒p;橋p;橇ot;橀;쀀∩︀Āeo᧢᧥t;恁îړȀaeiu᧰᧻ᨁᨅǰ᧵\0᧸s;橍on;䄍dil耻ç䃧rc;䄉psĀ;sᨌᨍ橌m;橐ot;䄋ƀdmnᨛᨠᨦil肻¸ƭptyv;榲t脀¢;eᨭᨮ䂢räƲr;쀀𝔠ƀceiᨽᩀᩍy;䑇ckĀ;mᩇᩈ朓ark»ᩈ;䏇r΀;Ecefms᩟᩠ᩢᩫ᪤᪪᪮旋;槃ƀ;elᩩᩪᩭ䋆q;扗eɡᩴ\0\0᪈rrowĀlr᩼᪁eft;憺ight;憻ʀRSacd᪒᪔᪖᪚᪟»ཇ;擈st;抛irc;抚ash;抝nint;樐id;櫯cir;槂ubsĀ;u᪻᪼晣it»᪼ˬ᫇᫔᫺\0ᬊonĀ;eᫍᫎ䀺Ā;qÇÆɭ᫙\0\0᫢aĀ;t᫞᫟䀬;䁀ƀ;fl᫨᫩᫫戁îᅠeĀmx᫱᫶ent»᫩eóɍǧ᫾\0ᬇĀ;dኻᬂot;橭nôɆƀfryᬐᬔᬗ;쀀𝕔oäɔ脀©;sŕᬝr;愗Āaoᬥᬩrr;憵ss;朗Ācuᬲᬷr;쀀𝒸Ābpᬼ᭄Ā;eᭁᭂ櫏;櫑Ā;eᭉᭊ櫐;櫒dot;拯΀delprvw᭠᭬᭷ᮂᮬᯔ᯹arrĀlr᭨᭪;椸;椵ɰ᭲\0\0᭵r;拞c;拟arrĀ;p᭿ᮀ憶;椽̀;bcdosᮏᮐᮖᮡᮥᮨ截rcap;橈Āauᮛᮞp;橆p;橊ot;抍r;橅;쀀∪︀Ȁalrv᮵ᮿᯞᯣrrĀ;mᮼᮽ憷;椼yƀevwᯇᯔᯘqɰᯎ\0\0ᯒreã᭳uã᭵ee;拎edge;拏en耻¤䂤earrowĀlrᯮ᯳eft»ᮀight»ᮽeäᯝĀciᰁᰇoninôǷnt;戱lcty;挭ঀAHabcdefhijlorstuwz᰸᰻᰿ᱝᱩᱵᲊᲞᲬᲷ᳻᳿ᴍᵻᶑᶫᶻ᷆᷍rò΁ar;楥Ȁglrs᱈ᱍ᱒᱔ger;怠eth;愸òᄳhĀ;vᱚᱛ怐»ऊūᱡᱧarow;椏aã̕Āayᱮᱳron;䄏;䐴ƀ;ao̲ᱼᲄĀgrʿᲁr;懊tseq;橷ƀglmᲑᲔᲘ耻°䂰ta;䎴ptyv;榱ĀirᲣᲨsht;楿;쀀𝔡arĀlrᲳᲵ»ࣜ»သʀaegsv᳂͸᳖᳜᳠mƀ;oș᳊᳔ndĀ;ș᳑uit;晦amma;䏝in;拲ƀ;io᳧᳨᳸䃷de脀÷;o᳧ᳰntimes;拇nø᳷cy;䑒cɯᴆ\0\0ᴊrn;挞op;挍ʀlptuwᴘᴝᴢᵉᵕlar;䀤f;쀀𝕕ʀ;emps̋ᴭᴷᴽᵂqĀ;d͒ᴳot;扑inus;戸lus;戔quare;抡blebarwedgåúnƀadhᄮᵝᵧownarrowóᲃarpoonĀlrᵲᵶefôᲴighôᲶŢᵿᶅkaro÷གɯᶊ\0\0ᶎrn;挟op;挌ƀcotᶘᶣᶦĀryᶝᶡ;쀀𝒹;䑕l;槶rok;䄑Ādrᶰᶴot;拱iĀ;fᶺ᠖斿Āah᷀᷃ròЩaòྦangle;榦Āci᷒ᷕy;䑟grarr;柿ऀDacdefglmnopqrstuxḁḉḙḸոḼṉṡṾấắẽỡἪἷὄ὎὚ĀDoḆᴴoôᲉĀcsḎḔute耻é䃩ter;橮ȀaioyḢḧḱḶron;䄛rĀ;cḭḮ扖耻ê䃪lon;払;䑍ot;䄗ĀDrṁṅot;扒;쀀𝔢ƀ;rsṐṑṗ檚ave耻è䃨Ā;dṜṝ檖ot;檘Ȁ;ilsṪṫṲṴ檙nters;揧;愓Ā;dṹṺ檕ot;檗ƀapsẅẉẗcr;䄓tyƀ;svẒẓẕ戅et»ẓpĀ1;ẝẤijạả;怄;怅怃ĀgsẪẬ;䅋p;怂ĀgpẴẸon;䄙f;쀀𝕖ƀalsỄỎỒrĀ;sỊị拕l;槣us;橱iƀ;lvỚớở䎵on»ớ;䏵ȀcsuvỪỳἋἣĀioữḱrc»Ḯɩỹ\0\0ỻíՈantĀglἂἆtr»ṝess»Ṻƀaeiἒ἖Ἒls;䀽st;扟vĀ;DȵἠD;橸parsl;槥ĀDaἯἳot;打rr;楱ƀcdiἾὁỸr;愯oô͒ĀahὉὋ;䎷耻ð䃰Āmrὓὗl耻ë䃫o;悬ƀcipὡὤὧl;䀡sôծĀeoὬὴctatioîՙnentialåչৡᾒ\0ᾞ\0ᾡᾧ\0\0ῆῌ\0ΐ\0ῦῪ \0 ⁚llingdotseñṄy;䑄male;晀ƀilrᾭᾳ῁lig;耀ffiɩᾹ\0\0᾽g;耀ffig;耀ffl;쀀𝔣lig;耀filig;쀀fjƀaltῙ῜ῡt;晭ig;耀flns;斱of;䆒ǰ΅\0ῳf;쀀𝕗ĀakֿῷĀ;vῼ´拔;櫙artint;樍Āao‌⁕Ācs‑⁒ႉ‸⁅⁈\0⁐β•‥‧‪‬\0‮耻½䂽;慓耻¼䂼;慕;慙;慛Ƴ‴\0‶;慔;慖ʴ‾⁁\0\0⁃耻¾䂾;慗;慜5;慘ƶ⁌\0⁎;慚;慝8;慞l;恄wn;挢cr;쀀𝒻ࢀEabcdefgijlnorstv₂₉₟₥₰₴⃰⃵⃺⃿℃ℒℸ̗ℾ⅒↞Ā;lٍ₇;檌ƀcmpₐₕ₝ute;䇵maĀ;dₜ᳚䎳;檆reve;䄟Āiy₪₮rc;䄝;䐳ot;䄡Ȁ;lqsؾق₽⃉ƀ;qsؾٌ⃄lanô٥Ȁ;cdl٥⃒⃥⃕c;檩otĀ;o⃜⃝檀Ā;l⃢⃣檂;檄Ā;e⃪⃭쀀⋛︀s;檔r;쀀𝔤Ā;gٳ؛mel;愷cy;䑓Ȁ;Eajٚℌℎℐ;檒;檥;檤ȀEaesℛℝ℩ℴ;扩pĀ;p℣ℤ檊rox»ℤĀ;q℮ℯ檈Ā;q℮ℛim;拧pf;쀀𝕘Āci⅃ⅆr;愊mƀ;el٫ⅎ⅐;檎;檐茀>;cdlqr׮ⅠⅪⅮⅳⅹĀciⅥⅧ;檧r;橺ot;拗Par;榕uest;橼ʀadelsↄⅪ←ٖ↛ǰ↉\0↎proø₞r;楸qĀlqؿ↖lesó₈ií٫Āen↣↭rtneqq;쀀≩︀Å↪ԀAabcefkosy⇄⇇⇱⇵⇺∘∝∯≨≽ròΠȀilmr⇐⇔⇗⇛rsðᒄf»․ilôکĀdr⇠⇤cy;䑊ƀ;cwࣴ⇫⇯ir;楈;憭ar;意irc;䄥ƀalr∁∎∓rtsĀ;u∉∊晥it»∊lip;怦con;抹r;쀀𝔥sĀew∣∩arow;椥arow;椦ʀamopr∺∾≃≞≣rr;懿tht;戻kĀlr≉≓eftarrow;憩ightarrow;憪f;쀀𝕙bar;怕ƀclt≯≴≸r;쀀𝒽asè⇴rok;䄧Ābp⊂⊇ull;恃hen»ᱛૡ⊣\0⊪\0⊸⋅⋎\0⋕⋳\0\0⋸⌢⍧⍢⍿\0⎆⎪⎴cute耻í䃭ƀ;iyݱ⊰⊵rc耻î䃮;䐸Ācx⊼⊿y;䐵cl耻¡䂡ĀfrΟ⋉;쀀𝔦rave耻ì䃬Ȁ;inoܾ⋝⋩⋮Āin⋢⋦nt;樌t;戭fin;槜ta;愩lig;䄳ƀaop⋾⌚⌝ƀcgt⌅⌈⌗r;䄫ƀelpܟ⌏⌓inåގarôܠh;䄱f;抷ed;䆵ʀ;cfotӴ⌬⌱⌽⍁are;愅inĀ;t⌸⌹戞ie;槝doô⌙ʀ;celpݗ⍌⍐⍛⍡al;抺Āgr⍕⍙eróᕣã⍍arhk;樗rod;樼Ȁcgpt⍯⍲⍶⍻y;䑑on;䄯f;쀀𝕚a;䎹uest耻¿䂿Āci⎊⎏r;쀀𝒾nʀ;EdsvӴ⎛⎝⎡ӳ;拹ot;拵Ā;v⎦⎧拴;拳Ā;iݷ⎮lde;䄩ǫ⎸\0⎼cy;䑖l耻ï䃯̀cfmosu⏌⏗⏜⏡⏧⏵Āiy⏑⏕rc;䄵;䐹r;쀀𝔧ath;䈷pf;쀀𝕛ǣ⏬\0⏱r;쀀𝒿rcy;䑘kcy;䑔Ѐacfghjos␋␖␢␧␭␱␵␻ppaĀ;v␓␔䎺;䏰Āey␛␠dil;䄷;䐺r;쀀𝔨reen;䄸cy;䑅cy;䑜pf;쀀𝕜cr;쀀𝓀஀ABEHabcdefghjlmnoprstuv⑰⒁⒆⒍⒑┎┽╚▀♎♞♥♹♽⚚⚲⛘❝❨➋⟀⠁⠒ƀart⑷⑺⑼rò৆òΕail;椛arr;椎Ā;gঔ⒋;檋ar;楢ॣ⒥\0⒪\0⒱\0\0\0\0\0⒵Ⓔ\0ⓆⓈⓍ\0⓹ute;䄺mptyv;榴raîࡌbda;䎻gƀ;dlࢎⓁⓃ;榑åࢎ;檅uo耻«䂫rЀ;bfhlpst࢙ⓞⓦⓩ⓫⓮⓱⓵Ā;f࢝ⓣs;椟s;椝ë≒p;憫l;椹im;楳l;憢ƀ;ae⓿─┄檫il;椙Ā;s┉┊檭;쀀⪭︀ƀabr┕┙┝rr;椌rk;杲Āak┢┬cĀek┨┪;䁻;䁛Āes┱┳;榋lĀdu┹┻;榏;榍Ȁaeuy╆╋╖╘ron;䄾Ādi═╔il;䄼ìࢰâ┩;䐻Ȁcqrs╣╦╭╽a;椶uoĀ;rนᝆĀdu╲╷har;楧shar;楋h;憲ʀ;fgqs▋▌উ◳◿扤tʀahlrt▘▤▷◂◨rrowĀ;t࢙□aé⓶arpoonĀdu▯▴own»њp»०eftarrows;懇ightƀahs◍◖◞rrowĀ;sࣴࢧarpoonó྘quigarro÷⇰hreetimes;拋ƀ;qs▋ও◺lanôবʀ;cdgsব☊☍☝☨c;檨otĀ;o☔☕橿Ā;r☚☛檁;檃Ā;e☢☥쀀⋚︀s;檓ʀadegs☳☹☽♉♋pproøⓆot;拖qĀgq♃♅ôউgtò⒌ôছiíলƀilr♕࣡♚sht;楼;쀀𝔩Ā;Eজ♣;檑š♩♶rĀdu▲♮Ā;l॥♳;楪lk;斄cy;䑙ʀ;achtੈ⚈⚋⚑⚖rò◁orneòᴈard;楫ri;旺Āio⚟⚤dot;䅀ustĀ;a⚬⚭掰che»⚭ȀEaes⚻⚽⛉⛔;扨pĀ;p⛃⛄檉rox»⛄Ā;q⛎⛏檇Ā;q⛎⚻im;拦Ѐabnoptwz⛩⛴⛷✚✯❁❇❐Ānr⛮⛱g;柬r;懽rëࣁgƀlmr⛿✍✔eftĀar০✇ightá৲apsto;柼ightá৽parrowĀlr✥✩efô⓭ight;憬ƀafl✶✹✽r;榅;쀀𝕝us;樭imes;樴š❋❏st;戗áፎƀ;ef❗❘᠀旊nge»❘arĀ;l❤❥䀨t;榓ʀachmt❳❶❼➅➇ròࢨorneòᶌarĀ;d྘➃;業;怎ri;抿̀achiqt➘➝ੀ➢➮➻quo;怹r;쀀𝓁mƀ;egল➪➬;檍;檏Ābu┪➳oĀ;rฟ➹;怚rok;䅂萀<;cdhilqrࠫ⟒☹⟜⟠⟥⟪⟰Āci⟗⟙;檦r;橹reå◲mes;拉arr;楶uest;橻ĀPi⟵⟹ar;榖ƀ;ef⠀भ᠛旃rĀdu⠇⠍shar;楊har;楦Āen⠗⠡rtneqq;쀀≨︀Å⠞܀Dacdefhilnopsu⡀⡅⢂⢎⢓⢠⢥⢨⣚⣢⣤ઃ⣳⤂Dot;戺Ȁclpr⡎⡒⡣⡽r耻¯䂯Āet⡗⡙;時Ā;e⡞⡟朠se»⡟Ā;sျ⡨toȀ;dluျ⡳⡷⡻owîҌefôएðᏑker;斮Āoy⢇⢌mma;権;䐼ash;怔asuredangle»ᘦr;쀀𝔪o;愧ƀcdn⢯⢴⣉ro耻µ䂵Ȁ;acdᑤ⢽⣀⣄sôᚧir;櫰ot肻·Ƶusƀ;bd⣒ᤃ⣓戒Ā;uᴼ⣘;横ţ⣞⣡p;櫛ò−ðઁĀdp⣩⣮els;抧f;쀀𝕞Āct⣸⣽r;쀀𝓂pos»ᖝƀ;lm⤉⤊⤍䎼timap;抸ఀGLRVabcdefghijlmoprstuvw⥂⥓⥾⦉⦘⧚⧩⨕⨚⩘⩝⪃⪕⪤⪨⬄⬇⭄⭿⮮ⰴⱧⱼ⳩Āgt⥇⥋;쀀⋙̸Ā;v⥐௏쀀≫⃒ƀelt⥚⥲⥶ftĀar⥡⥧rrow;懍ightarrow;懎;쀀⋘̸Ā;v⥻ే쀀≪⃒ightarrow;懏ĀDd⦎⦓ash;抯ash;抮ʀbcnpt⦣⦧⦬⦱⧌la»˞ute;䅄g;쀀∠⃒ʀ;Eiop඄⦼⧀⧅⧈;쀀⩰̸d;쀀≋̸s;䅉roø඄urĀ;a⧓⧔普lĀ;s⧓ସdz⧟\0⧣p肻 ଷmpĀ;e௹ఀʀaeouy⧴⧾⨃⨐⨓ǰ⧹\0⧻;橃on;䅈dil;䅆ngĀ;dൾ⨊ot;쀀⩭̸p;橂;䐽ash;怓΀;Aadqsxஒ⨩⨭⨻⩁⩅⩐rr;懗rĀhr⨳⨶k;椤Ā;oᏲᏰot;쀀≐̸uiöୣĀei⩊⩎ar;椨í஘istĀ;s஠டr;쀀𝔫ȀEest௅⩦⩹⩼ƀ;qs஼⩭௡ƀ;qs஼௅⩴lanô௢ií௪Ā;rஶ⪁»ஷƀAap⪊⪍⪑rò⥱rr;憮ar;櫲ƀ;svྍ⪜ྌĀ;d⪡⪢拼;拺cy;䑚΀AEadest⪷⪺⪾⫂⫅⫶⫹rò⥦;쀀≦̸rr;憚r;急Ȁ;fqs఻⫎⫣⫯tĀar⫔⫙rro÷⫁ightarro÷⪐ƀ;qs఻⪺⫪lanôౕĀ;sౕ⫴»శiíౝĀ;rవ⫾iĀ;eచథiäඐĀpt⬌⬑f;쀀𝕟膀¬;in⬙⬚⬶䂬nȀ;Edvஉ⬤⬨⬮;쀀⋹̸ot;쀀⋵̸ǡஉ⬳⬵;拷;拶iĀ;vಸ⬼ǡಸ⭁⭃;拾;拽ƀaor⭋⭣⭩rȀ;ast୻⭕⭚⭟lleì୻l;쀀⫽⃥;쀀∂̸lint;樔ƀ;ceಒ⭰⭳uåಥĀ;cಘ⭸Ā;eಒ⭽ñಘȀAait⮈⮋⮝⮧rò⦈rrƀ;cw⮔⮕⮙憛;쀀⤳̸;쀀↝̸ghtarrow»⮕riĀ;eೋೖ΀chimpqu⮽⯍⯙⬄୸⯤⯯Ȁ;cerല⯆ഷ⯉uå൅;쀀𝓃ortɭ⬅\0\0⯖ará⭖mĀ;e൮⯟Ā;q൴൳suĀbp⯫⯭å೸åഋƀbcp⯶ⰑⰙȀ;Ees⯿ⰀഢⰄ抄;쀀⫅̸etĀ;eഛⰋqĀ;qണⰀcĀ;eലⰗñസȀ;EesⰢⰣൟⰧ抅;쀀⫆̸etĀ;e൘ⰮqĀ;qൠⰣȀgilrⰽⰿⱅⱇìௗlde耻ñ䃱çృiangleĀlrⱒⱜeftĀ;eచⱚñదightĀ;eೋⱥñ೗Ā;mⱬⱭ䎽ƀ;esⱴⱵⱹ䀣ro;愖p;怇ҀDHadgilrsⲏⲔⲙⲞⲣⲰⲶⳓⳣash;抭arr;椄p;쀀≍⃒ash;抬ĀetⲨⲬ;쀀≥⃒;쀀>⃒nfin;槞ƀAetⲽⳁⳅrr;椂;쀀≤⃒Ā;rⳊⳍ쀀<⃒ie;쀀⊴⃒ĀAtⳘⳜrr;椃rie;쀀⊵⃒im;쀀∼⃒ƀAan⳰⳴ⴂrr;懖rĀhr⳺⳽k;椣Ā;oᏧᏥear;椧ቓ᪕\0\0\0\0\0\0\0\0\0\0\0\0\0ⴭ\0ⴸⵈⵠⵥ⵲ⶄᬇ\0\0ⶍⶫ\0ⷈⷎ\0ⷜ⸙⸫⸾⹃Ācsⴱ᪗ute耻ó䃳ĀiyⴼⵅrĀ;c᪞ⵂ耻ô䃴;䐾ʀabios᪠ⵒⵗLjⵚlac;䅑v;樸old;榼lig;䅓Ācr⵩⵭ir;榿;쀀𝔬ͯ⵹\0\0⵼\0ⶂn;䋛ave耻ò䃲;槁Ābmⶈ෴ar;榵Ȁacitⶕ⶘ⶥⶨrò᪀Āir⶝ⶠr;榾oss;榻nå๒;槀ƀaeiⶱⶵⶹcr;䅍ga;䏉ƀcdnⷀⷅǍron;䎿;榶pf;쀀𝕠ƀaelⷔ⷗ǒr;榷rp;榹΀;adiosvⷪⷫⷮ⸈⸍⸐⸖戨rò᪆Ȁ;efmⷷⷸ⸂⸅橝rĀ;oⷾⷿ愴f»ⷿ耻ª䂪耻º䂺gof;抶r;橖lope;橗;橛ƀclo⸟⸡⸧ò⸁ash耻ø䃸l;折iŬⸯ⸴de耻õ䃵esĀ;aǛ⸺s;樶ml耻ö䃶bar;挽ૡ⹞\0⹽\0⺀⺝\0⺢⺹\0\0⻋ຜ\0⼓\0\0⼫⾼\0⿈rȀ;astЃ⹧⹲຅脀¶;l⹭⹮䂶leìЃɩ⹸\0\0⹻m;櫳;櫽y;䐿rʀcimpt⺋⺏⺓ᡥ⺗nt;䀥od;䀮il;怰enk;怱r;쀀𝔭ƀimo⺨⺰⺴Ā;v⺭⺮䏆;䏕maô੶ne;明ƀ;tv⺿⻀⻈䏀chfork»´;䏖Āau⻏⻟nĀck⻕⻝kĀ;h⇴⻛;愎ö⇴sҀ;abcdemst⻳⻴ᤈ⻹⻽⼄⼆⼊⼎䀫cir;樣ir;樢Āouᵀ⼂;樥;橲n肻±ຝim;樦wo;樧ƀipu⼙⼠⼥ntint;樕f;쀀𝕡nd耻£䂣Ԁ;Eaceinosu່⼿⽁⽄⽇⾁⾉⾒⽾⾶;檳p;檷uå໙Ā;c໎⽌̀;acens່⽙⽟⽦⽨⽾pproø⽃urlyeñ໙ñ໎ƀaes⽯⽶⽺pprox;檹qq;檵im;拨iíໟmeĀ;s⾈ຮ怲ƀEas⽸⾐⽺ð⽵ƀdfp໬⾙⾯ƀals⾠⾥⾪lar;挮ine;挒urf;挓Ā;t໻⾴ï໻rel;抰Āci⿀⿅r;쀀𝓅;䏈ncsp;怈̀fiopsu⿚⋢⿟⿥⿫⿱r;쀀𝔮pf;쀀𝕢rime;恗cr;쀀𝓆ƀaeo⿸〉〓tĀei⿾々rnionóڰnt;樖stĀ;e【】䀿ñἙô༔઀ABHabcdefhilmnoprstux぀けさすムㄎㄫㅇㅢㅲㆎ㈆㈕㈤㈩㉘㉮㉲㊐㊰㊷ƀartぇおがròႳòϝail;検aròᱥar;楤΀cdenqrtとふへみわゔヌĀeuねぱ;쀀∽̱te;䅕iãᅮmptyv;榳gȀ;del࿑らるろ;榒;榥å࿑uo耻»䂻rր;abcfhlpstw࿜ガクシスゼゾダッデナp;極Ā;f࿠ゴs;椠;椳s;椞ë≝ð✮l;楅im;楴l;憣;憝Āaiパフil;椚oĀ;nホボ戶aló༞ƀabrョリヮrò៥rk;杳ĀakンヽcĀekヹ・;䁽;䁝Āes㄂㄄;榌lĀduㄊㄌ;榎;榐Ȁaeuyㄗㄜㄧㄩron;䅙Ādiㄡㄥil;䅗ì࿲âヺ;䑀Ȁclqsㄴㄷㄽㅄa;椷dhar;楩uoĀ;rȎȍh;憳ƀacgㅎㅟངlȀ;ipsླྀㅘㅛႜnåႻarôྩt;断ƀilrㅩဣㅮsht;楽;쀀𝔯ĀaoㅷㆆrĀduㅽㅿ»ѻĀ;l႑ㆄ;楬Ā;vㆋㆌ䏁;䏱ƀgns㆕ㇹㇼht̀ahlrstㆤㆰ㇂㇘㇤㇮rrowĀ;t࿜ㆭaéトarpoonĀduㆻㆿowîㅾp»႒eftĀah㇊㇐rrowó࿪arpoonóՑightarrows;應quigarro÷ニhreetimes;拌g;䋚ingdotseñἲƀahm㈍㈐㈓rò࿪aòՑ;怏oustĀ;a㈞㈟掱che»㈟mid;櫮Ȁabpt㈲㈽㉀㉒Ānr㈷㈺g;柭r;懾rëဃƀafl㉇㉊㉎r;榆;쀀𝕣us;樮imes;樵Āap㉝㉧rĀ;g㉣㉤䀩t;榔olint;樒arò㇣Ȁachq㉻㊀Ⴜ㊅quo;怺r;쀀𝓇Ābu・㊊oĀ;rȔȓƀhir㊗㊛㊠reåㇸmes;拊iȀ;efl㊪ၙᠡ㊫方tri;槎luhar;楨;愞ൡ㋕㋛㋟㌬㌸㍱\0㍺㎤\0\0㏬㏰\0㐨㑈㑚㒭㒱㓊㓱\0㘖\0\0㘳cute;䅛quï➺Ԁ;Eaceinpsyᇭ㋳㋵㋿㌂㌋㌏㌟㌦㌩;檴ǰ㋺\0㋼;檸on;䅡uåᇾĀ;dᇳ㌇il;䅟rc;䅝ƀEas㌖㌘㌛;檶p;檺im;择olint;樓iíሄ;䑁otƀ;be㌴ᵇ㌵担;橦΀Aacmstx㍆㍊㍗㍛㍞㍣㍭rr;懘rĀhr㍐㍒ë∨Ā;oਸ਼਴t耻§䂧i;䀻war;椩mĀin㍩ðnuóñt;朶rĀ;o㍶⁕쀀𝔰Ȁacoy㎂㎆㎑㎠rp;景Āhy㎋㎏cy;䑉;䑈rtɭ㎙\0\0㎜iäᑤaraì⹯耻­䂭Āgm㎨㎴maƀ;fv㎱㎲㎲䏃;䏂Ѐ;deglnprካ㏅㏉㏎㏖㏞㏡㏦ot;橪Ā;q኱ኰĀ;E㏓㏔檞;檠Ā;E㏛㏜檝;檟e;扆lus;樤arr;楲aròᄽȀaeit㏸㐈㐏㐗Āls㏽㐄lsetmé㍪hp;樳parsl;槤Ādlᑣ㐔e;挣Ā;e㐜㐝檪Ā;s㐢㐣檬;쀀⪬︀ƀflp㐮㐳㑂tcy;䑌Ā;b㐸㐹䀯Ā;a㐾㐿槄r;挿f;쀀𝕤aĀdr㑍ЂesĀ;u㑔㑕晠it»㑕ƀcsu㑠㑹㒟Āau㑥㑯pĀ;sᆈ㑫;쀀⊓︀pĀ;sᆴ㑵;쀀⊔︀uĀbp㑿㒏ƀ;esᆗᆜ㒆etĀ;eᆗ㒍ñᆝƀ;esᆨᆭ㒖etĀ;eᆨ㒝ñᆮƀ;afᅻ㒦ְrť㒫ֱ»ᅼaròᅈȀcemt㒹㒾㓂㓅r;쀀𝓈tmîñiì㐕aræᆾĀar㓎㓕rĀ;f㓔ឿ昆Āan㓚㓭ightĀep㓣㓪psiloîỠhé⺯s»⡒ʀbcmnp㓻㕞ሉ㖋㖎Ҁ;Edemnprs㔎㔏㔑㔕㔞㔣㔬㔱㔶抂;櫅ot;檽Ā;dᇚ㔚ot;櫃ult;櫁ĀEe㔨㔪;櫋;把lus;檿arr;楹ƀeiu㔽㕒㕕tƀ;en㔎㕅㕋qĀ;qᇚ㔏eqĀ;q㔫㔨m;櫇Ābp㕚㕜;櫕;櫓c̀;acensᇭ㕬㕲㕹㕻㌦pproø㋺urlyeñᇾñᇳƀaes㖂㖈㌛pproø㌚qñ㌗g;晪ڀ123;Edehlmnps㖩㖬㖯ሜ㖲㖴㗀㗉㗕㗚㗟㗨㗭耻¹䂹耻²䂲耻³䂳;櫆Āos㖹㖼t;檾ub;櫘Ā;dሢ㗅ot;櫄sĀou㗏㗒l;柉b;櫗arr;楻ult;櫂ĀEe㗤㗦;櫌;抋lus;櫀ƀeiu㗴㘉㘌tƀ;enሜ㗼㘂qĀ;qሢ㖲eqĀ;q㗧㗤m;櫈Ābp㘑㘓;櫔;櫖ƀAan㘜㘠㘭rr;懙rĀhr㘦㘨ë∮Ā;oਫ਩war;椪lig耻ß䃟௡㙑㙝㙠ዎ㙳㙹\0㙾㛂\0\0\0\0\0㛛㜃\0㜉㝬\0\0\0㞇ɲ㙖\0\0㙛get;挖;䏄rë๟ƀaey㙦㙫㙰ron;䅥dil;䅣;䑂lrec;挕r;쀀𝔱Ȁeiko㚆㚝㚵㚼Dz㚋\0㚑eĀ4fኄኁaƀ;sv㚘㚙㚛䎸ym;䏑Ācn㚢㚲kĀas㚨㚮pproø዁im»ኬsðኞĀas㚺㚮ð዁rn耻þ䃾Ǭ̟㛆⋧es膀×;bd㛏㛐㛘䃗Ā;aᤏ㛕r;樱;樰ƀeps㛡㛣㜀á⩍Ȁ;bcf҆㛬㛰㛴ot;挶ir;櫱Ā;o㛹㛼쀀𝕥rk;櫚á㍢rime;怴ƀaip㜏㜒㝤dåቈ΀adempst㜡㝍㝀㝑㝗㝜㝟ngleʀ;dlqr㜰㜱㜶㝀㝂斵own»ᶻeftĀ;e⠀㜾ñम;扜ightĀ;e㊪㝋ñၚot;旬inus;樺lus;樹b;槍ime;樻ezium;揢ƀcht㝲㝽㞁Āry㝷㝻;쀀𝓉;䑆cy;䑛rok;䅧Āio㞋㞎xô᝷headĀlr㞗㞠eftarro÷ࡏightarrow»ཝऀAHabcdfghlmoprstuw㟐㟓㟗㟤㟰㟼㠎㠜㠣㠴㡑㡝㡫㢩㣌㣒㣪㣶ròϭar;楣Ācr㟜㟢ute耻ú䃺òᅐrǣ㟪\0㟭y;䑞ve;䅭Āiy㟵㟺rc耻û䃻;䑃ƀabh㠃㠆㠋ròᎭlac;䅱aòᏃĀir㠓㠘sht;楾;쀀𝔲rave耻ù䃹š㠧㠱rĀlr㠬㠮»ॗ»ႃlk;斀Āct㠹㡍ɯ㠿\0\0㡊rnĀ;e㡅㡆挜r»㡆op;挏ri;旸Āal㡖㡚cr;䅫肻¨͉Āgp㡢㡦on;䅳f;쀀𝕦̀adhlsuᅋ㡸㡽፲㢑㢠ownáᎳarpoonĀlr㢈㢌efô㠭ighô㠯iƀ;hl㢙㢚㢜䏅»ᏺon»㢚parrows;懈ƀcit㢰㣄㣈ɯ㢶\0\0㣁rnĀ;e㢼㢽挝r»㢽op;挎ng;䅯ri;旹cr;쀀𝓊ƀdir㣙㣝㣢ot;拰lde;䅩iĀ;f㜰㣨»᠓Āam㣯㣲rò㢨l耻ü䃼angle;榧ހABDacdeflnoprsz㤜㤟㤩㤭㦵㦸㦽㧟㧤㧨㧳㧹㧽㨁㨠ròϷarĀ;v㤦㤧櫨;櫩asèϡĀnr㤲㤷grt;榜΀eknprst㓣㥆㥋㥒㥝㥤㦖appá␕othinçẖƀhir㓫⻈㥙opô⾵Ā;hᎷ㥢ïㆍĀiu㥩㥭gmá㎳Ābp㥲㦄setneqĀ;q㥽㦀쀀⊊︀;쀀⫋︀setneqĀ;q㦏㦒쀀⊋︀;쀀⫌︀Āhr㦛㦟etá㚜iangleĀlr㦪㦯eft»थight»ၑy;䐲ash»ံƀelr㧄㧒㧗ƀ;beⷪ㧋㧏ar;抻q;扚lip;拮Ābt㧜ᑨaòᑩr;쀀𝔳tré㦮suĀbp㧯㧱»ജ»൙pf;쀀𝕧roð໻tré㦴Ācu㨆㨋r;쀀𝓋Ābp㨐㨘nĀEe㦀㨖»㥾nĀEe㦒㨞»㦐igzag;榚΀cefoprs㨶㨻㩖㩛㩔㩡㩪irc;䅵Ādi㩀㩑Ābg㩅㩉ar;機eĀ;qᗺ㩏;扙erp;愘r;쀀𝔴pf;쀀𝕨Ā;eᑹ㩦atèᑹcr;쀀𝓌ૣណ㪇\0㪋\0㪐㪛\0\0㪝㪨㪫㪯\0\0㫃㫎\0㫘ៜ៟tré៑r;쀀𝔵ĀAa㪔㪗ròσrò৶;䎾ĀAa㪡㪤ròθrò৫að✓is;拻ƀdptឤ㪵㪾Āfl㪺ឩ;쀀𝕩imåឲĀAa㫇㫊ròώròਁĀcq㫒ីr;쀀𝓍Āpt៖㫜ré។Ѐacefiosu㫰㫽㬈㬌㬑㬕㬛㬡cĀuy㫶㫻te耻ý䃽;䑏Āiy㬂㬆rc;䅷;䑋n耻¥䂥r;쀀𝔶cy;䑗pf;쀀𝕪cr;쀀𝓎Ācm㬦㬩y;䑎l耻ÿ䃿Ԁacdefhiosw㭂㭈㭔㭘㭤㭩㭭㭴㭺㮀cute;䅺Āay㭍㭒ron;䅾;䐷ot;䅼Āet㭝㭡træᕟa;䎶r;쀀𝔷cy;䐶grarr;懝pf;쀀𝕫cr;쀀𝓏Ājn㮅㮇;怍j;怌'.split("").map(e=>e.charCodeAt(0))),sKe=new Uint16Array("Ȁaglq \x1Bɭ\0\0p;䀦os;䀧t;䀾t;䀼uot;䀢".split("").map(e=>e.charCodeAt(0)));var k3;const uKe=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),lKe=(k3=String.fromCodePoint)!==null&&k3!==void 0?k3:function(e){let t="";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|e&1023),t+=String.fromCharCode(e),t};function cKe(e){var t;return e>=55296&&e<=57343||e>1114111?65533:(t=uKe.get(e))!==null&&t!==void 0?t:e}var ni;(function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.EQUALS=61]="EQUALS",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.LOWER_Z=122]="LOWER_Z",e[e.UPPER_A=65]="UPPER_A",e[e.UPPER_F=70]="UPPER_F",e[e.UPPER_Z=90]="UPPER_Z"})(ni||(ni={}));const fKe=32;var hl;(function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.BRANCH_LENGTH=16256]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"})(hl||(hl={}));function w4(e){return e>=ni.ZERO&&e<=ni.NINE}function dKe(e){return e>=ni.UPPER_A&&e<=ni.UPPER_F||e>=ni.LOWER_A&&e<=ni.LOWER_F}function hKe(e){return e>=ni.UPPER_A&&e<=ni.UPPER_Z||e>=ni.LOWER_A&&e<=ni.LOWER_Z||w4(e)}function pKe(e){return e===ni.EQUALS||hKe(e)}var Jr;(function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"})(Jr||(Jr={}));var il;(function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"})(il||(il={}));class gKe{constructor(t,n,r){this.decodeTree=t,this.emitCodePoint=n,this.errors=r,this.state=Jr.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=il.Strict}startEntity(t){this.decodeMode=t,this.state=Jr.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(t,n){switch(this.state){case Jr.EntityStart:return t.charCodeAt(n)===ni.NUM?(this.state=Jr.NumericStart,this.consumed+=1,this.stateNumericStart(t,n+1)):(this.state=Jr.NamedEntity,this.stateNamedEntity(t,n));case Jr.NumericStart:return this.stateNumericStart(t,n);case Jr.NumericDecimal:return this.stateNumericDecimal(t,n);case Jr.NumericHex:return this.stateNumericHex(t,n);case Jr.NamedEntity:return this.stateNamedEntity(t,n)}}stateNumericStart(t,n){return n>=t.length?-1:(t.charCodeAt(n)|fKe)===ni.LOWER_X?(this.state=Jr.NumericHex,this.consumed+=1,this.stateNumericHex(t,n+1)):(this.state=Jr.NumericDecimal,this.stateNumericDecimal(t,n))}addToNumericResult(t,n,r,i){if(n!==r){const o=r-n;this.result=this.result*Math.pow(i,o)+parseInt(t.substr(n,o),i),this.consumed+=o}}stateNumericHex(t,n){const r=n;for(;n>14;for(;n>14,o!==0){if(a===ni.SEMI)return this.emitNamedEntityData(this.treeIndex,o,this.consumed+this.excess);this.decodeMode!==il.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1}emitNotTerminatedNamedEntity(){var t;const{result:n,decodeTree:r}=this,i=(r[n]&hl.VALUE_LENGTH)>>14;return this.emitNamedEntityData(n,i,this.consumed),(t=this.errors)===null||t===void 0||t.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(t,n,r){const{decodeTree:i}=this;return this.emitCodePoint(n===1?i[t]&~hl.VALUE_LENGTH:i[t+1],r),n===3&&this.emitCodePoint(i[t+2],r),r}end(){var t;switch(this.state){case Jr.NamedEntity:return this.result!==0&&(this.decodeMode!==il.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case Jr.NumericDecimal:return this.emitNumericEntity(0,2);case Jr.NumericHex:return this.emitNumericEntity(0,3);case Jr.NumericStart:return(t=this.errors)===null||t===void 0||t.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case Jr.EntityStart:return 0}}}function BY(e){let t="";const n=new gKe(e,r=>t+=lKe(r));return function(i,o){let a=0,s=0;for(;(s=i.indexOf("&",s))>=0;){t+=i.slice(a,s),n.startEntity(o);const l=n.write(i,s+1);if(l<0){a=s+n.end();break}a=s+l,s=l===0?a+1:a}const u=t+i.slice(a);return t="",u}}function mKe(e,t,n,r){const i=(t&hl.BRANCH_LENGTH)>>7,o=t&hl.JUMP_TABLE;if(i===0)return o!==0&&r===o?n:-1;if(o){const u=r-o;return u<0||u>=i?-1:e[n+u]-1}let a=n,s=a+i-1;for(;a<=s;){const u=a+s>>>1,l=e[u];if(lr)s=u-1;else return e[u+i]}return-1}const vKe=BY(aKe);BY(sKe);function zY(e,t=il.Legacy){return vKe(e,t)}function yKe(e){return Object.prototype.toString.call(e)}function EP(e){return yKe(e)==="[object String]"}const bKe=Object.prototype.hasOwnProperty;function xKe(e,t){return bKe.call(e,t)}function yw(e){return Array.prototype.slice.call(arguments,1).forEach(function(n){if(n){if(typeof n!="object")throw new TypeError(n+"must be object");Object.keys(n).forEach(function(r){e[r]=n[r]})}}),e}function UY(e,t,n){return[].concat(e.slice(0,t),n,e.slice(t+1))}function OP(e){return!(e>=55296&&e<=57343||e>=64976&&e<=65007||(e&65535)===65535||(e&65535)===65534||e>=0&&e<=8||e===11||e>=14&&e<=31||e>=127&&e<=159||e>1114111)}function wx(e){if(e>65535){e-=65536;const t=55296+(e>>10),n=56320+(e&1023);return String.fromCharCode(t,n)}return String.fromCharCode(e)}const VY=/\\([!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~])/g,wKe=/&([a-z#][a-z0-9]{1,31});/gi,_Ke=new RegExp(VY.source+"|"+wKe.source,"gi"),SKe=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))$/i;function CKe(e,t){if(t.charCodeAt(0)===35&&SKe.test(t)){const r=t[1].toLowerCase()==="x"?parseInt(t.slice(2),16):parseInt(t.slice(1),10);return OP(r)?wx(r):e}const n=zY(e);return n!==e?n:e}function EKe(e){return e.indexOf("\\")<0?e:e.replace(VY,"$1")}function Ah(e){return e.indexOf("\\")<0&&e.indexOf("&")<0?e:e.replace(_Ke,function(t,n,r){return n||CKe(t,r)})}const OKe=/[&<>"]/,AKe=/[&<>"]/g,PKe={"&":"&","<":"<",">":">",'"':"""};function kKe(e){return PKe[e]}function Nl(e){return OKe.test(e)?e.replace(AKe,kKe):e}const TKe=/[.?*+^$[\]\\(){}|-]/g;function MKe(e){return e.replace(TKe,"\\$&")}function Hn(e){switch(e){case 9:case 32:return!0}return!1}function am(e){if(e>=8192&&e<=8202)return!0;switch(e){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1}function sm(e){return CP.test(e)||FY.test(e)}function um(e){switch(e){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}}function bw(e){return e=e.trim().replace(/\s+/g," "),"ẞ".toLowerCase()==="Ṿ"&&(e=e.replace(/ẞ/g,"ß")),e.toLowerCase().toUpperCase()}const RKe={mdurl:rKe,ucmicro:oKe},DKe=Object.freeze(Object.defineProperty({__proto__:null,arrayReplaceAt:UY,assign:yw,escapeHtml:Nl,escapeRE:MKe,fromCodePoint:wx,has:xKe,isMdAsciiPunct:um,isPunctChar:sm,isSpace:Hn,isString:EP,isValidEntityCode:OP,isWhiteSpace:am,lib:RKe,normalizeReference:bw,unescapeAll:Ah,unescapeMd:EKe},Symbol.toStringTag,{value:"Module"}));function $Ke(e,t,n){let r,i,o,a;const s=e.posMax,u=e.pos;for(e.pos=t+1,r=1;e.pos32))return o;if(r===41){if(a===0)break;a--}i++}return t===i||a!==0||(o.str=Ah(e.slice(t,i)),o.pos=i,o.ok=!0),o}function NKe(e,t,n,r){let i,o=t;const a={ok:!1,can_continue:!1,pos:0,str:"",marker:0};if(r)a.str=r.str,a.marker=r.marker;else{if(o>=n)return a;let s=e.charCodeAt(o);if(s!==34&&s!==39&&s!==40)return a;t++,o++,s===40&&(s=41),a.marker=s}for(;o"+Nl(o.content)+""};Is.code_block=function(e,t,n,r,i){const o=e[t];return""+Nl(e[t].content)+` +`};Is.fence=function(e,t,n,r,i){const o=e[t],a=o.info?Ah(o.info).trim():"";let s="",u="";if(a){const c=a.split(/(\s+)/g);s=c[0],u=c.slice(2).join("")}let l;if(n.highlight?l=n.highlight(o.content,s,u)||Nl(o.content):l=Nl(o.content),l.indexOf("${l} +`}return`
${l}
+`};Is.image=function(e,t,n,r,i){const o=e[t];return o.attrs[o.attrIndex("alt")][1]=i.renderInlineAsText(o.children,n,r),i.renderToken(e,t,n)};Is.hardbreak=function(e,t,n){return n.xhtmlOut?`
+`:`
+`};Is.softbreak=function(e,t,n){return n.breaks?n.xhtmlOut?`
+`:`
+`:` +`};Is.text=function(e,t){return Nl(e[t].content)};Is.html_block=function(e,t){return e[t].content};Is.html_inline=function(e,t){return e[t].content};function ip(){this.rules=yw({},Is)}ip.prototype.renderAttrs=function(t){let n,r,i;if(!t.attrs)return"";for(i="",n=0,r=t.attrs.length;n +`:">",o};ip.prototype.renderInline=function(e,t,n){let r="";const i=this.rules;for(let o=0,a=e.length;o=0&&(r=this.attrs[n][1]),r};is.prototype.attrJoin=function(t,n){const r=this.attrIndex(t);r<0?this.attrPush([t,n]):this.attrs[r][1]=this.attrs[r][1]+" "+n};function WY(e,t,n){this.src=e,this.env=n,this.tokens=[],this.inlineMode=!1,this.md=t}WY.prototype.Token=is;const FKe=/\r\n?|\n/g,jKe=/\0/g;function BKe(e){let t;t=e.src.replace(FKe,` +`),t=t.replace(jKe,"�"),e.src=t}function zKe(e){let t;e.inlineMode?(t=new e.Token("inline","",0),t.content=e.src,t.map=[0,1],t.children=[],e.tokens.push(t)):e.md.block.parse(e.src,e.md,e.env,e.tokens)}function UKe(e){const t=e.tokens;for(let n=0,r=t.length;n\s]/i.test(e)}function WKe(e){return/^<\/a\s*>/i.test(e)}function HKe(e){const t=e.tokens;if(e.md.options.linkify)for(let n=0,r=t.length;n=0;a--){const s=i[a];if(s.type==="link_close"){for(a--;i[a].level!==s.level&&i[a].type!=="link_open";)a--;continue}if(s.type==="html_inline"&&(VKe(s.content)&&o>0&&o--,WKe(s.content)&&o++),!(o>0)&&s.type==="text"&&e.md.linkify.test(s.content)){const u=s.content;let l=e.md.linkify.match(u);const c=[];let f=s.level,h=0;l.length>0&&l[0].index===0&&a>0&&i[a-1].type==="text_special"&&(l=l.slice(1));for(let p=0;ph){const E=new e.Token("text","",0);E.content=u.slice(h,w),E.level=f,c.push(E)}const x=new e.Token("link_open","a",1);x.attrs=[["href",v]],x.level=f++,x.markup="linkify",x.info="auto",c.push(x);const S=new e.Token("text","",0);S.content=b,S.level=f,c.push(S);const O=new e.Token("link_close","a",-1);O.level=--f,O.markup="linkify",O.info="auto",c.push(O),h=l[p].lastIndex}if(h=0;n--){const r=e[n];r.type==="text"&&!t&&(r.content=r.content.replace(qKe,YKe)),r.type==="link_open"&&r.info==="auto"&&t--,r.type==="link_close"&&r.info==="auto"&&t++}}function XKe(e){let t=0;for(let n=e.length-1;n>=0;n--){const r=e[n];r.type==="text"&&!t&&HY.test(r.content)&&(r.content=r.content.replace(/\+-/g,"±").replace(/\.{2,}/g,"…").replace(/([?!])…/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---(?=[^-]|$)/mg,"$1—").replace(/(^|\s)--(?=\s|$)/mg,"$1–").replace(/(^|[^-\s])--(?=[^-\s]|$)/mg,"$1–")),r.type==="link_open"&&r.info==="auto"&&t--,r.type==="link_close"&&r.info==="auto"&&t++}}function QKe(e){let t;if(e.md.options.typographer)for(t=e.tokens.length-1;t>=0;t--)e.tokens[t].type==="inline"&&(KKe.test(e.tokens[t].content)&&ZKe(e.tokens[t].children),HY.test(e.tokens[t].content)&&XKe(e.tokens[t].children))}const JKe=/['"]/,aN=/['"]/g,sN="’";function D1(e,t,n){return e.slice(0,t)+n+e.slice(t+1)}function eqe(e,t){let n;const r=[];for(let i=0;i=0&&!(r[n].level<=a);n--);if(r.length=n+1,o.type!=="text")continue;let s=o.content,u=0,l=s.length;e:for(;u=0)m=s.charCodeAt(c.index-1);else for(n=i-1;n>=0&&!(e[n].type==="softbreak"||e[n].type==="hardbreak");n--)if(e[n].content){m=e[n].content.charCodeAt(e[n].content.length-1);break}let v=32;if(u=48&&m<=57&&(h=f=!1),f&&h&&(f=b,h=w),!f&&!h){p&&(o.content=D1(o.content,c.index,sN));continue}if(h)for(n=r.length-1;n>=0;n--){let O=r[n];if(r[n].level=0;t--)e.tokens[t].type!=="inline"||!JKe.test(e.tokens[t].content)||eqe(e.tokens[t].children,e)}function nqe(e){let t,n;const r=e.tokens,i=r.length;for(let o=0;o0&&this.level++,this.tokens.push(r),r};Ns.prototype.isEmpty=function(t){return this.bMarks[t]+this.tShift[t]>=this.eMarks[t]};Ns.prototype.skipEmptyLines=function(t){for(let n=this.lineMax;tn;)if(!Hn(this.src.charCodeAt(--t)))return t+1;return t};Ns.prototype.skipChars=function(t,n){for(let r=this.src.length;tr;)if(n!==this.src.charCodeAt(--t))return t+1;return t};Ns.prototype.getLines=function(t,n,r,i){if(t>=n)return"";const o=new Array(n-t);for(let a=0,s=t;sr?o[a]=new Array(u-r+1).join(" ")+this.src.slice(c,f):o[a]=this.src.slice(c,f)}return o.join("")};Ns.prototype.Token=is;const rqe=65536;function M3(e,t){const n=e.bMarks[t]+e.tShift[t],r=e.eMarks[t];return e.src.slice(n,r)}function uN(e){const t=[],n=e.length;let r=0,i=e.charCodeAt(r),o=!1,a=0,s="";for(;rn)return!1;let i=t+1;if(e.sCount[i]=4)return!1;let o=e.bMarks[i]+e.tShift[i];if(o>=e.eMarks[i])return!1;const a=e.src.charCodeAt(o++);if(a!==124&&a!==45&&a!==58||o>=e.eMarks[i])return!1;const s=e.src.charCodeAt(o++);if(s!==124&&s!==45&&s!==58&&!Hn(s)||a===45&&Hn(s))return!1;for(;o=4)return!1;l=uN(u),l.length&&l[0]===""&&l.shift(),l.length&&l[l.length-1]===""&&l.pop();const f=l.length;if(f===0||f!==c.length)return!1;if(r)return!0;const h=e.parentType;e.parentType="table";const p=e.md.block.ruler.getRules("blockquote"),m=e.push("table_open","table",1),v=[t,0];m.map=v;const b=e.push("thead_open","thead",1);b.map=[t,t+1];const w=e.push("tr_open","tr",1);w.map=[t,t+1];for(let O=0;O=4||(l=uN(u),l.length&&l[0]===""&&l.shift(),l.length&&l[l.length-1]===""&&l.pop(),S+=f-l.length,S>rqe))break;if(i===t+2){const C=e.push("tbody_open","tbody",1);C.map=x=[t+2,0]}const E=e.push("tr_open","tr",1);E.map=[i,i+1];for(let C=0;C=4){r++,i=r;continue}break}e.line=i;const o=e.push("code_block","code",0);return o.content=e.getLines(t,i,4+e.blkIndent,!1)+` +`,o.map=[t,e.line],!0}function aqe(e,t,n,r){let i=e.bMarks[t]+e.tShift[t],o=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4||i+3>o)return!1;const a=e.src.charCodeAt(i);if(a!==126&&a!==96)return!1;let s=i;i=e.skipChars(i,a);let u=i-s;if(u<3)return!1;const l=e.src.slice(s,i),c=e.src.slice(i,o);if(a===96&&c.indexOf(String.fromCharCode(a))>=0)return!1;if(r)return!0;let f=t,h=!1;for(;f++,!(f>=n||(i=s=e.bMarks[f]+e.tShift[f],o=e.eMarks[f],i=4)&&(i=e.skipChars(i,a),!(i-s=4||e.src.charCodeAt(i)!==62)return!1;if(r)return!0;const s=[],u=[],l=[],c=[],f=e.md.block.ruler.getRules("blockquote"),h=e.parentType;e.parentType="blockquote";let p=!1,m;for(m=t;m=o)break;if(e.src.charCodeAt(i++)===62&&!S){let E=e.sCount[m]+1,C,k;e.src.charCodeAt(i)===32?(i++,E++,k=!1,C=!0):e.src.charCodeAt(i)===9?(C=!0,(e.bsCount[m]+E)%4===3?(i++,E++,k=!1):k=!0):C=!1;let M=E;for(s.push(e.bMarks[m]),e.bMarks[m]=i;i=o,u.push(e.bsCount[m]),e.bsCount[m]=e.sCount[m]+1+(C?1:0),l.push(e.sCount[m]),e.sCount[m]=M-E,c.push(e.tShift[m]),e.tShift[m]=i-e.bMarks[m];continue}if(p)break;let O=!1;for(let E=0,C=f.length;E";const w=[t,0];b.map=w,e.md.block.tokenize(e,t,m);const x=e.push("blockquote_close","blockquote",-1);x.markup=">",e.lineMax=a,e.parentType=h,w[1]=e.line;for(let S=0;S=4)return!1;let o=e.bMarks[t]+e.tShift[t];const a=e.src.charCodeAt(o++);if(a!==42&&a!==45&&a!==95)return!1;let s=1;for(;o=r)return-1;let o=e.src.charCodeAt(i++);if(o<48||o>57)return-1;for(;;){if(i>=r)return-1;if(o=e.src.charCodeAt(i++),o>=48&&o<=57){if(i-n>=10)return-1;continue}if(o===41||o===46)break;return-1}return i=4||e.listIndent>=0&&e.sCount[u]-e.listIndent>=4&&e.sCount[u]=e.blkIndent&&(c=!0);let f,h,p;if((p=cN(e,u))>=0){if(f=!0,a=e.bMarks[u]+e.tShift[u],h=Number(e.src.slice(a,p-1)),c&&h!==1)return!1}else if((p=lN(e,u))>=0)f=!1;else return!1;if(c&&e.skipSpaces(p)>=e.eMarks[u])return!1;if(r)return!0;const m=e.src.charCodeAt(p-1),v=e.tokens.length;f?(s=e.push("ordered_list_open","ol",1),h!==1&&(s.attrs=[["start",h]])):s=e.push("bullet_list_open","ul",1);const b=[u,0];s.map=b,s.markup=String.fromCharCode(m);let w=!1;const x=e.md.block.ruler.getRules("list"),S=e.parentType;for(e.parentType="list";u=i?k=1:k=E-O,k>4&&(k=1);const M=O+k;s=e.push("list_item_open","li",1),s.markup=String.fromCharCode(m);const L=[u,0];s.map=L,f&&(s.info=e.src.slice(a,p-1));const U=e.tight,H=e.tShift[u],V=e.sCount[u],ne=e.listIndent;if(e.listIndent=e.blkIndent,e.blkIndent=M,e.tight=!0,e.tShift[u]=C-e.bMarks[u],e.sCount[u]=E,C>=i&&e.isEmpty(u+1)?e.line=Math.min(e.line+2,n):e.md.block.tokenize(e,u,n,!0),(!e.tight||w)&&(l=!1),w=e.line-u>1&&e.isEmpty(e.line-1),e.blkIndent=e.listIndent,e.listIndent=ne,e.tShift[u]=H,e.sCount[u]=V,e.tight=U,s=e.push("list_item_close","li",-1),s.markup=String.fromCharCode(m),u=e.line,L[1]=u,u>=n||e.sCount[u]=4)break;let Z=!1;for(let G=0,q=x.length;G=4||e.src.charCodeAt(i)!==91)return!1;function s(x){const S=e.lineMax;if(x>=S||e.isEmpty(x))return null;let O=!1;if(e.sCount[x]-e.blkIndent>3&&(O=!0),e.sCount[x]<0&&(O=!0),!O){const k=e.md.block.ruler.getRules("reference"),M=e.parentType;e.parentType="reference";let L=!1;for(let U=0,H=k.length;U"u"&&(e.env.references={}),typeof e.env.references[w]>"u"&&(e.env.references[w]={title:b,href:f}),e.line=a),!0):!1}const dqe=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],hqe="[a-zA-Z_:][a-zA-Z0-9:._-]*",pqe="[^\"'=<>`\\x00-\\x20]+",gqe="'[^']*'",mqe='"[^"]*"',vqe="(?:"+pqe+"|"+gqe+"|"+mqe+")",yqe="(?:\\s+"+hqe+"(?:\\s*=\\s*"+vqe+")?)",KY="<[A-Za-z][A-Za-z0-9\\-]*"+yqe+"*\\s*\\/?>",qY="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",bqe="",xqe="<[?][\\s\\S]*?[?]>",wqe="]*>",_qe="",Sqe=new RegExp("^(?:"+KY+"|"+qY+"|"+bqe+"|"+xqe+"|"+wqe+"|"+_qe+")"),Cqe=new RegExp("^(?:"+KY+"|"+qY+")"),Jf=[[/^<(script|pre|style|textarea)(?=(\s|>|$))/i,/<\/(script|pre|style|textarea)>/i,!0],[/^/,!0],[/^<\?/,/\?>/,!0],[/^/,!0],[/^/,!0],[new RegExp("^|$))","i"),/^$/,!0],[new RegExp(Cqe.source+"\\s*$"),/^$/,!1]];function Eqe(e,t,n,r){let i=e.bMarks[t]+e.tShift[t],o=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4||!e.md.options.html||e.src.charCodeAt(i)!==60)return!1;let a=e.src.slice(i,o),s=0;for(;s=4)return!1;let a=e.src.charCodeAt(i);if(a!==35||i>=o)return!1;let s=1;for(a=e.src.charCodeAt(++i);a===35&&i6||ii&&Hn(e.src.charCodeAt(u-1))&&(o=u),e.line=t+1;const l=e.push("heading_open","h"+String(s),1);l.markup="########".slice(0,s),l.map=[t,e.line];const c=e.push("inline","",0);c.content=e.src.slice(i,o).trim(),c.map=[t,e.line],c.children=[];const f=e.push("heading_close","h"+String(s),-1);return f.markup="########".slice(0,s),!0}function Aqe(e,t,n){const r=e.md.block.ruler.getRules("paragraph");if(e.sCount[t]-e.blkIndent>=4)return!1;const i=e.parentType;e.parentType="paragraph";let o=0,a,s=t+1;for(;s3)continue;if(e.sCount[s]>=e.blkIndent){let p=e.bMarks[s]+e.tShift[s];const m=e.eMarks[s];if(p=m))){o=a===61?1:2;break}}if(e.sCount[s]<0)continue;let h=!1;for(let p=0,m=r.length;p3||e.sCount[o]<0)continue;let l=!1;for(let c=0,f=r.length;c=n||e.sCount[a]=o){e.line=n;break}const u=e.line;let l=!1;for(let c=0;c=e.line)throw new Error("block rule didn't increment state.line");break}if(!l)throw new Error("none of the block rules matched");e.tight=!s,e.isEmpty(e.line-1)&&(s=!0),a=e.line,a0&&(this.level++,this._prev_delimiters.push(this.delimiters),this.delimiters=[],i={delimiters:this.delimiters}),this.pendingLevel=this.level,this.tokens.push(r),this.tokens_meta.push(i),r};Gm.prototype.scanDelims=function(e,t){const n=this.posMax,r=this.src.charCodeAt(e),i=e>0?this.src.charCodeAt(e-1):32;let o=e;for(;o0)return!1;const n=e.pos,r=e.posMax;if(n+3>r||e.src.charCodeAt(n)!==58||e.src.charCodeAt(n+1)!==47||e.src.charCodeAt(n+2)!==47)return!1;const i=e.pending.match(Mqe);if(!i)return!1;const o=i[1],a=e.md.linkify.matchAtStart(e.src.slice(n-o.length));if(!a)return!1;let s=a.url;if(s.length<=o.length)return!1;s=s.replace(/\*+$/,"");const u=e.md.normalizeLink(s);if(!e.md.validateLink(u))return!1;if(!t){e.pending=e.pending.slice(0,-o.length);const l=e.push("link_open","a",1);l.attrs=[["href",u]],l.markup="linkify",l.info="auto";const c=e.push("text","",0);c.content=e.md.normalizeLinkText(s);const f=e.push("link_close","a",-1);f.markup="linkify",f.info="auto"}return e.pos+=s.length-o.length,!0}function Dqe(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==10)return!1;const r=e.pending.length-1,i=e.posMax;if(!t)if(r>=0&&e.pending.charCodeAt(r)===32)if(r>=1&&e.pending.charCodeAt(r-1)===32){let o=r-1;for(;o>=1&&e.pending.charCodeAt(o-1)===32;)o--;e.pending=e.pending.slice(0,o),e.push("hardbreak","br",0)}else e.pending=e.pending.slice(0,-1),e.push("softbreak","br",0);else e.push("softbreak","br",0);for(n++;n?@[]^_`{|}~-".split("").forEach(function(e){PP[e.charCodeAt(0)]=1});function $qe(e,t){let n=e.pos;const r=e.posMax;if(e.src.charCodeAt(n)!==92||(n++,n>=r))return!1;let i=e.src.charCodeAt(n);if(i===10){for(t||e.push("hardbreak","br",0),n++;n=55296&&i<=56319&&n+1=56320&&s<=57343&&(o+=e.src[n+1],n++)}const a="\\"+o;if(!t){const s=e.push("text_special","",0);i<256&&PP[i]!==0?s.content=o:s.content=a,s.markup=a,s.info="escape"}return e.pos=n+1,!0}function Iqe(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==96)return!1;const i=n;n++;const o=e.posMax;for(;n=0;r--){const i=t[r];if(i.marker!==95&&i.marker!==42||i.end===-1)continue;const o=t[i.end],a=r>0&&t[r-1].end===i.end+1&&t[r-1].marker===i.marker&&t[r-1].token===i.token-1&&t[i.end+1].token===o.token+1,s=String.fromCharCode(i.marker),u=e.tokens[i.token];u.type=a?"strong_open":"em_open",u.tag=a?"strong":"em",u.nesting=1,u.markup=a?s+s:s,u.content="";const l=e.tokens[o.token];l.type=a?"strong_close":"em_close",l.tag=a?"strong":"em",l.nesting=-1,l.markup=a?s+s:s,l.content="",a&&(e.tokens[t[r-1].token].content="",e.tokens[t[i.end+1].token].content="",r--)}}function jqe(e){const t=e.tokens_meta,n=e.tokens_meta.length;dN(e,e.delimiters);for(let r=0;r=f)return!1;if(u=m,i=e.md.helpers.parseLinkDestination(e.src,m,e.posMax),i.ok){for(a=e.md.normalizeLink(i.str),e.md.validateLink(a)?m=i.pos:a="",u=m;m=f||e.src.charCodeAt(m)!==41)&&(l=!0),m++}if(l){if(typeof e.env.references>"u")return!1;if(m=0?r=e.src.slice(u,m++):m=p+1):m=p+1,r||(r=e.src.slice(h,p)),o=e.env.references[bw(r)],!o)return e.pos=c,!1;a=o.href,s=o.title}if(!t){e.pos=h,e.posMax=p;const v=e.push("link_open","a",1),b=[["href",a]];v.attrs=b,s&&b.push(["title",s]),e.linkLevel++,e.md.inline.tokenize(e),e.linkLevel--,e.push("link_close","a",-1)}return e.pos=m,e.posMax=f,!0}function zqe(e,t){let n,r,i,o,a,s,u,l,c="";const f=e.pos,h=e.posMax;if(e.src.charCodeAt(e.pos)!==33||e.src.charCodeAt(e.pos+1)!==91)return!1;const p=e.pos+2,m=e.md.helpers.parseLinkLabel(e,e.pos+1,!1);if(m<0)return!1;if(o=m+1,o=h)return!1;for(l=o,s=e.md.helpers.parseLinkDestination(e.src,o,e.posMax),s.ok&&(c=e.md.normalizeLink(s.str),e.md.validateLink(c)?o=s.pos:c=""),l=o;o=h||e.src.charCodeAt(o)!==41)return e.pos=f,!1;o++}else{if(typeof e.env.references>"u")return!1;if(o=0?i=e.src.slice(l,o++):o=m+1):o=m+1,i||(i=e.src.slice(p,m)),a=e.env.references[bw(i)],!a)return e.pos=f,!1;c=a.href,u=a.title}if(!t){r=e.src.slice(p,m);const v=[];e.md.inline.parse(r,e.md,e.env,v);const b=e.push("image","img",0),w=[["src",c],["alt",""]];b.attrs=w,b.children=v,b.content=r,u&&w.push(["title",u])}return e.pos=o,e.posMax=h,!0}const Uqe=/^([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/,Vqe=/^([a-zA-Z][a-zA-Z0-9+.-]{1,31}):([^<>\x00-\x20]*)$/;function Wqe(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==60)return!1;const r=e.pos,i=e.posMax;for(;;){if(++n>=i)return!1;const a=e.src.charCodeAt(n);if(a===60)return!1;if(a===62)break}const o=e.src.slice(r+1,n);if(Vqe.test(o)){const a=e.md.normalizeLink(o);if(!e.md.validateLink(a))return!1;if(!t){const s=e.push("link_open","a",1);s.attrs=[["href",a]],s.markup="autolink",s.info="auto";const u=e.push("text","",0);u.content=e.md.normalizeLinkText(o);const l=e.push("link_close","a",-1);l.markup="autolink",l.info="auto"}return e.pos+=o.length+2,!0}if(Uqe.test(o)){const a=e.md.normalizeLink("mailto:"+o);if(!e.md.validateLink(a))return!1;if(!t){const s=e.push("link_open","a",1);s.attrs=[["href",a]],s.markup="autolink",s.info="auto";const u=e.push("text","",0);u.content=e.md.normalizeLinkText(o);const l=e.push("link_close","a",-1);l.markup="autolink",l.info="auto"}return e.pos+=o.length+2,!0}return!1}function Hqe(e){return/^\s]/i.test(e)}function Kqe(e){return/^<\/a\s*>/i.test(e)}function qqe(e){const t=e|32;return t>=97&&t<=122}function Gqe(e,t){if(!e.md.options.html)return!1;const n=e.posMax,r=e.pos;if(e.src.charCodeAt(r)!==60||r+2>=n)return!1;const i=e.src.charCodeAt(r+1);if(i!==33&&i!==63&&i!==47&&!qqe(i))return!1;const o=e.src.slice(r).match(Sqe);if(!o)return!1;if(!t){const a=e.push("html_inline","",0);a.content=o[0],Hqe(a.content)&&e.linkLevel++,Kqe(a.content)&&e.linkLevel--}return e.pos+=o[0].length,!0}const Yqe=/^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i,Zqe=/^&([a-z][a-z0-9]{1,31});/i;function Xqe(e,t){const n=e.pos,r=e.posMax;if(e.src.charCodeAt(n)!==38||n+1>=r)return!1;if(e.src.charCodeAt(n+1)===35){const o=e.src.slice(n).match(Yqe);if(o){if(!t){const a=o[1][0].toLowerCase()==="x"?parseInt(o[1].slice(1),16):parseInt(o[1],10),s=e.push("text_special","",0);s.content=OP(a)?wx(a):wx(65533),s.markup=o[0],s.info="entity"}return e.pos+=o[0].length,!0}}else{const o=e.src.slice(n).match(Zqe);if(o){const a=zY(o[0]);if(a!==o[0]){if(!t){const s=e.push("text_special","",0);s.content=a,s.markup=o[0],s.info="entity"}return e.pos+=o[0].length,!0}}}return!1}function hN(e){const t={},n=e.length;if(!n)return;let r=0,i=-2;const o=[];for(let a=0;au;l-=o[l]+1){const f=e[l];if(f.marker===s.marker&&f.open&&f.end<0){let h=!1;if((f.close||s.open)&&(f.length+s.length)%3===0&&(f.length%3!==0||s.length%3!==0)&&(h=!0),!h){const p=l>0&&!e[l-1].open?o[l-1]+1:0;o[a]=a-l+p,o[l]=p,s.open=!1,f.end=a,f.close=!1,c=-1,i=-2;break}}}c!==-1&&(t[s.marker][(s.open?3:0)+(s.length||0)%3]=c)}}function Qqe(e){const t=e.tokens_meta,n=e.tokens_meta.length;hN(e.delimiters);for(let r=0;r0&&r++,i[t].type==="text"&&t+1=e.pos)throw new Error("inline rule didn't increment state.pos");break}}else e.pos=e.posMax;a||e.pos++,o[t]=e.pos};Ym.prototype.tokenize=function(e){const t=this.ruler.getRules(""),n=t.length,r=e.posMax,i=e.md.options.maxNesting;for(;e.pos=e.pos)throw new Error("inline rule didn't increment state.pos");break}}if(a){if(e.pos>=r)break;continue}e.pending+=e.src[e.pos++]}e.pending&&e.pushPending()};Ym.prototype.parse=function(e,t,n,r){const i=new this.State(e,t,n,r);this.tokenize(i);const o=this.ruler2.getRules(""),a=o.length;for(let s=0;s|$))",t.tpl_email_fuzzy="(^|"+n+'|"|\\(|'+t.src_ZCc+")("+t.src_email_name+"@"+t.tpl_host_fuzzy_strict+")",t.tpl_link_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+t.src_ZPCc+"))((?![$+<=>^`||])"+t.tpl_host_port_fuzzy_strict+t.src_path+")",t.tpl_link_no_ip_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+t.src_ZPCc+"))((?![$+<=>^`||])"+t.tpl_host_port_no_ip_fuzzy_strict+t.src_path+")",t}function _4(e){return Array.prototype.slice.call(arguments,1).forEach(function(n){n&&Object.keys(n).forEach(function(r){e[r]=n[r]})}),e}function ww(e){return Object.prototype.toString.call(e)}function tGe(e){return ww(e)==="[object String]"}function nGe(e){return ww(e)==="[object Object]"}function rGe(e){return ww(e)==="[object RegExp]"}function pN(e){return ww(e)==="[object Function]"}function iGe(e){return e.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}const ZY={fuzzyLink:!0,fuzzyEmail:!0,fuzzyIP:!1};function oGe(e){return Object.keys(e||{}).reduce(function(t,n){return t||ZY.hasOwnProperty(n)},!1)}const aGe={"http:":{validate:function(e,t,n){const r=e.slice(t);return n.re.http||(n.re.http=new RegExp("^\\/\\/"+n.re.src_auth+n.re.src_host_port_strict+n.re.src_path,"i")),n.re.http.test(r)?r.match(n.re.http)[0].length:0}},"https:":"http:","ftp:":"http:","//":{validate:function(e,t,n){const r=e.slice(t);return n.re.no_http||(n.re.no_http=new RegExp("^"+n.re.src_auth+"(?:localhost|(?:(?:"+n.re.src_domain+")\\.)+"+n.re.src_domain_root+")"+n.re.src_port+n.re.src_host_terminator+n.re.src_path,"i")),n.re.no_http.test(r)?t>=3&&e[t-3]===":"||t>=3&&e[t-3]==="/"?0:r.match(n.re.no_http)[0].length:0}},"mailto:":{validate:function(e,t,n){const r=e.slice(t);return n.re.mailto||(n.re.mailto=new RegExp("^"+n.re.src_email_name+"@"+n.re.src_host_strict,"i")),n.re.mailto.test(r)?r.match(n.re.mailto)[0].length:0}}},sGe="a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]",uGe="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф".split("|");function lGe(e){e.__index__=-1,e.__text_cache__=""}function cGe(e){return function(t,n){const r=t.slice(n);return e.test(r)?r.match(e)[0].length:0}}function gN(){return function(e,t){t.normalize(e)}}function _x(e){const t=e.re=eGe(e.__opts__),n=e.__tlds__.slice();e.onCompile(),e.__tlds_replaced__||n.push(sGe),n.push(t.src_xn),t.src_tlds=n.join("|");function r(s){return s.replace("%TLDS%",t.src_tlds)}t.email_fuzzy=RegExp(r(t.tpl_email_fuzzy),"i"),t.link_fuzzy=RegExp(r(t.tpl_link_fuzzy),"i"),t.link_no_ip_fuzzy=RegExp(r(t.tpl_link_no_ip_fuzzy),"i"),t.host_fuzzy_test=RegExp(r(t.tpl_host_fuzzy_test),"i");const i=[];e.__compiled__={};function o(s,u){throw new Error('(LinkifyIt) Invalid schema "'+s+'": '+u)}Object.keys(e.__schemas__).forEach(function(s){const u=e.__schemas__[s];if(u===null)return;const l={validate:null,link:null};if(e.__compiled__[s]=l,nGe(u)){rGe(u.validate)?l.validate=cGe(u.validate):pN(u.validate)?l.validate=u.validate:o(s,u),pN(u.normalize)?l.normalize=u.normalize:u.normalize?o(s,u):l.normalize=gN();return}if(tGe(u)){i.push(s);return}o(s,u)}),i.forEach(function(s){e.__compiled__[e.__schemas__[s]]&&(e.__compiled__[s].validate=e.__compiled__[e.__schemas__[s]].validate,e.__compiled__[s].normalize=e.__compiled__[e.__schemas__[s]].normalize)}),e.__compiled__[""]={validate:null,normalize:gN()};const a=Object.keys(e.__compiled__).filter(function(s){return s.length>0&&e.__compiled__[s]}).map(iGe).join("|");e.re.schema_test=RegExp("(^|(?!_)(?:[><|]|"+t.src_ZPCc+"))("+a+")","i"),e.re.schema_search=RegExp("(^|(?!_)(?:[><|]|"+t.src_ZPCc+"))("+a+")","ig"),e.re.schema_at_start=RegExp("^"+e.re.schema_search.source,"i"),e.re.pretest=RegExp("("+e.re.schema_test.source+")|("+e.re.host_fuzzy_test.source+")|@","i"),lGe(e)}function fGe(e,t){const n=e.__index__,r=e.__last_index__,i=e.__text_cache__.slice(n,r);this.schema=e.__schema__.toLowerCase(),this.index=n+t,this.lastIndex=r+t,this.raw=i,this.text=i,this.url=i}function S4(e,t){const n=new fGe(e,t);return e.__compiled__[n.schema].normalize(n,e),n}function Wo(e,t){if(!(this instanceof Wo))return new Wo(e,t);t||oGe(e)&&(t=e,e={}),this.__opts__=_4({},ZY,t),this.__index__=-1,this.__last_index__=-1,this.__schema__="",this.__text_cache__="",this.__schemas__=_4({},aGe,e),this.__compiled__={},this.__tlds__=uGe,this.__tlds_replaced__=!1,this.re={},_x(this)}Wo.prototype.add=function(t,n){return this.__schemas__[t]=n,_x(this),this};Wo.prototype.set=function(t){return this.__opts__=_4(this.__opts__,t),this};Wo.prototype.test=function(t){if(this.__text_cache__=t,this.__index__=-1,!t.length)return!1;let n,r,i,o,a,s,u,l,c;if(this.re.schema_test.test(t)){for(u=this.re.schema_search,u.lastIndex=0;(n=u.exec(t))!==null;)if(o=this.testSchemaAt(t,n[2],u.lastIndex),o){this.__schema__=n[2],this.__index__=n.index+n[1].length,this.__last_index__=n.index+n[0].length+o;break}}return this.__opts__.fuzzyLink&&this.__compiled__["http:"]&&(l=t.search(this.re.host_fuzzy_test),l>=0&&(this.__index__<0||l=0&&(i=t.match(this.re.email_fuzzy))!==null&&(a=i.index+i[1].length,s=i.index+i[0].length,(this.__index__<0||athis.__last_index__)&&(this.__schema__="mailto:",this.__index__=a,this.__last_index__=s))),this.__index__>=0};Wo.prototype.pretest=function(t){return this.re.pretest.test(t)};Wo.prototype.testSchemaAt=function(t,n,r){return this.__compiled__[n.toLowerCase()]?this.__compiled__[n.toLowerCase()].validate(t,r,this):0};Wo.prototype.match=function(t){const n=[];let r=0;this.__index__>=0&&this.__text_cache__===t&&(n.push(S4(this,r)),r=this.__last_index__);let i=r?t.slice(r):t;for(;this.test(i);)n.push(S4(this,r)),i=i.slice(this.__last_index__),r+=this.__last_index__;return n.length?n:null};Wo.prototype.matchAtStart=function(t){if(this.__text_cache__=t,this.__index__=-1,!t.length)return null;const n=this.re.schema_at_start.exec(t);if(!n)return null;const r=this.testSchemaAt(t,n[2],n[0].length);return r?(this.__schema__=n[2],this.__index__=n.index+n[1].length,this.__last_index__=n.index+n[0].length+r,S4(this,0)):null};Wo.prototype.tlds=function(t,n){return t=Array.isArray(t)?t:[t],n?(this.__tlds__=this.__tlds__.concat(t).sort().filter(function(r,i,o){return r!==o[i-1]}).reverse(),_x(this),this):(this.__tlds__=t.slice(),this.__tlds_replaced__=!0,_x(this),this)};Wo.prototype.normalize=function(t){t.schema||(t.url="http://"+t.url),t.schema==="mailto:"&&!/^mailto:/i.test(t.url)&&(t.url="mailto:"+t.url)};Wo.prototype.onCompile=function(){};const Fd=2147483647,ws=36,kP=1,lm=26,dGe=38,hGe=700,XY=72,QY=128,JY="-",pGe=/^xn--/,gGe=/[^\0-\x7F]/,mGe=/[\x2E\u3002\uFF0E\uFF61]/g,vGe={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},$3=ws-kP,_s=Math.floor,I3=String.fromCharCode;function Ju(e){throw new RangeError(vGe[e])}function yGe(e,t){const n=[];let r=e.length;for(;r--;)n[r]=t(e[r]);return n}function eZ(e,t){const n=e.split("@");let r="";n.length>1&&(r=n[0]+"@",e=n[1]),e=e.replace(mGe,".");const i=e.split("."),o=yGe(i,t).join(".");return r+o}function tZ(e){const t=[];let n=0;const r=e.length;for(;n=55296&&i<=56319&&nString.fromCodePoint(...e),xGe=function(e){return e>=48&&e<58?26+(e-48):e>=65&&e<91?e-65:e>=97&&e<123?e-97:ws},mN=function(e,t){return e+22+75*(e<26)-((t!=0)<<5)},nZ=function(e,t,n){let r=0;for(e=n?_s(e/hGe):e>>1,e+=_s(e/t);e>$3*lm>>1;r+=ws)e=_s(e/$3);return _s(r+($3+1)*e/(e+dGe))},rZ=function(e){const t=[],n=e.length;let r=0,i=QY,o=XY,a=e.lastIndexOf(JY);a<0&&(a=0);for(let s=0;s=128&&Ju("not-basic"),t.push(e.charCodeAt(s));for(let s=a>0?a+1:0;s=n&&Ju("invalid-input");const h=xGe(e.charCodeAt(s++));h>=ws&&Ju("invalid-input"),h>_s((Fd-r)/c)&&Ju("overflow"),r+=h*c;const p=f<=o?kP:f>=o+lm?lm:f-o;if(h_s(Fd/m)&&Ju("overflow"),c*=m}const l=t.length+1;o=nZ(r-u,l,u==0),_s(r/l)>Fd-i&&Ju("overflow"),i+=_s(r/l),r%=l,t.splice(r++,0,i)}return String.fromCodePoint(...t)},iZ=function(e){const t=[];e=tZ(e);const n=e.length;let r=QY,i=0,o=XY;for(const u of e)u<128&&t.push(I3(u));const a=t.length;let s=a;for(a&&t.push(JY);s=r&&c_s((Fd-i)/l)&&Ju("overflow"),i+=(u-r)*l,r=u;for(const c of e)if(cFd&&Ju("overflow"),c===r){let f=i;for(let h=ws;;h+=ws){const p=h<=o?kP:h>=o+lm?lm:h-o;if(f=0))try{t.hostname=oZ.toASCII(t.hostname)}catch{}return qm(_P(t))}function MGe(e){const t=SP(e,!0);if(t.hostname&&(!t.protocol||aZ.indexOf(t.protocol)>=0))try{t.hostname=oZ.toUnicode(t.hostname)}catch{}return Oh(_P(t),Oh.defaultChars+"%")}function es(e,t){if(!(this instanceof es))return new es(e,t);t||EP(e)||(t=e||{},e="default"),this.inline=new Ym,this.block=new xw,this.core=new AP,this.renderer=new ip,this.linkify=new Wo,this.validateLink=kGe,this.normalizeLink=TGe,this.normalizeLinkText=MGe,this.utils=DKe,this.helpers=yw({},LKe),this.options={},this.configure(e),t&&this.set(t)}es.prototype.set=function(e){return yw(this.options,e),this};es.prototype.configure=function(e){const t=this;if(EP(e)){const n=e;if(e=OGe[n],!e)throw new Error('Wrong `markdown-it` preset "'+n+'", check name')}if(!e)throw new Error("Wrong `markdown-it` preset, can't be empty");return e.options&&t.set(e.options),e.components&&Object.keys(e.components).forEach(function(n){e.components[n].rules&&t[n].ruler.enableOnly(e.components[n].rules),e.components[n].rules2&&t[n].ruler2.enableOnly(e.components[n].rules2)}),this};es.prototype.enable=function(e,t){let n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(function(i){n=n.concat(this[i].ruler.enable(e,!0))},this),n=n.concat(this.inline.ruler2.enable(e,!0));const r=e.filter(function(i){return n.indexOf(i)<0});if(r.length&&!t)throw new Error("MarkdownIt. Failed to enable unknown rule(s): "+r);return this};es.prototype.disable=function(e,t){let n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(function(i){n=n.concat(this[i].ruler.disable(e,!0))},this),n=n.concat(this.inline.ruler2.disable(e,!0));const r=e.filter(function(i){return n.indexOf(i)<0});if(r.length&&!t)throw new Error("MarkdownIt. Failed to disable unknown rule(s): "+r);return this};es.prototype.use=function(e){const t=[this].concat(Array.prototype.slice.call(arguments,1));return e.apply(e,t),this};es.prototype.parse=function(e,t){if(typeof e!="string")throw new Error("Input data should be a String");const n=new this.core.State(e,this,t);return this.core.process(n),n.tokens};es.prototype.render=function(e,t){return t=t||{},this.renderer.render(this.parse(e,t),this.options,t)};es.prototype.parseInline=function(e,t){const n=new this.core.State(e,this,t);return n.inlineMode=!0,this.core.process(n),n.tokens};es.prototype.renderInline=function(e,t){return t=t||{},this.renderer.render(this.parseInline(e,t),this.options,t)};var sZ={exports:{}};(function(e){(function(t){var n=function(T){var D,$=new Float64Array(16);if(T)for(D=0;D>24&255,T[D+1]=$>>16&255,T[D+2]=$>>8&255,T[D+3]=$&255,T[D+4]=A>>24&255,T[D+5]=A>>16&255,T[D+6]=A>>8&255,T[D+7]=A&255}function v(T,D,$,A,N){var Q,ee=0;for(Q=0;Q>>8)-1}function b(T,D,$,A){return v(T,D,$,A,16)}function w(T,D,$,A){return v(T,D,$,A,32)}function x(T,D,$,A){for(var N=A[0]&255|(A[1]&255)<<8|(A[2]&255)<<16|(A[3]&255)<<24,Q=$[0]&255|($[1]&255)<<8|($[2]&255)<<16|($[3]&255)<<24,ee=$[4]&255|($[5]&255)<<8|($[6]&255)<<16|($[7]&255)<<24,fe=$[8]&255|($[9]&255)<<8|($[10]&255)<<16|($[11]&255)<<24,_e=$[12]&255|($[13]&255)<<8|($[14]&255)<<16|($[15]&255)<<24,je=A[4]&255|(A[5]&255)<<8|(A[6]&255)<<16|(A[7]&255)<<24,We=D[0]&255|(D[1]&255)<<8|(D[2]&255)<<16|(D[3]&255)<<24,ct=D[4]&255|(D[5]&255)<<8|(D[6]&255)<<16|(D[7]&255)<<24,Ie=D[8]&255|(D[9]&255)<<8|(D[10]&255)<<16|(D[11]&255)<<24,nt=D[12]&255|(D[13]&255)<<8|(D[14]&255)<<16|(D[15]&255)<<24,bt=A[8]&255|(A[9]&255)<<8|(A[10]&255)<<16|(A[11]&255)<<24,Ot=$[16]&255|($[17]&255)<<8|($[18]&255)<<16|($[19]&255)<<24,gt=$[20]&255|($[21]&255)<<8|($[22]&255)<<16|($[23]&255)<<24,ht=$[24]&255|($[25]&255)<<8|($[26]&255)<<16|($[27]&255)<<24,xt=$[28]&255|($[29]&255)<<8|($[30]&255)<<16|($[31]&255)<<24,wt=A[12]&255|(A[13]&255)<<8|(A[14]&255)<<16|(A[15]&255)<<24,Qe=N,ut=Q,Xe=ee,Ne=fe,Ke=_e,Ge=je,pe=We,he=ct,Re=Ie,Oe=nt,Pe=bt,Be=Ot,vt=gt,Lt=ht,Ft=xt,$t=wt,J,Zt=0;Zt<20;Zt+=2)J=Qe+vt|0,Ke^=J<<7|J>>>25,J=Ke+Qe|0,Re^=J<<9|J>>>23,J=Re+Ke|0,vt^=J<<13|J>>>19,J=vt+Re|0,Qe^=J<<18|J>>>14,J=Ge+ut|0,Oe^=J<<7|J>>>25,J=Oe+Ge|0,Lt^=J<<9|J>>>23,J=Lt+Oe|0,ut^=J<<13|J>>>19,J=ut+Lt|0,Ge^=J<<18|J>>>14,J=Pe+pe|0,Ft^=J<<7|J>>>25,J=Ft+Pe|0,Xe^=J<<9|J>>>23,J=Xe+Ft|0,pe^=J<<13|J>>>19,J=pe+Xe|0,Pe^=J<<18|J>>>14,J=$t+Be|0,Ne^=J<<7|J>>>25,J=Ne+$t|0,he^=J<<9|J>>>23,J=he+Ne|0,Be^=J<<13|J>>>19,J=Be+he|0,$t^=J<<18|J>>>14,J=Qe+Ne|0,ut^=J<<7|J>>>25,J=ut+Qe|0,Xe^=J<<9|J>>>23,J=Xe+ut|0,Ne^=J<<13|J>>>19,J=Ne+Xe|0,Qe^=J<<18|J>>>14,J=Ge+Ke|0,pe^=J<<7|J>>>25,J=pe+Ge|0,he^=J<<9|J>>>23,J=he+pe|0,Ke^=J<<13|J>>>19,J=Ke+he|0,Ge^=J<<18|J>>>14,J=Pe+Oe|0,Be^=J<<7|J>>>25,J=Be+Pe|0,Re^=J<<9|J>>>23,J=Re+Be|0,Oe^=J<<13|J>>>19,J=Oe+Re|0,Pe^=J<<18|J>>>14,J=$t+Ft|0,vt^=J<<7|J>>>25,J=vt+$t|0,Lt^=J<<9|J>>>23,J=Lt+vt|0,Ft^=J<<13|J>>>19,J=Ft+Lt|0,$t^=J<<18|J>>>14;Qe=Qe+N|0,ut=ut+Q|0,Xe=Xe+ee|0,Ne=Ne+fe|0,Ke=Ke+_e|0,Ge=Ge+je|0,pe=pe+We|0,he=he+ct|0,Re=Re+Ie|0,Oe=Oe+nt|0,Pe=Pe+bt|0,Be=Be+Ot|0,vt=vt+gt|0,Lt=Lt+ht|0,Ft=Ft+xt|0,$t=$t+wt|0,T[0]=Qe>>>0&255,T[1]=Qe>>>8&255,T[2]=Qe>>>16&255,T[3]=Qe>>>24&255,T[4]=ut>>>0&255,T[5]=ut>>>8&255,T[6]=ut>>>16&255,T[7]=ut>>>24&255,T[8]=Xe>>>0&255,T[9]=Xe>>>8&255,T[10]=Xe>>>16&255,T[11]=Xe>>>24&255,T[12]=Ne>>>0&255,T[13]=Ne>>>8&255,T[14]=Ne>>>16&255,T[15]=Ne>>>24&255,T[16]=Ke>>>0&255,T[17]=Ke>>>8&255,T[18]=Ke>>>16&255,T[19]=Ke>>>24&255,T[20]=Ge>>>0&255,T[21]=Ge>>>8&255,T[22]=Ge>>>16&255,T[23]=Ge>>>24&255,T[24]=pe>>>0&255,T[25]=pe>>>8&255,T[26]=pe>>>16&255,T[27]=pe>>>24&255,T[28]=he>>>0&255,T[29]=he>>>8&255,T[30]=he>>>16&255,T[31]=he>>>24&255,T[32]=Re>>>0&255,T[33]=Re>>>8&255,T[34]=Re>>>16&255,T[35]=Re>>>24&255,T[36]=Oe>>>0&255,T[37]=Oe>>>8&255,T[38]=Oe>>>16&255,T[39]=Oe>>>24&255,T[40]=Pe>>>0&255,T[41]=Pe>>>8&255,T[42]=Pe>>>16&255,T[43]=Pe>>>24&255,T[44]=Be>>>0&255,T[45]=Be>>>8&255,T[46]=Be>>>16&255,T[47]=Be>>>24&255,T[48]=vt>>>0&255,T[49]=vt>>>8&255,T[50]=vt>>>16&255,T[51]=vt>>>24&255,T[52]=Lt>>>0&255,T[53]=Lt>>>8&255,T[54]=Lt>>>16&255,T[55]=Lt>>>24&255,T[56]=Ft>>>0&255,T[57]=Ft>>>8&255,T[58]=Ft>>>16&255,T[59]=Ft>>>24&255,T[60]=$t>>>0&255,T[61]=$t>>>8&255,T[62]=$t>>>16&255,T[63]=$t>>>24&255}function S(T,D,$,A){for(var N=A[0]&255|(A[1]&255)<<8|(A[2]&255)<<16|(A[3]&255)<<24,Q=$[0]&255|($[1]&255)<<8|($[2]&255)<<16|($[3]&255)<<24,ee=$[4]&255|($[5]&255)<<8|($[6]&255)<<16|($[7]&255)<<24,fe=$[8]&255|($[9]&255)<<8|($[10]&255)<<16|($[11]&255)<<24,_e=$[12]&255|($[13]&255)<<8|($[14]&255)<<16|($[15]&255)<<24,je=A[4]&255|(A[5]&255)<<8|(A[6]&255)<<16|(A[7]&255)<<24,We=D[0]&255|(D[1]&255)<<8|(D[2]&255)<<16|(D[3]&255)<<24,ct=D[4]&255|(D[5]&255)<<8|(D[6]&255)<<16|(D[7]&255)<<24,Ie=D[8]&255|(D[9]&255)<<8|(D[10]&255)<<16|(D[11]&255)<<24,nt=D[12]&255|(D[13]&255)<<8|(D[14]&255)<<16|(D[15]&255)<<24,bt=A[8]&255|(A[9]&255)<<8|(A[10]&255)<<16|(A[11]&255)<<24,Ot=$[16]&255|($[17]&255)<<8|($[18]&255)<<16|($[19]&255)<<24,gt=$[20]&255|($[21]&255)<<8|($[22]&255)<<16|($[23]&255)<<24,ht=$[24]&255|($[25]&255)<<8|($[26]&255)<<16|($[27]&255)<<24,xt=$[28]&255|($[29]&255)<<8|($[30]&255)<<16|($[31]&255)<<24,wt=A[12]&255|(A[13]&255)<<8|(A[14]&255)<<16|(A[15]&255)<<24,Qe=N,ut=Q,Xe=ee,Ne=fe,Ke=_e,Ge=je,pe=We,he=ct,Re=Ie,Oe=nt,Pe=bt,Be=Ot,vt=gt,Lt=ht,Ft=xt,$t=wt,J,Zt=0;Zt<20;Zt+=2)J=Qe+vt|0,Ke^=J<<7|J>>>25,J=Ke+Qe|0,Re^=J<<9|J>>>23,J=Re+Ke|0,vt^=J<<13|J>>>19,J=vt+Re|0,Qe^=J<<18|J>>>14,J=Ge+ut|0,Oe^=J<<7|J>>>25,J=Oe+Ge|0,Lt^=J<<9|J>>>23,J=Lt+Oe|0,ut^=J<<13|J>>>19,J=ut+Lt|0,Ge^=J<<18|J>>>14,J=Pe+pe|0,Ft^=J<<7|J>>>25,J=Ft+Pe|0,Xe^=J<<9|J>>>23,J=Xe+Ft|0,pe^=J<<13|J>>>19,J=pe+Xe|0,Pe^=J<<18|J>>>14,J=$t+Be|0,Ne^=J<<7|J>>>25,J=Ne+$t|0,he^=J<<9|J>>>23,J=he+Ne|0,Be^=J<<13|J>>>19,J=Be+he|0,$t^=J<<18|J>>>14,J=Qe+Ne|0,ut^=J<<7|J>>>25,J=ut+Qe|0,Xe^=J<<9|J>>>23,J=Xe+ut|0,Ne^=J<<13|J>>>19,J=Ne+Xe|0,Qe^=J<<18|J>>>14,J=Ge+Ke|0,pe^=J<<7|J>>>25,J=pe+Ge|0,he^=J<<9|J>>>23,J=he+pe|0,Ke^=J<<13|J>>>19,J=Ke+he|0,Ge^=J<<18|J>>>14,J=Pe+Oe|0,Be^=J<<7|J>>>25,J=Be+Pe|0,Re^=J<<9|J>>>23,J=Re+Be|0,Oe^=J<<13|J>>>19,J=Oe+Re|0,Pe^=J<<18|J>>>14,J=$t+Ft|0,vt^=J<<7|J>>>25,J=vt+$t|0,Lt^=J<<9|J>>>23,J=Lt+vt|0,Ft^=J<<13|J>>>19,J=Ft+Lt|0,$t^=J<<18|J>>>14;T[0]=Qe>>>0&255,T[1]=Qe>>>8&255,T[2]=Qe>>>16&255,T[3]=Qe>>>24&255,T[4]=Ge>>>0&255,T[5]=Ge>>>8&255,T[6]=Ge>>>16&255,T[7]=Ge>>>24&255,T[8]=Pe>>>0&255,T[9]=Pe>>>8&255,T[10]=Pe>>>16&255,T[11]=Pe>>>24&255,T[12]=$t>>>0&255,T[13]=$t>>>8&255,T[14]=$t>>>16&255,T[15]=$t>>>24&255,T[16]=pe>>>0&255,T[17]=pe>>>8&255,T[18]=pe>>>16&255,T[19]=pe>>>24&255,T[20]=he>>>0&255,T[21]=he>>>8&255,T[22]=he>>>16&255,T[23]=he>>>24&255,T[24]=Re>>>0&255,T[25]=Re>>>8&255,T[26]=Re>>>16&255,T[27]=Re>>>24&255,T[28]=Oe>>>0&255,T[29]=Oe>>>8&255,T[30]=Oe>>>16&255,T[31]=Oe>>>24&255}function O(T,D,$,A){x(T,D,$,A)}function E(T,D,$,A){S(T,D,$,A)}var C=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function k(T,D,$,A,N,Q,ee){var fe=new Uint8Array(16),_e=new Uint8Array(64),je,We;for(We=0;We<16;We++)fe[We]=0;for(We=0;We<8;We++)fe[We]=Q[We];for(;N>=64;){for(O(_e,fe,ee,C),We=0;We<64;We++)T[D+We]=$[A+We]^_e[We];for(je=1,We=8;We<16;We++)je=je+(fe[We]&255)|0,fe[We]=je&255,je>>>=8;N-=64,D+=64,A+=64}if(N>0)for(O(_e,fe,ee,C),We=0;We=64;){for(O(ee,Q,N,C),_e=0;_e<64;_e++)T[D+_e]=ee[_e];for(fe=1,_e=8;_e<16;_e++)fe=fe+(Q[_e]&255)|0,Q[_e]=fe&255,fe>>>=8;$-=64,D+=64}if($>0)for(O(ee,Q,N,C),_e=0;_e<$;_e++)T[D+_e]=ee[_e];return 0}function L(T,D,$,A,N){var Q=new Uint8Array(32);E(Q,A,N,C);for(var ee=new Uint8Array(8),fe=0;fe<8;fe++)ee[fe]=A[fe+16];return M(T,D,$,ee,Q)}function U(T,D,$,A,N,Q,ee){var fe=new Uint8Array(32);E(fe,Q,ee,C);for(var _e=new Uint8Array(8),je=0;je<8;je++)_e[je]=Q[je+16];return k(T,D,$,A,N,_e,fe)}var H=function(T){this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.leftover=0,this.fin=0;var D,$,A,N,Q,ee,fe,_e;D=T[0]&255|(T[1]&255)<<8,this.r[0]=D&8191,$=T[2]&255|(T[3]&255)<<8,this.r[1]=(D>>>13|$<<3)&8191,A=T[4]&255|(T[5]&255)<<8,this.r[2]=($>>>10|A<<6)&7939,N=T[6]&255|(T[7]&255)<<8,this.r[3]=(A>>>7|N<<9)&8191,Q=T[8]&255|(T[9]&255)<<8,this.r[4]=(N>>>4|Q<<12)&255,this.r[5]=Q>>>1&8190,ee=T[10]&255|(T[11]&255)<<8,this.r[6]=(Q>>>14|ee<<2)&8191,fe=T[12]&255|(T[13]&255)<<8,this.r[7]=(ee>>>11|fe<<5)&8065,_e=T[14]&255|(T[15]&255)<<8,this.r[8]=(fe>>>8|_e<<8)&8191,this.r[9]=_e>>>5&127,this.pad[0]=T[16]&255|(T[17]&255)<<8,this.pad[1]=T[18]&255|(T[19]&255)<<8,this.pad[2]=T[20]&255|(T[21]&255)<<8,this.pad[3]=T[22]&255|(T[23]&255)<<8,this.pad[4]=T[24]&255|(T[25]&255)<<8,this.pad[5]=T[26]&255|(T[27]&255)<<8,this.pad[6]=T[28]&255|(T[29]&255)<<8,this.pad[7]=T[30]&255|(T[31]&255)<<8};H.prototype.blocks=function(T,D,$){for(var A=this.fin?0:2048,N,Q,ee,fe,_e,je,We,ct,Ie,nt,bt,Ot,gt,ht,xt,wt,Qe,ut,Xe,Ne=this.h[0],Ke=this.h[1],Ge=this.h[2],pe=this.h[3],he=this.h[4],Re=this.h[5],Oe=this.h[6],Pe=this.h[7],Be=this.h[8],vt=this.h[9],Lt=this.r[0],Ft=this.r[1],$t=this.r[2],J=this.r[3],Zt=this.r[4],sn=this.r[5],un=this.r[6],jt=this.r[7],ln=this.r[8],rn=this.r[9];$>=16;)N=T[D+0]&255|(T[D+1]&255)<<8,Ne+=N&8191,Q=T[D+2]&255|(T[D+3]&255)<<8,Ke+=(N>>>13|Q<<3)&8191,ee=T[D+4]&255|(T[D+5]&255)<<8,Ge+=(Q>>>10|ee<<6)&8191,fe=T[D+6]&255|(T[D+7]&255)<<8,pe+=(ee>>>7|fe<<9)&8191,_e=T[D+8]&255|(T[D+9]&255)<<8,he+=(fe>>>4|_e<<12)&8191,Re+=_e>>>1&8191,je=T[D+10]&255|(T[D+11]&255)<<8,Oe+=(_e>>>14|je<<2)&8191,We=T[D+12]&255|(T[D+13]&255)<<8,Pe+=(je>>>11|We<<5)&8191,ct=T[D+14]&255|(T[D+15]&255)<<8,Be+=(We>>>8|ct<<8)&8191,vt+=ct>>>5|A,Ie=0,nt=Ie,nt+=Ne*Lt,nt+=Ke*(5*rn),nt+=Ge*(5*ln),nt+=pe*(5*jt),nt+=he*(5*un),Ie=nt>>>13,nt&=8191,nt+=Re*(5*sn),nt+=Oe*(5*Zt),nt+=Pe*(5*J),nt+=Be*(5*$t),nt+=vt*(5*Ft),Ie+=nt>>>13,nt&=8191,bt=Ie,bt+=Ne*Ft,bt+=Ke*Lt,bt+=Ge*(5*rn),bt+=pe*(5*ln),bt+=he*(5*jt),Ie=bt>>>13,bt&=8191,bt+=Re*(5*un),bt+=Oe*(5*sn),bt+=Pe*(5*Zt),bt+=Be*(5*J),bt+=vt*(5*$t),Ie+=bt>>>13,bt&=8191,Ot=Ie,Ot+=Ne*$t,Ot+=Ke*Ft,Ot+=Ge*Lt,Ot+=pe*(5*rn),Ot+=he*(5*ln),Ie=Ot>>>13,Ot&=8191,Ot+=Re*(5*jt),Ot+=Oe*(5*un),Ot+=Pe*(5*sn),Ot+=Be*(5*Zt),Ot+=vt*(5*J),Ie+=Ot>>>13,Ot&=8191,gt=Ie,gt+=Ne*J,gt+=Ke*$t,gt+=Ge*Ft,gt+=pe*Lt,gt+=he*(5*rn),Ie=gt>>>13,gt&=8191,gt+=Re*(5*ln),gt+=Oe*(5*jt),gt+=Pe*(5*un),gt+=Be*(5*sn),gt+=vt*(5*Zt),Ie+=gt>>>13,gt&=8191,ht=Ie,ht+=Ne*Zt,ht+=Ke*J,ht+=Ge*$t,ht+=pe*Ft,ht+=he*Lt,Ie=ht>>>13,ht&=8191,ht+=Re*(5*rn),ht+=Oe*(5*ln),ht+=Pe*(5*jt),ht+=Be*(5*un),ht+=vt*(5*sn),Ie+=ht>>>13,ht&=8191,xt=Ie,xt+=Ne*sn,xt+=Ke*Zt,xt+=Ge*J,xt+=pe*$t,xt+=he*Ft,Ie=xt>>>13,xt&=8191,xt+=Re*Lt,xt+=Oe*(5*rn),xt+=Pe*(5*ln),xt+=Be*(5*jt),xt+=vt*(5*un),Ie+=xt>>>13,xt&=8191,wt=Ie,wt+=Ne*un,wt+=Ke*sn,wt+=Ge*Zt,wt+=pe*J,wt+=he*$t,Ie=wt>>>13,wt&=8191,wt+=Re*Ft,wt+=Oe*Lt,wt+=Pe*(5*rn),wt+=Be*(5*ln),wt+=vt*(5*jt),Ie+=wt>>>13,wt&=8191,Qe=Ie,Qe+=Ne*jt,Qe+=Ke*un,Qe+=Ge*sn,Qe+=pe*Zt,Qe+=he*J,Ie=Qe>>>13,Qe&=8191,Qe+=Re*$t,Qe+=Oe*Ft,Qe+=Pe*Lt,Qe+=Be*(5*rn),Qe+=vt*(5*ln),Ie+=Qe>>>13,Qe&=8191,ut=Ie,ut+=Ne*ln,ut+=Ke*jt,ut+=Ge*un,ut+=pe*sn,ut+=he*Zt,Ie=ut>>>13,ut&=8191,ut+=Re*J,ut+=Oe*$t,ut+=Pe*Ft,ut+=Be*Lt,ut+=vt*(5*rn),Ie+=ut>>>13,ut&=8191,Xe=Ie,Xe+=Ne*rn,Xe+=Ke*ln,Xe+=Ge*jt,Xe+=pe*un,Xe+=he*sn,Ie=Xe>>>13,Xe&=8191,Xe+=Re*Zt,Xe+=Oe*J,Xe+=Pe*$t,Xe+=Be*Ft,Xe+=vt*Lt,Ie+=Xe>>>13,Xe&=8191,Ie=(Ie<<2)+Ie|0,Ie=Ie+nt|0,nt=Ie&8191,Ie=Ie>>>13,bt+=Ie,Ne=nt,Ke=bt,Ge=Ot,pe=gt,he=ht,Re=xt,Oe=wt,Pe=Qe,Be=ut,vt=Xe,D+=16,$-=16;this.h[0]=Ne,this.h[1]=Ke,this.h[2]=Ge,this.h[3]=pe,this.h[4]=he,this.h[5]=Re,this.h[6]=Oe,this.h[7]=Pe,this.h[8]=Be,this.h[9]=vt},H.prototype.finish=function(T,D){var $=new Uint16Array(10),A,N,Q,ee;if(this.leftover){for(ee=this.leftover,this.buffer[ee++]=1;ee<16;ee++)this.buffer[ee]=0;this.fin=1,this.blocks(this.buffer,0,16)}for(A=this.h[1]>>>13,this.h[1]&=8191,ee=2;ee<10;ee++)this.h[ee]+=A,A=this.h[ee]>>>13,this.h[ee]&=8191;for(this.h[0]+=A*5,A=this.h[0]>>>13,this.h[0]&=8191,this.h[1]+=A,A=this.h[1]>>>13,this.h[1]&=8191,this.h[2]+=A,$[0]=this.h[0]+5,A=$[0]>>>13,$[0]&=8191,ee=1;ee<10;ee++)$[ee]=this.h[ee]+A,A=$[ee]>>>13,$[ee]&=8191;for($[9]-=8192,N=(A^1)-1,ee=0;ee<10;ee++)$[ee]&=N;for(N=~N,ee=0;ee<10;ee++)this.h[ee]=this.h[ee]&N|$[ee];for(this.h[0]=(this.h[0]|this.h[1]<<13)&65535,this.h[1]=(this.h[1]>>>3|this.h[2]<<10)&65535,this.h[2]=(this.h[2]>>>6|this.h[3]<<7)&65535,this.h[3]=(this.h[3]>>>9|this.h[4]<<4)&65535,this.h[4]=(this.h[4]>>>12|this.h[5]<<1|this.h[6]<<14)&65535,this.h[5]=(this.h[6]>>>2|this.h[7]<<11)&65535,this.h[6]=(this.h[7]>>>5|this.h[8]<<8)&65535,this.h[7]=(this.h[8]>>>8|this.h[9]<<5)&65535,Q=this.h[0]+this.pad[0],this.h[0]=Q&65535,ee=1;ee<8;ee++)Q=(this.h[ee]+this.pad[ee]|0)+(Q>>>16)|0,this.h[ee]=Q&65535;T[D+0]=this.h[0]>>>0&255,T[D+1]=this.h[0]>>>8&255,T[D+2]=this.h[1]>>>0&255,T[D+3]=this.h[1]>>>8&255,T[D+4]=this.h[2]>>>0&255,T[D+5]=this.h[2]>>>8&255,T[D+6]=this.h[3]>>>0&255,T[D+7]=this.h[3]>>>8&255,T[D+8]=this.h[4]>>>0&255,T[D+9]=this.h[4]>>>8&255,T[D+10]=this.h[5]>>>0&255,T[D+11]=this.h[5]>>>8&255,T[D+12]=this.h[6]>>>0&255,T[D+13]=this.h[6]>>>8&255,T[D+14]=this.h[7]>>>0&255,T[D+15]=this.h[7]>>>8&255},H.prototype.update=function(T,D,$){var A,N;if(this.leftover){for(N=16-this.leftover,N>$&&(N=$),A=0;A=16&&(N=$-$%16,this.blocks(T,D,N),D+=N,$-=N),$){for(A=0;A<$;A++)this.buffer[this.leftover+A]=T[D+A];this.leftover+=$}};function V(T,D,$,A,N,Q){var ee=new H(Q);return ee.update($,A,N),ee.finish(T,D),0}function ne(T,D,$,A,N,Q){var ee=new Uint8Array(16);return V(ee,0,$,A,N,Q),b(T,D,ee,0)}function Z(T,D,$,A,N){var Q;if($<32)return-1;for(U(T,0,D,0,$,A,N),V(T,16,T,32,$-32,T),Q=0;Q<16;Q++)T[Q]=0;return 0}function G(T,D,$,A,N){var Q,ee=new Uint8Array(32);if($<32||(L(ee,0,32,A,N),ne(D,16,D,32,$-32,ee)!==0))return-1;for(U(T,0,D,0,$,A,N),Q=0;Q<32;Q++)T[Q]=0;return 0}function q(T,D){var $;for($=0;$<16;$++)T[$]=D[$]|0}function W(T){var D,$,A=1;for(D=0;D<16;D++)$=T[D]+A+65535,A=Math.floor($/65536),T[D]=$-A*65536;T[0]+=A-1+37*(A-1)}function j(T,D,$){for(var A,N=~($-1),Q=0;Q<16;Q++)A=N&(T[Q]^D[Q]),T[Q]^=A,D[Q]^=A}function K(T,D){var $,A,N,Q=n(),ee=n();for($=0;$<16;$++)ee[$]=D[$];for(W(ee),W(ee),W(ee),A=0;A<2;A++){for(Q[0]=ee[0]-65517,$=1;$<15;$++)Q[$]=ee[$]-65535-(Q[$-1]>>16&1),Q[$-1]&=65535;Q[15]=ee[15]-32767-(Q[14]>>16&1),N=Q[15]>>16&1,Q[14]&=65535,j(ee,Q,1-N)}for($=0;$<16;$++)T[2*$]=ee[$]&255,T[2*$+1]=ee[$]>>8}function Y(T,D){var $=new Uint8Array(32),A=new Uint8Array(32);return K($,T),K(A,D),w($,0,A,0)}function oe(T){var D=new Uint8Array(32);return K(D,T),D[0]&1}function ae(T,D){var $;for($=0;$<16;$++)T[$]=D[2*$]+(D[2*$+1]<<8);T[15]&=32767}function ue(T,D,$){for(var A=0;A<16;A++)T[A]=D[A]+$[A]}function be(T,D,$){for(var A=0;A<16;A++)T[A]=D[A]-$[A]}function we(T,D,$){var A,N,Q=0,ee=0,fe=0,_e=0,je=0,We=0,ct=0,Ie=0,nt=0,bt=0,Ot=0,gt=0,ht=0,xt=0,wt=0,Qe=0,ut=0,Xe=0,Ne=0,Ke=0,Ge=0,pe=0,he=0,Re=0,Oe=0,Pe=0,Be=0,vt=0,Lt=0,Ft=0,$t=0,J=$[0],Zt=$[1],sn=$[2],un=$[3],jt=$[4],ln=$[5],rn=$[6],Gn=$[7],mn=$[8],Pn=$[9],Yn=$[10],Zn=$[11],xr=$[12],$r=$[13],Ir=$[14],Nr=$[15];A=D[0],Q+=A*J,ee+=A*Zt,fe+=A*sn,_e+=A*un,je+=A*jt,We+=A*ln,ct+=A*rn,Ie+=A*Gn,nt+=A*mn,bt+=A*Pn,Ot+=A*Yn,gt+=A*Zn,ht+=A*xr,xt+=A*$r,wt+=A*Ir,Qe+=A*Nr,A=D[1],ee+=A*J,fe+=A*Zt,_e+=A*sn,je+=A*un,We+=A*jt,ct+=A*ln,Ie+=A*rn,nt+=A*Gn,bt+=A*mn,Ot+=A*Pn,gt+=A*Yn,ht+=A*Zn,xt+=A*xr,wt+=A*$r,Qe+=A*Ir,ut+=A*Nr,A=D[2],fe+=A*J,_e+=A*Zt,je+=A*sn,We+=A*un,ct+=A*jt,Ie+=A*ln,nt+=A*rn,bt+=A*Gn,Ot+=A*mn,gt+=A*Pn,ht+=A*Yn,xt+=A*Zn,wt+=A*xr,Qe+=A*$r,ut+=A*Ir,Xe+=A*Nr,A=D[3],_e+=A*J,je+=A*Zt,We+=A*sn,ct+=A*un,Ie+=A*jt,nt+=A*ln,bt+=A*rn,Ot+=A*Gn,gt+=A*mn,ht+=A*Pn,xt+=A*Yn,wt+=A*Zn,Qe+=A*xr,ut+=A*$r,Xe+=A*Ir,Ne+=A*Nr,A=D[4],je+=A*J,We+=A*Zt,ct+=A*sn,Ie+=A*un,nt+=A*jt,bt+=A*ln,Ot+=A*rn,gt+=A*Gn,ht+=A*mn,xt+=A*Pn,wt+=A*Yn,Qe+=A*Zn,ut+=A*xr,Xe+=A*$r,Ne+=A*Ir,Ke+=A*Nr,A=D[5],We+=A*J,ct+=A*Zt,Ie+=A*sn,nt+=A*un,bt+=A*jt,Ot+=A*ln,gt+=A*rn,ht+=A*Gn,xt+=A*mn,wt+=A*Pn,Qe+=A*Yn,ut+=A*Zn,Xe+=A*xr,Ne+=A*$r,Ke+=A*Ir,Ge+=A*Nr,A=D[6],ct+=A*J,Ie+=A*Zt,nt+=A*sn,bt+=A*un,Ot+=A*jt,gt+=A*ln,ht+=A*rn,xt+=A*Gn,wt+=A*mn,Qe+=A*Pn,ut+=A*Yn,Xe+=A*Zn,Ne+=A*xr,Ke+=A*$r,Ge+=A*Ir,pe+=A*Nr,A=D[7],Ie+=A*J,nt+=A*Zt,bt+=A*sn,Ot+=A*un,gt+=A*jt,ht+=A*ln,xt+=A*rn,wt+=A*Gn,Qe+=A*mn,ut+=A*Pn,Xe+=A*Yn,Ne+=A*Zn,Ke+=A*xr,Ge+=A*$r,pe+=A*Ir,he+=A*Nr,A=D[8],nt+=A*J,bt+=A*Zt,Ot+=A*sn,gt+=A*un,ht+=A*jt,xt+=A*ln,wt+=A*rn,Qe+=A*Gn,ut+=A*mn,Xe+=A*Pn,Ne+=A*Yn,Ke+=A*Zn,Ge+=A*xr,pe+=A*$r,he+=A*Ir,Re+=A*Nr,A=D[9],bt+=A*J,Ot+=A*Zt,gt+=A*sn,ht+=A*un,xt+=A*jt,wt+=A*ln,Qe+=A*rn,ut+=A*Gn,Xe+=A*mn,Ne+=A*Pn,Ke+=A*Yn,Ge+=A*Zn,pe+=A*xr,he+=A*$r,Re+=A*Ir,Oe+=A*Nr,A=D[10],Ot+=A*J,gt+=A*Zt,ht+=A*sn,xt+=A*un,wt+=A*jt,Qe+=A*ln,ut+=A*rn,Xe+=A*Gn,Ne+=A*mn,Ke+=A*Pn,Ge+=A*Yn,pe+=A*Zn,he+=A*xr,Re+=A*$r,Oe+=A*Ir,Pe+=A*Nr,A=D[11],gt+=A*J,ht+=A*Zt,xt+=A*sn,wt+=A*un,Qe+=A*jt,ut+=A*ln,Xe+=A*rn,Ne+=A*Gn,Ke+=A*mn,Ge+=A*Pn,pe+=A*Yn,he+=A*Zn,Re+=A*xr,Oe+=A*$r,Pe+=A*Ir,Be+=A*Nr,A=D[12],ht+=A*J,xt+=A*Zt,wt+=A*sn,Qe+=A*un,ut+=A*jt,Xe+=A*ln,Ne+=A*rn,Ke+=A*Gn,Ge+=A*mn,pe+=A*Pn,he+=A*Yn,Re+=A*Zn,Oe+=A*xr,Pe+=A*$r,Be+=A*Ir,vt+=A*Nr,A=D[13],xt+=A*J,wt+=A*Zt,Qe+=A*sn,ut+=A*un,Xe+=A*jt,Ne+=A*ln,Ke+=A*rn,Ge+=A*Gn,pe+=A*mn,he+=A*Pn,Re+=A*Yn,Oe+=A*Zn,Pe+=A*xr,Be+=A*$r,vt+=A*Ir,Lt+=A*Nr,A=D[14],wt+=A*J,Qe+=A*Zt,ut+=A*sn,Xe+=A*un,Ne+=A*jt,Ke+=A*ln,Ge+=A*rn,pe+=A*Gn,he+=A*mn,Re+=A*Pn,Oe+=A*Yn,Pe+=A*Zn,Be+=A*xr,vt+=A*$r,Lt+=A*Ir,Ft+=A*Nr,A=D[15],Qe+=A*J,ut+=A*Zt,Xe+=A*sn,Ne+=A*un,Ke+=A*jt,Ge+=A*ln,pe+=A*rn,he+=A*Gn,Re+=A*mn,Oe+=A*Pn,Pe+=A*Yn,Be+=A*Zn,vt+=A*xr,Lt+=A*$r,Ft+=A*Ir,$t+=A*Nr,Q+=38*ut,ee+=38*Xe,fe+=38*Ne,_e+=38*Ke,je+=38*Ge,We+=38*pe,ct+=38*he,Ie+=38*Re,nt+=38*Oe,bt+=38*Pe,Ot+=38*Be,gt+=38*vt,ht+=38*Lt,xt+=38*Ft,wt+=38*$t,N=1,A=Q+N+65535,N=Math.floor(A/65536),Q=A-N*65536,A=ee+N+65535,N=Math.floor(A/65536),ee=A-N*65536,A=fe+N+65535,N=Math.floor(A/65536),fe=A-N*65536,A=_e+N+65535,N=Math.floor(A/65536),_e=A-N*65536,A=je+N+65535,N=Math.floor(A/65536),je=A-N*65536,A=We+N+65535,N=Math.floor(A/65536),We=A-N*65536,A=ct+N+65535,N=Math.floor(A/65536),ct=A-N*65536,A=Ie+N+65535,N=Math.floor(A/65536),Ie=A-N*65536,A=nt+N+65535,N=Math.floor(A/65536),nt=A-N*65536,A=bt+N+65535,N=Math.floor(A/65536),bt=A-N*65536,A=Ot+N+65535,N=Math.floor(A/65536),Ot=A-N*65536,A=gt+N+65535,N=Math.floor(A/65536),gt=A-N*65536,A=ht+N+65535,N=Math.floor(A/65536),ht=A-N*65536,A=xt+N+65535,N=Math.floor(A/65536),xt=A-N*65536,A=wt+N+65535,N=Math.floor(A/65536),wt=A-N*65536,A=Qe+N+65535,N=Math.floor(A/65536),Qe=A-N*65536,Q+=N-1+37*(N-1),N=1,A=Q+N+65535,N=Math.floor(A/65536),Q=A-N*65536,A=ee+N+65535,N=Math.floor(A/65536),ee=A-N*65536,A=fe+N+65535,N=Math.floor(A/65536),fe=A-N*65536,A=_e+N+65535,N=Math.floor(A/65536),_e=A-N*65536,A=je+N+65535,N=Math.floor(A/65536),je=A-N*65536,A=We+N+65535,N=Math.floor(A/65536),We=A-N*65536,A=ct+N+65535,N=Math.floor(A/65536),ct=A-N*65536,A=Ie+N+65535,N=Math.floor(A/65536),Ie=A-N*65536,A=nt+N+65535,N=Math.floor(A/65536),nt=A-N*65536,A=bt+N+65535,N=Math.floor(A/65536),bt=A-N*65536,A=Ot+N+65535,N=Math.floor(A/65536),Ot=A-N*65536,A=gt+N+65535,N=Math.floor(A/65536),gt=A-N*65536,A=ht+N+65535,N=Math.floor(A/65536),ht=A-N*65536,A=xt+N+65535,N=Math.floor(A/65536),xt=A-N*65536,A=wt+N+65535,N=Math.floor(A/65536),wt=A-N*65536,A=Qe+N+65535,N=Math.floor(A/65536),Qe=A-N*65536,Q+=N-1+37*(N-1),T[0]=Q,T[1]=ee,T[2]=fe,T[3]=_e,T[4]=je,T[5]=We,T[6]=ct,T[7]=Ie,T[8]=nt,T[9]=bt,T[10]=Ot,T[11]=gt,T[12]=ht,T[13]=xt,T[14]=wt,T[15]=Qe}function He(T,D){we(T,D,D)}function Ee(T,D){var $=n(),A;for(A=0;A<16;A++)$[A]=D[A];for(A=253;A>=0;A--)He($,$),A!==2&&A!==4&&we($,$,D);for(A=0;A<16;A++)T[A]=$[A]}function it(T,D){var $=n(),A;for(A=0;A<16;A++)$[A]=D[A];for(A=250;A>=0;A--)He($,$),A!==1&&we($,$,D);for(A=0;A<16;A++)T[A]=$[A]}function ke(T,D,$){var A=new Uint8Array(32),N=new Float64Array(80),Q,ee,fe=n(),_e=n(),je=n(),We=n(),ct=n(),Ie=n();for(ee=0;ee<31;ee++)A[ee]=D[ee];for(A[31]=D[31]&127|64,A[0]&=248,ae(N,$),ee=0;ee<16;ee++)_e[ee]=N[ee],We[ee]=fe[ee]=je[ee]=0;for(fe[0]=We[0]=1,ee=254;ee>=0;--ee)Q=A[ee>>>3]>>>(ee&7)&1,j(fe,_e,Q),j(je,We,Q),ue(ct,fe,je),be(fe,fe,je),ue(je,_e,We),be(_e,_e,We),He(We,ct),He(Ie,fe),we(fe,je,fe),we(je,_e,ct),ue(ct,fe,je),be(fe,fe,je),He(_e,fe),be(je,We,Ie),we(fe,je,u),ue(fe,fe,We),we(je,je,fe),we(fe,We,Ie),we(We,_e,N),He(_e,ct),j(fe,_e,Q),j(je,We,Q);for(ee=0;ee<16;ee++)N[ee+16]=fe[ee],N[ee+32]=je[ee],N[ee+48]=_e[ee],N[ee+64]=We[ee];var nt=N.subarray(32),bt=N.subarray(16);return Ee(nt,nt),we(bt,bt,nt),K(T,bt),0}function Le(T,D){return ke(T,D,o)}function De(T,D){return r(D,32),Le(T,D)}function me(T,D,$){var A=new Uint8Array(32);return ke(A,$,D),E(T,i,A,C)}var yt=Z,lt=G;function Nt(T,D,$,A,N,Q){var ee=new Uint8Array(32);return me(ee,N,Q),yt(T,D,$,A,ee)}function yn(T,D,$,A,N,Q){var ee=new Uint8Array(32);return me(ee,N,Q),lt(T,D,$,A,ee)}var nn=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function te(T,D,$,A){for(var N=new Int32Array(16),Q=new Int32Array(16),ee,fe,_e,je,We,ct,Ie,nt,bt,Ot,gt,ht,xt,wt,Qe,ut,Xe,Ne,Ke,Ge,pe,he,Re,Oe,Pe,Be,vt=T[0],Lt=T[1],Ft=T[2],$t=T[3],J=T[4],Zt=T[5],sn=T[6],un=T[7],jt=D[0],ln=D[1],rn=D[2],Gn=D[3],mn=D[4],Pn=D[5],Yn=D[6],Zn=D[7],xr=0;A>=128;){for(Ke=0;Ke<16;Ke++)Ge=8*Ke+xr,N[Ke]=$[Ge+0]<<24|$[Ge+1]<<16|$[Ge+2]<<8|$[Ge+3],Q[Ke]=$[Ge+4]<<24|$[Ge+5]<<16|$[Ge+6]<<8|$[Ge+7];for(Ke=0;Ke<80;Ke++)if(ee=vt,fe=Lt,_e=Ft,je=$t,We=J,ct=Zt,Ie=sn,nt=un,bt=jt,Ot=ln,gt=rn,ht=Gn,xt=mn,wt=Pn,Qe=Yn,ut=Zn,pe=un,he=Zn,Re=he&65535,Oe=he>>>16,Pe=pe&65535,Be=pe>>>16,pe=(J>>>14|mn<<18)^(J>>>18|mn<<14)^(mn>>>9|J<<23),he=(mn>>>14|J<<18)^(mn>>>18|J<<14)^(J>>>9|mn<<23),Re+=he&65535,Oe+=he>>>16,Pe+=pe&65535,Be+=pe>>>16,pe=J&Zt^~J&sn,he=mn&Pn^~mn&Yn,Re+=he&65535,Oe+=he>>>16,Pe+=pe&65535,Be+=pe>>>16,pe=nn[Ke*2],he=nn[Ke*2+1],Re+=he&65535,Oe+=he>>>16,Pe+=pe&65535,Be+=pe>>>16,pe=N[Ke%16],he=Q[Ke%16],Re+=he&65535,Oe+=he>>>16,Pe+=pe&65535,Be+=pe>>>16,Oe+=Re>>>16,Pe+=Oe>>>16,Be+=Pe>>>16,Xe=Pe&65535|Be<<16,Ne=Re&65535|Oe<<16,pe=Xe,he=Ne,Re=he&65535,Oe=he>>>16,Pe=pe&65535,Be=pe>>>16,pe=(vt>>>28|jt<<4)^(jt>>>2|vt<<30)^(jt>>>7|vt<<25),he=(jt>>>28|vt<<4)^(vt>>>2|jt<<30)^(vt>>>7|jt<<25),Re+=he&65535,Oe+=he>>>16,Pe+=pe&65535,Be+=pe>>>16,pe=vt&Lt^vt&Ft^Lt&Ft,he=jt&ln^jt&rn^ln&rn,Re+=he&65535,Oe+=he>>>16,Pe+=pe&65535,Be+=pe>>>16,Oe+=Re>>>16,Pe+=Oe>>>16,Be+=Pe>>>16,nt=Pe&65535|Be<<16,ut=Re&65535|Oe<<16,pe=je,he=ht,Re=he&65535,Oe=he>>>16,Pe=pe&65535,Be=pe>>>16,pe=Xe,he=Ne,Re+=he&65535,Oe+=he>>>16,Pe+=pe&65535,Be+=pe>>>16,Oe+=Re>>>16,Pe+=Oe>>>16,Be+=Pe>>>16,je=Pe&65535|Be<<16,ht=Re&65535|Oe<<16,Lt=ee,Ft=fe,$t=_e,J=je,Zt=We,sn=ct,un=Ie,vt=nt,ln=bt,rn=Ot,Gn=gt,mn=ht,Pn=xt,Yn=wt,Zn=Qe,jt=ut,Ke%16===15)for(Ge=0;Ge<16;Ge++)pe=N[Ge],he=Q[Ge],Re=he&65535,Oe=he>>>16,Pe=pe&65535,Be=pe>>>16,pe=N[(Ge+9)%16],he=Q[(Ge+9)%16],Re+=he&65535,Oe+=he>>>16,Pe+=pe&65535,Be+=pe>>>16,Xe=N[(Ge+1)%16],Ne=Q[(Ge+1)%16],pe=(Xe>>>1|Ne<<31)^(Xe>>>8|Ne<<24)^Xe>>>7,he=(Ne>>>1|Xe<<31)^(Ne>>>8|Xe<<24)^(Ne>>>7|Xe<<25),Re+=he&65535,Oe+=he>>>16,Pe+=pe&65535,Be+=pe>>>16,Xe=N[(Ge+14)%16],Ne=Q[(Ge+14)%16],pe=(Xe>>>19|Ne<<13)^(Ne>>>29|Xe<<3)^Xe>>>6,he=(Ne>>>19|Xe<<13)^(Xe>>>29|Ne<<3)^(Ne>>>6|Xe<<26),Re+=he&65535,Oe+=he>>>16,Pe+=pe&65535,Be+=pe>>>16,Oe+=Re>>>16,Pe+=Oe>>>16,Be+=Pe>>>16,N[Ge]=Pe&65535|Be<<16,Q[Ge]=Re&65535|Oe<<16;pe=vt,he=jt,Re=he&65535,Oe=he>>>16,Pe=pe&65535,Be=pe>>>16,pe=T[0],he=D[0],Re+=he&65535,Oe+=he>>>16,Pe+=pe&65535,Be+=pe>>>16,Oe+=Re>>>16,Pe+=Oe>>>16,Be+=Pe>>>16,T[0]=vt=Pe&65535|Be<<16,D[0]=jt=Re&65535|Oe<<16,pe=Lt,he=ln,Re=he&65535,Oe=he>>>16,Pe=pe&65535,Be=pe>>>16,pe=T[1],he=D[1],Re+=he&65535,Oe+=he>>>16,Pe+=pe&65535,Be+=pe>>>16,Oe+=Re>>>16,Pe+=Oe>>>16,Be+=Pe>>>16,T[1]=Lt=Pe&65535|Be<<16,D[1]=ln=Re&65535|Oe<<16,pe=Ft,he=rn,Re=he&65535,Oe=he>>>16,Pe=pe&65535,Be=pe>>>16,pe=T[2],he=D[2],Re+=he&65535,Oe+=he>>>16,Pe+=pe&65535,Be+=pe>>>16,Oe+=Re>>>16,Pe+=Oe>>>16,Be+=Pe>>>16,T[2]=Ft=Pe&65535|Be<<16,D[2]=rn=Re&65535|Oe<<16,pe=$t,he=Gn,Re=he&65535,Oe=he>>>16,Pe=pe&65535,Be=pe>>>16,pe=T[3],he=D[3],Re+=he&65535,Oe+=he>>>16,Pe+=pe&65535,Be+=pe>>>16,Oe+=Re>>>16,Pe+=Oe>>>16,Be+=Pe>>>16,T[3]=$t=Pe&65535|Be<<16,D[3]=Gn=Re&65535|Oe<<16,pe=J,he=mn,Re=he&65535,Oe=he>>>16,Pe=pe&65535,Be=pe>>>16,pe=T[4],he=D[4],Re+=he&65535,Oe+=he>>>16,Pe+=pe&65535,Be+=pe>>>16,Oe+=Re>>>16,Pe+=Oe>>>16,Be+=Pe>>>16,T[4]=J=Pe&65535|Be<<16,D[4]=mn=Re&65535|Oe<<16,pe=Zt,he=Pn,Re=he&65535,Oe=he>>>16,Pe=pe&65535,Be=pe>>>16,pe=T[5],he=D[5],Re+=he&65535,Oe+=he>>>16,Pe+=pe&65535,Be+=pe>>>16,Oe+=Re>>>16,Pe+=Oe>>>16,Be+=Pe>>>16,T[5]=Zt=Pe&65535|Be<<16,D[5]=Pn=Re&65535|Oe<<16,pe=sn,he=Yn,Re=he&65535,Oe=he>>>16,Pe=pe&65535,Be=pe>>>16,pe=T[6],he=D[6],Re+=he&65535,Oe+=he>>>16,Pe+=pe&65535,Be+=pe>>>16,Oe+=Re>>>16,Pe+=Oe>>>16,Be+=Pe>>>16,T[6]=sn=Pe&65535|Be<<16,D[6]=Yn=Re&65535|Oe<<16,pe=un,he=Zn,Re=he&65535,Oe=he>>>16,Pe=pe&65535,Be=pe>>>16,pe=T[7],he=D[7],Re+=he&65535,Oe+=he>>>16,Pe+=pe&65535,Be+=pe>>>16,Oe+=Re>>>16,Pe+=Oe>>>16,Be+=Pe>>>16,T[7]=un=Pe&65535|Be<<16,D[7]=Zn=Re&65535|Oe<<16,xr+=128,A-=128}return A}function de(T,D,$){var A=new Int32Array(8),N=new Int32Array(8),Q=new Uint8Array(256),ee,fe=$;for(A[0]=1779033703,A[1]=3144134277,A[2]=1013904242,A[3]=2773480762,A[4]=1359893119,A[5]=2600822924,A[6]=528734635,A[7]=1541459225,N[0]=4089235720,N[1]=2227873595,N[2]=4271175723,N[3]=1595750129,N[4]=2917565137,N[5]=725511199,N[6]=4215389547,N[7]=327033209,te(A,N,D,$),$%=128,ee=0;ee<$;ee++)Q[ee]=D[fe-$+ee];for(Q[$]=128,$=256-128*($<112?1:0),Q[$-9]=0,m(Q,$-8,fe/536870912|0,fe<<3),te(A,N,Q,$),ee=0;ee<8;ee++)m(T,8*ee,A[ee],N[ee]);return 0}function ge(T,D){var $=n(),A=n(),N=n(),Q=n(),ee=n(),fe=n(),_e=n(),je=n(),We=n();be($,T[1],T[0]),be(We,D[1],D[0]),we($,$,We),ue(A,T[0],T[1]),ue(We,D[0],D[1]),we(A,A,We),we(N,T[3],D[3]),we(N,N,c),we(Q,T[2],D[2]),ue(Q,Q,Q),be(ee,A,$),be(fe,Q,N),ue(_e,Q,N),ue(je,A,$),we(T[0],ee,fe),we(T[1],je,_e),we(T[2],_e,fe),we(T[3],ee,je)}function ze(T,D,$){var A;for(A=0;A<4;A++)j(T[A],D[A],$)}function Fe(T,D){var $=n(),A=n(),N=n();Ee(N,D[2]),we($,D[0],N),we(A,D[1],N),K(T,A),T[31]^=oe($)<<7}function Ae(T,D,$){var A,N;for(q(T[0],a),q(T[1],s),q(T[2],s),q(T[3],a),N=255;N>=0;--N)A=$[N/8|0]>>(N&7)&1,ze(T,D,A),ge(D,T),ge(T,T),ze(T,D,A)}function tt(T,D){var $=[n(),n(),n(),n()];q($[0],f),q($[1],h),q($[2],s),we($[3],f,h),Ae(T,$,D)}function mt(T,D,$){var A=new Uint8Array(64),N=[n(),n(),n(),n()],Q;for($||r(D,32),de(A,D,32),A[0]&=248,A[31]&=127,A[31]|=64,tt(N,A),Fe(T,N),Q=0;Q<32;Q++)D[Q+32]=T[Q];return 0}var xn=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function Kt(T,D){var $,A,N,Q;for(A=63;A>=32;--A){for($=0,N=A-32,Q=A-12;N>4)*xn[N],$=D[N]>>8,D[N]&=255;for(N=0;N<32;N++)D[N]-=$*xn[N];for(A=0;A<32;A++)D[A+1]+=D[A]>>8,T[A]=D[A]&255}function wn(T){var D=new Float64Array(64),$;for($=0;$<64;$++)D[$]=T[$];for($=0;$<64;$++)T[$]=0;Kt(T,D)}function Ii(T,D,$,A){var N=new Uint8Array(64),Q=new Uint8Array(64),ee=new Uint8Array(64),fe,_e,je=new Float64Array(64),We=[n(),n(),n(),n()];de(N,A,32),N[0]&=248,N[31]&=127,N[31]|=64;var ct=$+64;for(fe=0;fe<$;fe++)T[64+fe]=D[fe];for(fe=0;fe<32;fe++)T[32+fe]=N[32+fe];for(de(ee,T.subarray(32),$+32),wn(ee),tt(We,ee),Fe(T,We),fe=32;fe<64;fe++)T[fe]=A[fe];for(de(Q,T,$+64),wn(Q),fe=0;fe<64;fe++)je[fe]=0;for(fe=0;fe<32;fe++)je[fe]=ee[fe];for(fe=0;fe<32;fe++)for(_e=0;_e<32;_e++)je[fe+_e]+=Q[fe]*N[_e];return Kt(T.subarray(32),je),ct}function br(T,D){var $=n(),A=n(),N=n(),Q=n(),ee=n(),fe=n(),_e=n();return q(T[2],s),ae(T[1],D),He(N,T[1]),we(Q,N,l),be(N,N,T[2]),ue(Q,T[2],Q),He(ee,Q),He(fe,ee),we(_e,fe,ee),we($,_e,N),we($,$,Q),it($,$),we($,$,N),we($,$,Q),we($,$,Q),we(T[0],$,Q),He(A,T[0]),we(A,A,Q),Y(A,N)&&we(T[0],T[0],p),He(A,T[0]),we(A,A,Q),Y(A,N)?-1:(oe(T[0])===D[31]>>7&&be(T[0],a,T[0]),we(T[3],T[0],T[1]),0)}function yi(T,D,$,A){var N,Q=new Uint8Array(32),ee=new Uint8Array(64),fe=[n(),n(),n(),n()],_e=[n(),n(),n(),n()];if($<64||br(_e,A))return-1;for(N=0;N<$;N++)T[N]=D[N];for(N=0;N<32;N++)T[N+32]=A[N];if(de(ee,T,$),wn(ee),Ae(fe,_e,ee),tt(_e,D.subarray(32)),ge(fe,_e),Fe(Q,fe),$-=64,w(D,0,Q,0)){for(N=0;N<$;N++)T[N]=0;return-1}for(N=0;N<$;N++)T[N]=D[N+64];return $}var sr=32,si=24,bi=32,Rr=16,Xi=32,yo=32,xi=32,Dr=32,_a=32,_t=si,hn=bi,_n=Rr,qn=64,ur=32,Xr=64,bo=32,Zl=64;t.lowlevel={crypto_core_hsalsa20:E,crypto_stream_xor:U,crypto_stream:L,crypto_stream_salsa20_xor:k,crypto_stream_salsa20:M,crypto_onetimeauth:V,crypto_onetimeauth_verify:ne,crypto_verify_16:b,crypto_verify_32:w,crypto_secretbox:Z,crypto_secretbox_open:G,crypto_scalarmult:ke,crypto_scalarmult_base:Le,crypto_box_beforenm:me,crypto_box_afternm:yt,crypto_box:Nt,crypto_box_open:yn,crypto_box_keypair:De,crypto_hash:de,crypto_sign:Ii,crypto_sign_keypair:mt,crypto_sign_open:yi,crypto_secretbox_KEYBYTES:sr,crypto_secretbox_NONCEBYTES:si,crypto_secretbox_ZEROBYTES:bi,crypto_secretbox_BOXZEROBYTES:Rr,crypto_scalarmult_BYTES:Xi,crypto_scalarmult_SCALARBYTES:yo,crypto_box_PUBLICKEYBYTES:xi,crypto_box_SECRETKEYBYTES:Dr,crypto_box_BEFORENMBYTES:_a,crypto_box_NONCEBYTES:_t,crypto_box_ZEROBYTES:hn,crypto_box_BOXZEROBYTES:_n,crypto_sign_BYTES:qn,crypto_sign_PUBLICKEYBYTES:ur,crypto_sign_SECRETKEYBYTES:Xr,crypto_sign_SEEDBYTES:bo,crypto_hash_BYTES:Zl,gf:n,D:l,L:xn,pack25519:K,unpack25519:ae,M:we,A:ue,S:He,Z:be,pow2523:it,add:ge,set25519:q,modL:Kt,scalarmult:Ae,scalarbase:tt};function Sf(T,D){if(T.length!==sr)throw new Error("bad key size");if(D.length!==si)throw new Error("bad nonce size")}function re(T,D){if(T.length!==xi)throw new Error("bad public key size");if(D.length!==Dr)throw new Error("bad secret key size")}function se(){for(var T=0;T=0},t.sign.keyPair=function(){var T=new Uint8Array(ur),D=new Uint8Array(Xr);return mt(T,D),{publicKey:T,secretKey:D}},t.sign.keyPair.fromSecretKey=function(T){if(se(T),T.length!==Xr)throw new Error("bad secret key size");for(var D=new Uint8Array(ur),$=0;$"u"?typeof Buffer.from<"u"?(t.encodeBase64=function(r){return Buffer.from(r).toString("base64")},t.decodeBase64=function(r){return n(r),new Uint8Array(Array.prototype.slice.call(Buffer.from(r,"base64"),0))}):(t.encodeBase64=function(r){return new Buffer(r).toString("base64")},t.decodeBase64=function(r){return n(r),new Uint8Array(Array.prototype.slice.call(new Buffer(r,"base64"),0))}):(t.encodeBase64=function(r){var i,o=[],a=r.length;for(i=0;i{const{__scopeCheckbox:n,name:r,checked:i,defaultChecked:o,required:a,disabled:s,value:u="on",onCheckedChange:l,form:c,...f}=e,[h,p]=y.useState(null),m=Yt(t,O=>p(O)),v=y.useRef(!1),b=h?c||!!h.closest("form"):!0,[w=!1,x]=Za({prop:i,defaultProp:o,onChange:l}),S=y.useRef(w);return y.useEffect(()=>{const O=h?.form;if(O){const E=()=>x(S.current);return O.addEventListener("reset",E),()=>O.removeEventListener("reset",E)}},[h,x]),I.jsxs(DGe,{scope:n,state:w,disabled:s,children:[I.jsx(pt.button,{type:"button",role:"checkbox","aria-checked":Sl(w)?"mixed":w,"aria-required":a,"data-state":dZ(w),"data-disabled":s?"":void 0,disabled:s,value:u,...f,ref:m,onKeyDown:Ye(e.onKeyDown,O=>{O.key==="Enter"&&O.preventDefault()}),onClick:Ye(e.onClick,O=>{x(E=>Sl(E)?!0:!E),b&&(v.current=O.isPropagationStopped(),v.current||O.stopPropagation())})}),b&&I.jsx(IGe,{control:h,bubbles:!v.current,name:r,value:u,checked:w,required:a,disabled:s,form:c,style:{transform:"translateX(-100%)"},defaultChecked:Sl(o)?!1:o})]})});lZ.displayName=TP;var cZ="CheckboxIndicator",fZ=y.forwardRef((e,t)=>{const{__scopeCheckbox:n,forceMount:r,...i}=e,o=$Ge(cZ,n);return I.jsx(Gr,{present:r||Sl(o.state)||o.state===!0,children:I.jsx(pt.span,{"data-state":dZ(o.state),"data-disabled":o.disabled?"":void 0,...i,ref:t,style:{pointerEvents:"none",...e.style}})})});fZ.displayName=cZ;var IGe=e=>{const{control:t,checked:n,bubbles:r=!0,defaultChecked:i,...o}=e,a=y.useRef(null),s=jA(n),u=aO(t);y.useEffect(()=>{const c=a.current,f=window.HTMLInputElement.prototype,p=Object.getOwnPropertyDescriptor(f,"checked").set;if(s!==n&&p){const m=new Event("click",{bubbles:r});c.indeterminate=Sl(n),p.call(c,Sl(n)?!1:n),c.dispatchEvent(m)}},[s,n,r]);const l=y.useRef(Sl(n)?!1:n);return I.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:i??l.current,...o,tabIndex:-1,ref:a,style:{...e.style,...u,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function Sl(e){return e==="indeterminate"}function dZ(e){return Sl(e)?"indeterminate":e?"checked":"unchecked"}var UQe=lZ,VQe=fZ;export{wZe as $,BYe as A,ehe as B,FYe as C,jYe as D,zYe as E,LYe as F,J0e as G,nge as H,uYe as I,rge as J,mz as K,XYe as L,oge as M,ege as N,LGe as O,UGe as P,kYe as Q,F as R,Al as S,ige as T,tge as U,EZe as V,GYe as W,OZe as X,mZe as Y,vZe as Z,xZe as _,HGe as a,QXe as a$,SZe as a0,WYe as a1,_Ze as a2,JYe as a3,bZe as a4,CZe as a5,pZe as a6,gZe as a7,yZe as a8,cZe as a9,iYe as aA,_Ye as aB,wYe as aC,bYe as aD,SYe as aE,fYe as aF,JGe as aG,OXe as aH,rZe as aI,gXe as aJ,dYe as aK,yYe as aL,PXe as aM,kXe as aN,TXe as aO,WGe as aP,$Xe as aQ,IXe as aR,NXe as aS,LXe as aT,jXe as aU,zXe as aV,BXe as aW,UXe as aX,KYe as aY,XXe as aZ,YYe as a_,lZe as aa,fZe as ab,eYe as ac,PZe as ad,Wve as ae,Hve as af,TZe as ag,$Ze as ah,MZe as ai,RZe as aj,BGe as ak,QGe as al,nYe as am,vYe as an,qGe as ao,lXe as ap,rYe as aq,hYe as ar,tYe as as,sYe as at,mYe as au,gYe as av,lYe as aw,pYe as ax,XGe as ay,YGe as az,mm as b,DYe as b$,VXe as b0,WXe as b1,HXe as b2,qXe as b3,GXe as b4,ZXe as b5,YXe as b6,JXe as b7,KXe as b8,nQe as b9,cQe as bA,fQe as bB,dQe as bC,VUe as bD,YUe as bE,uQe as bF,uXe as bG,IZe as bH,jZe as bI,LZe as bJ,eQe as bK,Ui as bL,pQe as bM,gQe as bN,aXe as bO,bXe as bP,pXe as bQ,JZe as bR,GZe as bS,qZe as bT,mQe as bU,ZGe as bV,xYe as bW,cYe as bX,GGe as bY,yQe as bZ,bQe as b_,qYe as ba,aQe as bb,sQe as bc,iQe as bd,oQe as be,c3 as bf,RYe as bg,_f as bh,UZe as bi,MXe as bj,RXe as bk,IA as bl,NA as bm,QNe as bn,Js as bo,xf as bp,tp as bq,tQe as br,NZe as bs,BZe as bt,sXe as bu,zZe as bv,SXe as bw,_Xe as bx,eXe as by,wXe as bz,dn as c,ZZe as c$,hXe as c0,eZe as c1,tZe as c2,OQe as c3,PQe as c4,YZe as c5,FZe as c6,DQe as c7,$Qe as c8,LQe as c9,iXe as cA,wQe as cB,_Qe as cC,aZe as cD,Jc as cE,DZe as cF,jQe as cG,BQe as cH,mXe as cI,XZe as cJ,tXe as cK,cXe as cL,QZe as cM,yXe as cN,rXe as cO,UQe as cP,VQe as cQ,ZYe as cR,uZe as cS,HYe as cT,QYe as cU,sZe as cV,nXe as cW,zGe as cX,WZe as cY,FUe as cZ,iZe as c_,FQe as ca,IQe as cb,NQe as cc,TQe as cd,MQe as ce,RQe as cf,nZe as cg,oZe as ch,xXe as ci,AQe as cj,xQe as ck,SQe as cl,CQe as cm,EQe as cn,tpe as co,spe as cp,Zhe as cq,fXe as cr,vXe as cs,dXe as ct,oXe as cu,HZe as cv,KZe as cw,CXe as cx,es as cy,yr as cz,FGe as d,VZe as d0,qr as e,AYe as f,EYe as g,OYe as h,CYe as i,I as j,Yi as k,IYe as l,Vk as m,MYe as n,jGe as o,PYe as p,UYe as q,y as r,z5 as s,KGe as t,UF as u,aYe as v,oYe as w,VYe as x,VGe as y,NYe as z}; diff --git a/public/assets/admin/assets/zod-x_8lkCGK.js b/public/assets/admin/assets/zod-x_8lkCGK.js deleted file mode 100644 index eedd0e31c..000000000 --- a/public/assets/admin/assets/zod-x_8lkCGK.js +++ /dev/null @@ -1 +0,0 @@ -import{g as ke,s as ge,h as Ue}from"./form-DIzSOdtk.js";var g;(function(r){r.assertEqual=n=>n;function e(n){}r.assertIs=e;function t(n){throw new Error}r.assertNever=t,r.arrayToEnum=n=>{const a={};for(const i of n)a[i]=i;return a},r.getValidEnumValues=n=>{const a=r.objectKeys(n).filter(o=>typeof n[n[o]]!="number"),i={};for(const o of a)i[o]=n[o];return r.objectValues(i)},r.objectValues=n=>r.objectKeys(n).map(function(a){return n[a]}),r.objectKeys=typeof Object.keys=="function"?n=>Object.keys(n):n=>{const a=[];for(const i in n)Object.prototype.hasOwnProperty.call(n,i)&&a.push(i);return a},r.find=(n,a)=>{for(const i of n)if(a(i))return i},r.isInteger=typeof Number.isInteger=="function"?n=>Number.isInteger(n):n=>typeof n=="number"&&isFinite(n)&&Math.floor(n)===n;function s(n,a=" | "){return n.map(i=>typeof i=="string"?`'${i}'`:i).join(a)}r.joinValues=s,r.jsonStringifyReplacer=(n,a)=>typeof a=="bigint"?a.toString():a})(g||(g={}));var be;(function(r){r.mergeShapes=(e,t)=>({...e,...t})})(be||(be={}));const f=g.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),R=r=>{switch(typeof r){case"undefined":return f.undefined;case"string":return f.string;case"number":return isNaN(r)?f.nan:f.number;case"boolean":return f.boolean;case"function":return f.function;case"bigint":return f.bigint;case"symbol":return f.symbol;case"object":return Array.isArray(r)?f.array:r===null?f.null:r.then&&typeof r.then=="function"&&r.catch&&typeof r.catch=="function"?f.promise:typeof Map<"u"&&r instanceof Map?f.map:typeof Set<"u"&&r instanceof Set?f.set:typeof Date<"u"&&r instanceof Date?f.date:f.object;default:return f.unknown}},d=g.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),Be=r=>JSON.stringify(r,null,2).replace(/"([^"]+)":/g,"$1:");class T extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=s=>{this.issues=[...this.issues,s]},this.addIssues=(s=[])=>{this.issues=[...this.issues,...s]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}format(e){const t=e||function(a){return a.message},s={_errors:[]},n=a=>{for(const i of a.issues)if(i.code==="invalid_union")i.unionErrors.map(n);else if(i.code==="invalid_return_type")n(i.returnTypeError);else if(i.code==="invalid_arguments")n(i.argumentsError);else if(i.path.length===0)s._errors.push(t(i));else{let o=s,u=0;for(;ut.message){const t={},s=[];for(const n of this.issues)n.path.length>0?(t[n.path[0]]=t[n.path[0]]||[],t[n.path[0]].push(e(n))):s.push(e(n));return{formErrors:s,fieldErrors:t}}get formErrors(){return this.flatten()}}T.create=r=>new T(r);const W=(r,e)=>{let t;switch(r.code){case d.invalid_type:r.received===f.undefined?t="Required":t=`Expected ${r.expected}, received ${r.received}`;break;case d.invalid_literal:t=`Invalid literal value, expected ${JSON.stringify(r.expected,g.jsonStringifyReplacer)}`;break;case d.unrecognized_keys:t=`Unrecognized key(s) in object: ${g.joinValues(r.keys,", ")}`;break;case d.invalid_union:t="Invalid input";break;case d.invalid_union_discriminator:t=`Invalid discriminator value. Expected ${g.joinValues(r.options)}`;break;case d.invalid_enum_value:t=`Invalid enum value. Expected ${g.joinValues(r.options)}, received '${r.received}'`;break;case d.invalid_arguments:t="Invalid function arguments";break;case d.invalid_return_type:t="Invalid function return type";break;case d.invalid_date:t="Invalid date";break;case d.invalid_string:typeof r.validation=="object"?"includes"in r.validation?(t=`Invalid input: must include "${r.validation.includes}"`,typeof r.validation.position=="number"&&(t=`${t} at one or more positions greater than or equal to ${r.validation.position}`)):"startsWith"in r.validation?t=`Invalid input: must start with "${r.validation.startsWith}"`:"endsWith"in r.validation?t=`Invalid input: must end with "${r.validation.endsWith}"`:g.assertNever(r.validation):r.validation!=="regex"?t=`Invalid ${r.validation}`:t="Invalid";break;case d.too_small:r.type==="array"?t=`Array must contain ${r.exact?"exactly":r.inclusive?"at least":"more than"} ${r.minimum} element(s)`:r.type==="string"?t=`String must contain ${r.exact?"exactly":r.inclusive?"at least":"over"} ${r.minimum} character(s)`:r.type==="number"?t=`Number must be ${r.exact?"exactly equal to ":r.inclusive?"greater than or equal to ":"greater than "}${r.minimum}`:r.type==="date"?t=`Date must be ${r.exact?"exactly equal to ":r.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(r.minimum))}`:t="Invalid input";break;case d.too_big:r.type==="array"?t=`Array must contain ${r.exact?"exactly":r.inclusive?"at most":"less than"} ${r.maximum} element(s)`:r.type==="string"?t=`String must contain ${r.exact?"exactly":r.inclusive?"at most":"under"} ${r.maximum} character(s)`:r.type==="number"?t=`Number must be ${r.exact?"exactly":r.inclusive?"less than or equal to":"less than"} ${r.maximum}`:r.type==="bigint"?t=`BigInt must be ${r.exact?"exactly":r.inclusive?"less than or equal to":"less than"} ${r.maximum}`:r.type==="date"?t=`Date must be ${r.exact?"exactly":r.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(r.maximum))}`:t="Invalid input";break;case d.custom:t="Invalid input";break;case d.invalid_intersection_types:t="Intersection results could not be merged";break;case d.not_multiple_of:t=`Number must be a multiple of ${r.multipleOf}`;break;case d.not_finite:t="Number must be finite";break;default:t=e.defaultError,g.assertNever(r)}return{message:t}};let Ne=W;function Fe(r){Ne=r}function ue(){return Ne}const le=r=>{const{data:e,path:t,errorMaps:s,issueData:n}=r,a=[...t,...n.path||[]],i={...n,path:a};if(n.message!==void 0)return{...n,path:a,message:n.message};let o="";const u=s.filter(c=>!!c).slice().reverse();for(const c of u)o=c(i,{data:e,defaultError:o}).message;return{...n,path:a,message:o}},We=[];function l(r,e){const t=ue(),s=le({issueData:e,data:r.data,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,t,t===W?void 0:W].filter(n=>!!n)});r.common.issues.push(s)}class k{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,t){const s=[];for(const n of t){if(n.status==="aborted")return v;n.status==="dirty"&&e.dirty(),s.push(n.value)}return{status:e.value,value:s}}static async mergeObjectAsync(e,t){const s=[];for(const n of t){const a=await n.key,i=await n.value;s.push({key:a,value:i})}return k.mergeObjectSync(e,s)}static mergeObjectSync(e,t){const s={};for(const n of t){const{key:a,value:i}=n;if(a.status==="aborted"||i.status==="aborted")return v;a.status==="dirty"&&e.dirty(),i.status==="dirty"&&e.dirty(),a.value!=="__proto__"&&(typeof i.value<"u"||n.alwaysSet)&&(s[a.value]=i.value)}return{status:e.value,value:s}}}const v=Object.freeze({status:"aborted"}),B=r=>({status:"dirty",value:r}),b=r=>({status:"valid",value:r}),we=r=>r.status==="aborted",Te=r=>r.status==="dirty",z=r=>r.status==="valid",G=r=>typeof Promise<"u"&&r instanceof Promise;function fe(r,e,t,s){if(typeof e=="function"?r!==e||!s:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e.get(r)}function Re(r,e,t,s,n){if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return e.set(r,t),t}var h;(function(r){r.errToObj=e=>typeof e=="string"?{message:e}:e||{},r.toString=e=>typeof e=="string"?e:e?.message})(h||(h={}));var Y,H;class O{constructor(e,t,s,n){this._cachedPath=[],this.parent=e,this.data=t,this._path=s,this._key=n}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const Ae=(r,e)=>{if(z(e))return{success:!0,data:e.value};if(!r.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const t=new T(r.common.issues);return this._error=t,this._error}}};function y(r){if(!r)return{};const{errorMap:e,invalid_type_error:t,required_error:s,description:n}=r;if(e&&(t||s))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:n}:{errorMap:(i,o)=>{var u,c;const{message:m}=r;return i.code==="invalid_enum_value"?{message:m??o.defaultError}:typeof o.data>"u"?{message:(u=m??s)!==null&&u!==void 0?u:o.defaultError}:i.code!=="invalid_type"?{message:o.defaultError}:{message:(c=m??t)!==null&&c!==void 0?c:o.defaultError}},description:n}}class _{get description(){return this._def.description}_getType(e){return R(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:R(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new k,ctx:{common:e.parent.common,data:e.data,parsedType:R(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(G(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const s=this.safeParse(e,t);if(s.success)return s.data;throw s.error}safeParse(e,t){var s;const n={common:{issues:[],async:(s=t?.async)!==null&&s!==void 0?s:!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:R(e)},a=this._parseSync({data:e,path:n.path,parent:n});return Ae(n,a)}"~validate"(e){var t,s;const n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:R(e)};if(!this["~standard"].async)try{const a=this._parseSync({data:e,path:[],parent:n});return z(a)?{value:a.value}:{issues:n.common.issues}}catch(a){!((s=(t=a?.message)===null||t===void 0?void 0:t.toLowerCase())===null||s===void 0)&&s.includes("encountered")&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:n}).then(a=>z(a)?{value:a.value}:{issues:n.common.issues})}async parseAsync(e,t){const s=await this.safeParseAsync(e,t);if(s.success)return s.data;throw s.error}async safeParseAsync(e,t){const s={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:R(e)},n=this._parse({data:e,path:s.path,parent:s}),a=await(G(n)?n:Promise.resolve(n));return Ae(s,a)}refine(e,t){const s=n=>typeof t=="string"||typeof t>"u"?{message:t}:typeof t=="function"?t(n):t;return this._refinement((n,a)=>{const i=e(n),o=()=>a.addIssue({code:d.custom,...s(n)});return typeof Promise<"u"&&i instanceof Promise?i.then(u=>u?!0:(o(),!1)):i?!0:(o(),!1)})}refinement(e,t){return this._refinement((s,n)=>e(s)?!0:(n.addIssue(typeof t=="function"?t(s,n):t),!1))}_refinement(e){return new S({schema:this,typeName:p.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:t=>this["~validate"](t)}}optional(){return A.create(this,this._def)}nullable(){return V.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return C.create(this)}promise(){return J.create(this,this._def)}or(e){return ee.create([this,e],this._def)}and(e){return te.create(this,e,this._def)}transform(e){return new S({...y(this._def),schema:this,typeName:p.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t=typeof e=="function"?e:()=>e;return new ie({...y(this._def),innerType:this,defaultValue:t,typeName:p.ZodDefault})}brand(){return new Ce({typeName:p.ZodBranded,type:this,...y(this._def)})}catch(e){const t=typeof e=="function"?e:()=>e;return new oe({...y(this._def),innerType:this,catchValue:t,typeName:p.ZodCatch})}describe(e){const t=this.constructor;return new t({...this._def,description:e})}pipe(e){return ce.create(this,e)}readonly(){return de.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const qe=/^c[^\s-]{8,}$/i,Je=/^[0-9a-z]+$/,Ye=/^[0-9A-HJKMNP-TV-Z]{26}$/i,He=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Ge=/^[a-z0-9_-]{21}$/i,Xe=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Qe=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Ke=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,et="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let xe;const tt=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,rt=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,st=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,nt=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,at=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,it=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,je="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",ot=new RegExp(`^${je}$`);function Ie(r){let e="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";return r.precision?e=`${e}\\.\\d{${r.precision}}`:r.precision==null&&(e=`${e}(\\.\\d+)?`),e}function dt(r){return new RegExp(`^${Ie(r)}$`)}function Me(r){let e=`${je}T${Ie(r)}`;const t=[];return t.push(r.local?"Z?":"Z"),r.offset&&t.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${t.join("|")})`,new RegExp(`^${e}$`)}function ct(r,e){return!!((e==="v4"||!e)&&tt.test(r)||(e==="v6"||!e)&&st.test(r))}function ut(r,e){if(!Xe.test(r))return!1;try{const[t]=r.split("."),s=t.replace(/-/g,"+").replace(/_/g,"/").padEnd(t.length+(4-t.length%4)%4,"="),n=JSON.parse(atob(s));return!(typeof n!="object"||n===null||!n.typ||!n.alg||e&&n.alg!==e)}catch{return!1}}function lt(r,e){return!!((e==="v4"||!e)&&rt.test(r)||(e==="v6"||!e)&&nt.test(r))}class Z extends _{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==f.string){const a=this._getOrReturnCtx(e);return l(a,{code:d.invalid_type,expected:f.string,received:a.parsedType}),v}const s=new k;let n;for(const a of this._def.checks)if(a.kind==="min")e.data.lengtha.value&&(n=this._getOrReturnCtx(e,n),l(n,{code:d.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),s.dirty());else if(a.kind==="length"){const i=e.data.length>a.value,o=e.data.lengthe.test(n),{validation:t,code:d.invalid_string,...h.errToObj(s)})}_addCheck(e){return new Z({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...h.errToObj(e)})}url(e){return this._addCheck({kind:"url",...h.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...h.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...h.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...h.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...h.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...h.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...h.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...h.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...h.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...h.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...h.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...h.errToObj(e)})}datetime(e){var t,s;return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:(t=e?.offset)!==null&&t!==void 0?t:!1,local:(s=e?.local)!==null&&s!==void 0?s:!1,...h.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...h.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...h.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...h.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t?.position,...h.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...h.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...h.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...h.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...h.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...h.errToObj(t)})}nonempty(e){return this.min(1,h.errToObj(e))}trim(){return new Z({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Z({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Z({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value{var e;return new Z({checks:[],typeName:p.ZodString,coerce:(e=r?.coerce)!==null&&e!==void 0?e:!1,...y(r)})};function ft(r,e){const t=(r.toString().split(".")[1]||"").length,s=(e.toString().split(".")[1]||"").length,n=t>s?t:s,a=parseInt(r.toFixed(n).replace(".","")),i=parseInt(e.toFixed(n).replace(".",""));return a%i/Math.pow(10,n)}class I extends _{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==f.number){const a=this._getOrReturnCtx(e);return l(a,{code:d.invalid_type,expected:f.number,received:a.parsedType}),v}let s;const n=new k;for(const a of this._def.checks)a.kind==="int"?g.isInteger(e.data)||(s=this._getOrReturnCtx(e,s),l(s,{code:d.invalid_type,expected:"integer",received:"float",message:a.message}),n.dirty()):a.kind==="min"?(a.inclusive?e.dataa.value:e.data>=a.value)&&(s=this._getOrReturnCtx(e,s),l(s,{code:d.too_big,maximum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),n.dirty()):a.kind==="multipleOf"?ft(e.data,a.value)!==0&&(s=this._getOrReturnCtx(e,s),l(s,{code:d.not_multiple_of,multipleOf:a.value,message:a.message}),n.dirty()):a.kind==="finite"?Number.isFinite(e.data)||(s=this._getOrReturnCtx(e,s),l(s,{code:d.not_finite,message:a.message}),n.dirty()):g.assertNever(a);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,h.toString(t))}gt(e,t){return this.setLimit("min",e,!1,h.toString(t))}lte(e,t){return this.setLimit("max",e,!0,h.toString(t))}lt(e,t){return this.setLimit("max",e,!1,h.toString(t))}setLimit(e,t,s,n){return new I({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:s,message:h.toString(n)}]})}_addCheck(e){return new I({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:h.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:h.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:h.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:h.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:h.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:h.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:h.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:h.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:h.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.valuee.kind==="int"||e.kind==="multipleOf"&&g.isInteger(e.value))}get isFinite(){let e=null,t=null;for(const s of this._def.checks){if(s.kind==="finite"||s.kind==="int"||s.kind==="multipleOf")return!0;s.kind==="min"?(t===null||s.value>t)&&(t=s.value):s.kind==="max"&&(e===null||s.valuenew I({checks:[],typeName:p.ZodNumber,coerce:r?.coerce||!1,...y(r)});class M extends _{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==f.bigint)return this._getInvalidInput(e);let s;const n=new k;for(const a of this._def.checks)a.kind==="min"?(a.inclusive?e.dataa.value:e.data>=a.value)&&(s=this._getOrReturnCtx(e,s),l(s,{code:d.too_big,type:"bigint",maximum:a.value,inclusive:a.inclusive,message:a.message}),n.dirty()):a.kind==="multipleOf"?e.data%a.value!==BigInt(0)&&(s=this._getOrReturnCtx(e,s),l(s,{code:d.not_multiple_of,multipleOf:a.value,message:a.message}),n.dirty()):g.assertNever(a);return{status:n.value,value:e.data}}_getInvalidInput(e){const t=this._getOrReturnCtx(e);return l(t,{code:d.invalid_type,expected:f.bigint,received:t.parsedType}),v}gte(e,t){return this.setLimit("min",e,!0,h.toString(t))}gt(e,t){return this.setLimit("min",e,!1,h.toString(t))}lte(e,t){return this.setLimit("max",e,!0,h.toString(t))}lt(e,t){return this.setLimit("max",e,!1,h.toString(t))}setLimit(e,t,s,n){return new M({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:s,message:h.toString(n)}]})}_addCheck(e){return new M({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:h.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:h.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:h.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:h.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:h.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value{var e;return new M({checks:[],typeName:p.ZodBigInt,coerce:(e=r?.coerce)!==null&&e!==void 0?e:!1,...y(r)})};class X extends _{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==f.boolean){const s=this._getOrReturnCtx(e);return l(s,{code:d.invalid_type,expected:f.boolean,received:s.parsedType}),v}return b(e.data)}}X.create=r=>new X({typeName:p.ZodBoolean,coerce:r?.coerce||!1,...y(r)});class D extends _{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==f.date){const a=this._getOrReturnCtx(e);return l(a,{code:d.invalid_type,expected:f.date,received:a.parsedType}),v}if(isNaN(e.data.getTime())){const a=this._getOrReturnCtx(e);return l(a,{code:d.invalid_date}),v}const s=new k;let n;for(const a of this._def.checks)a.kind==="min"?e.data.getTime()a.value&&(n=this._getOrReturnCtx(e,n),l(n,{code:d.too_big,message:a.message,inclusive:!0,exact:!1,maximum:a.value,type:"date"}),s.dirty()):g.assertNever(a);return{status:s.value,value:new Date(e.data.getTime())}}_addCheck(e){return new D({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:h.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:h.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.valuenew D({checks:[],coerce:r?.coerce||!1,typeName:p.ZodDate,...y(r)});class he extends _{_parse(e){if(this._getType(e)!==f.symbol){const s=this._getOrReturnCtx(e);return l(s,{code:d.invalid_type,expected:f.symbol,received:s.parsedType}),v}return b(e.data)}}he.create=r=>new he({typeName:p.ZodSymbol,...y(r)});class Q extends _{_parse(e){if(this._getType(e)!==f.undefined){const s=this._getOrReturnCtx(e);return l(s,{code:d.invalid_type,expected:f.undefined,received:s.parsedType}),v}return b(e.data)}}Q.create=r=>new Q({typeName:p.ZodUndefined,...y(r)});class K extends _{_parse(e){if(this._getType(e)!==f.null){const s=this._getOrReturnCtx(e);return l(s,{code:d.invalid_type,expected:f.null,received:s.parsedType}),v}return b(e.data)}}K.create=r=>new K({typeName:p.ZodNull,...y(r)});class q extends _{constructor(){super(...arguments),this._any=!0}_parse(e){return b(e.data)}}q.create=r=>new q({typeName:p.ZodAny,...y(r)});class P extends _{constructor(){super(...arguments),this._unknown=!0}_parse(e){return b(e.data)}}P.create=r=>new P({typeName:p.ZodUnknown,...y(r)});class j extends _{_parse(e){const t=this._getOrReturnCtx(e);return l(t,{code:d.invalid_type,expected:f.never,received:t.parsedType}),v}}j.create=r=>new j({typeName:p.ZodNever,...y(r)});class pe extends _{_parse(e){if(this._getType(e)!==f.undefined){const s=this._getOrReturnCtx(e);return l(s,{code:d.invalid_type,expected:f.void,received:s.parsedType}),v}return b(e.data)}}pe.create=r=>new pe({typeName:p.ZodVoid,...y(r)});class C extends _{_parse(e){const{ctx:t,status:s}=this._processInputParams(e),n=this._def;if(t.parsedType!==f.array)return l(t,{code:d.invalid_type,expected:f.array,received:t.parsedType}),v;if(n.exactLength!==null){const i=t.data.length>n.exactLength.value,o=t.data.lengthn.maxLength.value&&(l(t,{code:d.too_big,maximum:n.maxLength.value,type:"array",inclusive:!0,exact:!1,message:n.maxLength.message}),s.dirty()),t.common.async)return Promise.all([...t.data].map((i,o)=>n.type._parseAsync(new O(t,i,t.path,o)))).then(i=>k.mergeArray(s,i));const a=[...t.data].map((i,o)=>n.type._parseSync(new O(t,i,t.path,o)));return k.mergeArray(s,a)}get element(){return this._def.type}min(e,t){return new C({...this._def,minLength:{value:e,message:h.toString(t)}})}max(e,t){return new C({...this._def,maxLength:{value:e,message:h.toString(t)}})}length(e,t){return new C({...this._def,exactLength:{value:e,message:h.toString(t)}})}nonempty(e){return this.min(1,e)}}C.create=(r,e)=>new C({type:r,minLength:null,maxLength:null,exactLength:null,typeName:p.ZodArray,...y(e)});function U(r){if(r instanceof x){const e={};for(const t in r.shape){const s=r.shape[t];e[t]=A.create(U(s))}return new x({...r._def,shape:()=>e})}else return r instanceof C?new C({...r._def,type:U(r.element)}):r instanceof A?A.create(U(r.unwrap())):r instanceof V?V.create(U(r.unwrap())):r instanceof E?E.create(r.items.map(e=>U(e))):r}class x extends _{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const e=this._def.shape(),t=g.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){if(this._getType(e)!==f.object){const c=this._getOrReturnCtx(e);return l(c,{code:d.invalid_type,expected:f.object,received:c.parsedType}),v}const{status:s,ctx:n}=this._processInputParams(e),{shape:a,keys:i}=this._getCached(),o=[];if(!(this._def.catchall instanceof j&&this._def.unknownKeys==="strip"))for(const c in n.data)i.includes(c)||o.push(c);const u=[];for(const c of i){const m=a[c],w=n.data[c];u.push({key:{status:"valid",value:c},value:m._parse(new O(n,w,n.path,c)),alwaysSet:c in n.data})}if(this._def.catchall instanceof j){const c=this._def.unknownKeys;if(c==="passthrough")for(const m of o)u.push({key:{status:"valid",value:m},value:{status:"valid",value:n.data[m]}});else if(c==="strict")o.length>0&&(l(n,{code:d.unrecognized_keys,keys:o}),s.dirty());else if(c!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const c=this._def.catchall;for(const m of o){const w=n.data[m];u.push({key:{status:"valid",value:m},value:c._parse(new O(n,w,n.path,m)),alwaysSet:m in n.data})}}return n.common.async?Promise.resolve().then(async()=>{const c=[];for(const m of u){const w=await m.key,Se=await m.value;c.push({key:w,value:Se,alwaysSet:m.alwaysSet})}return c}).then(c=>k.mergeObjectSync(s,c)):k.mergeObjectSync(s,u)}get shape(){return this._def.shape()}strict(e){return h.errToObj,new x({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(t,s)=>{var n,a,i,o;const u=(i=(a=(n=this._def).errorMap)===null||a===void 0?void 0:a.call(n,t,s).message)!==null&&i!==void 0?i:s.defaultError;return t.code==="unrecognized_keys"?{message:(o=h.errToObj(e).message)!==null&&o!==void 0?o:u}:{message:u}}}:{}})}strip(){return new x({...this._def,unknownKeys:"strip"})}passthrough(){return new x({...this._def,unknownKeys:"passthrough"})}extend(e){return new x({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new x({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:p.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new x({...this._def,catchall:e})}pick(e){const t={};return g.objectKeys(e).forEach(s=>{e[s]&&this.shape[s]&&(t[s]=this.shape[s])}),new x({...this._def,shape:()=>t})}omit(e){const t={};return g.objectKeys(this.shape).forEach(s=>{e[s]||(t[s]=this.shape[s])}),new x({...this._def,shape:()=>t})}deepPartial(){return U(this)}partial(e){const t={};return g.objectKeys(this.shape).forEach(s=>{const n=this.shape[s];e&&!e[s]?t[s]=n:t[s]=n.optional()}),new x({...this._def,shape:()=>t})}required(e){const t={};return g.objectKeys(this.shape).forEach(s=>{if(e&&!e[s])t[s]=this.shape[s];else{let a=this.shape[s];for(;a instanceof A;)a=a._def.innerType;t[s]=a}}),new x({...this._def,shape:()=>t})}keyof(){return $e(g.objectKeys(this.shape))}}x.create=(r,e)=>new x({shape:()=>r,unknownKeys:"strip",catchall:j.create(),typeName:p.ZodObject,...y(e)});x.strictCreate=(r,e)=>new x({shape:()=>r,unknownKeys:"strict",catchall:j.create(),typeName:p.ZodObject,...y(e)});x.lazycreate=(r,e)=>new x({shape:r,unknownKeys:"strip",catchall:j.create(),typeName:p.ZodObject,...y(e)});class ee extends _{_parse(e){const{ctx:t}=this._processInputParams(e),s=this._def.options;function n(a){for(const o of a)if(o.result.status==="valid")return o.result;for(const o of a)if(o.result.status==="dirty")return t.common.issues.push(...o.ctx.common.issues),o.result;const i=a.map(o=>new T(o.ctx.common.issues));return l(t,{code:d.invalid_union,unionErrors:i}),v}if(t.common.async)return Promise.all(s.map(async a=>{const i={...t,common:{...t.common,issues:[]},parent:null};return{result:await a._parseAsync({data:t.data,path:t.path,parent:i}),ctx:i}})).then(n);{let a;const i=[];for(const u of s){const c={...t,common:{...t.common,issues:[]},parent:null},m=u._parseSync({data:t.data,path:t.path,parent:c});if(m.status==="valid")return m;m.status==="dirty"&&!a&&(a={result:m,ctx:c}),c.common.issues.length&&i.push(c.common.issues)}if(a)return t.common.issues.push(...a.ctx.common.issues),a.result;const o=i.map(u=>new T(u));return l(t,{code:d.invalid_union,unionErrors:o}),v}}get options(){return this._def.options}}ee.create=(r,e)=>new ee({options:r,typeName:p.ZodUnion,...y(e)});const N=r=>r instanceof se?N(r.schema):r instanceof S?N(r.innerType()):r instanceof ne?[r.value]:r instanceof $?r.options:r instanceof ae?g.objectValues(r.enum):r instanceof ie?N(r._def.innerType):r instanceof Q?[void 0]:r instanceof K?[null]:r instanceof A?[void 0,...N(r.unwrap())]:r instanceof V?[null,...N(r.unwrap())]:r instanceof Ce||r instanceof de?N(r.unwrap()):r instanceof oe?N(r._def.innerType):[];class ye extends _{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==f.object)return l(t,{code:d.invalid_type,expected:f.object,received:t.parsedType}),v;const s=this.discriminator,n=t.data[s],a=this.optionsMap.get(n);return a?t.common.async?a._parseAsync({data:t.data,path:t.path,parent:t}):a._parseSync({data:t.data,path:t.path,parent:t}):(l(t,{code:d.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[s]}),v)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,s){const n=new Map;for(const a of t){const i=N(a.shape[e]);if(!i.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const o of i){if(n.has(o))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(o)}`);n.set(o,a)}}return new ye({typeName:p.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:n,...y(s)})}}function Ze(r,e){const t=R(r),s=R(e);if(r===e)return{valid:!0,data:r};if(t===f.object&&s===f.object){const n=g.objectKeys(e),a=g.objectKeys(r).filter(o=>n.indexOf(o)!==-1),i={...r,...e};for(const o of a){const u=Ze(r[o],e[o]);if(!u.valid)return{valid:!1};i[o]=u.data}return{valid:!0,data:i}}else if(t===f.array&&s===f.array){if(r.length!==e.length)return{valid:!1};const n=[];for(let a=0;a{if(we(a)||we(i))return v;const o=Ze(a.value,i.value);return o.valid?((Te(a)||Te(i))&&t.dirty(),{status:t.value,value:o.data}):(l(s,{code:d.invalid_intersection_types}),v)};return s.common.async?Promise.all([this._def.left._parseAsync({data:s.data,path:s.path,parent:s}),this._def.right._parseAsync({data:s.data,path:s.path,parent:s})]).then(([a,i])=>n(a,i)):n(this._def.left._parseSync({data:s.data,path:s.path,parent:s}),this._def.right._parseSync({data:s.data,path:s.path,parent:s}))}}te.create=(r,e,t)=>new te({left:r,right:e,typeName:p.ZodIntersection,...y(t)});class E extends _{_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==f.array)return l(s,{code:d.invalid_type,expected:f.array,received:s.parsedType}),v;if(s.data.lengththis._def.items.length&&(l(s,{code:d.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const a=[...s.data].map((i,o)=>{const u=this._def.items[o]||this._def.rest;return u?u._parse(new O(s,i,s.path,o)):null}).filter(i=>!!i);return s.common.async?Promise.all(a).then(i=>k.mergeArray(t,i)):k.mergeArray(t,a)}get items(){return this._def.items}rest(e){return new E({...this._def,rest:e})}}E.create=(r,e)=>{if(!Array.isArray(r))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new E({items:r,typeName:p.ZodTuple,rest:null,...y(e)})};class re extends _{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==f.object)return l(s,{code:d.invalid_type,expected:f.object,received:s.parsedType}),v;const n=[],a=this._def.keyType,i=this._def.valueType;for(const o in s.data)n.push({key:a._parse(new O(s,o,s.path,o)),value:i._parse(new O(s,s.data[o],s.path,o)),alwaysSet:o in s.data});return s.common.async?k.mergeObjectAsync(t,n):k.mergeObjectSync(t,n)}get element(){return this._def.valueType}static create(e,t,s){return t instanceof _?new re({keyType:e,valueType:t,typeName:p.ZodRecord,...y(s)}):new re({keyType:Z.create(),valueType:e,typeName:p.ZodRecord,...y(t)})}}class me extends _{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==f.map)return l(s,{code:d.invalid_type,expected:f.map,received:s.parsedType}),v;const n=this._def.keyType,a=this._def.valueType,i=[...s.data.entries()].map(([o,u],c)=>({key:n._parse(new O(s,o,s.path,[c,"key"])),value:a._parse(new O(s,u,s.path,[c,"value"]))}));if(s.common.async){const o=new Map;return Promise.resolve().then(async()=>{for(const u of i){const c=await u.key,m=await u.value;if(c.status==="aborted"||m.status==="aborted")return v;(c.status==="dirty"||m.status==="dirty")&&t.dirty(),o.set(c.value,m.value)}return{status:t.value,value:o}})}else{const o=new Map;for(const u of i){const c=u.key,m=u.value;if(c.status==="aborted"||m.status==="aborted")return v;(c.status==="dirty"||m.status==="dirty")&&t.dirty(),o.set(c.value,m.value)}return{status:t.value,value:o}}}}me.create=(r,e,t)=>new me({valueType:e,keyType:r,typeName:p.ZodMap,...y(t)});class L extends _{_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==f.set)return l(s,{code:d.invalid_type,expected:f.set,received:s.parsedType}),v;const n=this._def;n.minSize!==null&&s.data.sizen.maxSize.value&&(l(s,{code:d.too_big,maximum:n.maxSize.value,type:"set",inclusive:!0,exact:!1,message:n.maxSize.message}),t.dirty());const a=this._def.valueType;function i(u){const c=new Set;for(const m of u){if(m.status==="aborted")return v;m.status==="dirty"&&t.dirty(),c.add(m.value)}return{status:t.value,value:c}}const o=[...s.data.values()].map((u,c)=>a._parse(new O(s,u,s.path,c)));return s.common.async?Promise.all(o).then(u=>i(u)):i(o)}min(e,t){return new L({...this._def,minSize:{value:e,message:h.toString(t)}})}max(e,t){return new L({...this._def,maxSize:{value:e,message:h.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}L.create=(r,e)=>new L({valueType:r,minSize:null,maxSize:null,typeName:p.ZodSet,...y(e)});class F extends _{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==f.function)return l(t,{code:d.invalid_type,expected:f.function,received:t.parsedType}),v;function s(o,u){return le({data:o,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,ue(),W].filter(c=>!!c),issueData:{code:d.invalid_arguments,argumentsError:u}})}function n(o,u){return le({data:o,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,ue(),W].filter(c=>!!c),issueData:{code:d.invalid_return_type,returnTypeError:u}})}const a={errorMap:t.common.contextualErrorMap},i=t.data;if(this._def.returns instanceof J){const o=this;return b(async function(...u){const c=new T([]),m=await o._def.args.parseAsync(u,a).catch(_e=>{throw c.addIssue(s(u,_e)),c}),w=await Reflect.apply(i,this,m);return await o._def.returns._def.type.parseAsync(w,a).catch(_e=>{throw c.addIssue(n(w,_e)),c})})}else{const o=this;return b(function(...u){const c=o._def.args.safeParse(u,a);if(!c.success)throw new T([s(u,c.error)]);const m=Reflect.apply(i,this,c.data),w=o._def.returns.safeParse(m,a);if(!w.success)throw new T([n(m,w.error)]);return w.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new F({...this._def,args:E.create(e).rest(P.create())})}returns(e){return new F({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,s){return new F({args:e||E.create([]).rest(P.create()),returns:t||P.create(),typeName:p.ZodFunction,...y(s)})}}class se extends _{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}se.create=(r,e)=>new se({getter:r,typeName:p.ZodLazy,...y(e)});class ne extends _{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return l(t,{received:t.data,code:d.invalid_literal,expected:this._def.value}),v}return{status:"valid",value:e.data}}get value(){return this._def.value}}ne.create=(r,e)=>new ne({value:r,typeName:p.ZodLiteral,...y(e)});function $e(r,e){return new $({values:r,typeName:p.ZodEnum,...y(e)})}class $ extends _{constructor(){super(...arguments),Y.set(this,void 0)}_parse(e){if(typeof e.data!="string"){const t=this._getOrReturnCtx(e),s=this._def.values;return l(t,{expected:g.joinValues(s),received:t.parsedType,code:d.invalid_type}),v}if(fe(this,Y)||Re(this,Y,new Set(this._def.values)),!fe(this,Y).has(e.data)){const t=this._getOrReturnCtx(e),s=this._def.values;return l(t,{received:t.data,code:d.invalid_enum_value,options:s}),v}return b(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return $.create(e,{...this._def,...t})}exclude(e,t=this._def){return $.create(this.options.filter(s=>!e.includes(s)),{...this._def,...t})}}Y=new WeakMap;$.create=$e;class ae extends _{constructor(){super(...arguments),H.set(this,void 0)}_parse(e){const t=g.getValidEnumValues(this._def.values),s=this._getOrReturnCtx(e);if(s.parsedType!==f.string&&s.parsedType!==f.number){const n=g.objectValues(t);return l(s,{expected:g.joinValues(n),received:s.parsedType,code:d.invalid_type}),v}if(fe(this,H)||Re(this,H,new Set(g.getValidEnumValues(this._def.values))),!fe(this,H).has(e.data)){const n=g.objectValues(t);return l(s,{received:s.data,code:d.invalid_enum_value,options:n}),v}return b(e.data)}get enum(){return this._def.values}}H=new WeakMap;ae.create=(r,e)=>new ae({values:r,typeName:p.ZodNativeEnum,...y(e)});class J extends _{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==f.promise&&t.common.async===!1)return l(t,{code:d.invalid_type,expected:f.promise,received:t.parsedType}),v;const s=t.parsedType===f.promise?t.data:Promise.resolve(t.data);return b(s.then(n=>this._def.type.parseAsync(n,{path:t.path,errorMap:t.common.contextualErrorMap})))}}J.create=(r,e)=>new J({type:r,typeName:p.ZodPromise,...y(e)});class S extends _{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===p.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:s}=this._processInputParams(e),n=this._def.effect||null,a={addIssue:i=>{l(s,i),i.fatal?t.abort():t.dirty()},get path(){return s.path}};if(a.addIssue=a.addIssue.bind(a),n.type==="preprocess"){const i=n.transform(s.data,a);if(s.common.async)return Promise.resolve(i).then(async o=>{if(t.value==="aborted")return v;const u=await this._def.schema._parseAsync({data:o,path:s.path,parent:s});return u.status==="aborted"?v:u.status==="dirty"||t.value==="dirty"?B(u.value):u});{if(t.value==="aborted")return v;const o=this._def.schema._parseSync({data:i,path:s.path,parent:s});return o.status==="aborted"?v:o.status==="dirty"||t.value==="dirty"?B(o.value):o}}if(n.type==="refinement"){const i=o=>{const u=n.refinement(o,a);if(s.common.async)return Promise.resolve(u);if(u instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return o};if(s.common.async===!1){const o=this._def.schema._parseSync({data:s.data,path:s.path,parent:s});return o.status==="aborted"?v:(o.status==="dirty"&&t.dirty(),i(o.value),{status:t.value,value:o.value})}else return this._def.schema._parseAsync({data:s.data,path:s.path,parent:s}).then(o=>o.status==="aborted"?v:(o.status==="dirty"&&t.dirty(),i(o.value).then(()=>({status:t.value,value:o.value}))))}if(n.type==="transform")if(s.common.async===!1){const i=this._def.schema._parseSync({data:s.data,path:s.path,parent:s});if(!z(i))return i;const o=n.transform(i.value,a);if(o instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:o}}else return this._def.schema._parseAsync({data:s.data,path:s.path,parent:s}).then(i=>z(i)?Promise.resolve(n.transform(i.value,a)).then(o=>({status:t.value,value:o})):i);g.assertNever(n)}}S.create=(r,e,t)=>new S({schema:r,typeName:p.ZodEffects,effect:e,...y(t)});S.createWithPreprocess=(r,e,t)=>new S({schema:e,effect:{type:"preprocess",transform:r},typeName:p.ZodEffects,...y(t)});class A extends _{_parse(e){return this._getType(e)===f.undefined?b(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}A.create=(r,e)=>new A({innerType:r,typeName:p.ZodOptional,...y(e)});class V extends _{_parse(e){return this._getType(e)===f.null?b(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}V.create=(r,e)=>new V({innerType:r,typeName:p.ZodNullable,...y(e)});class ie extends _{_parse(e){const{ctx:t}=this._processInputParams(e);let s=t.data;return t.parsedType===f.undefined&&(s=this._def.defaultValue()),this._def.innerType._parse({data:s,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}ie.create=(r,e)=>new ie({innerType:r,typeName:p.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...y(e)});class oe extends _{_parse(e){const{ctx:t}=this._processInputParams(e),s={...t,common:{...t.common,issues:[]}},n=this._def.innerType._parse({data:s.data,path:s.path,parent:{...s}});return G(n)?n.then(a=>({status:"valid",value:a.status==="valid"?a.value:this._def.catchValue({get error(){return new T(s.common.issues)},input:s.data})})):{status:"valid",value:n.status==="valid"?n.value:this._def.catchValue({get error(){return new T(s.common.issues)},input:s.data})}}removeCatch(){return this._def.innerType}}oe.create=(r,e)=>new oe({innerType:r,typeName:p.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...y(e)});class ve extends _{_parse(e){if(this._getType(e)!==f.nan){const s=this._getOrReturnCtx(e);return l(s,{code:d.invalid_type,expected:f.nan,received:s.parsedType}),v}return{status:"valid",value:e.data}}}ve.create=r=>new ve({typeName:p.ZodNaN,...y(r)});const ht=Symbol("zod_brand");class Ce extends _{_parse(e){const{ctx:t}=this._processInputParams(e),s=t.data;return this._def.type._parse({data:s,path:t.path,parent:t})}unwrap(){return this._def.type}}class ce extends _{_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.common.async)return(async()=>{const a=await this._def.in._parseAsync({data:s.data,path:s.path,parent:s});return a.status==="aborted"?v:a.status==="dirty"?(t.dirty(),B(a.value)):this._def.out._parseAsync({data:a.value,path:s.path,parent:s})})();{const n=this._def.in._parseSync({data:s.data,path:s.path,parent:s});return n.status==="aborted"?v:n.status==="dirty"?(t.dirty(),{status:"dirty",value:n.value}):this._def.out._parseSync({data:n.value,path:s.path,parent:s})}}static create(e,t){return new ce({in:e,out:t,typeName:p.ZodPipeline})}}class de extends _{_parse(e){const t=this._def.innerType._parse(e),s=n=>(z(n)&&(n.value=Object.freeze(n.value)),n);return G(t)?t.then(n=>s(n)):s(t)}unwrap(){return this._def.innerType}}de.create=(r,e)=>new de({innerType:r,typeName:p.ZodReadonly,...y(e)});function Ve(r,e={},t){return r?q.create().superRefine((s,n)=>{var a,i;if(!r(s)){const o=typeof e=="function"?e(s):typeof e=="string"?{message:e}:e,u=(i=(a=o.fatal)!==null&&a!==void 0?a:t)!==null&&i!==void 0?i:!0,c=typeof o=="string"?{message:o}:o;n.addIssue({code:"custom",...c,fatal:u})}}):q.create()}const pt={object:x.lazycreate};var p;(function(r){r.ZodString="ZodString",r.ZodNumber="ZodNumber",r.ZodNaN="ZodNaN",r.ZodBigInt="ZodBigInt",r.ZodBoolean="ZodBoolean",r.ZodDate="ZodDate",r.ZodSymbol="ZodSymbol",r.ZodUndefined="ZodUndefined",r.ZodNull="ZodNull",r.ZodAny="ZodAny",r.ZodUnknown="ZodUnknown",r.ZodNever="ZodNever",r.ZodVoid="ZodVoid",r.ZodArray="ZodArray",r.ZodObject="ZodObject",r.ZodUnion="ZodUnion",r.ZodDiscriminatedUnion="ZodDiscriminatedUnion",r.ZodIntersection="ZodIntersection",r.ZodTuple="ZodTuple",r.ZodRecord="ZodRecord",r.ZodMap="ZodMap",r.ZodSet="ZodSet",r.ZodFunction="ZodFunction",r.ZodLazy="ZodLazy",r.ZodLiteral="ZodLiteral",r.ZodEnum="ZodEnum",r.ZodEffects="ZodEffects",r.ZodNativeEnum="ZodNativeEnum",r.ZodOptional="ZodOptional",r.ZodNullable="ZodNullable",r.ZodDefault="ZodDefault",r.ZodCatch="ZodCatch",r.ZodPromise="ZodPromise",r.ZodBranded="ZodBranded",r.ZodPipeline="ZodPipeline",r.ZodReadonly="ZodReadonly"})(p||(p={}));const mt=(r,e={message:`Input not instance of ${r.name}`})=>Ve(t=>t instanceof r,e),Pe=Z.create,ze=I.create,vt=ve.create,yt=M.create,De=X.create,_t=D.create,gt=he.create,xt=Q.create,kt=K.create,bt=q.create,wt=P.create,Tt=j.create,Zt=pe.create,Ct=C.create,St=x.create,At=x.strictCreate,Ot=ee.create,Et=ye.create,Nt=te.create,Rt=E.create,jt=re.create,It=me.create,Mt=L.create,$t=F.create,Vt=se.create,Pt=ne.create,zt=$.create,Dt=ae.create,Lt=J.create,Oe=S.create,Ut=A.create,Bt=V.create,Ft=S.createWithPreprocess,Wt=ce.create,qt=()=>Pe().optional(),Jt=()=>ze().optional(),Yt=()=>De().optional(),Ht={string:r=>Z.create({...r,coerce:!0}),number:r=>I.create({...r,coerce:!0}),boolean:r=>X.create({...r,coerce:!0}),bigint:r=>M.create({...r,coerce:!0}),date:r=>D.create({...r,coerce:!0})},Gt=v;var tr=Object.freeze({__proto__:null,defaultErrorMap:W,setErrorMap:Fe,getErrorMap:ue,makeIssue:le,EMPTY_PATH:We,addIssueToContext:l,ParseStatus:k,INVALID:v,DIRTY:B,OK:b,isAborted:we,isDirty:Te,isValid:z,isAsync:G,get util(){return g},get objectUtil(){return be},ZodParsedType:f,getParsedType:R,ZodType:_,datetimeRegex:Me,ZodString:Z,ZodNumber:I,ZodBigInt:M,ZodBoolean:X,ZodDate:D,ZodSymbol:he,ZodUndefined:Q,ZodNull:K,ZodAny:q,ZodUnknown:P,ZodNever:j,ZodVoid:pe,ZodArray:C,ZodObject:x,ZodUnion:ee,ZodDiscriminatedUnion:ye,ZodIntersection:te,ZodTuple:E,ZodRecord:re,ZodMap:me,ZodSet:L,ZodFunction:F,ZodLazy:se,ZodLiteral:ne,ZodEnum:$,ZodNativeEnum:ae,ZodPromise:J,ZodEffects:S,ZodTransformer:S,ZodOptional:A,ZodNullable:V,ZodDefault:ie,ZodCatch:oe,ZodNaN:ve,BRAND:ht,ZodBranded:Ce,ZodPipeline:ce,ZodReadonly:de,custom:Ve,Schema:_,ZodSchema:_,late:pt,get ZodFirstPartyTypeKind(){return p},coerce:Ht,any:bt,array:Ct,bigint:yt,boolean:De,date:_t,discriminatedUnion:Et,effect:Oe,enum:zt,function:$t,instanceof:mt,intersection:Nt,lazy:Vt,literal:Pt,map:It,nan:vt,nativeEnum:Dt,never:Tt,null:kt,nullable:Bt,number:ze,object:St,oboolean:Yt,onumber:Jt,optional:Ut,ostring:qt,pipeline:Wt,preprocess:Ft,promise:Lt,record:jt,set:Mt,strictObject:At,string:Pe,symbol:gt,transformer:Oe,tuple:Rt,undefined:xt,union:Ot,unknown:wt,void:Zt,NEVER:Gt,ZodIssueCode:d,quotelessJson:Be,ZodError:T});const Ee=(r,e,t)=>{if(r&&"reportValidity"in r){const s=ke(t,e);r.setCustomValidity(s&&s.message||""),r.reportValidity()}},Le=(r,e)=>{for(const t in e.fields){const s=e.fields[t];s&&s.ref&&"reportValidity"in s.ref?Ee(s.ref,t,r):s.refs&&s.refs.forEach(n=>Ee(n,t,r))}},Xt=(r,e)=>{e.shouldUseNativeValidation&&Le(r,e);const t={};for(const s in r){const n=ke(e.fields,s),a=Object.assign(r[s]||{},{ref:n&&n.ref});if(Qt(e.names||Object.keys(r),s)){const i=Object.assign({},ke(t,s));ge(i,"root",a),ge(t,s,i)}else ge(t,s,a)}return t},Qt=(r,e)=>r.some(t=>t.startsWith(e+"."));var Kt=function(r,e){for(var t={};r.length;){var s=r[0],n=s.code,a=s.message,i=s.path.join(".");if(!t[i])if("unionErrors"in s){var o=s.unionErrors[0].errors[0];t[i]={message:o.message,type:o.code}}else t[i]={message:a,type:n};if("unionErrors"in s&&s.unionErrors.forEach(function(m){return m.errors.forEach(function(w){return r.push(w)})}),e){var u=t[i].types,c=u&&u[s.code];t[i]=Ue(i,e,t,n,c?[].concat(c,s.message):s.message)}r.shift()}return t},rr=function(r,e,t){return t===void 0&&(t={}),function(s,n,a){try{return Promise.resolve(function(i,o){try{var u=Promise.resolve(r[t.mode==="sync"?"parse":"parseAsync"](s,e)).then(function(c){return a.shouldUseNativeValidation&&Le({},a),{errors:{},values:t.raw?s:c}})}catch(c){return o(c)}return u&&u.then?u.then(void 0,o):u}(0,function(i){if(function(o){return Array.isArray(o?.errors)}(i))return{values:{},errors:Xt(Kt(i.errors,!a.shouldUseNativeValidation&&a.criteriaMode==="all"),a)};throw i}))}catch(i){return Promise.reject(i)}}};export{rr as t,tr as z}; diff --git a/public/assets/admin/images/favicon.png b/public/assets/admin/images/favicon.png deleted file mode 100644 index b34bb5cbf..000000000 Binary files a/public/assets/admin/images/favicon.png and /dev/null differ diff --git a/public/assets/admin/images/favicon.svg b/public/assets/admin/images/favicon.svg deleted file mode 100644 index 37d40ff78..000000000 --- a/public/assets/admin/images/favicon.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/public/assets/admin/locales/en-US.js b/public/assets/admin/locales/en-US.js new file mode 100644 index 000000000..81b7d2099 --- /dev/null +++ b/public/assets/admin/locales/en-US.js @@ -0,0 +1,2044 @@ +window.XBOARD_TRANSLATIONS = window.XBOARD_TRANSLATIONS || {}; +window.XBOARD_TRANSLATIONS['en-US'] = { + "payment": { + "title": "Payment Configuration", + "description": "Configure payment methods including Alipay, WeChat Pay, etc.", + "table": { + "columns": { + "id": "ID", + "enable": "Enable", + "name": "Display Name", + "payment": "Payment Gateway", + "notify_url": "Notify URL", + "notify_url_tooltip": "The payment gateway will send notifications to this address. Please ensure it's accessible through your firewall.", + "actions": "Actions" + }, + "actions": { + "edit": "Edit", + "delete": { + "title": "Confirm Delete", + "description": "Are you sure you want to delete this payment method? This action cannot be undone.", + "success": "Successfully deleted" + } + }, + "toolbar": { + "search": "Search payment methods...", + "reset": "Reset", + "sort": { + "hint": "Drag payment methods to sort, click save when finished", + "save": "Save Order", + "edit": "Edit Order" + } + } + }, + "form": { + "add": { + "button": "Add Payment Method", + "title": "Add Payment Method" + }, + "edit": { + "title": "Edit Payment Method" + }, + "fields": { + "name": { + "label": "Display Name", + "placeholder": "Enter payment name", + "description": "Used for frontend display" + }, + "icon": { + "label": "Icon URL", + "placeholder": "https://example.com/icon.svg", + "description": "Icon URL for frontend display" + }, + "notify_domain": { + "label": "Notify Domain", + "placeholder": "https://example.com", + "description": "Domain for gateway notifications" + }, + "handling_fee_percent": { + "label": "Percentage Fee (%)", + "placeholder": "0-100" + }, + "handling_fee_fixed": { + "label": "Fixed Fee", + "placeholder": "0" + }, + "payment": { + "label": "Payment Gateway", + "placeholder": "Select payment gateway", + "description": "Choose the payment gateway to use" + } + }, + "validation": { + "name": { + "min": "Name must be at least 2 characters", + "max": "Name cannot exceed 30 characters" + }, + "notify_domain": { + "url": "Please enter a valid URL" + }, + "payment": { + "required": "Please select a payment gateway" + } + }, + "buttons": { + "cancel": "Cancel", + "submit": "Submit" + }, + "messages": { + "success": "Saved successfully" + } + } + }, + "knowledge": { + "title": "Knowledge Base", + "description": "Here you can configure the knowledge base, including adding, deleting, and editing operations.", + "columns": { + "id": "ID", + "status": "Status", + "title": "Title", + "category": "Category", + "actions": "Actions" + }, + "form": { + "add": "Add Knowledge", + "edit": "Edit Knowledge", + "title": "Title", + "titlePlaceholder": "Please enter knowledge title", + "category": "Category", + "categoryPlaceholder": "Please enter category, it will be automatically classified", + "language": "Language", + "languagePlaceholder": "Please select language", + "content": "Content", + "show": "Show", + "cancel": "Cancel", + "submit": "Submit" + }, + "languages": { + "en-US": "English", + "ja-JP": "日本語", + "ko-KR": "한국어", + "vi-VN": "Tiếng Việt", + "zh-CN": "简体中文", + "zh-TW": "繁體中文" + }, + "messages": { + "deleteConfirm": "Confirm Delete", + "deleteDescription": "This action will permanently delete this knowledge base record and cannot be recovered. Are you sure you want to continue?", + "deleteButton": "Delete", + "operationSuccess": "Operation Successful" + }, + "toolbar": { + "searchPlaceholder": "Search knowledge...", + "reset": "Reset", + "sortModeHint": "Drag knowledge items to sort, click save when done", + "editSort": "Edit Sort", + "saveSort": "Save Sort" + } + }, + "search": { + "placeholder": "Search menus and functions...", + "title": "Menu Navigation", + "noResults": "No results found", + "shortcut": { + "label": "Search", + "key": "⌘K" + } + }, + "nav": { + "dashboard": "Dashboard", + "systemManagement": "System Management", + "systemConfig": "System Configuration", + "themeConfig": "Theme Configuration", + "noticeManagement": "Notice Management", + "pluginManagement": "Plugin Management", + "paymentConfig": "Payment Configuration", + "knowledgeManagement": "Knowledge Management", + "nodeManagement": "Node Management", + "permissionGroupManagement": "Permission Group", + "routeManagement": "Route Management", + "subscriptionManagement": "Subscription", + "planManagement": "Plan Management", + "orderManagement": "Order Management", + "couponManagement": "Coupon Management", + "userManagement": "User Management", + "ticketManagement": "Ticket Management" + }, + "plugin": { + "title": "Plugin Management", + "description": "Manage and configure system plugins", + "search": { + "placeholder": "Search plugin name or description..." + }, + "category": { + "placeholder": "Select Category", + "all": "All", + "other": "Other" + }, + "tabs": { + "all": "All Plugins", + "installed": "Installed", + "available": "Available" + }, + "status": { + "enabled": "Enabled", + "disabled": "Disabled" + }, + "button": { + "install": "Install", + "config": "Configure", + "enable": "Enable", + "disable": "Disable" + }, + "uninstall": { + "title": "Uninstall Plugin", + "description": "Are you sure you want to uninstall this plugin? Plugin data will be cleared after uninstallation.", + "button": "Uninstall" + }, + "config": { + "title": "Configuration", + "description": "Modify plugin configuration", + "save": "Save", + "cancel": "Cancel" + }, + "author": "Author", + "messages": { + "installSuccess": "Plugin installed successfully", + "installError": "Failed to install plugin", + "uninstallSuccess": "Plugin uninstalled successfully", + "uninstallError": "Failed to uninstall plugin", + "enableSuccess": "Plugin enabled successfully", + "enableError": "Failed to enable plugin", + "disableSuccess": "Plugin disabled successfully", + "disableError": "Failed to disable plugin", + "configLoadError": "Failed to load plugin configuration", + "configSaveSuccess": "Configuration saved successfully", + "configSaveError": "Failed to save configuration" + } + }, + "settings": { + "title": "System Settings", + "description": "Manage core system configurations, including site, security, subscription, invite commission, nodes, email, and notifications", + "server": { + "title": "Server Configuration", + "description": "Configure node communication and synchronization settings, including communication keys, polling intervals, load balancing and other advanced options.", + "server_token": { + "title": "Communication Token", + "placeholder": "Enter communication token", + "description": "Used for authentication between servers", + "generate_tooltip": "Click to generate random token" + }, + "server_pull_interval": { + "title": "Node Pull Action Polling Interval", + "description": "The frequency at which nodes retrieve data from the panel.", + "placeholder": "Enter pull interval" + }, + "server_push_interval": { + "title": "Node Push Action Polling Interval", + "description": "The frequency at which nodes push data to the panel.", + "placeholder": "Enter push interval" + }, + "device_limit_mode": { + "title": "Device Limit Mode", + "description": "In relaxed mode, using multiple nodes from the same IP address counts as one device.", + "strict": "Strict Mode", + "relaxed": "Relaxed Mode", + "placeholder": "Select device limit mode" + } + }, + "invite": { + "title": "Invitation & Commission Settings", + "description": "Configure invitation registration and commission related settings.", + "invite_force": { + "title": "Enable Forced Invitation", + "description": "When enabled, only invited users can register." + }, + "invite_commission": { + "title": "Invitation Commission Percentage", + "description": "Default global commission distribution ratio, you can configure individual ratios in user management.", + "placeholder": "Enter commission percentage" + }, + "invite_gen_limit": { + "title": "Invitation Code Generation Limit", + "description": "Maximum number of invitation codes a user can create", + "placeholder": "Enter generation limit" + }, + "invite_never_expire": { + "title": "Never Expire Invitation Code", + "description": "When enabled, invitation codes will not expire after use, otherwise they will expire after being used." + }, + "commission_first_time": { + "title": "First-time Commission Only", + "description": "When enabled, commission will only be generated on the first payment of the invitee, can be configured individually in user management." + }, + "commission_auto_check": { + "title": "Automatic Commission Confirmation", + "description": "When enabled, commission will be automatically confirmed 3 days after order completion." + }, + "commission_withdraw_limit": { + "title": "Withdrawal Threshold (Yuan)", + "description": "Withdrawal requests below this threshold will not be submitted.", + "placeholder": "Enter withdrawal threshold" + }, + "commission_withdraw_method": { + "title": "Withdrawal Methods", + "description": "Supported withdrawal methods, separate multiple methods with commas.", + "placeholder": "Enter withdrawal methods, separate with commas" + }, + "withdraw_close": { + "title": "Disable Withdrawals", + "description": "When enabled, users will be prohibited from requesting withdrawals, and invitation commissions will go directly to user balance." + }, + "commission_distribution": { + "title": "Three-level Distribution", + "description": "When enabled, commission will be split according to the three set ratios, total should not exceed 100%.", + "l1": "Level 1 Inviter Ratio", + "l2": "Level 2 Inviter Ratio", + "l3": "Level 3 Inviter Ratio", + "placeholder": "Enter ratio e.g. 50" + }, + "saving": "Saving..." + }, + "site": { + "title": "Site Settings", + "description": "Configure basic site information, including site name, description, currency unit, and other core settings.", + "form": { + "siteName": { + "label": "Site Name", + "placeholder": "Please enter site name", + "description": "Used where site name needs to be displayed." + }, + "siteDescription": { + "label": "Site Description", + "placeholder": "Please enter site description", + "description": "Used where site description needs to be displayed." + }, + "siteUrl": { + "label": "Site URL", + "placeholder": "Please enter site URL, without trailing /", + "description": "Current website URL, will be used in emails and other places where URL is needed." + }, + "forceHttps": { + "label": "Force HTTPS", + "description": "Need to enable when the site is not using HTTPS but CDN or reverse proxy has forced HTTPS." + }, + "logo": { + "label": "LOGO", + "placeholder": "Please enter LOGO URL, without trailing /", + "description": "Used where LOGO needs to be displayed." + }, + "subscribeUrl": { + "label": "Subscribe URL", + "placeholder": "Used for subscription, multiple URLs separated by ','. Leave empty to use site URL.", + "description": "Used for subscription, leave empty to use site URL." + }, + "tosUrl": { + "label": "Terms of Service (TOS) URL", + "placeholder": "Please enter TOS URL, without trailing /", + "description": "Used to link to Terms of Service (TOS)" + }, + "stopRegister": { + "label": "Stop New User Registration", + "description": "When enabled, no one will be able to register." + }, + "tryOut": { + "label": "Registration Trial", + "placeholder": "Disabled", + "description": "Select the subscription for trial, if no options please add in subscription management first.", + "duration": { + "label": "Trial Duration", + "placeholder": "0", + "description": "Trial duration in hours." + } + }, + "currency": { + "label": "Currency Unit", + "placeholder": "CNY", + "description": "For display only, changing this will affect all currency units in the system." + }, + "currencySymbol": { + "label": "Currency Symbol", + "placeholder": "¥", + "description": "For display only, changing this will affect all currency symbols in the system." + } + } + }, + "safe": { + "title": "Security Settings", + "description": "Configure system security options, including login verification, password policies, and API access settings.", + "form": { + "emailVerify": { + "label": "Email Verification", + "description": "When enabled, users will be required to verify their email." + }, + "gmailLimit": { + "label": "Disable Gmail Aliases", + "description": "When enabled, Gmail aliases will not be allowed to register." + }, + "safeMode": { + "label": "Safe Mode", + "description": "When enabled, accessing the site through domains other than the site URL will be blocked with 403." + }, + "securePath": { + "label": "Admin Path", + "placeholder": "admin", + "description": "Admin management path, changing this will modify the original admin path" + }, + "emailWhitelist": { + "label": "Email Suffix Whitelist", + "description": "When enabled, only email suffixes in the list will be allowed to register.", + "suffixes": { + "label": "Email Suffixes", + "placeholder": "Enter email suffixes, one per line", + "description": "Enter the allowed email suffixes, one per line" + } + }, + "recaptcha": { + "enable": { + "label": "Enable reCAPTCHA", + "description": "When enabled, users will need to pass reCAPTCHA verification when registering." + }, + "key": { + "label": "reCAPTCHA Key", + "placeholder": "Enter reCAPTCHA key", + "description": "Enter your reCAPTCHA key" + }, + "siteKey": { + "label": "reCAPTCHA Site Key", + "placeholder": "Enter reCAPTCHA site key", + "description": "Enter your reCAPTCHA site key" + } + }, + "registerLimit": { + "enable": { + "label": "IP Registration Limit", + "description": "When enabled, the number of registrations from the same IP will be limited." + }, + "count": { + "label": "Registration Count", + "placeholder": "Enter maximum registration count", + "description": "Maximum number of registrations allowed from the same IP" + }, + "expire": { + "label": "Limit Duration", + "placeholder": "Enter limit duration in hours", + "description": "Duration of the registration limit in hours" + } + }, + "passwordLimit": { + "enable": { + "label": "Password Attempt Limit", + "description": "When enabled, the number of password attempts will be limited." + }, + "count": { + "label": "Attempt Count", + "placeholder": "Enter maximum attempt count", + "description": "Maximum number of password attempts allowed" + }, + "expire": { + "label": "Lock Duration", + "placeholder": "Enter lock duration in hours", + "description": "Duration of the account lock in hours" + } + } + } + }, + "subscribe": { + "title": "Subscription Settings", + "description": "Manage subscription-related configurations, including subscription link format, update frequency, traffic statistics, and other settings.", + "plan_change_enable": { + "title": "Allow Subscription Changes", + "description": "When enabled, users will be able to change their subscription plans." + }, + "reset_traffic_method": { + "title": "Monthly Traffic Reset Method", + "description": "Global traffic reset method, defaults to the 1st of each month. Can be set individually for subscriptions in subscription management.", + "options": { + "monthly_first": "1st of Each Month", + "monthly_reset": "Monthly Reset", + "no_reset": "No Reset", + "yearly_first": "January 1st", + "yearly_reset": "Yearly Reset" + } + }, + "surplus_enable": { + "title": "Enable Deduction Plan", + "description": "When enabled, the system will deduct from the original subscription when users change subscriptions, refer to documentation for details." + }, + "new_order_event": { + "title": "Trigger Event on New Subscription", + "description": "This task will be triggered when a new subscription is completed.", + "options": { + "no_action": "No Action", + "reset_traffic": "Reset User Traffic" + } + }, + "renew_order_event": { + "title": "Trigger Event on Subscription Renewal", + "description": "This task will be triggered when a subscription renewal is completed.", + "options": { + "no_action": "No Action", + "reset_traffic": "Reset User Traffic" + } + }, + "change_order_event": { + "title": "Trigger Event on Subscription Change", + "description": "This task will be triggered when a subscription change is completed.", + "options": { + "no_action": "No Action", + "reset_traffic": "Reset User Traffic" + } + }, + "subscribe_path": { + "title": "Subscription Path", + "description": "Subscription path, modifying will change the original subscribe path", + "current_format": "Current subscription path format: {path}/xxxxxxxxxx" + }, + "show_info_to_server": { + "title": "Show Subscription Info in Nodes", + "description": "When enabled, subscription information will be output when users subscribe to nodes." + }, + "show_protocol_to_server": { + "title": "Show Protocol in Node Names", + "description": "When enabled, subscription lines will include protocol names (e.g., [Hy2]Hong Kong)" + }, + "saving": "Saving...", + "plan": { + "title": "Subscription Plans", + "add": "Add Plan", + "search": "Search plans...", + "sort": { + "edit": "Edit Sort", + "save": "Save Sort" + }, + "columns": { + "id": "ID", + "show": "Show", + "sell": "Sell", + "renew": "Renew", + "renew_tooltip": "Whether existing users can renew when the subscription stops selling", + "name": "Name", + "stats": "Statistics", + "group": "Permission Group", + "price": "Price", + "actions": "Actions", + "edit": "Edit", + "delete": "Delete", + "delete_confirm": { + "title": "Confirm Delete", + "description": "This action will permanently delete this subscription and cannot be undone. Are you sure you want to continue?", + "success": "Successfully deleted" + }, + "price_period": { + "monthly": "Monthly", + "quarterly": "Quarterly", + "half_yearly": "Half Yearly", + "yearly": "Yearly", + "two_yearly": "Two Years", + "three_yearly": "Three Years", + "onetime": "One Time", + "reset_traffic": "Reset Traffic", + "unit": { + "month": "/month", + "quarter": "/quarter", + "half_year": "/half year", + "year": "/year", + "two_year": "/2 years", + "three_year": "/3 years", + "times": "/time" + } + } + }, + "form": { + "add_title": "Add Plan", + "edit_title": "Edit Plan", + "name": { + "label": "Plan Name", + "placeholder": "Enter plan name" + }, + "group": { + "label": "Permission Group", + "placeholder": "Select permission group", + "add": "Add Group" + }, + "transfer": { + "label": "Traffic", + "placeholder": "Enter traffic size", + "unit": "GB" + }, + "speed": { + "label": "Speed Limit", + "placeholder": "Enter speed limit", + "unit": "Mbps" + }, + "price": { + "title": "Price Settings", + "base_price": "Base monthly price", + "clear": { + "button": "Clear Prices", + "tooltip": "Clear all period price settings" + } + }, + "device": { + "label": "Device Limit", + "placeholder": "Leave empty for no limit", + "unit": "devices" + }, + "capacity": { + "label": "Capacity Limit", + "placeholder": "Leave empty for no limit", + "unit": "users" + }, + "reset_method": { + "label": "Traffic Reset Method", + "placeholder": "Select traffic reset method", + "description": "Set how subscription traffic is reset, different methods affect how user traffic is calculated", + "options": { + "follow_system": "Follow System Settings", + "monthly_first": "1st of Each Month", + "monthly_reset": "Monthly Reset", + "no_reset": "No Reset", + "yearly_first": "January 1st", + "yearly_reset": "Yearly Reset" + } + }, + "content": { + "label": "Plan Description", + "placeholder": "Write plan description here...", + "description": "Supports Markdown format, you can use headings, lists, bold, italic and other styles to beautify the content", + "preview": "Preview", + "preview_button": { + "show": "Show Preview", + "hide": "Hide Preview" + }, + "template": { + "button": "Use Template", + "tooltip": "Click to use preset plan description template", + "content": "## Plan Features\n• High-speed and stable global network access\n• Support multiple devices online simultaneously\n• Unlimited traffic reset\n\n## Usage Instructions\n1. Supported devices: iOS, Android, Windows, macOS\n2. 24/7 technical support\n3. Automatic periodic traffic reset\n\n## Notes\n- No abuse allowed\n- Comply with local laws and regulations\n- Support plan changes anytime" + } + }, + "force_update": { + "label": "Force Update to Users" + }, + "submit": { + "submitting": "Submitting...", + "submit": "Submit", + "cancel": "Cancel", + "success": { + "add": "Plan added successfully", + "update": "Plan updated successfully" + } + } + }, + "page": { + "description": "Here you can configure subscription plans, including adding, deleting, and editing operations." + } + } + }, + "email": { + "title": "Email Settings", + "description": "Configure system email service for sending verification codes, password resets, and notifications, supporting various SMTP providers.", + "email_host": { + "title": "SMTP Host", + "description": "SMTP server address, e.g., smtp.gmail.com" + }, + "email_port": { + "title": "SMTP Port", + "description": "SMTP server port, common ports: 25, 465, 587" + }, + "email_username": { + "title": "SMTP Username", + "description": "SMTP authentication username" + }, + "email_password": { + "title": "SMTP Password", + "description": "SMTP authentication password or application-specific password" + }, + "email_encryption": { + "title": "Encryption Method", + "description": "Email encryption method", + "none": "None", + "ssl": "SSL/TLS", + "tls": "STARTTLS" + }, + "email_from": { + "title": "From Address", + "description": "Sender's email address" + }, + "email_from_name": { + "title": "From Name", + "description": "Sender's display name" + }, + "email_template": { + "title": "Email Template", + "description": "You can check the documentation for how to customize email templates", + "placeholder": "Select email template" + }, + "remind_mail": { + "title": "Email Reminders", + "description": "When enabled, users will receive email notifications when their subscription is about to expire or when traffic is running low." + }, + "test": { + "title": "Send Test Email", + "sending": "Sending...", + "description": "Send a test email to verify the configuration", + "success": "Test email sent successfully", + "error": "Failed to send test email" + } + }, + "telegram": { + "title": "Telegram Settings", + "description": "Configure Telegram bot functionality for user notifications, account binding, and command interactions.", + "bot_token": { + "title": "Bot Token", + "description": "Please enter the token provided by Botfather.", + "placeholder": "0000000000:xxxxxxxxx_xxxxxxxxxxxxxxx" + }, + "webhook": { + "title": "Set Webhook", + "description": "Set up webhook for the bot. Without setting it, you won't receive Telegram notifications.", + "button": "One-Click Setup", + "setting": "Setting Webhook...", + "success": "Webhook set successfully" + }, + "bot_enable": { + "title": "Enable Bot Notifications", + "description": "When enabled, the bot will send basic notifications to administrators and users who have bound their Telegram accounts." + }, + "discuss_link": { + "title": "Group Link", + "description": "Once filled in, it will be displayed on the user side or used where needed.", + "placeholder": "https://t.me/xxxxxx" + } + }, + "app": { + "title": "APP Settings", + "description": "Manage mobile application configurations, including API interfaces, version control, and push notifications.", + "common": { + "placeholder": "Please input" + }, + "windows": { + "version": { + "title": "Windows Version", + "description": "Current version number of Windows client" + }, + "download": { + "title": "Windows Download URL", + "description": "Download link for Windows client" + } + }, + "macos": { + "version": { + "title": "macOS Version", + "description": "Current version number of macOS client" + }, + "download": { + "title": "macOS Download URL", + "description": "Download link for macOS client" + } + }, + "android": { + "version": { + "title": "Android Version", + "description": "Current version number of Android client" + }, + "download": { + "title": "Android Download URL", + "description": "Download link for Android client" + } + } + }, + "common": { + "saving": "Saving...", + "save_success": "Saved automatically", + "placeholder": "Please input", + "autoSaved": "Saved automatically" + } + }, + "group": { + "title": "Permission Groups", + "description": "Manage all permission groups, including adding, deleting, and editing operations.", + "columns": { + "id": "Group ID", + "name": "Group Name", + "usersCount": "Users Count", + "serverCount": "Nodes Count", + "actions": "Actions" + }, + "form": { + "add": "Add Group", + "edit": "Edit Group", + "create": "Create Group", + "update": "Update", + "name": "Group Name", + "namePlaceholder": "Please enter group name", + "nameDescription": "Group name is used to identify different user groups, it's recommended to use meaningful names.", + "cancel": "Cancel", + "editDescription": "Modify group information, changes will take effect immediately.", + "createDescription": "Create a new permission group to assign different permissions to different users." + }, + "toolbar": { + "searchPlaceholder": "Search groups...", + "reset": "Reset" + }, + "messages": { + "deleteConfirm": "Confirm Delete", + "deleteDescription": "This action will permanently delete this permission group and cannot be recovered. Are you sure you want to continue?", + "deleteButton": "Delete", + "createSuccess": "Created Successfully", + "updateSuccess": "Updated Successfully", + "nameValidation": { + "min": "Group name must be at least 2 characters", + "max": "Group name cannot exceed 50 characters", + "pattern": "Group name can only contain letters, numbers, Chinese characters, underscores and hyphens" + } + } + }, + "traffic": { + "trafficRecord": { + "title": "Traffic Usage Records", + "time": "Time", + "upload": "Upload", + "download": "Download", + "rate": "Rate", + "total": "Total", + "noRecords": "No records found", + "perPage": "Show per page", + "records": "records", + "page": "Page {{current}} / {{total}}", + "multiplier": "{{value}}x" + } + }, + "common": { + "loading": "Loading...", + "error": "Error", + "success": "Success", + "save": "Save", + "cancel": "Cancel", + "delete": "Delete", + "edit": "Edit", + "view": "View", + "toggleNavigation": "Toggle Navigation", + "toggleSidebar": "Toggle Sidebar", + "search": "Search...", + "theme": { + "light": "Light", + "dark": "Dark", + "system": "System" + }, + "user": "User", + "defaultEmail": "user@example.com", + "settings": "Settings", + "logout": "Logout", + "copy": { + "success": "Copied successfully", + "error": "Copy failed", + "errorLog": "Error copying to clipboard" + }, + "table": { + "noData": "No data available", + "pagination": { + "selected": "{{selected}} of {{total}} items selected", + "itemsPerPage": "Per page", + "page": "Page", + "pageOf": "of {{total}} pages", + "firstPage": "Go to first page", + "previousPage": "Previous page", + "nextPage": "Next page", + "lastPage": "Go to last page" + } + } + }, + "dashboard": { + "title": "Dashboard", + "stats": { + "newUsers": "New Users", + "totalScore": "Total Score", + "monthlyUpload": "Monthly Upload", + "vsLastMonth": "vs Last Month", + "vsYesterday": "vs Yesterday", + "todayIncome": "Today's Income", + "monthlyIncome": "Monthly Income", + "totalIncome": "Total Income", + "totalUsers": "Total Users", + "activeUsers": "Active Users: {{count}}", + "totalOrders": "Total Orders", + "revenue": "Revenue", + "todayRegistered": "Today Registered", + "monthlyRegistered": "Monthly Registered", + "onlineUsers": "Online Users", + "pendingTickets": "Pending Tickets", + "hasPendingTickets": "There are tickets that need attention", + "noPendingTickets": "No pending tickets", + "pendingCommission": "Pending Commission", + "hasPendingCommission": "There are commissions that need confirmation", + "noPendingCommission": "No pending commission", + "monthlyNewUsers": "Monthly New Users", + "monthlyDownload": "Monthly Download", + "todayTraffic": "Today: {{value}}", + "activeUserTrend": "Active User Trend", + "realtimeUsers": "Realtime Users", + "todayPeak": "Today's Peak", + "vsLastWeek": "vs Last Week" + }, + "trafficRank": { + "nodeTrafficRank": "Node Traffic Rank", + "userTrafficRank": "User Traffic Rank", + "today": "Today", + "last7days": "Last 7 Days", + "last30days": "Last 30 Days", + "customRange": "Custom Range", + "selectTimeRange": "Select Time Range", + "selectDateRange": "Select Date Range", + "currentTraffic": "Current Traffic", + "previousTraffic": "Previous Traffic", + "changeRate": "Change Rate", + "recordTime": "Record Time" + }, + "overview": { + "title": "Revenue Overview", + "thisMonth": "This Month", + "lastMonth": "Last Month", + "to": "to", + "selectTimeRange": "Select Range", + "selectDate": "Select Date", + "last7Days": "Last 7 Days", + "last30Days": "Last 30 Days", + "last90Days": "Last 90 Days", + "last180Days": "Last 180 Days", + "lastYear": "Last Year", + "customRange": "Custom Range", + "amount": "Amount", + "count": "Count", + "transactions": "{{count}} transactions", + "orderAmount": "Order Amount", + "commissionAmount": "Commission Amount", + "orderCount": "Order Count", + "commissionCount": "Commission Count", + "totalIncome": "Total Income", + "totalCommission": "Total Commission", + "totalTransactions": "Total: {{count}} transactions", + "avgOrderAmount": "Average Order Amount:", + "commissionRate": "Commission Rate:" + }, + "traffic": { + "title": "Traffic Ranking", + "rank": "Rank", + "domain": "Domain", + "todayTraffic": "Today's Traffic", + "monthlyTraffic": "Monthly Traffic" + }, + "queue": { + "title": "Queue Status", + "jobDetails": "Job Details", + "status": { + "description": "Current queue running status", + "running": "Running Status", + "normal": "Normal", + "abnormal": "Abnormal", + "waitTime": "Current wait time: {{seconds}} seconds", + "pending": "Pending", + "processing": "Processing", + "completed": "Completed", + "failed": "Failed", + "cancelled": "Cancelled" + }, + "details": { + "description": "Queue processing details", + "recentJobs": "Recent Jobs", + "statisticsPeriod": "Statistics Period: {{hours}} hours", + "jobsPerMinute": "Jobs Per Minute", + "maxThroughput": "Max Throughput: {{value}}", + "failedJobs7Days": "Failed Jobs (7 days)", + "retentionPeriod": "Retention Period: {{hours}} hours", + "longestRunningQueue": "Longest Running Queue", + "activeProcesses": "Active Processes", + "id": "Job ID", + "type": "Job Type", + "status": "Status", + "progress": "Progress", + "createdAt": "Created At", + "updatedAt": "Updated At", + "error": "Error Message", + "data": "Job Data", + "result": "Result", + "duration": "Duration", + "attempts": "Attempts", + "nextRetry": "Next Retry" + }, + "actions": { + "retry": "Retry", + "cancel": "Cancel", + "delete": "Delete", + "viewDetails": "View Details" + }, + "empty": "No jobs in queue", + "loading": "Loading queue status...", + "error": "Failed to load queue status" + }, + "search": { + "placeholder": "Search menus and functions...", + "title": "Menu Navigation", + "noResults": "No results found", + "loading": "Searching..." + } + }, + "route": { + "title": "Route Management", + "description": "Manage all route groups, including adding, deleting, and editing operations.", + "columns": { + "id": "Group ID", + "remarks": "Remarks", + "action": "Action", + "actions": "Actions", + "matchRules": "Match {{count}} rules" + }, + "actions": { + "dns": "Resolve using specified DNS server", + "block": "Block access" + }, + "form": { + "add": "Add Route", + "edit": "Edit Route", + "create": "Create Route", + "remarks": "Remarks", + "remarksPlaceholder": "Please enter remarks", + "match": "Match Rules", + "matchPlaceholder": "example.com\n*.example.com", + "action": "Action", + "actionPlaceholder": "Please select action", + "dns": "DNS Server", + "dnsPlaceholder": "Please enter DNS server", + "cancel": "Cancel", + "submit": "Submit", + "validation": { + "remarks": "Please enter valid remarks" + } + }, + "toolbar": { + "searchPlaceholder": "Search routes...", + "reset": "Reset" + }, + "messages": { + "deleteConfirm": "Confirm Delete", + "deleteDescription": "This action will permanently delete this route group and cannot be recovered. Are you sure you want to continue?", + "deleteButton": "Delete", + "deleteSuccess": "Deleted Successfully", + "createSuccess": "Created Successfully", + "updateSuccess": "Updated Successfully" + } + }, + "order": { + "title": "Order Management", + "description": "Here you can view user orders, including assignment, viewing, deletion and other operations.", + "table": { + "columns": { + "tradeNo": "Order No.", + "type": "Type", + "plan": "Subscription Plan", + "period": "Period", + "amount": "Payment Amount", + "status": "Order Status", + "commission": "Commission Amount", + "commissionStatus": "Commission Status", + "createdAt": "Created At" + } + }, + "type": { + "NEW": "New Purchase", + "RENEWAL": "Renewal", + "UPGRADE": "Upgrade", + "RESET_FLOW": "Reset Traffic" + }, + "period": { + "month_price": "Monthly", + "quarter_price": "Quarterly", + "half_year_price": "Semi-annually", + "year_price": "Annually", + "two_year_price": "2 Years", + "three_year_price": "3 Years", + "onetime_price": "One-time", + "reset_price": "Reset Package" + }, + "status": { + "PENDING": "Pending", + "PROCESSING": "Processing", + "CANCELLED": "Cancelled", + "COMPLETED": "Completed", + "DISCOUNTED": "Discounted", + "tooltip": "After marking as [Paid], the system will proceed with activation and completion" + }, + "commission": { + "PENDING": "Pending", + "PROCESSING": "Processing", + "VALID": "Valid", + "INVALID": "Invalid" + }, + "actions": { + "markAsPaid": "Mark as Paid", + "cancel": "Cancel Order", + "openMenu": "Open Menu", + "reset": "Reset" + }, + "search": { + "placeholder": "Search orders..." + }, + "dialog": { + "title": "Order Information", + "basicInfo": "Basic Information", + "amountInfo": "Amount Information", + "timeInfo": "Time Information", + "addOrder": "Add Order", + "assignOrder": "Assign Order", + "fields": { + "userEmail": "User Email", + "orderPeriod": "Order Period", + "subscriptionPlan": "Subscription Plan", + "callbackNo": "Callback No.", + "paymentAmount": "Payment Amount", + "balancePayment": "Balance Payment", + "discountAmount": "Discount Amount", + "refundAmount": "Refund Amount", + "deductionAmount": "Deduction Amount", + "createdAt": "Created At", + "updatedAt": "Updated At" + }, + "placeholders": { + "email": "Please enter user email", + "plan": "Please select subscription plan", + "period": "Please select subscription period", + "amount": "Please enter payment amount" + }, + "actions": { + "cancel": "Cancel", + "confirm": "Confirm" + }, + "messages": { + "addSuccess": "Added successfully" + } + } + }, + "coupon": { + "title": "Coupon Management", + "description": "Here you can manage coupons, including adding, viewing, and deleting operations.", + "table": { + "columns": { + "id": "ID", + "show": "Enable", + "name": "Coupon Name", + "type": "Type", + "code": "Code", + "limitUse": "Remaining Uses", + "limitUseWithUser": "Uses Per User", + "validity": "Validity Period", + "actions": "Actions" + }, + "validity": { + "expired": "Expired {{days}} days ago", + "notStarted": "Starts in {{days}} days", + "remaining": "{{days}} days remaining", + "startTime": "Start Time", + "endTime": "End Time", + "unlimited": "Unlimited", + "noLimit": "No Limit" + }, + "actions": { + "edit": "Edit", + "delete": "Delete", + "deleteConfirm": { + "title": "Confirm Delete", + "description": "This action will permanently delete this coupon and cannot be undone. Are you sure you want to continue?", + "confirmText": "Delete" + } + }, + "toolbar": { + "search": "Search coupons...", + "type": "Type", + "reset": "Reset", + "types": { + "1": "Fixed Amount", + "2": "Percentage" + } + } + }, + "form": { + "add": "Add Coupon", + "edit": "Edit Coupon", + "name": { + "label": "Coupon Name", + "placeholder": "Enter coupon name", + "required": "Please enter coupon name" + }, + "type": { + "label": "Coupon Type and Value", + "placeholder": "Select coupon type" + }, + "value": { + "placeholder": "Enter value" + }, + "validity": { + "label": "Validity Period", + "to": "to", + "endTimeError": "End time must be later than start time" + }, + "limitUse": { + "label": "Maximum Uses", + "placeholder": "Set maximum uses, leave empty for unlimited", + "description": "Set the total number of times this coupon can be used, leave empty for unlimited uses" + }, + "limitUseWithUser": { + "label": "Uses Per User", + "placeholder": "Set uses per user, leave empty for unlimited", + "description": "Limit how many times each user can use this coupon, leave empty for unlimited uses per user" + }, + "limitPeriod": { + "label": "Subscription Periods", + "placeholder": "Limit to specific subscription periods, leave empty for no restrictions", + "description": "Select which subscription periods can use this coupon, leave empty for no period restrictions", + "empty": "No matching periods found" + }, + "limitPlan": { + "label": "Subscription Plans", + "placeholder": "Limit to specific subscription plans, leave empty for no restrictions", + "empty": "No matching plans found" + }, + "code": { + "label": "Custom Coupon Code", + "placeholder": "Enter custom code, leave empty for auto-generation", + "description": "Customize the coupon code, leave empty for auto-generation" + }, + "generateCount": { + "label": "Batch Generation Count", + "placeholder": "Number of coupons to generate, leave empty for single coupon", + "description": "Generate multiple coupon codes at once, leave empty to generate a single code" + }, + "submit": { + "saving": "Saving...", + "save": "Save" + }, + "error": { + "saveFailed": "Failed to save coupon" + } + } + }, + "notice": { + "title": "Notice Management", + "description": "Here you can configure notices, including adding, deleting, editing and other operations.", + "table": { + "columns": { + "id": "ID", + "show": "Display Status", + "title": "Title", + "actions": "Actions" + }, + "toolbar": { + "search": "Search notice title...", + "reset": "Reset", + "sort": { + "edit": "Edit Order", + "save": "Save Order" + } + }, + "actions": { + "edit": "Edit", + "delete": { + "title": "Delete Confirmation", + "description": "Are you sure you want to delete this notice? This action cannot be undone.", + "success": "Successfully deleted" + } + } + }, + "form": { + "add": { + "title": "Add Notice", + "button": "Add Notice" + }, + "edit": { + "title": "Edit Notice" + }, + "fields": { + "title": { + "label": "Title", + "placeholder": "Please enter notice title" + }, + "content": { + "label": "Content" + }, + "img_url": { + "label": "Background Image", + "placeholder": "Please enter notice background image URL" + }, + "show": { + "label": "Display" + }, + "tags": { + "label": "Tags", + "placeholder": "Press Enter to add tags" + } + }, + "buttons": { + "cancel": "Cancel", + "submit": "Submit", + "success": "Successfully submitted" + } + } + }, + "theme": { + "title": "Theme Configuration", + "description": "Theme configuration, including theme colors, font sizes, etc. If you deploy V2board in a front-end and back-end separated way, theme configuration will not take effect.", + "upload": { + "button": "Upload Theme", + "title": "Upload Theme", + "description": "Please upload a valid theme package (.zip format). The theme package should contain a complete theme file structure.", + "dragText": "Drag and drop theme file here, or", + "clickText": "click to select", + "supportText": "Supports .zip format theme packages", + "uploading": "Uploading...", + "error": { + "format": "Only ZIP format theme files are supported" + } + }, + "preview": { + "title": "Theme Preview", + "imageCount": "{{current}} / {{total}}" + }, + "card": { + "version": "Version: {{version}}", + "currentTheme": "Current Theme", + "activateTheme": "Activate Theme", + "configureTheme": "Theme Settings", + "preview": "Preview", + "delete": { + "title": "Delete Theme", + "description": "Are you sure you want to delete this theme? This action cannot be undone.", + "button": "Delete", + "error": { + "active": "Cannot delete the currently active theme" + } + } + }, + "config": { + "title": "Configure {{name}} Theme", + "description": "Modify theme styles, layouts, and other display options.", + "cancel": "Cancel", + "save": "Save", + "success": "Settings saved successfully" + } + }, + "ticket": { + "title": "Ticket Management", + "description": "Here you can view user tickets, including viewing, replying, and closing operations.", + "columns": { + "id": "Ticket ID", + "subject": "Subject", + "level": "Priority", + "status": "Status", + "updated_at": "Last Updated", + "created_at": "Created At", + "actions": "Actions" + }, + "status": { + "closed": "Closed", + "replied": "Replied", + "pending": "Pending", + "processing": "Processing" + }, + "level": { + "low": "Low", + "medium": "Medium", + "high": "High" + }, + "filter": { + "placeholder": "Search {field}...", + "no_results": "No results found.", + "selected": "{count} selected", + "clear": "Clear filters" + }, + "actions": { + "view_details": "View Details", + "close_ticket": "Close Ticket", + "close_confirm_title": "Confirm Close Ticket", + "close_confirm_description": "After closing, you will not be able to reply. Are you sure you want to close this ticket?", + "close_confirm_button": "Close Ticket", + "close_success": "Ticket closed successfully", + "view_ticket": "View Ticket" + }, + "detail": { + "no_messages": "No messages yet", + "created_at": "Created at", + "user_info": "User Info", + "traffic_records": "Traffic Records", + "order_records": "Order Records", + "input": { + "closed_placeholder": "Ticket is closed", + "reply_placeholder": "Type your reply...", + "sending": "Sending...", + "send": "Send" + } + } + }, + "server": { + "title": "Node Configuration", + "description": "Configure node communication and synchronization settings, including communication key, polling interval, load balancing and other advanced options.", + "server_token": { + "title": "Communication Key", + "description": "The key for communication between Xboard and nodes to prevent unauthorized data access.", + "placeholder": "Please enter communication key" + }, + "server_pull_interval": { + "title": "Node Pull Action Polling Interval", + "description": "The frequency at which nodes retrieve data from the panel.", + "placeholder": "Please enter pull interval" + }, + "server_push_interval": { + "title": "Node Push Action Polling Interval", + "description": "The frequency at which nodes push data to the panel.", + "placeholder": "Please enter push interval" + }, + "device_limit_mode": { + "title": "Device Limit Mode", + "description": "In relaxed mode, multiple nodes from the same IP address count as one device.", + "strict": "Strict Mode", + "relaxed": "Relaxed Mode", + "placeholder": "Please select device limit mode" + }, + "saving": "Saving...", + "manage": { + "title": "Node Management", + "description": "Manage all nodes, including adding, deleting, editing and other operations." + }, + "columns": { + "sort": "Sort", + "nodeId": "Node ID", + "show": "Show", + "node": "Node", + "address": "Address", + "onlineUsers": { + "title": "Online Users", + "tooltip": "Online users count based on server reporting frequency" + }, + "rate": { + "title": "Rate", + "tooltip": "Traffic billing rate" + }, + "groups": { + "title": "Permission Groups", + "tooltip": "Groups that can subscribe to this node", + "empty": "--" + }, + "type": "Type", + "actions": "Actions", + "copyAddress": "Copy Connection Address", + "internalPort": "Internal Port", + "status": { + "0": "Not Running", + "1": "Unused or Abnormal", + "2": "Running Normal" + }, + "actions_dropdown": { + "edit": "Edit", + "copy": "Copy", + "delete": { + "title": "Confirm Delete", + "description": "This action will permanently delete this node and cannot be undone. Are you sure you want to continue?", + "confirm": "Delete" + }, + "copy_success": "Copied successfully", + "delete_success": "Deleted successfully" + } + }, + "toolbar": { + "search": "Search nodes...", + "type": "Type", + "reset": "Reset", + "sort": { + "tip": "Drag nodes to sort, then click save", + "edit": "Edit Sort", + "save": "Save Sort" + } + }, + "form": { + "add_node": "Add Node", + "edit_node": "Edit Node", + "new_node": "New Node", + "name": { + "label": "Node Name", + "placeholder": "Please enter node name", + "error": "Please enter a valid name" + }, + "rate": { + "label": "Rate", + "error": "Please enter a valid rate" + }, + "code": { + "label": "Custom Node ID", + "optional": "(Optional)", + "placeholder": "Please enter custom node ID" + }, + "tags": { + "label": "Node Tags", + "placeholder": "Press Enter to add tags" + }, + "groups": { + "label": "Permission Groups", + "add": "Add Group", + "placeholder": "Please select permission groups", + "empty": "No results found" + }, + "host": { + "label": "Node Address", + "placeholder": "Please enter domain or IP" + }, + "port": { + "label": "Connection Port", + "placeholder": "User connection port", + "tooltip": "The port that users actually connect to, this is the port number that needs to be filled in the client configuration. If using transit or tunnel, this port may be different from the port that the server actually listens on.", + "sync": "Sync to server port" + }, + "server_port": { + "label": "Server Port", + "placeholder": "Server listening port", + "tooltip": "The port that the server actually listens on, this is the real port opened on the server. If using transit or tunnel, this port may be different from the user connection port." + }, + "parent": { + "label": "Parent Node", + "placeholder": "Select parent node", + "none": "None" + }, + "route": { + "label": "Route Groups", + "placeholder": "Select route groups", + "empty": "No results found" + }, + "submit": "Submit", + "cancel": "Cancel", + "success": "Submitted successfully" + }, + "dynamic_form": { + "shadowsocks": { + "cipher": { + "label": "Encryption Method", + "placeholder": "Select encryption method" + }, + "obfs": { + "label": "Obfuscation", + "placeholder": "Select obfuscation method", + "none": "None", + "http": "HTTP" + }, + "obfs_settings": { + "path": "Path", + "host": "Host" + } + }, + "vmess": { + "tls": { + "label": "TLS", + "placeholder": "Please select security", + "disabled": "Disabled", + "enabled": "Enabled" + }, + "tls_settings": { + "server_name": { + "label": "Server Name Indication (SNI)", + "placeholder": "Leave empty if not used" + }, + "allow_insecure": "Allow Insecure?" + }, + "network": { + "label": "Transport Protocol", + "placeholder": "Select transport protocol" + } + }, + "trojan": { + "server_name": { + "label": "Server Name Indication (SNI)", + "placeholder": "Used for certificate verification when node address differs from certificate" + }, + "allow_insecure": "Allow Insecure?", + "network": { + "label": "Transport Protocol", + "placeholder": "Select transport protocol" + } + }, + "hysteria": { + "version": { + "label": "Protocol Version", + "placeholder": "Protocol version" + }, + "alpn": { + "label": "ALPN", + "placeholder": "ALPN" + }, + "obfs": { + "label": "Obfuscation", + "type": { + "label": "Obfuscation Implementation", + "placeholder": "Select obfuscation implementation", + "salamander": "Salamander" + }, + "password": { + "label": "Obfuscation Password", + "placeholder": "Please enter obfuscation password", + "generate_success": "Obfuscation password generated successfully" + } + }, + "tls": { + "server_name": { + "label": "Server Name Indication (SNI)", + "placeholder": "Used for certificate verification when node address differs from certificate" + }, + "allow_insecure": "Allow Insecure?" + }, + "bandwidth": { + "up": { + "label": "Upload Bandwidth", + "placeholder": "Please enter upload bandwidth", + "suffix": "Mbps", + "bbr_tip": ", leave empty to use BBR" + }, + "down": { + "label": "Download Bandwidth", + "placeholder": "Please enter download bandwidth", + "suffix": "Mbps", + "bbr_tip": ", leave empty to use BBR" + } + } + }, + "vless": { + "tls": { + "label": "Security", + "placeholder": "Please select security", + "none": "None", + "tls": "TLS", + "reality": "Reality" + }, + "tls_settings": { + "server_name": { + "label": "Server Name Indication (SNI)", + "placeholder": "Leave empty if not used" + }, + "allow_insecure": "Allow Insecure?" + }, + "reality_settings": { + "server_name": { + "label": "Destination Site (dest)", + "placeholder": "e.g., example.com" + }, + "server_port": { + "label": "Port", + "placeholder": "e.g., 443" + }, + "allow_insecure": "Allow Insecure?", + "private_key": { + "label": "Private Key" + }, + "public_key": { + "label": "Public Key" + }, + "short_id": { + "label": "Short ID", + "placeholder": "Optional, length must be even, max 16 characters", + "description": "List of shortIds available to clients, can be used to distinguish different clients, using hexadecimal characters 0-f", + "generate": "Generate Short ID", + "success": "Short ID generated successfully" + }, + "key_pair": { + "generate": "Generate Key Pair", + "success": "Key pair generated successfully", + "error": "Failed to generate key pair" + } + }, + "network": { + "label": "Transport Protocol", + "placeholder": "Select transport protocol" + }, + "flow": { + "label": "Flow Control", + "placeholder": "Select flow control" + } + } + }, + "network_settings": { + "edit_protocol": "Edit Protocol", + "edit_protocol_config": "Edit Protocol Configuration", + "use_template": "Use {{template}} Template", + "json_config_placeholder": "Please enter JSON configuration", + "json_config_placeholder_with_template": "Please enter JSON configuration or select template above", + "validation": { + "must_be_object": "Configuration must be a JSON object", + "invalid_json": "Invalid JSON format" + }, + "errors": { + "save_failed": "Error occurred while saving" + } + }, + "common": { + "cancel": "Cancel", + "confirm": "Confirm" + } + }, + "user": { + "manage": { + "title": "User Management", + "description": "Here you can manage users, including adding, deleting, editing, and querying operations." + }, + "columns": { + "is_admin": "Admin", + "is_staff": "Staff", + "id": "ID", + "email": "Email", + "online_count": "Online Devices", + "status": "Status", + "subscription": "Subscription", + "group": "Group", + "used_traffic": "Used Traffic", + "total_traffic": "Total Traffic", + "expire_time": "Expire Time", + "balance": "Balance", + "commission": "Commission", + "register_time": "Register Time", + "actions": "Actions", + "device_limit": { + "unlimited": "No device limit", + "limited": "Maximum {{count}} devices allowed" + }, + "status_text": { + "normal": "Normal", + "banned": "Banned" + }, + "online_status": { + "online": "Currently Online", + "never": "Never Online", + "last_online": "Last Online: {{time}}", + "offline_duration": { + "days": "Offline Duration: {{count}}d", + "hours": "Offline Duration: {{count}}h", + "minutes": "Offline Duration: {{count}}m", + "seconds": "Offline Duration: {{count}}s" + } + }, + "expire_status": { + "permanent": "Permanent", + "expired": "Expired {{days}} days ago", + "remaining": "{{days}} days remaining" + }, + "actions_menu": { + "edit": "Edit", + "assign_order": "Assign Order", + "copy_url": "Copy Subscribe URL", + "reset_secret": "Reset UUID & URL", + "orders": "Orders", + "invites": "Invites", + "traffic_records": "Traffic Records" + } + }, + "filter": { + "selected": "{{count}} selected", + "no_results": "No results found.", + "clear": "Clear filters", + "search_placeholder": "Search...", + "email_search": "Search user email...", + "advanced": "Advanced Filter", + "reset": "Reset Filter", + "sheet": { + "title": "Advanced Filter", + "description": "Add one or more filter conditions to find users precisely", + "conditions": "Filter Conditions", + "add": "Add Condition", + "condition": "Condition {{number}}", + "field": "Select Field", + "operator": "Select Operator", + "value": "Enter Value", + "value_number": "Enter Value ({{unit}})", + "reset": "Reset", + "apply": "Apply Filter" + }, + "fields": { + "email": "Email", + "id": "User ID", + "plan_id": "Subscription", + "transfer_enable": "Traffic", + "total_used": "Used Traffic", + "online_count": "Online Devices", + "expired_at": "Expire Time", + "uuid": "UUID", + "token": "Token", + "banned": "Account Status", + "remark": "Remark", + "inviter_email": "Inviter Email", + "invite_user_id": "Inviter ID", + "is_admin": "Admin", + "is_staff": "Staff" + }, + "operators": { + "contains": "Contains", + "eq": "Equals", + "gt": "Greater Than", + "lt": "Less Than" + }, + "status": { + "normal": "Normal", + "banned": "Banned" + }, + "boolean": { + "true": "Yes", + "false": "No" + } + }, + "generate": { + "button": "Create User", + "title": "Create User", + "form": { + "email": "Email", + "email_prefix": "Account (leave empty for batch generation)", + "email_domain": "Domain", + "password": "Password", + "password_placeholder": "Leave empty to use email as password", + "expire_time": "Expire Time", + "expire_time_placeholder": "Select user expire date, leave empty for permanent", + "permanent": "Permanent", + "subscription": "Subscription Plan", + "subscription_none": "None", + "generate_count": "Generate Count", + "generate_count_placeholder": "Enter count for batch generation", + "cancel": "Cancel", + "submit": "Generate", + "success": "Generated successfully" + } + }, + "edit": { + "button": "Edit User Info", + "title": "User Management", + "form": { + "email": "Email", + "email_placeholder": "Please enter email", + "inviter_email": "Inviter Email", + "inviter_email_placeholder": "Please enter email", + "password": "Password", + "password_placeholder": "Enter new password if you want to change it", + "balance": "Balance", + "balance_placeholder": "Please enter balance", + "commission_balance": "Commission Balance", + "commission_balance_placeholder": "Please enter commission balance", + "upload": "Upload Traffic", + "upload_placeholder": "Upload traffic", + "download": "Download Traffic", + "download_placeholder": "Download traffic", + "total_traffic": "Total Traffic", + "total_traffic_placeholder": "Please enter traffic", + "expire_time": "Expire Time", + "expire_time_placeholder": "Select user expire date, leave empty for permanent", + "expire_time_specific": "Specific Time", + "expire_time_today": "Set to end of today", + "expire_time_permanent": "Permanent", + "expire_time_1month": "One Month", + "expire_time_3months": "Three Months", + "expire_time_confirm": "Confirm", + "subscription": "Subscription Plan", + "subscription_none": "None", + "account_status": "Account Status", + "commission_type": "Commission Type", + "commission_type_system": "Follow System Settings", + "commission_type_cycle": "Cycle Commission", + "commission_type_onetime": "One-time Commission", + "commission_rate": "Commission Rate", + "commission_rate_placeholder": "Leave empty to follow site commission rate", + "discount": "Exclusive Discount", + "discount_placeholder": "Leave empty for no exclusive discount", + "speed_limit": "Speed Limit", + "speed_limit_placeholder": "Leave empty for no speed limit", + "device_limit": "Device Limit", + "device_limit_placeholder": "Leave empty for no device limit", + "is_admin": "Is Admin", + "is_staff": "Is Staff", + "remarks": "Remarks", + "remarks_placeholder": "Please enter remarks here", + "cancel": "Cancel", + "submit": "Submit", + "success": "Modified successfully" + } + } + }, + "subscribe": { + "plan": { + "title": "Subscription Plans", + "add": "Add Plan", + "search": "Search plans...", + "sort": { + "edit": "Edit Sort", + "save": "Save Sort" + }, + "columns": { + "id": "ID", + "show": "Show", + "sell": "Sell", + "renew": "Renew", + "renew_tooltip": "Whether existing users can renew when the subscription stops selling", + "name": "Name", + "stats": "Statistics", + "group": "Permission Group", + "price": "Price", + "actions": "Actions", + "edit": "Edit", + "delete": "Delete", + "delete_confirm": { + "title": "Confirm Delete", + "description": "This action will permanently delete this subscription and cannot be undone. Are you sure you want to continue?", + "success": "Successfully deleted" + }, + "price_period": { + "monthly": "Monthly", + "quarterly": "Quarterly", + "half_yearly": "Half Yearly", + "yearly": "Yearly", + "two_yearly": "Two Years", + "three_yearly": "Three Years", + "onetime": "One Time", + "reset_traffic": "Reset Traffic", + "unit": { + "month": "/month", + "quarter": "/quarter", + "half_year": "/half year", + "year": "/year", + "two_year": "/2 years", + "three_year": "/3 years", + "times": "/time" + } + } + }, + "form": { + "add_title": "Add Plan", + "edit_title": "Edit Plan", + "name": { + "label": "Plan Name", + "placeholder": "Enter plan name" + }, + "group": { + "label": "Server Group", + "add": "Add Group", + "placeholder": "Select server group" + }, + "transfer": { + "label": "Traffic", + "placeholder": "Enter traffic limit", + "unit": "GB" + }, + "speed": { + "label": "Speed Limit", + "placeholder": "Enter speed limit", + "unit": "Mbps" + }, + "price": { + "title": "Price Settings", + "base_price": "Base Price", + "clear": { + "button": "Clear", + "tooltip": "Clear all prices" + }, + "period": { + "monthly": "Monthly", + "months": "{{count}} Months" + }, + "onetime_desc": "One-time traffic package, no time limit", + "reset_desc": "Reset traffic package, can be used multiple times" + }, + "device": { + "label": "Device Limit", + "placeholder": "Enter device limit", + "unit": "Devices" + }, + "capacity": { + "label": "Capacity Limit", + "placeholder": "Enter capacity limit", + "unit": "Users" + }, + "reset_method": { + "label": "Traffic Reset Method", + "placeholder": "Select reset method", + "description": "Traffic reset method will determine how the traffic is reset", + "options": { + "follow_system": "Follow System Settings", + "monthly_first": "Monthly First Day", + "monthly_reset": "Monthly Purchase Day", + "no_reset": "No Reset", + "yearly_first": "Yearly First Day", + "yearly_reset": "Yearly Purchase Day" + } + }, + "content": { + "label": "Plan Description", + "placeholder": "Enter plan description", + "description": "Support Markdown format", + "preview": "Preview", + "preview_button": { + "show": "Show Preview", + "hide": "Hide Preview" + }, + "template": { + "button": "Use Template", + "tooltip": "Use default template", + "content": "## Plan Features\n\n- Traffic: {{transfer}} GB\n- Speed: {{speed}} Mbps\n- Devices: {{devices}}\n\n## Usage Notes\n\n1. The plan is valid for {{validity}} days\n2. Traffic resets {{reset_method}}\n3. Maximum {{capacity}} concurrent users" + } + }, + "force_update": { + "label": "Force Update User Plans" + }, + "submit": { + "cancel": "Cancel", + "submit": "Submit", + "submitting": "Submitting...", + "success": { + "add": "Plan added successfully", + "update": "Plan updated successfully" + } + } + }, + "page": { + "description": "Here you can configure subscription plans, including adding, deleting, and editing operations." + } + } + }, + "auth": { + "signIn": { + "title": "Sign In", + "description": "Enter your email and password to sign in", + "email": "Email", + "emailPlaceholder": "name@example.com", + "password": "Password", + "passwordPlaceholder": "Enter your password", + "forgotPassword": "Forgot Password?", + "submit": "Sign In", + "rememberMe": "Remember me", + "resetPassword": { + "title": "Reset Password", + "description": "Execute the following command in the site directory to reset your password", + "command": "php artisan reset:password admin-email" + }, + "validation": { + "emailRequired": "Please enter your email address", + "emailInvalid": "Please enter a valid email address", + "passwordRequired": "Please enter your password", + "passwordLength": "Password must be at least 7 characters" + } + } + }, + "sidebar": { + "dashboard": "Dashboard", + "systemManagement": "System Management", + "systemConfig": "System Configuration", + "themeConfig": "Theme Configuration", + "noticeManagement": "Notice Management", + "paymentConfig": "Payment Configuration", + "knowledgeManagement": "Knowledge Base", + "nodeManagement": "Node Management", + "permissionGroupManagement": "Permission Groups", + "routeManagement": "Route Management", + "subscriptionManagement": "Subscription Management", + "planManagement": "Plan Management", + "orderManagement": "Order Management", + "couponManagement": "Coupon Management", + "userManagement": "User Management", + "ticketManagement": "Ticket Management" + } +}; \ No newline at end of file diff --git a/public/assets/admin/locales/ko-KR.js b/public/assets/admin/locales/ko-KR.js new file mode 100644 index 000000000..add98ae5c --- /dev/null +++ b/public/assets/admin/locales/ko-KR.js @@ -0,0 +1,1998 @@ +window.XBOARD_TRANSLATIONS = window.XBOARD_TRANSLATIONS || {}; +window.XBOARD_TRANSLATIONS['ko-KR'] = { + "payment": { + "title": "결제 설정", + "description": "알리페이, 위챗페이 등의 결제 수단을 설정합니다.", + "table": { + "columns": { + "id": "ID", + "enable": "활성화", + "name": "표시 이름", + "payment": "결제 게이트웨이", + "notify_url": "알림 URL", + "notify_url_tooltip": "결제 게이트웨이가 이 주소로 알림을 보냅니다. 방화벽을 통해 접근 가능한지 확인해주세요.", + "actions": "작업" + }, + "actions": { + "edit": "편집", + "delete": { + "title": "삭제 확인", + "description": "이 결제 수단을 삭제하시겠습니까? 이 작업은 취소할 수 없습니다.", + "success": "삭제 완료" + } + }, + "toolbar": { + "search": "결제 수단 검색...", + "reset": "초기화", + "sort": { + "hint": "결제 수단을 드래그하여 정렬하고, 완료 후 저장을 클릭하세요", + "save": "순서 저장", + "edit": "순서 편집" + } + } + }, + "form": { + "add": { + "button": "결제 수단 추가", + "title": "결제 수단 추가" + }, + "edit": { + "title": "결제 수단 편집" + }, + "fields": { + "name": { + "label": "표시 이름", + "placeholder": "결제 이름 입력", + "description": "프론트엔드 표시용" + }, + "icon": { + "label": "아이콘 URL", + "placeholder": "https://example.com/icon.svg", + "description": "프론트엔드 표시용 아이콘 URL" + }, + "notify_domain": { + "label": "알림 도메인", + "placeholder": "https://example.com", + "description": "게이트웨이 알림용 도메인" + }, + "handling_fee_percent": { + "label": "수수료 비율 (%)", + "placeholder": "0-100" + }, + "handling_fee_fixed": { + "label": "고정 수수료", + "placeholder": "0" + }, + "payment": { + "label": "결제 게이트웨이", + "placeholder": "결제 게이트웨이 선택", + "description": "사용할 결제 게이트웨이 선택" + } + }, + "validation": { + "name": { + "min": "이름은 최소 2자 이상이어야 합니다", + "max": "이름은 30자를 초과할 수 없습니다" + }, + "notify_domain": { + "url": "올바른 URL을 입력해주세요" + }, + "payment": { + "required": "결제 게이트웨이를 선택해주세요" + } + }, + "buttons": { + "cancel": "취소", + "submit": "제출" + }, + "messages": { + "success": "저장 완료" + } + } + }, + "knowledge": { + "title": "지식 베이스", + "description": "여기에서 지식 베이스를 구성할 수 있으며, 추가, 삭제 및 편집 작업을 수행할 수 있습니다.", + "columns": { + "id": "ID", + "status": "상태", + "title": "제목", + "category": "카테고리", + "actions": "작업" + }, + "form": { + "add": "지식 추가", + "edit": "지식 편집", + "title": "제목", + "titlePlaceholder": "지식 제목을 입력해주세요", + "category": "카테고리", + "categoryPlaceholder": "카테고리를 입력하면 자동으로 분류됩니다", + "language": "언어", + "languagePlaceholder": "언어를 선택해주세요", + "content": "내용", + "show": "표시", + "cancel": "취소", + "submit": "제출" + }, + "languages": { + "en-US": "English", + "ja-JP": "日本語", + "ko-KR": "한국어", + "vi-VN": "Tiếng Việt", + "zh-CN": "简体中文", + "zh-TW": "繁體中文" + }, + "messages": { + "deleteConfirm": "삭제 확인", + "deleteDescription": "이 작업은 이 지식 베이스 기록을 영구적으로 삭제하며 복구할 수 없습니다. 계속하시겠습니까?", + "deleteButton": "삭제", + "operationSuccess": "작업 성공" + }, + "toolbar": { + "searchPlaceholder": "지식 검색...", + "reset": "초기화", + "sortModeHint": "지식 항목을 드래그하여 정렬하고, 완료 후 저장을 클릭하세요", + "editSort": "정렬 편집", + "saveSort": "정렬 저장" + } + }, + "search": { + "placeholder": "메뉴 및 기능 검색...", + "title": "메뉴 네비게이션", + "noResults": "검색 결과가 없습니다", + "shortcut": { + "label": "검색", + "key": "⌘K" + } + }, + "nav": { + "dashboard": "대시보드", + "systemManagement": "시스템 관리", + "systemConfig": "시스템 설정", + "themeConfig": "테마 설정", + "noticeManagement": "공지사항 관리", + "pluginManagement": "플러그인 관리", + "paymentConfig": "결제 설정", + "knowledgeManagement": "지식 관리", + "nodeManagement": "노드 관리", + "permissionGroupManagement": "권한 그룹", + "routeManagement": "경로 관리", + "subscriptionManagement": "구독", + "planManagement": "플랜 관리", + "orderManagement": "주문 관리", + "couponManagement": "쿠폰 관리", + "userManagement": "사용자 관리", + "ticketManagement": "티켓 관리" + }, + "plugin": { + "title": "플러그인 관리", + "description": "시스템 플러그인 관리 및 설정", + "search": { + "placeholder": "플러그인 이름 또는 설명 검색..." + }, + "category": { + "placeholder": "카테고리 선택", + "all": "전체", + "other": "기타" + }, + "tabs": { + "all": "전체 플러그인", + "installed": "설치됨", + "available": "사용 가능" + }, + "status": { + "enabled": "활성화됨", + "disabled": "비활성화됨" + }, + "button": { + "install": "설치", + "config": "설정", + "enable": "활성화", + "disable": "비활성화" + }, + "uninstall": { + "title": "플러그인 제거", + "description": "이 플러그인을 제거하시겠습니까? 제거 후 플러그인 데이터가 삭제됩니다.", + "button": "제거" + }, + "config": { + "title": "설정", + "description": "플러그인 설정 수정", + "save": "저장", + "cancel": "취소" + }, + "author": "작성자", + "messages": { + "installSuccess": "플러그인이 성공적으로 설치되었습니다", + "installError": "플러그인 설치에 실패했습니다", + "uninstallSuccess": "플러그인이 성공적으로 제거되었습니다", + "uninstallError": "플러그인 제거에 실패했습니다", + "enableSuccess": "플러그인이 성공적으로 활성화되었습니다", + "enableError": "플러그인 활성화에 실패했습니다", + "disableSuccess": "플러그인이 성공적으로 비활성화되었습니다", + "disableError": "플러그인 비활성화에 실패했습니다", + "configLoadError": "플러그인 설정을 불러오는데 실패했습니다", + "configSaveSuccess": "설정이 성공적으로 저장되었습니다", + "configSaveError": "설정 저장에 실패했습니다" + } + }, + "settings": { + "title": "시스템 설정", + "description": "사이트, 보안, 구독, 초대 수수료, 노드, 이메일 및 알림을 포함한 핵심 시스템 구성을 관리합니다", + "server": { + "title": "서버 설정", + "description": "통신 키, 폴링 간격, 로드 밸런싱 및 기타 고급 옵션을 포함한 노드 통신 및 동기화 설정을 구성합니다.", + "server_token": { + "title": "통신 토큰", + "placeholder": "통신 토큰 입력", + "description": "서버 간 인증에 사용됩니다", + "generate_tooltip": "클릭하여 무작위 토큰 생성" + }, + "server_pull_interval": { + "title": "노드 풀 작업 폴링 간격", + "description": "노드가 패널에서 데이터를 가져오는 빈도입니다.", + "placeholder": "풀 간격 입력" + }, + "server_push_interval": { + "title": "노드 푸시 작업 폴링 간격", + "description": "노드가 패널로 데이터를 푸시하는 빈도입니다.", + "placeholder": "푸시 간격 입력" + }, + "device_limit_mode": { + "title": "기기 제한 모드", + "description": "완화 모드에서는 동일한 IP 주소의 여러 노드가 하나의 기기로 계산됩니다.", + "strict": "엄격 모드", + "relaxed": "완화 모드", + "placeholder": "기기 제한 모드 선택" + } + }, + "invite": { + "title": "초대 및 수수료 설정", + "description": "초대 등록 및 수수료 관련 설정을 구성합니다.", + "invite_force": { + "title": "강제 초대 활성화", + "description": "활성화하면 초대받은 사용자만 등록할 수 있습니다." + }, + "invite_commission": { + "title": "초대 수수료 비율", + "description": "기본 전역 수수료 분배 비율입니다. 사용자 관리에서 개별 비율을 구성할 수 있습니다.", + "placeholder": "수수료 비율 입력" + }, + "invite_gen_limit": { + "title": "초대 코드 생성 제한", + "description": "사용자가 생성할 수 있는 최대 초대 코드 수", + "placeholder": "생성 제한 입력" + }, + "invite_never_expire": { + "title": "초대 코드 만료 없음", + "description": "활성화하면 초대 코드가 사용 후에도 만료되지 않으며, 그렇지 않으면 사용 후 만료됩니다." + }, + "commission_first_time": { + "title": "첫 결제 수수료만", + "description": "활성화하면 초대받은 사용자의 첫 결제에서만 수수료가 생성되며, 사용자 관리에서 개별적으로 구성할 수 있습니다." + }, + "commission_auto_check": { + "title": "자동 수수료 확인", + "description": "활성화하면 주문 완료 3일 후 수수료가 자동으로 확인됩니다." + }, + "commission_withdraw_limit": { + "title": "출금 임계값 (위안)", + "description": "이 임계값 미만의 출금 요청은 제출되지 않습니다.", + "placeholder": "출금 임계값 입력" + }, + "commission_withdraw_method": { + "title": "출금 방법", + "description": "지원되는 출금 방법, 여러 방법은 쉼표로 구분합니다.", + "placeholder": "출금 방법 입력, 쉼표로 구분" + }, + "withdraw_close": { + "title": "출금 비활성화", + "description": "활성화하면 사용자가 출금을 요청할 수 없으며, 초대 수수료는 사용자 잔액으로 직접 이동합니다." + }, + "commission_distribution": { + "title": "3단계 분배", + "description": "활성화하면 수수료가 설정된 세 비율에 따라 분할되며, 총합은 100%를 초과할 수 없습니다.", + "l1": "1단계 초대자 비율", + "l2": "2단계 초대자 비율", + "l3": "3단계 초대자 비율", + "placeholder": "비율 입력 예: 50" + }, + "saving": "저장 중..." + }, + "site": { + "title": "사이트 설정", + "description": "사이트 이름, 설명, 통화 단위 및 기타 핵심 설정을 포함한 기본 사이트 정보를 구성합니다.", + "form": { + "siteName": { + "label": "사이트 이름", + "placeholder": "사이트 이름을 입력해주세요", + "description": "사이트 이름이 표시되어야 하는 곳에 사용됩니다." + }, + "siteDescription": { + "label": "사이트 설명", + "placeholder": "사이트 설명을 입력해주세요", + "description": "사이트 설명이 표시되어야 하는 곳에 사용됩니다." + }, + "siteUrl": { + "label": "사이트 URL", + "placeholder": "사이트 URL을 입력해주세요, 끝에 /를 제외", + "description": "현재 웹사이트 URL, 이메일 및 URL이 필요한 다른 곳에서 사용됩니다." + }, + "forceHttps": { + "label": "HTTPS 강제", + "description": "사이트가 HTTPS를 사용하지 않지만 CDN 또는 리버스 프록시가 HTTPS를 강제할 때 활성화해야 합니다." + }, + "logo": { + "label": "LOGO", + "placeholder": "LOGO URL을 입력해주세요, 끝에 /를 제외", + "description": "LOGO가 표시되어야 하는 곳에 사용됩니다." + }, + "subscribeUrl": { + "label": "구독 URL", + "placeholder": "구독에 사용됩니다. 여러 URL은 ','로 구분. 비워두면 사이트 URL을 사용합니다.", + "description": "구독에 사용되며, 비워두면 사이트 URL을 사용합니다." + }, + "tosUrl": { + "label": "이용약관(TOS) URL", + "placeholder": "이용약관 URL을 입력해주세요, 끝에 /를 제외", + "description": "이용약관(TOS) 링크에 사용됩니다" + }, + "stopRegister": { + "label": "신규 사용자 등록 중지", + "description": "활성화하면 누구도 등록할 수 없습니다." + }, + "tryOut": { + "label": "등록 체험", + "placeholder": "비활성화", + "description": "체험용 구독을 선택하세요. 옵션이 없다면 먼저 구독 관리에서 추가하세요.", + "duration": { + "label": "체험 기간", + "placeholder": "0", + "description": "체험 기간(시간)." + } + }, + "currency": { + "label": "통화 단위", + "placeholder": "CNY", + "description": "표시용으로만 사용되며, 변경하면 시스템의 모든 통화 단위에 영향을 미칩니다." + }, + "currencySymbol": { + "label": "통화 기호", + "placeholder": "¥", + "description": "표시용으로만 사용되며, 변경하면 시스템의 모든 통화 기호에 영향을 미칩니다." + } + } + }, + "safe": { + "title": "보안 설정", + "description": "로그인 인증, 비밀번호 정책 및 API 접근 설정을 포함한 시스템 보안 옵션을 구성합니다.", + "form": { + "emailVerify": { + "label": "이메일 인증", + "description": "활성화하면 사용자는 이메일을 인증해야 합니다." + }, + "gmailLimit": { + "label": "Gmail 별칭 비활성화", + "description": "활성화하면 Gmail 별칭으로 등록할 수 없습니다." + }, + "safeMode": { + "label": "안전 모드", + "description": "활성화하면 사이트 URL 이외의 도메인을 통한 접근이 403으로 차단됩니다." + }, + "securePath": { + "label": "관리자 경로", + "placeholder": "admin", + "description": "관리자 관리 경로, 변경하면 기존 관리자 경로가 수정됩니다" + }, + "emailWhitelist": { + "label": "이메일 접미사 화이트리스트", + "description": "활성화하면 목록의 이메일 접미사만 등록할 수 있습니다.", + "suffixes": { + "label": "이메일 접미사", + "placeholder": "이메일 접미사를 한 줄에 하나씩 입력", + "description": "허용된 이메일 접미사를 한 줄에 하나씩 입력하세요" + } + }, + "recaptcha": { + "enable": { + "label": "reCAPTCHA 활성화", + "description": "활성화하면 사용자는 등록 시 reCAPTCHA 인증을 통과해야 합니다." + }, + "key": { + "label": "reCAPTCHA 키", + "placeholder": "reCAPTCHA 키 입력", + "description": "reCAPTCHA 키를 입력하세요" + }, + "siteKey": { + "label": "reCAPTCHA 사이트 키", + "placeholder": "reCAPTCHA 사이트 키 입력", + "description": "reCAPTCHA 사이트 키를 입력하세요" + } + }, + "registerLimit": { + "enable": { + "label": "IP 등록 제한", + "description": "활성화하면 동일 IP에서의 등록 수가 제한됩니다." + }, + "count": { + "label": "등록 횟수", + "placeholder": "최대 등록 횟수 입력", + "description": "동일 IP에서 허용되는 최대 등록 횟수" + }, + "expire": { + "label": "제한 기간", + "placeholder": "제한 기간을 시간 단위로 입력", + "description": "등록 제한 기간(시간)" + } + }, + "passwordLimit": { + "enable": { + "label": "비밀번호 시도 제한", + "description": "활성화하면 비밀번호 시도 횟수가 제한됩니다." + }, + "count": { + "label": "시도 횟수", + "placeholder": "최대 시도 횟수 입력", + "description": "허용되는 최대 비밀번호 시도 횟수" + }, + "expire": { + "label": "잠금 기간", + "placeholder": "잠금 기간을 시간 단위로 입력", + "description": "계정 잠금 기간(시간)" + } + } + } + }, + "subscribe": { + "title": "구독 설정", + "description": "구독 링크 형식, 업데이트 빈도, 트래픽 통계 및 기타 설정을 포함한 구독 관련 구성을 관리합니다.", + "plan_change_enable": { + "title": "구독 변경 허용", + "description": "활성화하면 사용자가 구독 플랜을 변경할 수 있습니다." + }, + "reset_traffic_method": { + "title": "월간 트래픽 초기화 방식", + "description": "전역 트래픽 초기화 방식으로, 기본값은 매월 1일입니다. 구독 관리에서 구독별로 개별 설정할 수 있습니다.", + "options": { + "monthly_first": "매월 1일", + "monthly_reset": "월간 초기화", + "no_reset": "초기화 없음", + "yearly_first": "1월 1일", + "yearly_reset": "연간 초기화" + } + }, + "surplus_enable": { + "title": "공제 플랜 활성화", + "description": "활성화하면 사용자가 구독을 변경할 때 시스템이 기존 구독에서 공제합니다. 자세한 내용은 문서를 참조하세요." + }, + "new_order_event": { + "title": "새 구독 시 트리거 이벤트", + "description": "새 구독이 완료되면 이 작업이 트리거됩니다.", + "options": { + "no_action": "작업 없음", + "reset_traffic": "사용자 트래픽 초기화" + } + }, + "renew_order_event": { + "title": "구독 갱신 시 트리거 이벤트", + "description": "구독 갱신이 완료되면 이 작업이 트리거됩니다.", + "options": { + "no_action": "작업 없음", + "reset_traffic": "사용자 트래픽 초기화" + } + }, + "change_order_event": { + "title": "구독 변경 시 트리거 이벤트", + "description": "구독 변경이 완료되면 이 작업이 트리거됩니다.", + "options": { + "no_action": "작업 없음", + "reset_traffic": "사용자 트래픽 초기화" + } + }, + "subscribe_path": { + "title": "구독 경로", + "description": "구독 경로, 수정하면 기존 구독 경로가 변경됩니다", + "current_format": "현재 구독 경로 형식: {path}/xxxxxxxxxx" + }, + "show_info_to_server": { + "title": "노드에 구독 정보 표시", + "description": "활성화하면 사용자가 노드를 구독할 때 구독 정보가 출력됩니다." + }, + "show_protocol_to_server": { + "title": "노드 이름에 프로토콜 표시", + "description": "활성화하면 구독 라인에 프로토콜 이름이 포함됩니다 (예: [Hy2]홍콩)" + }, + "saving": "저장 중...", + "plan": { + "title": "구독 플랜", + "add": "플랜 추가", + "search": "플랜 검색...", + "sort": { + "edit": "정렬 편집", + "save": "정렬 저장" + }, + "columns": { + "id": "ID", + "show": "표시", + "sell": "판매", + "renew": "갱신", + "renew_tooltip": "구독 판매가 중단된 경우 기존 사용자의 갱신 가능 여부", + "name": "이름", + "stats": "통계", + "group": "권한 그룹", + "price": "가격", + "actions": "작업", + "edit": "편집", + "delete": "삭제", + "delete_confirm": { + "title": "삭제 확인", + "description": "이 작업은 이 구독을 영구적으로 삭제하며 되돌릴 수 없습니다. 계속하시겠습니까?", + "success": "성공적으로 삭제됨" + }, + "price_period": { + "monthly": "월간", + "quarterly": "분기", + "half_yearly": "반년", + "yearly": "연간", + "two_yearly": "2년", + "three_yearly": "3년", + "onetime": "일회성", + "reset_traffic": "트래픽 초기화", + "unit": { + "month": "/월", + "quarter": "/분기", + "half_year": "/반년", + "year": "/년", + "two_year": "/2년", + "three_year": "/3년", + "times": "/회" + } + } + }, + "form": { + "add_title": "플랜 추가", + "edit_title": "플랜 편집", + "name": { + "label": "플랜 이름", + "placeholder": "플랜 이름 입력" + }, + "group": { + "label": "권한 그룹", + "placeholder": "권한 그룹 선택", + "add": "그룹 추가" + }, + "transfer": { + "label": "트래픽", + "placeholder": "트래픽 크기 입력", + "unit": "GB" + }, + "speed": { + "label": "속도 제한", + "placeholder": "속도 제한 입력", + "unit": "Mbps" + }, + "price": { + "title": "가격 설정", + "base_price": "기본 월간 가격", + "clear": { + "button": "가격 초기화", + "tooltip": "모든 기간 가격 설정 초기화" + } + }, + "device": { + "label": "기기 제한", + "placeholder": "제한 없음은 비워두세요", + "unit": "기기" + }, + "capacity": { + "label": "용량 제한", + "placeholder": "제한 없음은 비워두세요", + "unit": "사용자" + }, + "reset_method": { + "label": "트래픽 초기화 방식", + "placeholder": "트래픽 초기화 방식 선택", + "description": "구독 트래픽 초기화 방식을 설정하며, 다른 방식은 사용자 트래픽 계산 방식에 영향을 미칩니다", + "options": { + "follow_system": "시스템 설정 따름", + "monthly_first": "매월 1일", + "monthly_reset": "월간 초기화", + "no_reset": "초기화 없음", + "yearly_first": "1월 1일", + "yearly_reset": "연간 초기화" + } + }, + "content": { + "label": "플랜 설명", + "placeholder": "여기에 플랜 설명을 작성하세요...", + "description": "마크다운 형식을 지원하며, 제목, 목록, 굵게, 기울임꼴 등의 스타일을 사용하여 내용을 꾸밀 수 있습니다", + "preview": "미리보기", + "preview_button": { + "show": "미리보기 표시", + "hide": "미리보기 숨기기" + }, + "template": { + "button": "템플릿 사용", + "tooltip": "클릭하여 미리 설정된 플랜 설명 템플릿 사용", + "content": "## 플랜 특징\n• 고속 및 안정적인 글로벌 네트워크 액세스\n• 여러 기기 동시 온라인 지원\n• 무제한 트래픽 초기화\n\n## 사용 안내\n1. 지원 기기: iOS, Android, Windows, macOS\n2. 24/7 기술 지원\n3. 자동 주기적 트래픽 초기화\n\n## 주의사항\n- 남용 금지\n- 현지 법률 및 규정 준수\n- 언제든지 플랜 변경 지원" + } + }, + "force_update": { + "label": "사용자에게 강제 업데이트" + }, + "submit": { + "submitting": "제출 중...", + "submit": "제출", + "cancel": "취소", + "success": { + "add": "플랜이 성공적으로 추가되었습니다", + "update": "플랜이 성공적으로 업데이트되었습니다" + } + } + }, + "page": { + "description": "여기에서 구독 플랜을 구성할 수 있으며, 추가, 삭제 및 편집 작업을 수행할 수 있습니다." + } + } + }, + "email": { + "title": "이메일 설정", + "description": "인증 코드, 비밀번호 재설정 및 알림 전송을 위한 시스템 이메일 서비스를 구성하며, 다양한 SMTP 제공업체를 지원합니다.", + "email_host": { + "title": "SMTP 호스트", + "description": "SMTP 서버 주소, 예: smtp.gmail.com" + }, + "email_port": { + "title": "SMTP 포트", + "description": "SMTP 서버 포트, 일반적인 포트: 25, 465, 587" + }, + "email_username": { + "title": "SMTP 사용자 이름", + "description": "SMTP 인증 사용자 이름" + }, + "email_password": { + "title": "SMTP 비밀번호", + "description": "SMTP 인증 비밀번호 또는 애플리케이션별 비밀번호" + }, + "email_encryption": { + "title": "암호화 방식", + "description": "이메일 암호화 방식", + "none": "없음", + "ssl": "SSL/TLS", + "tls": "STARTTLS" + }, + "email_from": { + "title": "발신자 주소", + "description": "발신자 이메일 주소" + }, + "email_from_name": { + "title": "발신자 이름", + "description": "발신자 표시 이름" + }, + "email_template": { + "title": "이메일 템플릿", + "description": "이메일 템플릿 사용자 정의 방법은 문서를 참조하세요", + "placeholder": "이메일 템플릿 선택" + }, + "remind_mail": { + "title": "이메일 알림", + "description": "활성화하면 사용자는 구독이 만료되거나 트래픽이 부족할 때 이메일 알림을 받습니다." + }, + "test": { + "title": "테스트 이메일 전송", + "sending": "전송 중...", + "description": "구성을 확인하기 위해 테스트 이메일 전송", + "success": "테스트 이메일이 성공적으로 전송되었습니다", + "error": "테스트 이메일 전송 실패" + } + }, + "telegram": { + "title": "텔레그램 설정", + "description": "사용자 알림, 계정 연동 및 명령어 상호작용을 위한 텔레그램 봇 기능을 구성합니다.", + "bot_token": { + "title": "봇 토큰", + "description": "Botfather가 제공한 토큰을 입력하세요.", + "placeholder": "0000000000:xxxxxxxxx_xxxxxxxxxxxxxxx" + }, + "webhook": { + "title": "웹훅 설정", + "description": "봇의 웹훅을 설정합니다. 설정하지 않으면 텔레그램 알림을 받을 수 없습니다.", + "button": "원클릭 설정", + "setting": "웹훅 설정 중...", + "success": "웹훅이 성공적으로 설정되었습니다" + }, + "bot_enable": { + "title": "봇 알림 활성화", + "description": "활성화하면 봇이 관리자와 텔레그램 계정을 연동한 사용자에게 기본 알림을 전송합니다." + }, + "discuss_link": { + "title": "그룹 링크", + "description": "입력하면 사용자 측에 표시되거나 필요한 곳에서 사용됩니다.", + "placeholder": "https://t.me/xxxxxx" + } + }, + "app": { + "title": "앱 설정", + "description": "API 인터페이스, 버전 관리 및 푸시 알림을 포함한 모바일 애플리케이션 구성을 관리합니다.", + "common": { + "placeholder": "입력해주세요" + }, + "windows": { + "version": { + "title": "Windows 버전", + "description": "Windows 클라이언트의 현재 버전 번호" + }, + "download": { + "title": "Windows 다운로드 URL", + "description": "Windows 클라이언트 다운로드 링크" + } + }, + "macos": { + "version": { + "title": "macOS 버전", + "description": "macOS 클라이언트의 현재 버전 번호" + }, + "download": { + "title": "macOS 다운로드 URL", + "description": "macOS 클라이언트 다운로드 링크" + } + }, + "android": { + "version": { + "title": "Android 버전", + "description": "Android 클라이언트의 현재 버전 번호" + }, + "download": { + "title": "Android 다운로드 URL", + "description": "Android 클라이언트 다운로드 링크" + } + } + }, + "common": { + "saving": "저장 중...", + "save_success": "자동으로 저장됨", + "placeholder": "입력해주세요", + "autoSaved": "자동으로 저장됨" + } + }, + "group": { + "title": "권한 그룹", + "description": "모든 권한 그룹을 관리하며, 추가, 삭제 및 편집 작업을 수행할 수 있습니다.", + "columns": { + "id": "그룹 ID", + "name": "그룹 이름", + "usersCount": "사용자 수", + "serverCount": "노드 수", + "actions": "작업" + }, + "form": { + "add": "그룹 추가", + "edit": "그룹 편집", + "create": "그룹 생성", + "update": "업데이트", + "name": "그룹 이름", + "namePlaceholder": "그룹 이름을 입력해주세요", + "nameDescription": "그룹 이름은 서로 다른 사용자 그룹을 구분하는 데 사용되며, 의미 있는 이름을 사용하는 것이 좋습니다.", + "cancel": "취소", + "editDescription": "그룹 정보를 수정하면 즉시 적용됩니다.", + "createDescription": "새로운 권한 그룹을 생성하여 서로 다른 사용자에게 다른 권한을 할당합니다." + }, + "toolbar": { + "searchPlaceholder": "그룹 검색...", + "reset": "초기화" + }, + "messages": { + "deleteConfirm": "삭제 확인", + "deleteDescription": "이 작업은 이 권한 그룹을 영구적으로 삭제하며 복구할 수 없습니다. 계속하시겠습니까?", + "deleteButton": "삭제", + "createSuccess": "생성 완료", + "updateSuccess": "업데이트 완료", + "nameValidation": { + "min": "그룹 이름은 최소 2자 이상이어야 합니다", + "max": "그룹 이름은 50자를 초과할 수 없습니다", + "pattern": "그룹 이름은 문자, 숫자, 한자, 밑줄 및 하이픈만 포함할 수 있습니다" + } + } + }, + "traffic": { + "trafficRecord": { + "title": "트래픽 사용 기록", + "time": "시간", + "upload": "업로드", + "download": "다운로드", + "rate": "요금", + "total": "총계", + "noRecords": "기록이 없습니다", + "perPage": "페이지당 표시", + "records": "기록", + "page": "페이지 {{current}} / {{total}}", + "multiplier": "{{value}}배" + } + }, + "common": { + "loading": "로딩 중...", + "error": "오류", + "success": "성공", + "save": "저장", + "cancel": "취소", + "delete": "삭제", + "edit": "편집", + "view": "보기", + "toggleNavigation": "네비게이션 전환", + "toggleSidebar": "사이드바 전환", + "search": "검색...", + "theme": { + "light": "라이트", + "dark": "다크", + "system": "시스템" + }, + "user": "사용자", + "defaultEmail": "user@example.com", + "settings": "설정", + "logout": "로그아웃", + "copy": { + "success": "복사 성공", + "error": "복사 실패", + "errorLog": "클립보드에 복사하는 중 오류 발생" + }, + "table": { + "noData": "데이터가 없습니다", + "pagination": { + "selected": "{{selected}}개 선택됨, 총 {{total}}개", + "itemsPerPage": "페이지당 표시", + "page": "페이지", + "pageOf": "/ {{total}} 페이지", + "firstPage": "첫 페이지로 이동", + "previousPage": "이전 페이지", + "nextPage": "다음 페이지", + "lastPage": "마지막 페이지로 이동" + } + } + }, + "dashboard": { + "title": "대시보드", + "stats": { + "newUsers": "신규 사용자", + "totalScore": "총 점수", + "monthlyUpload": "월간 업로드", + "vsLastMonth": "전월 대비", + "vsYesterday": "전일 대비", + "todayIncome": "오늘의 수입", + "monthlyIncome": "월간 수입", + "totalIncome": "총 수입", + "totalUsers": "총 사용자", + "activeUsers": "활성 사용자: {{count}}", + "totalOrders": "총 주문", + "revenue": "매출", + "todayRegistered": "오늘 등록", + "monthlyRegistered": "월간 등록", + "onlineUsers": "온라인 사용자", + "pendingTickets": "대기 중인 티켓", + "hasPendingTickets": "주의가 필요한 티켓이 있습니다", + "noPendingTickets": "대기 중인 티켓 없음", + "pendingCommission": "대기 중인 수수료", + "hasPendingCommission": "확인이 필요한 수수료가 있습니다", + "noPendingCommission": "대기 중인 수수료 없음", + "monthlyNewUsers": "월간 신규 사용자", + "monthlyDownload": "월간 다운로드", + "todayTraffic": "오늘: {{value}}", + "activeUserTrend": "활성 사용자 추세", + "realtimeUsers": "실시간 사용자", + "todayPeak": "오늘의 최고치", + "vsLastWeek": "전주 대비" + }, + "trafficRank": { + "nodeTrafficRank": "노드 트래픽 순위", + "userTrafficRank": "사용자 트래픽 순위", + "today": "오늘", + "last7days": "최근 7일", + "last30days": "최근 30일", + "customRange": "사용자 지정 기간", + "selectTimeRange": "기간 선택", + "selectDateRange": "날짜 범위 선택", + "currentTraffic": "현재 트래픽", + "previousTraffic": "이전 트래픽", + "changeRate": "변화율", + "recordTime": "기록 시간" + }, + "overview": { + "title": "매출 개요", + "thisMonth": "이번 달", + "lastMonth": "지난 달", + "to": "부터", + "selectTimeRange": "기간 선택", + "selectDate": "날짜 선택", + "last7Days": "최근 7일", + "last30Days": "최근 30일", + "last90Days": "최근 90일", + "last180Days": "최근 180일", + "lastYear": "작년", + "customRange": "사용자 지정 기간", + "amount": "금액", + "count": "건수", + "transactions": "{{count}}건의 거래", + "orderAmount": "주문 금액", + "commissionAmount": "수수료 금액", + "orderCount": "주문 건수", + "commissionCount": "수수료 건수", + "totalIncome": "총 수입", + "totalCommission": "총 수수료", + "totalTransactions": "총: {{count}}건의 거래", + "avgOrderAmount": "평균 주문 금액:", + "commissionRate": "수수료율:" + }, + "traffic": { + "title": "트래픽 순위", + "rank": "순위", + "domain": "도메인", + "todayTraffic": "오늘의 트래픽", + "monthlyTraffic": "월간 트래픽" + }, + "queue": { + "title": "대기열 상태", + "jobDetails": "작업 상세", + "status": { + "description": "현재 대기열 실행 상태", + "running": "실행 상태", + "normal": "정상", + "abnormal": "비정상", + "waitTime": "현재 대기 시간: {{seconds}}초", + "pending": "대기 중", + "processing": "처리 중", + "completed": "완료됨", + "failed": "실패", + "cancelled": "취소됨" + }, + "details": { + "description": "대기열 처리 상세", + "recentJobs": "최근 작업", + "statisticsPeriod": "통계 기간: {{hours}}시간", + "jobsPerMinute": "분당 작업 수", + "maxThroughput": "최대 처리량: {{value}}", + "failedJobs7Days": "실패한 작업 (7일)", + "retentionPeriod": "보존 기간: {{hours}}시간", + "longestRunningQueue": "가장 오래 실행 중인 대기열", + "activeProcesses": "활성 프로세스", + "id": "작업 ID", + "type": "작업 유형", + "status": "상태", + "progress": "진행률", + "createdAt": "생성 시간", + "updatedAt": "업데이트 시간", + "error": "오류 메시지", + "data": "작업 데이터", + "result": "결과", + "duration": "소요 시간", + "attempts": "시도 횟수", + "nextRetry": "다음 재시도" + }, + "actions": { + "retry": "재시도", + "cancel": "취소", + "delete": "삭제", + "viewDetails": "상세 보기" + }, + "empty": "대기열에 작업 없음", + "loading": "대기열 상태 로딩 중...", + "error": "대기열 상태 로드 실패" + }, + "search": { + "placeholder": "메뉴 및 기능 검색...", + "title": "메뉴 네비게이션", + "noResults": "검색 결과 없음", + "loading": "검색 중..." + } + }, + "route": { + "title": "라우트 관리", + "description": "모든 라우트 그룹을 관리하며, 추가, 삭제 및 편집 작업을 수행할 수 있습니다.", + "columns": { + "id": "그룹 ID", + "remarks": "비고", + "action": "동작", + "actions": "작업", + "matchRules": "{{count}}개 규칙 일치" + }, + "actions": { + "dns": "지정된 DNS 서버로 해석", + "block": "접근 차단" + }, + "form": { + "add": "라우트 추가", + "edit": "라우트 편집", + "create": "라우트 생성", + "remarks": "비고", + "remarksPlaceholder": "비고를 입력해주세요", + "match": "일치 규칙", + "matchPlaceholder": "example.com\n*.example.com", + "action": "동작", + "actionPlaceholder": "동작을 선택해주세요", + "dns": "DNS 서버", + "dnsPlaceholder": "DNS 서버를 입력해주세요", + "cancel": "취소", + "submit": "제출", + "validation": { + "remarks": "올바른 비고를 입력해주세요" + } + }, + "toolbar": { + "searchPlaceholder": "라우트 검색...", + "reset": "초기화" + }, + "messages": { + "deleteConfirm": "삭제 확인", + "deleteDescription": "이 작업은 이 라우트 그룹을 영구적으로 삭제하며 복구할 수 없습니다. 계속하시겠습니까?", + "deleteButton": "삭제", + "deleteSuccess": "삭제 완료", + "createSuccess": "생성 완료", + "updateSuccess": "업데이트 완료" + } + }, + "order": { + "title": "주문 관리", + "description": "여기에서 사용자 주문을 확인할 수 있으며, 할당, 조회, 삭제 등의 작업을 수행할 수 있습니다.", + "table": { + "columns": { + "tradeNo": "주문 번호", + "type": "유형", + "plan": "구독 플랜", + "period": "기간", + "amount": "결제 금액", + "status": "주문 상태", + "commission": "수수료 금액", + "commissionStatus": "수수료 상태", + "createdAt": "생성 시간" + } + }, + "type": { + "NEW": "신규 구매", + "RENEWAL": "갱신", + "UPGRADE": "업그레이드", + "RESET_FLOW": "트래픽 초기화" + }, + "period": { + "month_price": "월간", + "quarter_price": "분기", + "half_year_price": "반기", + "year_price": "연간", + "two_year_price": "2년", + "three_year_price": "3년", + "onetime_price": "일회성", + "reset_price": "초기화 패키지" + }, + "status": { + "PENDING": "대기 중", + "PROCESSING": "처리 중", + "CANCELLED": "취소됨", + "COMPLETED": "완료됨", + "DISCOUNTED": "할인 적용됨", + "tooltip": "[결제 완료] 표시 후 시스템이 활성화 및 완료 처리를 진행합니다" + }, + "commission": { + "PENDING": "대기 중", + "PROCESSING": "처리 중", + "VALID": "유효", + "INVALID": "무효" + }, + "actions": { + "markAsPaid": "결제 완료 표시", + "cancel": "주문 취소", + "openMenu": "메뉴 열기", + "reset": "초기화" + }, + "search": { + "placeholder": "주문 검색..." + }, + "dialog": { + "title": "주문 정보", + "basicInfo": "기본 정보", + "amountInfo": "금액 정보", + "timeInfo": "시간 정보", + "addOrder": "주문 추가", + "assignOrder": "주문 할당", + "fields": { + "userEmail": "사용자 이메일", + "orderPeriod": "주문 기간", + "subscriptionPlan": "구독 플랜", + "callbackNo": "콜백 번호", + "paymentAmount": "결제 금액", + "balancePayment": "잔액 결제", + "discountAmount": "할인 금액", + "refundAmount": "환불 금액", + "deductionAmount": "차감 금액", + "createdAt": "생성 시간", + "updatedAt": "업데이트 시간" + }, + "placeholders": { + "email": "사용자 이메일을 입력해주세요", + "plan": "구독 플랜을 선택해주세요", + "period": "구독 기간을 선택해주세요", + "amount": "결제 금액을 입력해주세요" + }, + "actions": { + "cancel": "취소", + "confirm": "확인" + }, + "messages": { + "addSuccess": "추가 완료" + } + } + }, + "coupon": { + "title": "쿠폰 관리", + "description": "여기에서 쿠폰을 관리할 수 있으며, 추가, 조회 및 삭제 작업을 수행할 수 있습니다.", + "table": { + "columns": { + "id": "ID", + "show": "활성화", + "name": "쿠폰 이름", + "type": "유형", + "code": "코드", + "limitUse": "남은 사용 횟수", + "limitUseWithUser": "사용자당 사용 횟수", + "validity": "유효 기간", + "actions": "작업" + }, + "validity": { + "expired": "{{days}}일 전 만료됨", + "notStarted": "{{days}}일 후 시작", + "remaining": "{{days}}일 남음", + "startTime": "시작 시간", + "endTime": "종료 시간", + "unlimited": "무제한", + "noLimit": "제한 없음" + }, + "actions": { + "edit": "편집", + "delete": "삭제", + "deleteConfirm": { + "title": "삭제 확인", + "description": "이 작업은 이 쿠폰을 영구적으로 삭제하며 취소할 수 없습니다. 계속하시겠습니까?", + "confirmText": "삭제" + } + }, + "toolbar": { + "search": "쿠폰 검색...", + "type": "유형", + "reset": "초기화", + "types": { + "1": "고정 금액", + "2": "비율" + } + } + }, + "form": { + "add": "쿠폰 추가", + "edit": "쿠폰 편집", + "name": { + "label": "쿠폰 이름", + "placeholder": "쿠폰 이름 입력", + "required": "쿠폰 이름을 입력해주세요" + }, + "type": { + "label": "쿠폰 유형 및 값", + "placeholder": "쿠폰 유형 선택" + }, + "value": { + "placeholder": "값 입력" + }, + "validity": { + "label": "유효 기간", + "to": "부터", + "endTimeError": "종료 시간은 시작 시간보다 늦어야 합니다" + }, + "limitUse": { + "label": "최대 사용 횟수", + "placeholder": "최대 사용 횟수 설정, 무제한은 비워두기", + "description": "이 쿠폰의 총 사용 가능 횟수를 설정합니다. 무제한은 비워두세요" + }, + "limitUseWithUser": { + "label": "사용자당 사용 횟수", + "placeholder": "사용자당 사용 횟수 설정, 무제한은 비워두기", + "description": "각 사용자가 이 쿠폰을 사용할 수 있는 횟수를 제한합니다. 무제한은 비워두세요" + }, + "limitPeriod": { + "label": "구독 기간", + "placeholder": "특정 구독 기간으로 제한, 제한 없음은 비워두기", + "description": "이 쿠폰을 사용할 수 있는 구독 기간을 선택합니다. 제한이 없으면 비워두세요", + "empty": "일치하는 기간이 없습니다" + }, + "limitPlan": { + "label": "구독 플랜", + "placeholder": "특정 구독 플랜으로 제한, 제한 없음은 비워두기", + "empty": "일치하는 플랜이 없습니다" + }, + "code": { + "label": "사용자 지정 쿠폰 코드", + "placeholder": "사용자 지정 코드 입력, 자동 생성은 비워두기", + "description": "쿠폰 코드를 사용자 지정합니다. 자동 생성하려면 비워두세요" + }, + "generateCount": { + "label": "일괄 생성 수량", + "placeholder": "생성할 쿠폰 수량, 단일 쿠폰은 비워두기", + "description": "여러 쿠폰 코드를 한 번에 생성합니다. 단일 코드 생성은 비워두세요" + }, + "submit": { + "saving": "저장 중...", + "save": "저장" + }, + "error": { + "saveFailed": "쿠폰 저장 실패" + } + } + }, + "notice": { + "title": "공지사항 관리", + "description": "여기에서 공지사항을 구성할 수 있으며, 추가, 삭제, 편집 등의 작업을 수행할 수 있습니다.", + "table": { + "columns": { + "id": "ID", + "show": "표시 상태", + "title": "제목", + "actions": "작업" + }, + "toolbar": { + "search": "공지사항 제목 검색...", + "reset": "초기화", + "sort": { + "edit": "순서 편집", + "save": "순서 저장" + } + }, + "actions": { + "edit": "편집", + "delete": { + "title": "삭제 확인", + "description": "이 공지사항을 삭제하시겠습니까? 이 작업은 취소할 수 없습니다.", + "success": "삭제 완료" + } + } + }, + "form": { + "add": { + "title": "공지사항 추가", + "button": "공지사항 추가" + }, + "edit": { + "title": "공지사항 편집" + }, + "fields": { + "title": { + "label": "제목", + "placeholder": "공지사항 제목을 입력해주세요" + }, + "content": { + "label": "내용" + }, + "img_url": { + "label": "배경 이미지", + "placeholder": "공지사항 배경 이미지 URL을 입력해주세요" + }, + "show": { + "label": "표시" + }, + "tags": { + "label": "태그", + "placeholder": "Enter를 눌러 태그 추가" + } + }, + "buttons": { + "cancel": "취소", + "submit": "제출", + "success": "제출 완료" + } + } + }, + "theme": { + "title": "테마 설정", + "description": "테마 색상, 글꼴 크기 등을 포함한 테마 설정입니다. V2board를 프론트엔드와 백엔드로 분리하여 배포하는 경우 테마 설정이 적용되지 않습니다.", + "upload": { + "button": "테마 업로드", + "title": "테마 업로드", + "description": "유효한 테마 패키지(.zip 형식)를 업로드해주세요. 테마 패키지는 완전한 테마 파일 구조를 포함해야 합니다.", + "dragText": "테마 파일을 여기에 끌어다 놓거나", + "clickText": "클릭하여 선택", + "supportText": ".zip 형식의 테마 패키지 지원", + "uploading": "업로드 중...", + "error": { + "format": "ZIP 형식의 테마 파일만 지원됩니다" + } + }, + "preview": { + "title": "테마 미리보기", + "imageCount": "{{current}} / {{total}}" + }, + "card": { + "version": "버전: {{version}}", + "currentTheme": "현재 테마", + "activateTheme": "테마 활성화", + "configureTheme": "테마 설정", + "preview": "미리보기", + "delete": { + "title": "테마 삭제", + "description": "이 테마를 삭제하시겠습니까? 이 작업은 취소할 수 없습니다.", + "button": "삭제", + "error": { + "active": "현재 활성화된 테마는 삭제할 수 없습니다" + } + } + }, + "config": { + "title": "{{name}} 테마 구성", + "description": "테마 스타일, 레이아웃 및 기타 표시 옵션을 수정합니다.", + "cancel": "취소", + "save": "저장", + "success": "설정이 성공적으로 저장되었습니다" + } + }, + "ticket": { + "title": "티켓 관리", + "description": "여기에서 사용자 티켓을 확인할 수 있으며, 조회, 답변 및 종료 작업을 수행할 수 있습니다.", + "columns": { + "id": "티켓 ID", + "subject": "제목", + "level": "우선순위", + "status": "상태", + "updated_at": "최근 업데이트", + "created_at": "생성 시간", + "actions": "작업" + }, + "status": { + "closed": "종료됨", + "replied": "답변됨", + "pending": "대기 중", + "processing": "처리 중" + }, + "level": { + "low": "낮음", + "medium": "중간", + "high": "높음" + }, + "filter": { + "placeholder": "{field} 검색...", + "no_results": "검색 결과가 없습니다.", + "selected": "{count}개 선택됨", + "clear": "필터 초기화" + }, + "actions": { + "view_details": "상세 보기", + "close_ticket": "티켓 종료", + "close_confirm_title": "티켓 종료 확인", + "close_confirm_description": "종료 후에는 답변할 수 없습니다. 이 티켓을 종료하시겠습니까?", + "close_confirm_button": "티켓 종료", + "close_success": "티켓이 성공적으로 종료되었습니다", + "view_ticket": "티켓 보기" + }, + "detail": { + "no_messages": "메시지가 아직 없습니다", + "created_at": "생성 시간", + "user_info": "사용자 정보", + "traffic_records": "트래픽 기록", + "order_records": "주문 기록", + "input": { + "closed_placeholder": "티켓이 종료되었습니다", + "reply_placeholder": "답변을 입력하세요...", + "sending": "전송 중...", + "send": "전송" + } + } + }, + "server": { + "title": "노드 설정", + "description": "통신 키, 폴링 간격, 로드 밸런싱 및 기타 고급 옵션을 포함한 노드 통신 및 동기화 설정을 구성합니다.", + "server_token": { + "title": "통신 키", + "description": "Xboard와 노드 간의 통신을 위한 키로, 무단 데이터 접근을 방지합니다.", + "placeholder": "통신 키를 입력해주세요" + }, + "server_pull_interval": { + "title": "노드 풀 작업 폴링 간격", + "description": "노드가 패널에서 데이터를 가져오는 빈도입니다.", + "placeholder": "풀 간격을 입력해주세요" + }, + "server_push_interval": { + "title": "노드 푸시 작업 폴링 간격", + "description": "노드가 패널로 데이터를 푸시하는 빈도입니다.", + "placeholder": "푸시 간격을 입력해주세요" + }, + "device_limit_mode": { + "title": "기기 제한 모드", + "description": "완화 모드에서는 동일한 IP 주소의 여러 노드가 하나의 기기로 계산됩니다.", + "strict": "엄격 모드", + "relaxed": "완화 모드", + "placeholder": "기기 제한 모드를 선택해주세요" + }, + "saving": "저장 중...", + "manage": { + "title": "노드 관리", + "description": "모든 노드를 관리하며, 추가, 삭제, 편집 등의 작업을 수행할 수 있습니다." + }, + "columns": { + "sort": "정렬", + "nodeId": "노드 ID", + "show": "표시", + "node": "노드", + "address": "주소", + "onlineUsers": { + "title": "온라인 사용자", + "tooltip": "서버 보고 빈도에 따른 온라인 사용자 수" + }, + "rate": { + "title": "요금", + "tooltip": "트래픽 과금 요율" + }, + "groups": { + "title": "권한 그룹", + "tooltip": "이 노드를 구독할 수 있는 그룹", + "empty": "--" + }, + "type": "유형", + "actions": "작업", + "copyAddress": "연결 주소 복사", + "internalPort": "내부 포트", + "status": { + "0": "실행되지 않음", + "1": "미사용 또는 비정상", + "2": "정상 실행 중" + }, + "actions_dropdown": { + "edit": "편집", + "copy": "복사", + "delete": { + "title": "삭제 확인", + "description": "이 작업은 이 노드를 영구적으로 삭제하며 취소할 수 없습니다. 계속하시겠습니까?", + "confirm": "삭제" + }, + "copy_success": "복사 완료", + "delete_success": "삭제 완료" + } + }, + "toolbar": { + "search": "노드 검색...", + "type": "유형", + "reset": "초기화", + "sort": { + "tip": "노드를 드래그하여 정렬한 후 저장을 클릭하세요", + "edit": "정렬 편집", + "save": "정렬 저장" + } + }, + "form": { + "add_node": "노드 추가", + "edit_node": "노드 편집", + "new_node": "새 노드", + "name": { + "label": "노드 이름", + "placeholder": "노드 이름을 입력해주세요", + "error": "올바른 이름을 입력해주세요" + }, + "rate": { + "label": "요금", + "error": "올바른 요금을 입력해주세요" + }, + "code": { + "label": "사용자 지정 노드 ID", + "optional": "(선택사항)", + "placeholder": "사용자 지정 노드 ID를 입력해주세요" + }, + "tags": { + "label": "노드 태그", + "placeholder": "Enter를 눌러 태그 추가" + }, + "groups": { + "label": "권한 그룹", + "add": "그룹 추가", + "placeholder": "권한 그룹을 선택해주세요", + "empty": "검색 결과가 없습니다" + }, + "host": { + "label": "노드 주소", + "placeholder": "도메인 또는 IP를 입력해주세요" + }, + "port": { + "label": "연결 포트", + "placeholder": "사용자 연결 포트", + "tooltip": "사용자가 실제로 연결하는 포트로, 클라이언트 설정에 입력해야 하는 포트 번호입니다. 중계 또는 터널을 사용하는 경우 서버가 실제로 수신하는 포트와 다를 수 있습니다.", + "sync": "서버 포트와 동기화" + }, + "server_port": { + "label": "서버 포트", + "placeholder": "서버 수신 포트", + "tooltip": "서버가 실제로 수신하는 포트로, 서버에서 실제로 열린 포트입니다. 중계 또는 터널을 사용하는 경우 사용자 연결 포트와 다를 수 있습니다." + }, + "parent": { + "label": "상위 노드", + "placeholder": "상위 노드 선택", + "none": "없음" + }, + "route": { + "label": "라우트 그룹", + "placeholder": "라우트 그룹 선택", + "empty": "검색 결과가 없습니다" + }, + "submit": "제출", + "cancel": "취소", + "success": "제출 완료" + }, + "dynamic_form": { + "shadowsocks": { + "cipher": { + "label": "암호화 방식", + "placeholder": "암호화 방식 선택" + }, + "obfs": { + "label": "난독화", + "placeholder": "난독화 방식 선택", + "none": "없음", + "http": "HTTP" + }, + "obfs_settings": { + "path": "경로", + "host": "호스트" + } + }, + "vmess": { + "tls": { + "label": "TLS", + "placeholder": "보안을 선택해주세요", + "disabled": "비활성화", + "enabled": "활성화" + }, + "tls_settings": { + "server_name": { + "label": "서버 이름 표시(SNI)", + "placeholder": "사용하지 않는 경우 비워두세요" + }, + "allow_insecure": "안전하지 않은 연결 허용?" + }, + "network": { + "label": "전송 프로토콜", + "placeholder": "전송 프로토콜 선택" + } + }, + "trojan": { + "server_name": { + "label": "서버 이름 표시(SNI)", + "placeholder": "노드 주소가 인증서와 다른 경우 인증서 확인에 사용" + }, + "allow_insecure": "안전하지 않은 연결 허용?", + "network": { + "label": "전송 프로토콜", + "placeholder": "전송 프로토콜 선택" + } + }, + "hysteria": { + "version": { + "label": "프로토콜 버전", + "placeholder": "프로토콜 버전" + }, + "alpn": { + "label": "ALPN", + "placeholder": "ALPN" + }, + "obfs": { + "label": "난독화", + "type": { + "label": "난독화 구현", + "placeholder": "난독화 구현 선택", + "salamander": "Salamander" + }, + "password": { + "label": "난독화 비밀번호", + "placeholder": "난독화 비밀번호를 입력해주세요", + "generate_success": "난독화 비밀번호 생성 완료" + } + }, + "tls": { + "server_name": { + "label": "서버 이름 표시(SNI)", + "placeholder": "노드 주소가 인증서와 다른 경우 인증서 확인에 사용" + }, + "allow_insecure": "안전하지 않은 연결 허용?" + }, + "bandwidth": { + "up": { + "label": "업로드 대역폭", + "placeholder": "업로드 대역폭을 입력해주세요", + "suffix": "Mbps", + "bbr_tip": ", BBR 사용시 비워두세요" + }, + "down": { + "label": "다운로드 대역폭", + "placeholder": "다운로드 대역폭을 입력해주세요", + "suffix": "Mbps", + "bbr_tip": ", BBR 사용시 비워두세요" + } + } + }, + "vless": { + "tls": { + "label": "보안", + "placeholder": "보안을 선택해주세요", + "none": "없음", + "tls": "TLS", + "reality": "Reality" + }, + "tls_settings": { + "server_name": { + "label": "서버 이름 표시(SNI)", + "placeholder": "사용하지 않는 경우 비워두세요" + }, + "allow_insecure": "안전하지 않은 연결 허용?" + }, + "reality_settings": { + "server_name": { + "label": "대상 사이트(dest)", + "placeholder": "예: example.com" + }, + "server_port": { + "label": "포트" + } + } + } + } + }, + "user": { + "manage": { + "title": "사용자 관리", + "description": "여기에서 사용자 추가, 삭제, 편집 및 조회 작업을 수행할 수 있습니다." + }, + "columns": { + "is_admin": "관리자", + "is_staff": "스태프", + "id": "ID", + "email": "이메일", + "online_count": "온라인 기기", + "status": "상태", + "subscription": "구독", + "group": "그룹", + "used_traffic": "사용된 트래픽", + "total_traffic": "총 트래픽", + "expire_time": "만료 시간", + "balance": "잔액", + "commission": "수수료", + "register_time": "등록 시간", + "actions": "작업", + "device_limit": { + "unlimited": "기기 제한 없음", + "limited": "최대 {{count}}대의 기기 허용" + }, + "status_text": { + "normal": "정상", + "banned": "차단됨" + }, + "online_status": { + "online": "현재 온라인", + "never": "접속 기록 없음", + "last_online": "마지막 접속: {{time}}", + "offline_duration": { + "days": "오프라인 기간: {{count}}일", + "hours": "오프라인 기간: {{count}}시간", + "minutes": "오프라인 기간: {{count}}분", + "seconds": "오프라인 기간: {{count}}초" + } + }, + "expire_status": { + "permanent": "영구", + "expired": "{{days}}일 전 만료됨", + "remaining": "{{days}}일 남음" + }, + "actions_menu": { + "edit": "편집", + "assign_order": "주문 할당", + "copy_url": "구독 URL 복사", + "reset_secret": "UUID 및 URL 재설정", + "orders": "주문", + "invites": "초대", + "traffic_records": "트래픽 기록" + } + }, + "filter": { + "selected": "{{count}}개 선택됨", + "no_results": "검색 결과가 없습니다.", + "clear": "필터 초기화", + "search_placeholder": "검색...", + "email_search": "사용자 이메일 검색...", + "advanced": "고급 필터", + "reset": "필터 초기화", + "sheet": { + "title": "고급 필터", + "description": "하나 이상의 필터 조건을 추가하여 사용자를 정확하게 찾기", + "conditions": "필터 조건", + "add": "조건 추가", + "condition": "조건 {{number}}", + "field": "필드 선택", + "operator": "연산자 선택", + "value": "값 입력", + "value_number": "값 입력 ({{unit}})", + "reset": "초기화", + "apply": "필터 적용" + }, + "fields": { + "email": "이메일", + "id": "사용자 ID", + "plan_id": "구독", + "transfer_enable": "트래픽", + "total_used": "사용된 트래픽", + "online_count": "온라인 기기", + "expired_at": "만료 시간", + "uuid": "UUID", + "token": "토큰", + "banned": "계정 상태", + "remark": "비고", + "inviter_email": "초대자 이메일", + "invite_user_id": "초대자 ID", + "is_admin": "관리자", + "is_staff": "스태프" + }, + "operators": { + "contains": "포함", + "eq": "일치", + "gt": "초과", + "lt": "미만" + }, + "status": { + "normal": "정상", + "banned": "차단됨" + }, + "boolean": { + "true": "예", + "false": "아니오" + } + }, + "generate": { + "button": "사용자 생성", + "title": "사용자 생성", + "form": { + "email": "이메일", + "email_prefix": "계정 (일괄 생성시 비워두기)", + "email_domain": "도메인", + "password": "비밀번호", + "password_placeholder": "비워두면 이메일을 비밀번호로 사용", + "expire_time": "만료 시간", + "expire_time_placeholder": "사용자 만료 날짜 선택, 영구는 비워두기", + "permanent": "영구", + "subscription": "구독 플랜", + "subscription_none": "없음", + "generate_count": "생성 수량", + "generate_count_placeholder": "일괄 생성할 수량 입력", + "cancel": "취소", + "submit": "생성", + "success": "생성 완료" + } + }, + "edit": { + "button": "사용자 정보 편집", + "title": "사용자 관리", + "form": { + "email": "이메일", + "email_placeholder": "이메일을 입력해주세요", + "inviter_email": "초대자 이메일", + "inviter_email_placeholder": "이메일을 입력해주세요", + "password": "비밀번호", + "password_placeholder": "변경하려면 새 비밀번호 입력", + "balance": "잔액", + "balance_placeholder": "잔액을 입력해주세요", + "commission_balance": "수수료 잔액", + "commission_balance_placeholder": "수수료 잔액을 입력해주세요", + "upload": "업로드 트래픽", + "upload_placeholder": "업로드 트래픽", + "download": "다운로드 트래픽", + "download_placeholder": "다운로드 트래픽", + "total_traffic": "총 트래픽", + "total_traffic_placeholder": "트래픽을 입력해주세요", + "expire_time": "만료 시간", + "expire_time_placeholder": "사용자 만료 날짜 선택, 영구는 비워두기", + "expire_time_specific": "특정 시간", + "expire_time_today": "오늘 종료로 설정", + "expire_time_permanent": "영구", + "expire_time_1month": "1개월", + "expire_time_3months": "3개월", + "expire_time_confirm": "확인", + "subscription": "구독 플랜", + "subscription_none": "없음", + "account_status": "계정 상태", + "commission_type": "수수료 유형", + "commission_type_system": "시스템 설정 따르기", + "commission_type_cycle": "주기별 수수료", + "commission_type_onetime": "일회성 수수료", + "commission_rate": "수수료율", + "commission_rate_placeholder": "사이트 수수료율을 따르려면 비워두기", + "discount": "전용 할인", + "discount_placeholder": "전용 할인이 없으면 비워두기", + "speed_limit": "속도 제한", + "speed_limit_placeholder": "속도 제한이 없으면 비워두기", + "device_limit": "기기 제한", + "device_limit_placeholder": "기기 제한이 없으면 비워두기", + "is_admin": "관리자 여부", + "is_staff": "스태프 여부", + "remarks": "비고", + "remarks_placeholder": "비고를 입력해주세요", + "cancel": "취소", + "submit": "제출", + "success": "수정 완료" + } + } + }, + "subscribe": { + "plan": { + "title": "구독 플랜", + "add": "플랜 추가", + "search": "플랜 검색...", + "sort": { + "edit": "정렬 편집", + "save": "정렬 저장" + }, + "columns": { + "id": "ID", + "show": "표시", + "sell": "판매", + "renew": "갱신", + "renew_tooltip": "구독 판매가 중단된 후 기존 사용자의 갱신 가능 여부", + "name": "이름", + "stats": "통계", + "group": "권한 그룹", + "price": "가격", + "actions": "작업", + "edit": "편집", + "delete": "삭제", + "delete_confirm": { + "title": "삭제 확인", + "description": "이 작업은 이 구독을 영구적으로 삭제하며 취소할 수 없습니다. 계속하시겠습니까?", + "success": "삭제 완료" + }, + "price_period": { + "monthly": "월간", + "quarterly": "분기", + "half_yearly": "반기", + "yearly": "연간", + "two_yearly": "2년", + "three_yearly": "3년", + "onetime": "일회성", + "reset_traffic": "트래픽 초기화", + "unit": { + "month": "/월", + "quarter": "/분기", + "half_year": "/반기", + "year": "/년", + "two_year": "/2년", + "three_year": "/3년", + "times": "/회" + } + } + }, + "form": { + "add_title": "플랜 추가", + "edit_title": "플랜 편집", + "name": { + "label": "플랜 이름", + "placeholder": "플랜 이름 입력" + }, + "group": { + "label": "서버 그룹", + "add": "그룹 추가", + "placeholder": "서버 그룹 선택" + }, + "transfer": { + "label": "트래픽", + "placeholder": "트래픽 제한 입력", + "unit": "GB" + }, + "speed": { + "label": "속도 제한", + "placeholder": "속도 제한 입력", + "unit": "Mbps" + }, + "price": { + "title": "가격 설정", + "base_price": "기본 가격", + "clear": { + "button": "초기화", + "tooltip": "모든 가격 초기화" + }, + "period": { + "monthly": "월간", + "months": "{{count}}개월" + }, + "onetime_desc": "일회성 트래픽 패키지, 시간 제한 없음", + "reset_desc": "트래픽 초기화 패키지, 여러 번 사용 가능" + }, + "device": { + "label": "기기 제한", + "placeholder": "기기 제한 입력", + "unit": "대" + }, + "capacity": { + "label": "용량 제한", + "placeholder": "용량 제한 입력", + "unit": "사용자" + }, + "reset_method": { + "label": "트래픽 초기화 방식", + "placeholder": "초기화 방식 선택", + "description": "트래픽 초기화 방식에 따라 트래픽이 초기화되는 방법이 결정됩니다", + "options": { + "follow_system": "시스템 설정 따르기", + "monthly_first": "매월 1일", + "monthly_reset": "매월 구매일", + "no_reset": "초기화 없음", + "yearly_first": "매년 1일", + "yearly_reset": "매년 구매일" + } + }, + "content": { + "label": "플랜 설명", + "placeholder": "플랜 설명 입력", + "description": "마크다운 형식 지원", + "preview": "미리보기", + "preview_button": { + "show": "미리보기 표시", + "hide": "미리보기 숨기기" + }, + "template": { + "button": "템플릿 사용", + "tooltip": "기본 템플릿 사용", + "content": "## 플랜 특징\n\n- 트래픽: {{transfer}} GB\n- 속도: {{speed}} Mbps\n- 기기: {{devices}}대\n\n## 사용 안내\n\n1. 플랜 유효 기간: {{validity}}일\n2. 트래픽 초기화: {{reset_method}}\n3. 최대 동시 접속자: {{capacity}}명" + } + }, + "force_update": { + "label": "사용자 플랜 강제 업데이트" + }, + "submit": { + "cancel": "취소", + "submit": "제출", + "submitting": "제출 중...", + "success": { + "add": "플랜이 성공적으로 추가되었습니다", + "update": "플랜이 성공적으로 업데이트되었습니다" + } + } + }, + "page": { + "description": "여기에서 구독 플랜을 구성할 수 있으며, 추가, 삭제 및 편집 작업을 수행할 수 있습니다." + } + } + }, + "auth": { + "signIn": { + "title": "로그인", + "description": "이메일과 비밀번호를 입력하여 로그인하세요", + "email": "이메일", + "emailPlaceholder": "name@example.com", + "password": "비밀번호", + "passwordPlaceholder": "비밀번호를 입력하세요", + "forgotPassword": "비밀번호를 잊으셨나요?", + "submit": "로그인", + "rememberMe": "로그인 상태 유지", + "resetPassword": { + "title": "비밀번호 재설정", + "description": "비밀번호를 재설정하려면 사이트 디렉토리에서 다음 명령을 실행하세요", + "command": "php artisan reset:password 관리자-이메일" + }, + "validation": { + "emailRequired": "이메일을 입력해주세요", + "emailInvalid": "올바른 이메일 주소를 입력해주세요", + "passwordRequired": "비밀번호를 입력해주세요", + "passwordLength": "비밀번호는 최소 7자 이상이어야 합니다" + } + } + }, + "sidebar": { + "dashboard": "대시보드", + "systemManagement": "시스템 관리", + "systemConfig": "시스템 설정", + "themeConfig": "테마 설정", + "noticeManagement": "공지사항 관리", + "paymentConfig": "결제 설정", + "knowledgeManagement": "지식 베이스", + "nodeManagement": "노드 관리", + "permissionGroupManagement": "권한 그룹", + "routeManagement": "경로 관리", + "subscriptionManagement": "구독 관리", + "planManagement": "플랜 관리", + "orderManagement": "주문 관리", + "couponManagement": "쿠폰 관리", + "userManagement": "사용자 관리", + "ticketManagement": "티켓 관리" + } +}; \ No newline at end of file diff --git a/public/assets/admin/locales/zh-CN.js b/public/assets/admin/locales/zh-CN.js new file mode 100644 index 000000000..e19a824d1 --- /dev/null +++ b/public/assets/admin/locales/zh-CN.js @@ -0,0 +1,2012 @@ +window.XBOARD_TRANSLATIONS = window.XBOARD_TRANSLATIONS || {}; +window.XBOARD_TRANSLATIONS['zh-CN'] = { + "payment": { + "title": "支付配置", + "description": "在这里可以配置支付方式,包括支付宝、微信等。", + "table": { + "columns": { + "id": "ID", + "enable": "启用", + "name": "显示名称", + "payment": "支付接口", + "notify_url": "通知地址", + "notify_url_tooltip": "支付网关将会把数据通知到本地址,请通过防火墙放行本地址。", + "actions": "操作" + }, + "actions": { + "edit": "编辑", + "delete": { + "title": "删除确认", + "description": "确定要删除该支付方式吗?此操作无法撤销。", + "success": "删除成功" + } + }, + "toolbar": { + "search": "搜索支付方式...", + "reset": "重置", + "sort": { + "hint": "拖拽支付方式进行排序,完成后点击保存", + "save": "保存排序", + "edit": "编辑排序" + } + } + }, + "form": { + "add": { + "button": "添加支付方式", + "title": "添加支付方式" + }, + "edit": { + "title": "编辑支付方式" + }, + "fields": { + "name": { + "label": "显示名称", + "placeholder": "请输入支付名称", + "description": "用于前端显示" + }, + "icon": { + "label": "图标URL", + "placeholder": "https://example.com/icon.svg", + "description": "用于前端显示的图标地址" + }, + "notify_domain": { + "label": "通知域名", + "placeholder": "https://example.com", + "description": "网关通知将发送到该域名" + }, + "handling_fee_percent": { + "label": "百分比手续费(%)", + "placeholder": "0-100" + }, + "handling_fee_fixed": { + "label": "固定手续费", + "placeholder": "0" + }, + "payment": { + "label": "支付接口", + "placeholder": "请选择支付接口", + "description": "选择要使用的支付接口" + } + }, + "validation": { + "name": { + "min": "名称至少需要2个字符", + "max": "名称不能超过30个字符" + }, + "notify_domain": { + "url": "请输入有效的URL" + }, + "payment": { + "required": "请选择支付接口" + } + }, + "buttons": { + "cancel": "取消", + "submit": "提交" + }, + "messages": { + "success": "保存成功" + } + } + }, + "knowledge": { + "title": "知识库管理", + "description": "在这里可以配置知识库,包括添加、删除、编辑等操作。", + "columns": { + "id": "ID", + "status": "状态", + "title": "标题", + "category": "分类", + "actions": "操作" + }, + "form": { + "add": "添加知识", + "edit": "编辑知识", + "title": "标题", + "titlePlaceholder": "请输入知识标题", + "category": "分类", + "categoryPlaceholder": "请输入分类,分类将会自动归类", + "language": "语言", + "languagePlaceholder": "请选择语言", + "content": "内容", + "show": "显示", + "cancel": "取消", + "submit": "提交" + }, + "languages": { + "en-US": "English", + "ja-JP": "日本語", + "ko-KR": "한국어", + "vi-VN": "Tiếng Việt", + "zh-CN": "简体中文", + "zh-TW": "繁體中文" + }, + "messages": { + "deleteConfirm": "确认删除", + "deleteDescription": "此操作将永久删除该知识库记录,删除后无法恢复。确定要继续吗?", + "deleteButton": "删除", + "operationSuccess": "操作成功" + }, + "toolbar": { + "searchPlaceholder": "搜索知识...", + "reset": "重置", + "sortModeHint": "拖拽知识条目进行排序,完成后点击保存", + "editSort": "编辑排序", + "saveSort": "保存排序" + } + }, + "search": { + "placeholder": "搜索菜单和功能...", + "title": "菜单导航", + "noResults": "未找到结果", + "shortcut": { + "label": "搜索", + "key": "⌘K" + } + }, + "nav": { + "dashboard": "仪表盘", + "systemManagement": "系统管理", + "systemConfig": "系统配置", + "themeConfig": "主题配置", + "pluginManagement": "插件管理", + "noticeManagement": "公告管理", + "paymentConfig": "支付配置", + "knowledgeManagement": "知识库管理", + "nodeManagement": "节点管理", + "permissionGroupManagement": "权限组管理", + "routeManagement": "路由管理", + "subscriptionManagement": "订阅管理", + "planManagement": "套餐管理", + "orderManagement": "订单管理", + "couponManagement": "优惠券管理", + "userManagement": "用户管理", + "ticketManagement": "工单管理" + }, + "plugin": { + "title": "插件管理", + "description": "管理和配置系统插件", + "search": { + "placeholder": "搜索插件名称或描述..." + }, + "category": { + "placeholder": "选择分类", + "all": "全部", + "other": "其他" + }, + "tabs": { + "all": "全部插件", + "installed": "已安装", + "available": "可用插件" + }, + "status": { + "enabled": "已启用", + "disabled": "已禁用" + }, + "button": { + "install": "安装", + "config": "配置", + "enable": "启用", + "disable": "禁用" + }, + "uninstall": { + "title": "卸载插件", + "description": "确定要卸载该插件吗?卸载后插件数据将被清除。", + "button": "卸载" + }, + "config": { + "title": "配置", + "description": "修改插件配置", + "save": "保存", + "cancel": "取消" + }, + "author": "作者", + "messages": { + "installSuccess": "插件安装成功", + "installError": "插件安装失败", + "uninstallSuccess": "插件卸载成功", + "uninstallError": "插件卸载失败", + "enableSuccess": "插件启用成功", + "enableError": "插件启用失败", + "disableSuccess": "插件禁用成功", + "disableError": "插件禁用失败", + "configLoadError": "加载插件配置失败", + "configSaveSuccess": "配置保存成功", + "configSaveError": "配置保存失败" + } + }, + "settings": { + "title": "系统设置", + "description": "管理系统核心配置,包括站点、安全、订阅、邀请佣金、节点、邮件和通知等设置", + "site": { + "title": "站点设置", + "description": "配置站点基本信息,包括站点名称、描述、货币单位等核心设置。", + "form": { + "siteName": { + "label": "站点名称", + "placeholder": "请输入站点名称", + "description": "用于显示需要站点名称的地方。" + }, + "siteDescription": { + "label": "站点描述", + "placeholder": "请输入站点描述", + "description": "用于显示需要站点描述的地方。" + }, + "siteUrl": { + "label": "站点网址", + "placeholder": "请输入站点URL,末尾不要/", + "description": "当前网站最新网址,将会在邮件等需要用于网址处体现。" + }, + "forceHttps": { + "label": "强制HTTPS", + "description": "当站点没有使用HTTPS,CDN或反代开启强制HTTPS时需要开启。" + }, + "logo": { + "label": "LOGO", + "placeholder": "请输入LOGO URL,末尾不要/", + "description": "用于显示需要LOGO的地方。" + }, + "subscribeUrl": { + "label": "订阅URL", + "placeholder": "用于订阅所使用,多个订阅地址用','隔开.留空则为站点URL。", + "description": "用于订阅所使用,留空则为站点URL。" + }, + "tosUrl": { + "label": "用户条款(TOS)URL", + "placeholder": "请输入用户条款URL,末尾不要/", + "description": "用于跳转到用户条款(TOS)" + }, + "stopRegister": { + "label": "停止新用户注册", + "description": "开启后任何人都将无法进行注册。" + }, + "tryOut": { + "label": "注册试用", + "placeholder": "关闭", + "description": "选择需要试用的订阅,如果没有选项请先前往订阅管理添加。", + "duration": { + "label": "注册试用时长", + "placeholder": "0", + "description": "注册试用时长,单位为小时。" + } + }, + "currency": { + "label": "货币单位", + "placeholder": "CNY", + "description": "仅用于展示使用,更改后系统中所有的货币单位都将发生变更。" + }, + "currencySymbol": { + "label": "货币符号", + "placeholder": "¥", + "description": "仅用于展示使用,更改后系统中所有的货币单位都将发生变更。" + } + } + }, + "safe": { + "title": "安全设置", + "description": "配置系统安全相关选项,包括登录验证、密码策略、API访问等安全设置。", + "form": { + "emailVerify": { + "label": "邮箱验证", + "description": "开启后将会强制要求用户进行邮箱验证。" + }, + "gmailLimit": { + "label": "禁止使用Gmail多别名", + "description": "开启后Gmail多别名将无法注册。" + }, + "safeMode": { + "label": "安全模式", + "description": "开启后除了站点URL以外的绑定本站点的域名访问都将会被403。" + }, + "securePath": { + "label": "后台路径", + "placeholder": "admin", + "description": "后台管理路径,修改后将会改变原有的admin路径" + }, + "emailWhitelist": { + "label": "邮箱后缀白名单", + "description": "开启后在名单中的邮箱后缀才允许进行注册。", + "suffixes": { + "label": "邮箱后缀", + "placeholder": "输入邮箱后缀,每行一个", + "description": "输入允许的邮箱后缀,每行一个" + } + }, + "recaptcha": { + "enable": { + "label": "启用reCAPTCHA", + "description": "开启后用户注册时需要通过reCAPTCHA验证。" + }, + "key": { + "label": "reCAPTCHA密钥", + "placeholder": "输入reCAPTCHA密钥", + "description": "输入您的reCAPTCHA密钥" + }, + "siteKey": { + "label": "reCAPTCHA站点密钥", + "placeholder": "输入reCAPTCHA站点密钥", + "description": "输入您的reCAPTCHA站点密钥" + } + }, + "registerLimit": { + "enable": { + "label": "IP注册限制", + "description": "开启后将限制同一IP的注册次数。" + }, + "count": { + "label": "注册次数", + "placeholder": "输入最大注册次数", + "description": "同一IP允许的最大注册次数" + }, + "expire": { + "label": "限制时长", + "placeholder": "输入限制时长(小时)", + "description": "注册限制的持续时间(小时)" + } + }, + "passwordLimit": { + "enable": { + "label": "密码尝试限制", + "description": "开启后将限制密码尝试次数。" + }, + "count": { + "label": "尝试次数", + "placeholder": "输入最大尝试次数", + "description": "允许的最大密码尝试次数" + }, + "expire": { + "label": "锁定时长", + "placeholder": "输入锁定时长(小时)", + "description": "账户锁定的持续时间(小时)" + } + } + } + }, + "subscribe": { + "title": "订阅设置", + "description": "管理用户订阅相关配置,包括订阅链接格式、更新频率、流量统计等设置。", + "plan_change_enable": { + "title": "允许用户更改订阅", + "description": "开启后用户将会可以对订阅计划进行变更。" + }, + "reset_traffic_method": { + "title": "月流量重置方式", + "description": "全局流量重置方式,默认每月1号。可以在订阅管理为订阅单独设置。", + "options": { + "monthly_first": "每月1号", + "monthly_reset": "按月重置", + "no_reset": "不重置", + "yearly_first": "每年1月1号", + "yearly_reset": "按年重置" + } + }, + "surplus_enable": { + "title": "开启折抵方案", + "description": "开启后用户更换订阅将会由系统对原有订阅进行折抵,方案参考文档。" + }, + "new_order_event": { + "title": "当订阅新购时触发事件", + "description": "新购订阅完成时将触发该任务。", + "options": { + "no_action": "不执行任何动作", + "reset_traffic": "重置用户流量" + } + }, + "renew_order_event": { + "title": "当订阅续费时触发事件", + "description": "续费订阅完成时将触发该任务。", + "options": { + "no_action": "不执行任何动作", + "reset_traffic": "重置用户流量" + } + }, + "change_order_event": { + "title": "当订阅变更时触发事件", + "description": "变更订阅完成时将触发该任务。", + "options": { + "no_action": "不执行任何动作", + "reset_traffic": "重置用户流量" + } + }, + "subscribe_path": { + "title": "订阅路径", + "description": "订阅路径,修改后将会改变原有的subscribe路径", + "current_format": "当前订阅路径格式:{path}/xxxxxxxxxx" + }, + "show_info_to_server": { + "title": "在订阅中展示订阅信息", + "description": "开启后将会在用户订阅节点时输出订阅信息。" + }, + "show_protocol_to_server": { + "title": "在订阅中线路名称中显示协议名称", + "description": "开启后订阅线路会附带协议名称(例如: [Hy2]香港)" + }, + "saving": "保存中...", + "plan": { + "title": "订阅套餐", + "add": "添加套餐", + "search": "搜索套餐...", + "sort": { + "edit": "编辑排序", + "save": "保存排序" + }, + "columns": { + "id": "ID", + "show": "显示", + "sell": "新购", + "renew": "续费", + "renew_tooltip": "在订阅停止销售时,已购用户是否可以续费", + "name": "名称", + "stats": "统计", + "group": "权限组", + "price": "价格", + "actions": "操作", + "edit": "编辑", + "delete": "删除", + "delete_confirm": { + "title": "确认删除", + "description": "此操作将永久删除该订阅,删除后无法恢复。确定要继续吗?", + "success": "删除成功" + }, + "price_period": { + "monthly": "月付", + "quarterly": "季付", + "half_yearly": "半年付", + "yearly": "年付", + "two_yearly": "两年付", + "three_yearly": "三年付", + "onetime": "流量包", + "reset_traffic": "重置包", + "unit": { + "month": "元/月", + "quarter": "元/季", + "half_year": "元/半年", + "year": "元/年", + "two_year": "元/两年", + "three_year": "元/三年", + "times": "元/次" + } + } + }, + "form": { + "add_title": "添加套餐", + "edit_title": "编辑套餐", + "name": { + "label": "套餐名称", + "placeholder": "请输入套餐名称" + }, + "group": { + "label": "权限组", + "placeholder": "选择权限组", + "add": "添加权限组" + }, + "transfer": { + "label": "流量", + "placeholder": "请输入流量大小", + "unit": "GB" + }, + "speed": { + "label": "限速", + "placeholder": "请输入限速", + "unit": "Mbps" + }, + "price": { + "title": "售价设置", + "base_price": "基础月付价格", + "clear": { + "button": "清空价格", + "tooltip": "清空所有周期的价格设置" + } + }, + "device": { + "label": "设备限制", + "placeholder": "留空则不限制", + "unit": "台" + }, + "capacity": { + "label": "容量限制", + "placeholder": "留空则不限制", + "unit": "人" + }, + "reset_method": { + "label": "流量重置方式", + "placeholder": "选择流量重置方式", + "description": "设置订阅流量的重置方式,不同的重置方式会影响用户的流量计算方式", + "options": { + "follow_system": "跟随系统设置", + "monthly_first": "每月1号", + "monthly_reset": "按月重置", + "no_reset": "不重置", + "yearly_first": "每年1月1日", + "yearly_reset": "按年重置" + } + }, + "content": { + "label": "套餐描述", + "placeholder": "在这里编写套餐描述...", + "description": "支持 Markdown 格式,可以使用标题、列表、粗体、斜体等样式来美化描述内容", + "preview": "预览", + "preview_button": { + "show": "显示预览", + "hide": "隐藏预览" + }, + "template": { + "button": "使用模板", + "tooltip": "点击使用预设的套餐描述模板", + "content": "## 套餐特点\n• 高速稳定的全球网络接入\n• 支持多设备同时在线\n• 无限制的流量重置\n\n## 使用说明\n1. 支持设备:iOS、Android、Windows、macOS\n2. 24/7 技术支持\n3. 自动定期流量重置\n\n## 注意事项\n- 禁止滥用\n- 遵守当地法律法规\n- 支持随时更换套餐" + } + }, + "force_update": { + "label": "强制更新到用户" + }, + "submit": { + "submitting": "提交中...", + "submit": "提交", + "cancel": "取消", + "success": { + "add": "套餐添加成功", + "update": "套餐更新成功" + } + } + }, + "page": { + "description": "在这里可以配置订阅计划,包括添加、删除、编辑等操作。" + } + } + }, + "email": { + "title": "邮件设置", + "description": "配置系统邮件服务,用于发送验证码、密码重置、通知等邮件,支持多种SMTP服务商。", + "email_host": { + "title": "SMTP主机", + "description": "SMTP服务器地址,例如:smtp.gmail.com" + }, + "email_port": { + "title": "SMTP端口", + "description": "SMTP服务器端口,常用端口:25, 465, 587" + }, + "email_username": { + "title": "SMTP用户名", + "description": "SMTP认证用户名" + }, + "email_password": { + "title": "SMTP密码", + "description": "SMTP认证密码或应用专用密码" + }, + "email_encryption": { + "title": "加密方式", + "description": "邮件加密方式", + "none": "无", + "ssl": "SSL/TLS", + "tls": "STARTTLS" + }, + "email_from": { + "title": "发件人地址", + "description": "发件人邮箱地址" + }, + "email_from_name": { + "title": "发件人名称", + "description": "发件人显示名称" + }, + "email_template": { + "title": "邮件模板", + "description": "自定义邮件模板方式请查看文档", + "placeholder": "选择邮件模板" + }, + "remind_mail": { + "title": "邮件提醒", + "description": "开启后用户订阅即将到期或流量不足时会收到邮件通知。" + }, + "test": { + "title": "发送测试邮件", + "sending": "发送中...", + "description": "发送测试邮件以验证配置", + "success": "测试邮件发送成功", + "error": "测试邮件发送失败" + } + }, + "telegram": { + "title": "Telegram设置", + "description": "配置Telegram机器人功能,实现用户通知、账户绑定、指令交互等自动化服务。", + "bot_token": { + "title": "机器人令牌", + "description": "请输入从Botfather获取的令牌。", + "placeholder": "0000000000:xxxxxxxxx_xxxxxxxxxxxxxxx" + }, + "webhook": { + "title": "设置Webhook", + "description": "设置机器人的webhook,不设置将无法收到Telegram通知。", + "button": "一键设置", + "setting": "设置中...", + "success": "Webhook 设置成功" + }, + "bot_enable": { + "title": "启用机器人通知", + "description": "开启后机器人将向管理员和已绑定Telegram的用户发送基础通知。" + }, + "discuss_link": { + "title": "群组链接", + "description": "填写后将在用户端显示或在需要的地方使用。", + "placeholder": "https://t.me/xxxxxx" + } + }, + "app": { + "title": "APP设置", + "description": "管理移动应用程序相关配置,包括API接口、版本控制、推送通知等功能设置。", + "common": { + "placeholder": "请输入" + }, + "windows": { + "version": { + "title": "Windows版本", + "description": "Windows客户端当前版本号" + }, + "download": { + "title": "Windows下载地址", + "description": "Windows客户端下载链接" + } + }, + "macos": { + "version": { + "title": "macOS版本", + "description": "macOS客户端当前版本号" + }, + "download": { + "title": "macOS下载地址", + "description": "macOS客户端下载链接" + } + }, + "android": { + "version": { + "title": "Android版本", + "description": "Android客户端当前版本号" + }, + "download": { + "title": "Android下载地址", + "description": "Android客户端下载链接" + } + } + }, + "common": { + "saving": "保存中...", + "save_success": "已自动保存", + "placeholder": "请输入", + "autoSaved": "已自动保存" + }, + "invite": { + "title": "邀请&佣金设置", + "description": "邀请注册、佣金相关设置。", + "invite_force": { + "title": "开启强制邀请", + "description": "开启后只有被邀请的用户才可以进行注册。" + }, + "invite_commission": { + "title": "邀请佣金百分比", + "description": "默认全局的佣金分配比例,你可以在用户管理单独配置单个比例。", + "placeholder": "请输入佣金百分比" + }, + "invite_gen_limit": { + "title": "用户可创建邀请码上限", + "description": "用户可创建邀请码上限", + "placeholder": "请输入创建上限" + }, + "invite_never_expire": { + "title": "邀请码永不失效", + "description": "开启后邀请码被使用后将不会失效,否则使用过后即失效。" + }, + "commission_first_time": { + "title": "佣金仅首次发放", + "description": "开启后被邀请人首次支付时才会产生佣金,可以在用户管理对用户进行单独配置。" + }, + "commission_auto_check": { + "title": "佣金自动确认", + "description": "开启后佣金将会在订单完成3日后自动进行确认。" + }, + "commission_withdraw_limit": { + "title": "提现单申请门槛(元)", + "description": "小于门槛金额的提现单将不会被提交。", + "placeholder": "请输入提现门槛" + }, + "commission_withdraw_method": { + "title": "提现方式", + "description": "可以支持的提现方式,多个用逗号分隔。", + "placeholder": "请输入提现方式,多个用逗号分隔" + }, + "withdraw_close": { + "title": "关闭提现", + "description": "关闭后将禁止用户申请提现,且邀请佣金将会直接进入用户余额。" + }, + "commission_distribution": { + "title": "三级分销", + "description": "开启后将佣金将按照设置的3成比例进行分成,三成比例合计请不要大于100%。", + "l1": "一级邀请人比例", + "l2": "二级邀请人比例", + "l3": "三级邀请人比例", + "placeholder": "请输入比例,如:50" + }, + "saving": "保存中..." + }, + "server": { + "title": "节点配置", + "description": "配置节点通信和同步设置,包括通信密钥、轮询间隔、负载均衡等高级选项。", + "server_token": { + "title": "通讯密钥", + "description": "Xboard与节点通讯的密钥,以便数据不会被他人获取。", + "placeholder": "请输入通讯密钥", + "generate_tooltip": "点击生成随机通信密钥" + }, + "server_pull_interval": { + "title": "节点拉取动作轮询间隔", + "description": "节点从面板获取数据的间隔频率。", + "placeholder": "请输入拉取间隔" + }, + "server_push_interval": { + "title": "节点推送动作轮询间隔", + "description": "节点推送数据到面板的间隔频率。", + "placeholder": "请输入推送间隔" + }, + "device_limit_mode": { + "title": "设备限制模式", + "description": "宽松模式下,同一IP地址使用多个节点只统计为一个设备。", + "strict": "严格模式", + "relaxed": "宽松模式", + "placeholder": "请选择设备限制模式" + }, + "saving": "保存中...", + "manage": { + "title": "节点管理", + "description": "管理所有节点,包括添加、删除、编辑等操作。" + } + } + }, + "group": { + "title": "权限组管理", + "description": "管理所有权限组,包括添加、删除、编辑等操作。", + "columns": { + "id": "组ID", + "name": "组名称", + "usersCount": "用户数量", + "serverCount": "节点数量", + "actions": "操作" + }, + "form": { + "add": "添加权限组", + "edit": "编辑权限组", + "create": "创建权限组", + "update": "更新", + "name": "组名称", + "namePlaceholder": "请输入权限组名称", + "nameDescription": "权限组名称用于标识不同的用户组,建议使用有意义的名称。", + "cancel": "取消", + "editDescription": "修改权限组信息,更新后会立即生效。", + "createDescription": "创建新的权限组,可以为不同的用户分配不同的权限。" + }, + "toolbar": { + "searchPlaceholder": "搜索权限组...", + "reset": "重置" + }, + "messages": { + "deleteConfirm": "确认删除", + "deleteDescription": "此操作将永久删除该权限组,删除后无法恢复。确定要继续吗?", + "deleteButton": "删除", + "createSuccess": "创建成功", + "updateSuccess": "更新成功", + "nameValidation": { + "min": "组名至少需要2个字符", + "max": "组名不能超过50个字符", + "pattern": "组名只能包含字母、数字、中文、下划线和连字符" + } + } + }, + "traffic": { + "trafficRecord": { + "title": "流量使用记录", + "time": "时间", + "upload": "上行流量", + "download": "下行流量", + "rate": "倍率", + "total": "总计", + "noRecords": "暂无记录", + "perPage": "每页显示", + "records": "条记录", + "page": "第 {{current}} / {{total}} 页", + "multiplier": "{{value}}x" + } + }, + "common": { + "loading": "加载中...", + "error": "错误", + "success": "成功", + "save": "保存", + "cancel": "取消", + "delete": "删除", + "edit": "编辑", + "view": "查看", + "toggleNavigation": "切换导航", + "toggleSidebar": "切换侧边栏", + "search": "搜索...", + "theme": { + "light": "浅色", + "dark": "深色", + "system": "跟随系统" + }, + "user": "用户", + "defaultEmail": "user@example.com", + "settings": "设置", + "logout": "退出登录", + "copy": { + "success": "复制成功", + "error": "复制失败", + "errorLog": "复制到剪贴板时出错" + }, + "table": { + "noData": "暂无数据", + "pagination": { + "selected": "已选择 {{selected}} 项,共 {{total}} 项", + "itemsPerPage": "每页显示", + "page": "第", + "pageOf": "页,共 {{total}} 页", + "firstPage": "跳转到第一页", + "previousPage": "上一页", + "nextPage": "下一页", + "lastPage": "跳转到最后一页" + } + } + }, + "dashboard": { + "title": "仪表盘", + "stats": { + "newUsers": "新用户", + "totalScore": "总积分", + "monthlyUpload": "月上传", + "vsLastMonth": "对比上月", + "vsYesterday": "对比昨日", + "todayIncome": "今日收入", + "monthlyIncome": "月收入", + "totalIncome": "总收入", + "totalUsers": "总用户", + "activeUsers": "活跃用户: {{count}}", + "totalOrders": "总订单", + "revenue": "收入", + "todayRegistered": "今日注册", + "monthlyRegistered": "月注册", + "onlineUsers": "在线用户", + "pendingTickets": "待处理工单", + "hasPendingTickets": "有工单需要处理", + "noPendingTickets": "无待处理工单", + "pendingCommission": "待处理佣金", + "hasPendingCommission": "有佣金需要确认", + "noPendingCommission": "无待处理佣金", + "monthlyNewUsers": "月新增用户", + "monthlyDownload": "月下载", + "todayTraffic": "今日: {{value}}", + "activeUserTrend": "活跃用户趋势", + "realtimeUsers": "实时用户", + "todayPeak": "今日峰值", + "vsLastWeek": "对比上周" + }, + "trafficRank": { + "nodeTrafficRank": "节点流量排行", + "userTrafficRank": "用户流量排行", + "today": "今天", + "last7days": "最近7天", + "last30days": "最近30天", + "customRange": "自定义范围", + "selectTimeRange": "选择时间范围", + "selectDateRange": "选择日期范围", + "currentTraffic": "当前流量", + "previousTraffic": "上期流量", + "changeRate": "变化率", + "recordTime": "记录时间" + }, + "overview": { + "title": "收入概览", + "thisMonth": "本月", + "lastMonth": "上月", + "to": "至", + "selectTimeRange": "选择范围", + "selectDate": "选择日期", + "last7Days": "最近7天", + "last30Days": "最近30天", + "last90Days": "最近90天", + "last180Days": "最近180天", + "lastYear": "最近一年", + "customRange": "自定义范围", + "amount": "金额", + "count": "数量", + "transactions": "{{count}} 笔交易", + "orderAmount": "订单金额", + "commissionAmount": "佣金金额", + "orderCount": "订单数量", + "commissionCount": "佣金数量", + "totalIncome": "总收入", + "totalCommission": "总佣金", + "totalTransactions": "共 {{count}} 笔交易", + "avgOrderAmount": "平均订单金额:", + "commissionRate": "佣金比例:" + }, + "queue": { + "title": "队列状态", + "jobDetails": "作业详情", + "status": { + "description": "当前队列运行状态", + "running": "运行状态", + "normal": "正常", + "abnormal": "异常", + "waitTime": "当前等待时间:{{seconds}} 秒", + "pending": "等待中", + "processing": "处理中", + "completed": "已完成", + "failed": "失败", + "cancelled": "已取消" + }, + "details": { + "description": "队列处理详细信息", + "recentJobs": "近期任务数", + "statisticsPeriod": "统计时间范围:{{hours}} 小时", + "jobsPerMinute": "每分钟处理量", + "maxThroughput": "最高吞吐量:{{value}}", + "failedJobs7Days": "7日报错数量", + "retentionPeriod": "保留 {{hours}} 小时", + "longestRunningQueue": "最长运行队列", + "activeProcesses": "活跃进程", + "id": "作业ID", + "type": "作业类型", + "status": "状态", + "progress": "进度", + "createdAt": "创建时间", + "updatedAt": "更新时间", + "error": "错误信息", + "data": "作业数据", + "result": "结果", + "duration": "耗时", + "attempts": "重试次数", + "nextRetry": "下次重试" + }, + "actions": { + "retry": "重试", + "cancel": "取消", + "delete": "删除", + "viewDetails": "查看详情" + }, + "empty": "队列中暂无作业", + "loading": "正在加载队列状态...", + "error": "加载队列状态失败" + } + }, + "route": { + "title": "路由管理", + "description": "管理所有路由组,包括添加、删除、编辑等操作。", + "columns": { + "id": "组ID", + "remarks": "备注", + "action": "动作", + "actions": "操作", + "matchRules": "匹配{{count}}条规则" + }, + "actions": { + "dns": "指定DNS服务器进行解析", + "block": "禁止访问" + }, + "form": { + "add": "添加路由", + "edit": "编辑路由", + "create": "创建路由", + "remarks": "备注", + "remarksPlaceholder": "请输入备注", + "match": "匹配规则", + "matchPlaceholder": "example.com\n*.example.com", + "action": "动作", + "actionPlaceholder": "请选择动作", + "dns": "DNS服务器", + "dnsPlaceholder": "请输入DNS服务器", + "cancel": "取消", + "submit": "提交", + "validation": { + "remarks": "请输入有效的备注" + } + }, + "toolbar": { + "searchPlaceholder": "搜索路由...", + "reset": "重置" + }, + "messages": { + "deleteConfirm": "确认删除", + "deleteDescription": "此操作将永久删除该路由组,删除后无法恢复。确定要继续吗?", + "deleteButton": "删除", + "deleteSuccess": "删除成功", + "createSuccess": "创建成功", + "updateSuccess": "更新成功" + } + }, + "order": { + "title": "订单管理", + "description": "在这里可以查看用户订单,包括分配、查看、删除等操作。", + "table": { + "columns": { + "tradeNo": "订单号", + "type": "类型", + "plan": "订阅计划", + "period": "周期", + "amount": "支付金额", + "status": "订单状态", + "commission": "佣金金额", + "commissionStatus": "佣金状态", + "createdAt": "创建时间" + } + }, + "type": { + "NEW": "新购", + "RENEWAL": "续费", + "UPGRADE": "升级", + "RESET_FLOW": "流量重置" + }, + "period": { + "month_price": "月付", + "quarter_price": "季付", + "half_year_price": "半年付", + "year_price": "年付", + "two_year_price": "两年付", + "three_year_price": "三年付", + "onetime_price": "一次性", + "reset_price": "流量重置包" + }, + "status": { + "PENDING": "待支付", + "PROCESSING": "开通中", + "CANCELLED": "已取消", + "COMPLETED": "已完成", + "DISCOUNTED": "已折抵", + "tooltip": "标记为[已支付]后将会由系统进行开通后并完成" + }, + "commission": { + "PENDING": "待确认", + "PROCESSING": "发放中", + "VALID": "有效", + "INVALID": "无效" + }, + "actions": { + "markAsPaid": "标记为已支付", + "cancel": "取消订单", + "openMenu": "打开菜单", + "reset": "重置" + }, + "search": { + "placeholder": "搜索订单..." + }, + "dialog": { + "title": "订单信息", + "basicInfo": "基本信息", + "amountInfo": "金额信息", + "timeInfo": "时间信息", + "addOrder": "添加订单", + "assignOrder": "订单分配", + "fields": { + "userEmail": "用户邮箱", + "orderPeriod": "订单周期", + "subscriptionPlan": "订阅计划", + "callbackNo": "回调单号", + "paymentAmount": "支付金额", + "balancePayment": "余额支付", + "discountAmount": "优惠金额", + "refundAmount": "退回金额", + "deductionAmount": "折抵金额", + "createdAt": "创建时间", + "updatedAt": "更新时间" + }, + "placeholders": { + "email": "请输入用户邮箱", + "plan": "请选择订阅计划", + "period": "请选择购买时长", + "amount": "请输入需要支付的金额" + }, + "actions": { + "cancel": "取消", + "confirm": "确定" + }, + "messages": { + "addSuccess": "添加成功" + } + } + }, + "coupon": { + "title": "优惠券管理", + "description": "在这里可以查看优惠券,包括增加、查看、删除等操作。", + "table": { + "columns": { + "id": "ID", + "show": "启用", + "name": "卷名称", + "type": "类型", + "code": "卷码", + "limitUse": "剩余次数", + "limitUseWithUser": "可用次数/用户", + "validity": "有效期", + "actions": "操作" + }, + "validity": { + "expired": "已过期{{days}}天", + "notStarted": "{{days}}天后开始", + "remaining": "剩余{{days}}天", + "startTime": "开始时间", + "endTime": "结束时间", + "unlimited": "无限次", + "noLimit": "无限制" + }, + "actions": { + "edit": "编辑", + "delete": "删除", + "deleteConfirm": { + "title": "确认删除", + "description": "此操作将永久删除该优惠券,删除后无法恢复。确定要继续吗?", + "confirmText": "删除" + } + }, + "toolbar": { + "search": "搜索优惠券...", + "type": "类型", + "reset": "重置", + "types": { + "1": "按金额优惠", + "2": "按比例优惠" + } + } + }, + "form": { + "add": "添加优惠券", + "edit": "编辑优惠券", + "name": { + "label": "优惠券名称", + "placeholder": "请输入优惠券名称", + "required": "请输入优惠券名称" + }, + "type": { + "label": "优惠券类型和值", + "placeholder": "优惠券类型" + }, + "value": { + "placeholder": "请输入值" + }, + "validity": { + "label": "优惠券有效期", + "to": "至", + "endTimeError": "结束时间必须晚于开始时间" + }, + "limitUse": { + "label": "最大使用次数", + "placeholder": "限制最大使用次数,留空则不限制", + "description": "设置优惠券的总使用次数限制,留空表示不限制使用次数" + }, + "limitUseWithUser": { + "label": "每个用户可使用次数", + "placeholder": "限制每个用户可使用次数,留空则不限制", + "description": "限制每个用户可使用该优惠券的次数,留空表示不限制单用户使用次数" + }, + "limitPeriod": { + "label": "指定周期", + "placeholder": "限制指定周期可以使用优惠,留空则不限制", + "description": "选择可以使用优惠券的订阅周期,留空表示不限制使用周期", + "empty": "没有找到匹配的周期" + }, + "limitPlan": { + "label": "指定订阅", + "placeholder": "限制指定订阅可以使用优惠,留空则不限制", + "empty": "没有找到匹配的订阅" + }, + "code": { + "label": "自定义优惠码", + "placeholder": "自定义优惠码,留空则自动生成", + "description": "可以自定义优惠码,留空则系统自动生成" + }, + "generateCount": { + "label": "批量生成数量", + "placeholder": "批量生成优惠码数量,留空则生成单个", + "description": "批量生成多个优惠码,留空则只生成单个优惠码" + }, + "submit": { + "saving": "保存中...", + "save": "保存" + }, + "error": { + "saveFailed": "保存优惠券失败" + } + } + }, + "notice": { + "title": "公告管理", + "description": "在这里可以配置公告,包括添加、删除、编辑等操作。", + "table": { + "columns": { + "id": "ID", + "show": "显示状态", + "title": "标题", + "actions": "操作" + }, + "toolbar": { + "search": "搜索公告标题...", + "reset": "重置", + "sort": { + "edit": "编辑排序", + "save": "保存排序" + } + }, + "actions": { + "edit": "编辑", + "delete": { + "title": "删除确认", + "description": "确定要删除该条公告吗?此操作无法撤销。", + "success": "删除成功" + } + } + }, + "form": { + "add": { + "title": "添加公告", + "button": "添加公告" + }, + "edit": { + "title": "编辑公告" + }, + "fields": { + "title": { + "label": "标题", + "placeholder": "请输入公告标题" + }, + "content": { + "label": "公告内容" + }, + "img_url": { + "label": "公告背景", + "placeholder": "请输入公告背景图片URL" + }, + "show": { + "label": "显示" + }, + "tags": { + "label": "节点标签", + "placeholder": "输入后回车添加标签" + } + }, + "buttons": { + "cancel": "取消", + "submit": "提交", + "success": "提交成功" + } + } + }, + "theme": { + "title": "主题配置", + "description": "主题配置,包括主题色、字体大小等。如果你采用前后分离的方式部署V2board,那么主题配置将不会生效。", + "upload": { + "button": "上传主题", + "title": "上传主题", + "description": "请上传一个有效的主题压缩包(.zip 格式)。主题包应包含完整的主题文件结构。", + "dragText": "将主题文件拖放到此处,或者", + "clickText": "点击选择", + "supportText": "支持 .zip 格式的主题包", + "uploading": "正在上传...", + "error": { + "format": "只支持上传 ZIP 格式的主题文件" + } + }, + "preview": { + "title": "主题预览", + "imageCount": "{{current}} / {{total}}" + }, + "card": { + "version": "版本: {{version}}", + "currentTheme": "当前主题", + "activateTheme": "激活主题", + "configureTheme": "主题设置", + "preview": "预览", + "delete": { + "title": "删除主题", + "description": "确定要删除该主题吗?删除后无法恢复。", + "button": "删除", + "error": { + "active": "不能删除当前使用的主题" + } + } + }, + "config": { + "title": "配置{{name}}主题", + "description": "修改主题的样式、布局和其他显示选项。", + "cancel": "取消", + "save": "保存", + "success": "保存成功" + } + }, + "ticket": { + "title": "工单管理", + "description": "在这里可以查看用户工单,包括查看、回复、关闭等操作。", + "columns": { + "id": "工单号", + "subject": "主题", + "level": "优先级", + "status": "状态", + "updated_at": "最后更新", + "created_at": "创建时间", + "actions": "操作" + }, + "status": { + "closed": "已关闭", + "replied": "已回复", + "pending": "待回复", + "processing": "处理中" + }, + "level": { + "low": "低", + "medium": "中", + "high": "高" + }, + "filter": { + "placeholder": "搜索{field}...", + "no_results": "未找到结果", + "selected": "已选择 {count} 项", + "clear": "清除筛选" + }, + "actions": { + "view_details": "查看详情", + "close_ticket": "关闭工单", + "close_confirm_title": "确认关闭工单", + "close_confirm_description": "关闭后将无法继续回复,是否确认关闭该工单?", + "close_confirm_button": "关闭工单", + "close_success": "工单已关闭", + "view_ticket": "查看工单" + }, + "detail": { + "no_messages": "暂无消息记录", + "created_at": "创建于", + "user_info": "用户信息", + "traffic_records": "流量记录", + "order_records": "订单记录", + "input": { + "closed_placeholder": "工单已关闭", + "reply_placeholder": "请输入回复内容...", + "sending": "发送中...", + "send": "发送" + } + } + }, + "server": { + "manage": { + "title": "节点管理", + "description": "管理所有节点,包括添加、删除、编辑等操作。" + }, + "columns": { + "sort": "排序", + "nodeId": "节点ID", + "show": "显隐", + "node": "节点", + "address": "地址", + "onlineUsers": { + "title": "在线人数", + "tooltip": "在线人数根据服务端上报频率而定" + }, + "rate": { + "title": "倍率", + "tooltip": "流量扣费倍率" + }, + "groups": { + "title": "权限组", + "tooltip": "可订阅到该节点的权限组", + "empty": "--" + }, + "type": "类型", + "actions": "操作", + "copyAddress": "复制连接地址", + "internalPort": "内部端口", + "status": { + "0": "未运行", + "1": "无人使用或异常", + "2": "运行正常" + }, + "actions_dropdown": { + "edit": "编辑", + "copy": "复制", + "delete": { + "title": "确认删除", + "description": "此操作将永久删除该节点,删除后无法恢复。确定要继续吗?", + "confirm": "删除" + }, + "copy_success": "复制成功", + "delete_success": "删除成功" + } + }, + "toolbar": { + "search": "搜索节点...", + "type": "类型", + "reset": "重置", + "sort": { + "tip": "拖拽节点进行排序,完成后点击保存", + "edit": "编辑排序", + "save": "保存排序" + } + }, + "form": { + "add_node": "添加节点", + "edit_node": "编辑节点", + "new_node": "新建节点", + "name": { + "label": "节点名称", + "placeholder": "请输入节点名称", + "error": "请输入有效的节点名称" + }, + "rate": { + "label": "倍率", + "error": "请输入有效的倍率" + }, + "code": { + "label": "自定义节点ID", + "optional": "(选填)", + "placeholder": "请输入自定义节点ID" + }, + "tags": { + "label": "节点标签", + "placeholder": "输入后回车添加标签" + }, + "groups": { + "label": "权限组", + "add": "添加权限组", + "placeholder": "请选择权限组", + "empty": "未找到结果" + }, + "host": { + "label": "节点地址", + "placeholder": "请输入节点域名或者IP" + }, + "port": { + "label": "连接端口", + "placeholder": "用户连接端口", + "tooltip": "用户实际连接使用的端口,这是客户端配置中需要填写的端口号。如果使用了中转或隧道,这个端口可能与服务器实际监听的端口不同。", + "sync": "同步到服务端口" + }, + "server_port": { + "label": "服务端口", + "placeholder": "服务端开放端口", + "tooltip": "服务器实际监听的端口,这是在服务器上开放的真实端口。如果使用了中转或隧道,这个端口可能与用户连接端口不同。" + }, + "parent": { + "label": "父节点", + "placeholder": "选择父节点", + "none": "无" + }, + "route": { + "label": "路由组", + "placeholder": "选择路由组", + "empty": "未找到结果" + }, + "submit": "提交", + "cancel": "取消", + "success": "提交成功" + }, + "dynamic_form": { + "shadowsocks": { + "cipher": { + "label": "加密算法", + "placeholder": "选择加密算法" + }, + "obfs": { + "label": "混淆", + "placeholder": "选择混淆方式", + "none": "无", + "http": "HTTP" + }, + "obfs_settings": { + "path": "路径", + "host": "Host" + } + }, + "vmess": { + "tls": { + "label": "TLS", + "placeholder": "请选择安全性", + "disabled": "不支持", + "enabled": "支持" + }, + "tls_settings": { + "server_name": { + "label": "服务器名称指示(SNI)", + "placeholder": "不使用请留空" + }, + "allow_insecure": "允许不安全?" + }, + "network": { + "label": "传输协议", + "placeholder": "选择传输协议" + } + }, + "trojan": { + "server_name": { + "label": "服务器名称指示(SNI)", + "placeholder": "当节点地址于证书不一致时用于证书验证" + }, + "allow_insecure": "允许不安全?", + "network": { + "label": "传输协议", + "placeholder": "选择传输协议" + } + }, + "hysteria": { + "version": { + "label": "协议版本", + "placeholder": "协议版本" + }, + "alpn": { + "label": "ALPN", + "placeholder": "ALPN" + }, + "obfs": { + "label": "混淆", + "type": { + "label": "混淆实现", + "placeholder": "选择混淆实现", + "salamander": "Salamander" + }, + "password": { + "label": "混淆密码", + "placeholder": "请输入混淆密码", + "generate_success": "混淆密码生成成功" + } + }, + "tls": { + "server_name": { + "label": "服务器名称指示(SNI)", + "placeholder": "当节点地址于证书不一致时用于证书验证" + }, + "allow_insecure": "允许不安全?" + }, + "bandwidth": { + "up": { + "label": "上行宽带", + "placeholder": "请输入上行宽带", + "suffix": "Mbps", + "bbr_tip": ",留空则使用BBR" + }, + "down": { + "label": "下行宽带", + "placeholder": "请输入下行宽带", + "suffix": "Mbps", + "bbr_tip": ",留空则使用BBR" + } + } + }, + "vless": { + "tls": { + "label": "安全性", + "placeholder": "请选择安全性", + "none": "无", + "tls": "TLS", + "reality": "Reality" + }, + "tls_settings": { + "server_name": { + "label": "服务器名称指示(SNI)", + "placeholder": "不使用请留空" + }, + "allow_insecure": "允许不安全?" + }, + "reality_settings": { + "server_name": { + "label": "伪装站点(dest)", + "placeholder": "例如:example.com" + }, + "server_port": { + "label": "端口(port)", + "placeholder": "例如:443" + }, + "allow_insecure": "允许不安全?", + "private_key": { + "label": "私钥(Private key)" + }, + "public_key": { + "label": "公钥(Public key)" + }, + "short_id": { + "label": "Short ID", + "placeholder": "可留空,长度为2的倍数,最长16位", + "description": "客户端可用的 shortId 列表,可用于区分不同的客户端,使用0-f的十六进制字符", + "generate": "生成 Short ID", + "success": "Short ID 生成成功" + }, + "key_pair": { + "generate": "生成密钥对", + "success": "密钥对生成成功", + "error": "生成密钥对失败" + } + }, + "network": { + "label": "传输协议", + "placeholder": "选择传输协议" + }, + "flow": { + "label": "流控", + "placeholder": "选择流控" + } + } + }, + "network_settings": { + "edit_protocol": "编辑协议", + "edit_protocol_config": "编辑协议配置", + "use_template": "使用{{template}}模板", + "json_config_placeholder": "请输入JSON配置", + "json_config_placeholder_with_template": "请输入JSON配置或选择上方模板", + "validation": { + "must_be_object": "配置必须是一个JSON对象", + "invalid_json": "无效的JSON格式" + }, + "errors": { + "save_failed": "保存时发生错误" + } + }, + "common": { + "cancel": "取消", + "confirm": "确定" + } + }, + "user": { + "manage": { + "title": "用户管理", + "description": "在这里可以管理用户,包括增加、删除、编辑、查询等操作。" + }, + "columns": { + "is_admin": "管理员", + "is_staff": "员工", + "id": "ID", + "email": "邮箱", + "online_count": "在线设备", + "status": "状态", + "subscription": "订阅", + "group": "权限组", + "used_traffic": "已用流量", + "total_traffic": "总流量", + "expire_time": "到期时间", + "balance": "余额", + "commission": "佣金", + "register_time": "注册时间", + "actions": "操作", + "device_limit": { + "unlimited": "无设备数限制", + "limited": "最多可同时在线 {{count}} 台设备" + }, + "status_text": { + "normal": "正常", + "banned": "封禁" + }, + "online_status": { + "online": "当前在线", + "never": "从未在线", + "last_online": "最后在线时间: {{time}}", + "offline_duration": { + "days": "离线时长: {{count}}天", + "hours": "离线时长: {{count}}小时", + "minutes": "离线时长: {{count}}分钟", + "seconds": "离线时长: {{count}}秒" + } + }, + "expire_status": { + "permanent": "长期有效", + "expired": "已过期 {{days}} 天", + "remaining": "剩余 {{days}} 天" + }, + "actions_menu": { + "edit": "编辑", + "assign_order": "分配订单", + "copy_url": "复制订阅URL", + "reset_secret": "重置UUID及订阅URL", + "orders": "TA的订单", + "invites": "TA的邀请", + "traffic_records": "TA的流量记录" + } + }, + "filter": { + "selected": "已选择 {{count}} 项", + "no_results": "未找到结果", + "clear": "清除筛选", + "search_placeholder": "搜索...", + "email_search": "搜索用户邮箱...", + "advanced": "高级筛选", + "reset": "重置筛选", + "sheet": { + "title": "高级筛选", + "description": "添加一个或多个筛选条件来精确查找用户", + "conditions": "筛选条件", + "add": "添加条件", + "condition": "条件 {{number}}", + "field": "选择字段", + "operator": "选择操作符", + "value": "输入值", + "value_number": "输入数值({{unit}})", + "reset": "重置", + "apply": "应用筛选" + }, + "fields": { + "email": "邮箱", + "id": "用户ID", + "plan_id": "订阅", + "transfer_enable": "流量", + "total_used": "已用流量", + "online_count": "在线设备", + "expired_at": "到期时间", + "uuid": "UUID", + "token": "Token", + "banned": "账号状态", + "remark": "备注", + "inviter_email": "邀请人邮箱", + "invite_user_id": "邀请人ID", + "is_admin": "管理员", + "is_staff": "员工" + }, + "operators": { + "contains": "包含", + "eq": "等于", + "gt": "大于", + "lt": "小于" + }, + "status": { + "normal": "正常", + "banned": "禁用" + }, + "boolean": { + "true": "是", + "false": "否" + } + }, + "generate": { + "button": "创建用户", + "title": "创建用户", + "form": { + "email": "邮箱", + "email_prefix": "帐号(批量生成请留空)", + "email_domain": "域", + "password": "密码", + "password_placeholder": "留空则密码与邮件相同", + "expire_time": "到期时间", + "expire_time_placeholder": "请选择用户到期日期,留空为长期有效", + "permanent": "长期有效", + "subscription": "订阅计划", + "subscription_none": "无", + "generate_count": "生成数量", + "generate_count_placeholder": "如果为批量生产请输入生成数量", + "cancel": "取消", + "submit": "生成", + "success": "生成成功" + } + }, + "edit": { + "button": "编辑用户信息", + "title": "用户管理", + "form": { + "email": "邮箱", + "email_placeholder": "请输入邮箱", + "inviter_email": "邀请人邮箱", + "inviter_email_placeholder": "请输入邮箱", + "password": "密码", + "password_placeholder": "如需修改密码请输入", + "balance": "余额", + "balance_placeholder": "请输入余额", + "commission_balance": "佣金余额", + "commission_balance_placeholder": "请输入佣金余额", + "upload": "已用上行", + "upload_placeholder": "已用上行", + "download": "已用下行", + "download_placeholder": "已用下行", + "total_traffic": "流量", + "total_traffic_placeholder": "请输入流量", + "expire_time": "到期时间", + "expire_time_placeholder": "请选择用户到期日期,留空为长期有效", + "expire_time_specific": "具体时间", + "expire_time_today": "设为当天结束", + "expire_time_permanent": "长期有效", + "expire_time_1month": "一个月", + "expire_time_3months": "三个月", + "expire_time_confirm": "确定", + "subscription": "订阅计划", + "subscription_none": "无", + "account_status": "账户状态", + "commission_type": "佣金类型", + "commission_type_system": "跟随系统设置", + "commission_type_cycle": "循环返利", + "commission_type_onetime": "首次返利", + "commission_rate": "推荐返利比例", + "commission_rate_placeholder": "为空则跟随站点设置返利比例", + "discount": "专享折扣比例", + "discount_placeholder": "为空则不享受专享折扣", + "speed_limit": "限速", + "speed_limit_placeholder": "留空则不限速", + "device_limit": "设备限制", + "device_limit_placeholder": "留空则不限制", + "is_admin": "是否管理员", + "is_staff": "是否员工", + "remarks": "备注", + "remarks_placeholder": "请在这里记录", + "cancel": "取消", + "submit": "提交", + "success": "修改成功" + } + } + }, + "subscribe": { + "plan": { + "title": "订阅套餐", + "add": "添加套餐", + "search": "搜索套餐...", + "sort": { + "edit": "编辑排序", + "save": "保存排序" + }, + "columns": { + "id": "ID", + "show": "显示", + "sell": "新购", + "renew": "续费", + "renew_tooltip": "在订阅停止销售时,已购用户是否可以续费", + "name": "名称", + "stats": "统计", + "group": "权限组", + "price": "价格", + "actions": "操作", + "edit": "编辑", + "delete": "删除", + "delete_confirm": { + "title": "确认删除", + "description": "此操作将永久删除该订阅,删除后无法恢复。确定要继续吗?", + "success": "删除成功" + }, + "price_period": { + "monthly": "月付", + "quarterly": "季付", + "half_yearly": "半年付", + "yearly": "年付", + "two_yearly": "两年付", + "three_yearly": "三年付", + "onetime": "流量包", + "reset_traffic": "重置包", + "unit": { + "month": "元/月", + "quarter": "元/季", + "half_year": "元/半年", + "year": "元/年", + "two_year": "元/两年", + "three_year": "元/三年", + "times": "元/次" + } + } + }, + "form": { + "add_title": "添加套餐", + "edit_title": "编辑套餐", + "name": { + "label": "套餐名称", + "placeholder": "请输入套餐名称" + }, + "group": { + "label": "服务器分组", + "add": "添加分组", + "placeholder": "请选择服务器分组" + }, + "transfer": { + "label": "流量", + "placeholder": "请输入流量限制", + "unit": "GB" + }, + "speed": { + "label": "速度限制", + "placeholder": "请输入速度限制", + "unit": "Mbps" + }, + "price": { + "title": "价格设置", + "base_price": "基础价格", + "clear": { + "button": "清空", + "tooltip": "清空所有价格" + }, + "period": { + "monthly": "每月", + "months": "{{count}}个月" + }, + "onetime_desc": "一次性流量包,无时间限制", + "reset_desc": "重置流量包,可多次使用" + }, + "device": { + "label": "设备限制", + "placeholder": "请输入设备限制", + "unit": "台设备" + }, + "capacity": { + "label": "容量限制", + "placeholder": "请输入容量限制", + "unit": "个用户" + }, + "reset_method": { + "label": "流量重置方式", + "placeholder": "请选择重置方式", + "description": "流量重置方式将决定如何重置流量", + "options": { + "follow_system": "跟随系统设置", + "monthly_first": "每月首日", + "monthly_reset": "每月购买日", + "no_reset": "不重置", + "yearly_first": "每年首日", + "yearly_reset": "每年购买日" + } + }, + "content": { + "label": "套餐说明", + "placeholder": "请输入套餐说明", + "description": "支持 Markdown 格式", + "preview": "预览", + "preview_button": { + "show": "显示预览", + "hide": "隐藏预览" + }, + "template": { + "button": "使用模板", + "tooltip": "使用默认模板", + "content": "## 套餐特点\n\n- 流量:{{transfer}} GB\n- 速度:{{speed}} Mbps\n- 设备数:{{devices}}\n\n## 使用说明\n\n1. 套餐有效期 {{validity}} 天\n2. 流量{{reset_method}}重置\n3. 最多支持 {{capacity}} 个用户同时在线" + } + }, + "force_update": { + "label": "强制更新用户套餐" + }, + "submit": { + "cancel": "取消", + "submit": "提交", + "submitting": "提交中...", + "success": { + "add": "套餐添加成功", + "update": "套餐更新成功" + } + } + }, + "page": { + "description": "在这里可以配置订阅计划,包括添加、删除、编辑等操作。" + } + } + }, + "auth": { + "signIn": { + "title": "登录", + "description": "请输入您的邮箱和密码登录系统", + "email": "邮箱地址", + "emailPlaceholder": "name@example.com", + "password": "密码", + "passwordPlaceholder": "请输入密码", + "forgotPassword": "忘记密码?", + "submit": "登录", + "rememberMe": "记住我", + "resetPassword": { + "title": "重置密码", + "description": "在站点目录下执行以下命令找回密码", + "command": "php artisan reset:password 管理员邮箱" + }, + "validation": { + "emailRequired": "请输入邮箱地址", + "emailInvalid": "邮箱地址格式不正确", + "passwordRequired": "请输入密码", + "passwordLength": "密码长度至少为7个字符" + } + } + }, + "sidebar": { + "dashboard": "仪表盘", + "systemManagement": "系统管理", + "systemConfig": "系统配置", + "pluginManagement": "插件管理", + "themeConfig": "主题配置", + "noticeManagement": "公告管理", + "paymentConfig": "支付配置", + "knowledgeManagement": "知识库管理", + "nodeManagement": "节点管理", + "permissionGroupManagement": "权限组管理", + "routeManagement": "路由管理", + "subscriptionManagement": "订阅管理", + "planManagement": "套餐管理", + "orderManagement": "订单管理", + "couponManagement": "优惠券管理", + "userManagement": "用户管理", + "ticketManagement": "工单管理" + } +}; \ No newline at end of file diff --git a/public/theme/Xboard/assets/images/background.svg b/public/theme/Xboard/assets/images/background.svg deleted file mode 100644 index e46699774..000000000 --- a/public/theme/Xboard/assets/images/background.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/public/theme/Xboard/assets/umi.js b/public/theme/Xboard/assets/umi.js deleted file mode 100644 index c21b7c727..000000000 --- a/public/theme/Xboard/assets/umi.js +++ /dev/null @@ -1,3818 +0,0 @@ -(function(){"use strict";try{if(typeof document<"u"){var o=document.createElement("style");o.appendChild(document.createTextNode(`@charset "UTF-8";.xboard-nav-mask{position:fixed;top:0;bottom:0;right:0;left:0;background:#000;z-index:999;opacity:.5;display:none}.xboard-plan-features{padding:0;list-style:none;font-size:16px;flex:1 0 auto}.xboard-plan-features>li{padding:6px 0;color:#7c8088;text-align:left}.xboard-plan-features>li>b{color:#2a2e36;font-weight:500}.xboard-plan-content{padding-top:20px;padding-left:20px}.xboard-plan-features>li:before{font-family:Font Awesome\\ 5 Free;content:"";padding-right:10px;color:#425b94;font-weight:900}.xboard-email-whitelist-enable{display:flex}.xboard-email-whitelist-enable input{flex:2 1;border-top-right-radius:0;border-bottom-right-radius:0}.xboard-email-whitelist-enable select{flex:1 1;border-top-left-radius:0;border-bottom-left-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-position:right 50%;background-repeat:no-repeat;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='12'%3E%3Cpath d='M3.862 7.931L0 4.069h7.725z'/%3E%3C/svg%3E");padding-right:1.5em}.block.block-mode-loading:before{background:hsla(0,0%,100%,.7)}#server .ant-drawer-content-wrapper{max-width:500px}.xboard-trade-no{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xboard-lang-item{padding:10px 20px}.xboard-lang-item:hover{background:#eee}.xboard-auth-lang-btn{position:absolute;right:0;top:0}.xboard-no-access{color:#855c0d;background-color:#ffefd1;position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:0 solid transparent;border-radius:.25rem}.xboard-notice-background{height:100%;position:absolute;top:0;right:0;left:0;bottom:0;z-index:80;opacity:.1}.xboard-auth-box{position:fixed;right:0;left:0;top:0;bottom:0;display:flex;align-items:center;overflow-y:auto}.content-header{height:3.25rem}#page-container.page-header-fixed #main-container{padding-top:3.25rem}.xboard-copyright{position:absolute;bottom:10px;right:0;left:15px;font-size:10px;opacity:.2}.ant-table-thead>tr>th{background:#fff!important}.xboard-container-title{flex:1 1;color:#fff}.xboard-order-info>div{display:flex;font-size:14px;margin-bottom:5px}.xboard-order-info>div>span:first-child{flex:1 1;opacity:.5}.xboard-order-info>div>span:last-child{flex:2 1;font-family:menlo}.xboard-bg-pixels{background-image:url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjIwMCIgd2lkdGg9IjIwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEwIDgpIj48Y2lyY2xlIGN4PSIxNzYiIGN5PSIxMiIgcj0iNCIgc3Ryb2tlPSIjZGRkIiBzdHJva2Utd2lkdGg9IjEuMjUiLz48cGF0aCBkPSJNMjAuNS41bDIzIDExbS0yOSA4NGwtMy43OSAxMC4zNzdNMjcuMDM3IDEzMS40bDUuODk4IDIuMjAzLTMuNDYgNS45NDcgNi4wNzIgMi4zOTItMy45MzMgNS43NThtMTI4LjczMyAzNS4zN2wuNjkzLTkuMzE2IDEwLjI5Mi4wNTIuNDE2LTkuMjIyIDkuMjc0LjMzMk0uNSA0OC41czYuMTMxIDYuNDEzIDYuODQ3IDE0LjgwNWMuNzE1IDguMzkzLTIuNTIgMTQuODA2LTIuNTIgMTQuODA2TTEyNC41NTUgOTBzLTcuNDQ0IDAtMTMuNjcgNi4xOTJjLTYuMjI3IDYuMTkyLTQuODM4IDEyLjAxMi00LjgzOCAxMi4wMTJtMi4yNCA2OC42MjZzLTQuMDI2LTkuMDI1LTE4LjE0NS05LjAyNS0xOC4xNDUgNS43LTE4LjE0NSA1LjciIHN0cm9rZT0iI2RkZCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjEuMjUiLz48cGF0aCBkPSJNODUuNzE2IDM2LjE0Nmw1LjI0My05LjUyMWgxMS4wOTNsNS40MTYgOS41MjEtNS40MSA5LjE4NUg5MC45NTN6bTYzLjkwOSAxNS40NzloMTAuNzV2MTAuNzVoLTEwLjc1eiIgc3Ryb2tlPSIjZGRkIiBzdHJva2Utd2lkdGg9IjEuMjUiLz48ZyBmaWxsPSIjZGRkIj48Y2lyY2xlIGN4PSI3MS41IiBjeT0iNy41IiByPSIxLjUiLz48Y2lyY2xlIGN4PSIxNzAuNSIgY3k9Ijk1LjUiIHI9IjEuNSIvPjxjaXJjbGUgY3g9IjgxLjUiIGN5PSIxMzQuNSIgcj0iMS41Ii8+PGNpcmNsZSBjeD0iMTMuNSIgY3k9IjIzLjUiIHI9IjEuNSIvPjxwYXRoIGQ9Ik05MyA3MWgzdjNoLTN6bTMzIDg0aDN2M2gtM3ptLTg1IDE4aDN2M2gtM3oiLz48L2c+PHBhdGggZD0iTTM5LjM4NCA1MS4xMjJsNS43NTgtNC40NTQgNi40NTMgNC4yMDUtMi4yOTQgNy4zNjNoLTcuNzl6TTEzMC4xOTUgNC4wM2wxMy44MyA1LjA2Mi0xMC4wOSA3LjA0OHptLTgzIDk1bDE0LjgzIDUuNDI5LTEwLjgyIDcuNTU3LTQuMDEtMTIuOTg3ek01LjIxMyAxNjEuNDk1bDExLjMyOCAyMC44OTdMMi4yNjUgMTgweiIgc3Ryb2tlPSIjZGRkIiBzdHJva2Utd2lkdGg9IjEuMjUiLz48cGF0aCBkPSJNMTQ5LjA1IDEyNy40NjhzLS41MSAyLjE4My45OTUgMy4zNjZjMS41NiAxLjIyNiA4LjY0Mi0xLjg5NSAzLjk2Ny03Ljc4NS0yLjM2Ny0yLjQ3Ny02LjUtMy4yMjYtOS4zMyAwLTUuMjA4IDUuOTM2IDAgMTcuNTEgMTEuNjEgMTMuNzMgMTIuNDU4LTYuMjU3IDUuNjMzLTIxLjY1Ni01LjA3My0yMi42NTQtNi42MDItLjYwNi0xNC4wNDMgMS43NTYtMTYuMTU3IDEwLjI2OC0xLjcxOCA2LjkyIDEuNTg0IDE3LjM4NyAxMi40NSAyMC40NzYgMTAuODY2IDMuMDkgMTkuMzMxLTQuMzEgMTkuMzMxLTQuMzEiIHN0cm9rZT0iI2RkZCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjEuMjUiLz48L2c+PC9zdmc+);background-size:auto}#page-container{min-height:100%}#page-container .content,#main-container{background-color:#f0f3f8!important}a:not([href]):hover{color:unset}.xboard-login-i18n-btn{cursor:pointer;margin-top:2.5;float:right}.custom-control-label:after{left:-1.25rem}.xboard-shortcuts-item{cursor:pointer;padding:20px;border-bottom:1px solid #eee;position:relative}.xboard-shortcuts-item>.description{font-size:12px;opacity:.5}.xboard-shortcuts-item i{position:absolute;top:25px;font-size:30px;right:20px;opacity:.5}.xboard-shortcuts-item:hover{background:#f6f6f6}.btn{border:0}.xboard-plan-tabs{border:1px solid #000;padding:8px 4px;border-radius:100px}.xboard-plan-tabs>span{cursor:pointer;padding:5px 12px}.xboard-plan-tabs>.active{background:#000;border-radius:100px;color:#fff}.xboard-sold-out-tag{background-color:#c12c1f;border-radius:100px;padding:2px 8px;font-size:13px;color:#fff}.xboard-payment-qrcode path[fill="#FFFFFF"]{--darkreader-inline-fill: #fff!important}.alert-success{color:#445e27;background-color:#e6f0db;border-color:#dceacd}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:0 solid transparent;border-radius:.25rem}.custom-html-style{color:#333}.custom-html-style h1{font-size:32px;padding:0;border:none;font-weight:700;margin:32px 0;line-height:1.2}.custom-html-style h2{font-size:24px;padding:0;border:none;font-weight:700;margin:24px 0;line-height:1.7}.custom-html-style h3{font-size:18px;margin:18px 0;padding:0;line-height:1.7;border:none}.custom-html-style p{font-size:14px;line-height:1.7;margin:8px 0}.custom-html-style a{color:#0052d9}.custom-html-style a:hover{text-decoration:none}.custom-html-style strong{font-weight:700}.custom-html-style ol,.custom-html-style ul{font-size:14px;line-height:28px;padding-left:36px}.custom-html-style li{margin-bottom:8px;line-height:1.7}.custom-html-style hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.custom-html-style pre{display:block;padding:20px;line-height:28px;word-break:break-word}.custom-html-style code,.custom-html-style pre{background-color:#f5f5f5;font-size:14px;border-radius:0;overflow-x:auto}.custom-html-style code{padding:3px 0;margin:0;word-break:normal}.custom-html-style code:after,.custom-html-style code:before{letter-spacing:0}.custom-html-style blockquote{position:relative;margin:16px 0;padding:5px 8px 5px 30px;background:none repeat scroll 0 0 rgba(102,128,153,.05);color:#333;border:none;border-left:10px solid #d6dbdf}.custom-html-style img,.custom-html-style video{max-width:100%}.custom-html-style table{font-size:14px;line-height:1.7;max-width:100%;overflow:auto;border:1px solid #f6f6f6;border-collapse:collapse;border-spacing:0;box-sizing:border-box}.custom-html-style table td,.custom-html-style table th{word-break:break-all;word-wrap:break-word;white-space:normal}.custom-html-style table tr{border:1px solid #efefef}.custom-html-style table tr:nth-child(2n){background-color:transparent}.custom-html-style table th{text-align:center;font-weight:700;border:1px solid #efefef;padding:10px 6px;background-color:#f5f7fa;word-break:break-word}.custom-html-style table td{border:1px solid #efefef;text-align:left;padding:10px 15px;word-break:break-word;min-width:60px}code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}.btn{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Liberation Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.btn.btn-square{border-radius:0}.btn.btn-rounded{border-radius:2rem}.btn .fa,.btn .si{position:relative;top:1px}.btn-group-sm>.btn .fa,.btn.btn-sm .fa{top:0}.btn-alt-primary{color:#054d9e;background-color:#cde4fe;border-color:#cde4fe}.btn-alt-primary:hover{color:#054d9e;background-color:#a8d0fc;border-color:#a8d0fc}.btn-alt-primary.focus,.btn-alt-primary:focus{color:#054d9e;background-color:#a8d0fc;border-color:#a8d0fc;box-shadow:0 0 0 .2rem #92c4fc40}.btn-alt-primary.disabled,.btn-alt-primary:disabled{color:#212529;background-color:#cde4fe;border-color:#cde4fe}.btn-alt-primary:not(:disabled):not(.disabled).active,.btn-alt-primary:not(:disabled):not(.disabled):active,.show>.btn-alt-primary.dropdown-toggle{color:#022954;background-color:#92c4fc;border-color:#92c4fc}.btn-alt-primary:not(:disabled):not(.disabled).active:focus,.btn-alt-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-alt-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #92c4fc40}.btn-alt-secondary{color:#495057;background-color:#f0f3f8;border-color:#f0f3f8}.btn-alt-secondary:hover{color:#495057;background-color:#d6deec;border-color:#d6deec}.btn-alt-secondary.focus,.btn-alt-secondary:focus{color:#495057;background-color:#d6deec;border-color:#d6deec;box-shadow:0 0 0 .2rem #c6d1e540}.btn-alt-secondary.disabled,.btn-alt-secondary:disabled{color:#212529;background-color:#f0f3f8;border-color:#f0f3f8}.btn-alt-secondary:not(:disabled):not(.disabled).active,.btn-alt-secondary:not(:disabled):not(.disabled):active,.show>.btn-alt-secondary.dropdown-toggle{color:#262a2d;background-color:#c6d1e5;border-color:#c6d1e5}.btn-alt-secondary:not(:disabled):not(.disabled).active:focus,.btn-alt-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-alt-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #c6d1e540}.btn-alt-success{color:#415b25;background-color:#d7e8c6;border-color:#d7e8c6}.btn-alt-success:hover{color:#415b25;background-color:#c5dcab;border-color:#c5dcab}.btn-alt-success.focus,.btn-alt-success:focus{color:#415b25;background-color:#c5dcab;border-color:#c5dcab;box-shadow:0 0 0 .2rem #b9d69b40}.btn-alt-success.disabled,.btn-alt-success:disabled{color:#212529;background-color:#d7e8c6;border-color:#d7e8c6}.btn-alt-success:not(:disabled):not(.disabled).active,.btn-alt-success:not(:disabled):not(.disabled):active,.show>.btn-alt-success.dropdown-toggle{color:#1a250f;background-color:#b9d69b;border-color:#b9d69b}.btn-alt-success:not(:disabled):not(.disabled).active:focus,.btn-alt-success:not(:disabled):not(.disabled):active:focus,.show>.btn-alt-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #b9d69b40}.btn-alt-info{color:#164f86;background-color:#d1e5f7;border-color:#d1e5f7}.btn-alt-info:hover{color:#164f86;background-color:#b0d2f2;border-color:#b0d2f2}.btn-alt-info.focus,.btn-alt-info:focus{color:#164f86;background-color:#b0d2f2;border-color:#b0d2f2;box-shadow:0 0 0 .2rem #9cc7ef40}.btn-alt-info.disabled,.btn-alt-info:disabled{color:#212529;background-color:#d1e5f7;border-color:#d1e5f7}.btn-alt-info:not(:disabled):not(.disabled).active,.btn-alt-info:not(:disabled):not(.disabled):active,.show>.btn-alt-info.dropdown-toggle{color:#0b2844;background-color:#9cc7ef;border-color:#9cc7ef}.btn-alt-info:not(:disabled):not(.disabled).active:focus,.btn-alt-info:not(:disabled):not(.disabled):active:focus,.show>.btn-alt-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #9cc7ef40}.btn-alt-warning{color:#996500;background-color:#ffecc6;border-color:#ffecc6}.btn-alt-warning:hover{color:#996500;background-color:#ffdfa0;border-color:#ffdfa0}.btn-alt-warning.focus,.btn-alt-warning:focus{color:#996500;background-color:#ffdfa0;border-color:#ffdfa0;box-shadow:0 0 0 .2rem #ffd78940}.btn-alt-warning.disabled,.btn-alt-warning:disabled{color:#212529;background-color:#ffecc6;border-color:#ffecc6}.btn-alt-warning:not(:disabled):not(.disabled).active,.btn-alt-warning:not(:disabled):not(.disabled):active,.show>.btn-alt-warning.dropdown-toggle{color:#4c3200;background-color:#ffd789;border-color:#ffd789}.btn-alt-warning:not(:disabled):not(.disabled).active:focus,.btn-alt-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-alt-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #ffd78940}.btn-alt-danger{color:#6e270d;background-color:#f6c4b1;border-color:#f6c4b1}.btn-alt-danger:hover{color:#6e270d;background-color:#f2aa8f;border-color:#f2aa8f}.btn-alt-danger.focus,.btn-alt-danger:focus{color:#6e270d;background-color:#f2aa8f;border-color:#f2aa8f;box-shadow:0 0 0 .2rem #f09a7b40}.btn-alt-danger.disabled,.btn-alt-danger:disabled{color:#212529;background-color:#f6c4b1;border-color:#f6c4b1}.btn-alt-danger:not(:disabled):not(.disabled).active,.btn-alt-danger:not(:disabled):not(.disabled):active,.show>.btn-alt-danger.dropdown-toggle{color:#290f05;background-color:#f09a7b;border-color:#f09a7b}.btn-alt-danger:not(:disabled):not(.disabled).active:focus,.btn-alt-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-alt-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #f09a7b40}.btn-alt-dark{color:#343a40;background-color:#ced3d8;border-color:#ced3d8}.btn-alt-dark:hover{color:#343a40;background-color:#b9c0c6;border-color:#b9c0c6}.btn-alt-dark.focus,.btn-alt-dark:focus{color:#343a40;background-color:#b9c0c6;border-color:#b9c0c6;box-shadow:0 0 0 .2rem #adb4bc40}.btn-alt-dark.disabled,.btn-alt-dark:disabled{color:#212529;background-color:#ced3d8;border-color:#ced3d8}.btn-alt-dark:not(:disabled):not(.disabled).active,.btn-alt-dark:not(:disabled):not(.disabled):active,.show>.btn-alt-dark.dropdown-toggle{color:#121416;background-color:#adb4bc;border-color:#adb4bc}.btn-alt-dark:not(:disabled):not(.disabled).active:focus,.btn-alt-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-alt-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #adb4bc40}.btn-alt-light{color:#343a40;background-color:#f8f9fa;border-color:#f8f9fa}.btn-alt-light:hover{color:#343a40;background-color:#e2e6ea;border-color:#e2e6ea}.btn-alt-light.focus,.btn-alt-light:focus{color:#343a40;background-color:#e2e6ea;border-color:#e2e6ea;box-shadow:0 0 0 .2rem #d4dae140}.btn-alt-light.disabled,.btn-alt-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-alt-light:not(:disabled):not(.disabled).active,.btn-alt-light:not(:disabled):not(.disabled):active,.show>.btn-alt-light.dropdown-toggle{color:#121416;background-color:#d4dae1;border-color:#d4dae1}.btn-alt-light:not(:disabled):not(.disabled).active:focus,.btn-alt-light:not(:disabled):not(.disabled):active:focus,.show>.btn-alt-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #d4dae140}.btn-hero-primary{color:#fff;text-transform:uppercase;letter-spacing:.0625rem;font-weight:700;padding:.625rem 1.5rem;font-size:.875rem;line-height:1.5;border-radius:.25rem;background-color:#0665d0;border:none;box-shadow:0 .125rem .75rem #04418640;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,transform .12s ease-out}.btn-hero-primary:hover{color:#fff;background-color:#117ef8;box-shadow:0 .375rem .75rem #04418666;transform:translateY(-1px)}.btn-hero-primary.focus,.btn-hero-primary:focus{color:#fff;background-color:#117ef8;box-shadow:0 .125rem .75rem #04418640}.btn-hero-primary.disabled,.btn-hero-primary:disabled{color:#fff;background-color:#0665d0;box-shadow:0 .125rem .75rem #04418640;transform:translateY(0)}.btn-hero-primary:not(:disabled):not(.disabled).active,.btn-hero-primary:not(:disabled):not(.disabled):active,.show>.btn-hero-primary.dropdown-toggle{color:#fff;background-color:#044186;box-shadow:0 .125rem .75rem #04418640;transform:translateY(0)}.btn-hero-primary:not(:disabled):not(.disabled).active:focus,.btn-hero-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-hero-primary.dropdown-toggle:focus{box-shadow:0 .125rem .75rem #04418640}.btn-hero-secondary{color:#fff;text-transform:uppercase;letter-spacing:.0625rem;font-weight:700;padding:.625rem 1.5rem;font-size:.875rem;line-height:1.5;border-radius:.25rem;background-color:#6c757d;border:none;box-shadow:0 .125rem .75rem #494f5440;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,transform .12s ease-out}.btn-hero-secondary:hover{color:#fff;background-color:#868e96;box-shadow:0 .375rem .75rem #494f5466;transform:translateY(-1px)}.btn-hero-secondary.focus,.btn-hero-secondary:focus{color:#fff;background-color:#868e96;box-shadow:0 .125rem .75rem #494f5440}.btn-hero-secondary.disabled,.btn-hero-secondary:disabled{color:#fff;background-color:#6c757d;box-shadow:0 .125rem .75rem #494f5440;transform:translateY(0)}.btn-hero-secondary:not(:disabled):not(.disabled).active,.btn-hero-secondary:not(:disabled):not(.disabled):active,.show>.btn-hero-secondary.dropdown-toggle{color:#fff;background-color:#494f54;box-shadow:0 .125rem .75rem #494f5440;transform:translateY(0)}.btn-hero-secondary:not(:disabled):not(.disabled).active:focus,.btn-hero-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-hero-secondary.dropdown-toggle:focus{box-shadow:0 .125rem .75rem #494f5440}.btn-hero-success{color:#fff;text-transform:uppercase;letter-spacing:.0625rem;font-weight:700;padding:.625rem 1.5rem;font-size:.875rem;line-height:1.5;border-radius:.25rem;background-color:#82b54b;border:none;box-shadow:0 .125rem .75rem #5b7f3440;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,transform .12s ease-out}.btn-hero-success:hover{color:#fff;background-color:#9bc46f;box-shadow:0 .375rem .75rem #5b7f3466;transform:translateY(-1px)}.btn-hero-success.focus,.btn-hero-success:focus{color:#fff;background-color:#9bc46f;box-shadow:0 .125rem .75rem #5b7f3440}.btn-hero-success.disabled,.btn-hero-success:disabled{color:#fff;background-color:#82b54b;box-shadow:0 .125rem .75rem #5b7f3440;transform:translateY(0)}.btn-hero-success:not(:disabled):not(.disabled).active,.btn-hero-success:not(:disabled):not(.disabled):active,.show>.btn-hero-success.dropdown-toggle{color:#fff;background-color:#5b7f34;box-shadow:0 .125rem .75rem #5b7f3440;transform:translateY(0)}.btn-hero-success:not(:disabled):not(.disabled).active:focus,.btn-hero-success:not(:disabled):not(.disabled):active:focus,.show>.btn-hero-success.dropdown-toggle:focus{box-shadow:0 .125rem .75rem #5b7f3440}.btn-hero-info{color:#fff;text-transform:uppercase;letter-spacing:.0625rem;font-weight:700;padding:.625rem 1.5rem;font-size:.875rem;line-height:1.5;border-radius:.25rem;background-color:#3c90df;border:none;box-shadow:0 .125rem .75rem #1d6ab140;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,transform .12s ease-out}.btn-hero-info:hover{color:#fff;background-color:#68a9e6;box-shadow:0 .375rem .75rem #1d6ab166;transform:translateY(-1px)}.btn-hero-info.focus,.btn-hero-info:focus{color:#fff;background-color:#68a9e6;box-shadow:0 .125rem .75rem #1d6ab140}.btn-hero-info.disabled,.btn-hero-info:disabled{color:#fff;background-color:#3c90df;box-shadow:0 .125rem .75rem #1d6ab140;transform:translateY(0)}.btn-hero-info:not(:disabled):not(.disabled).active,.btn-hero-info:not(:disabled):not(.disabled):active,.show>.btn-hero-info.dropdown-toggle{color:#fff;background-color:#1d6ab1;box-shadow:0 .125rem .75rem #1d6ab140;transform:translateY(0)}.btn-hero-info:not(:disabled):not(.disabled).active:focus,.btn-hero-info:not(:disabled):not(.disabled):active:focus,.show>.btn-hero-info.dropdown-toggle:focus{box-shadow:0 .125rem .75rem #1d6ab140}.btn-hero-warning{color:#fff;text-transform:uppercase;letter-spacing:.0625rem;font-weight:700;padding:.625rem 1.5rem;font-size:.875rem;line-height:1.5;border-radius:.25rem;background-color:#ffb119;border:none;box-shadow:0 .125rem .75rem #cc860040;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,transform .12s ease-out}.btn-hero-warning:hover{color:#fff;background-color:#ffc24c;box-shadow:0 .375rem .75rem #cc860066;transform:translateY(-1px)}.btn-hero-warning.focus,.btn-hero-warning:focus{color:#fff;background-color:#ffc24c;box-shadow:0 .125rem .75rem #cc860040}.btn-hero-warning.disabled,.btn-hero-warning:disabled{color:#fff;background-color:#ffb119;box-shadow:0 .125rem .75rem #cc860040;transform:translateY(0)}.btn-hero-warning:not(:disabled):not(.disabled).active,.btn-hero-warning:not(:disabled):not(.disabled):active,.show>.btn-hero-warning.dropdown-toggle{color:#fff;background-color:#cc8600;box-shadow:0 .125rem .75rem #cc860040;transform:translateY(0)}.btn-hero-warning:not(:disabled):not(.disabled).active:focus,.btn-hero-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-hero-warning.dropdown-toggle:focus{box-shadow:0 .125rem .75rem #cc860040}.btn-hero-danger{color:#fff;text-transform:uppercase;letter-spacing:.0625rem;font-weight:700;padding:.625rem 1.5rem;font-size:.875rem;line-height:1.5;border-radius:.25rem;background-color:#e04f1a;border:none;box-shadow:0 .125rem .75rem #9b371240;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,transform .12s ease-out}.btn-hero-danger:hover{color:#fff;background-color:#e97044;box-shadow:0 .375rem .75rem #9b371266;transform:translateY(-1px)}.btn-hero-danger.focus,.btn-hero-danger:focus{color:#fff;background-color:#e97044;box-shadow:0 .125rem .75rem #9b371240}.btn-hero-danger.disabled,.btn-hero-danger:disabled{color:#fff;background-color:#e04f1a;box-shadow:0 .125rem .75rem #9b371240;transform:translateY(0)}.btn-hero-danger:not(:disabled):not(.disabled).active,.btn-hero-danger:not(:disabled):not(.disabled):active,.show>.btn-hero-danger.dropdown-toggle{color:#fff;background-color:#9b3712;box-shadow:0 .125rem .75rem #9b371240;transform:translateY(0)}.btn-hero-danger:not(:disabled):not(.disabled).active:focus,.btn-hero-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-hero-danger.dropdown-toggle:focus{box-shadow:0 .125rem .75rem #9b371240}.btn-hero-dark{color:#fff;text-transform:uppercase;letter-spacing:.0625rem;font-weight:700;padding:.625rem 1.5rem;font-size:.875rem;line-height:1.5;border-radius:.25rem;background-color:#343a40;border:none;box-shadow:0 .125rem .75rem #12141640;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,transform .12s ease-out}.btn-hero-dark:hover{color:#fff;background-color:#4b545c;box-shadow:0 .375rem .75rem #12141666;transform:translateY(-1px)}.btn-hero-dark.focus,.btn-hero-dark:focus{color:#fff;background-color:#4b545c;box-shadow:0 .125rem .75rem #12141640}.btn-hero-dark.disabled,.btn-hero-dark:disabled{color:#fff;background-color:#343a40;box-shadow:0 .125rem .75rem #12141640;transform:translateY(0)}.btn-hero-dark:not(:disabled):not(.disabled).active,.btn-hero-dark:not(:disabled):not(.disabled):active,.show>.btn-hero-dark.dropdown-toggle{color:#fff;background-color:#121416;box-shadow:0 .125rem .75rem #12141640;transform:translateY(0)}.btn-hero-dark:not(:disabled):not(.disabled).active:focus,.btn-hero-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-hero-dark.dropdown-toggle:focus{box-shadow:0 .125rem .75rem #12141640}.btn-hero-light{color:#212529;text-transform:uppercase;letter-spacing:.0625rem;font-weight:700;padding:.625rem 1.5rem;font-size:.875rem;line-height:1.5;border-radius:.25rem;background-color:#f8f9fa;border:none;box-shadow:0 .125rem .75rem #cbd3da40;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,transform .12s ease-out}.btn-hero-light:hover{color:#212529;background-color:#fff;box-shadow:0 .375rem .75rem #cbd3da66;transform:translateY(-1px)}.btn-hero-light.focus,.btn-hero-light:focus{color:#212529;background-color:#fff;box-shadow:0 .125rem .75rem #cbd3da40}.btn-hero-light.disabled,.btn-hero-light:disabled{color:#212529;background-color:#f8f9fa;box-shadow:0 .125rem .75rem #cbd3da40;transform:translateY(0)}.btn-hero-light:not(:disabled):not(.disabled).active,.btn-hero-light:not(:disabled):not(.disabled):active,.show>.btn-hero-light.dropdown-toggle{color:#212529;background-color:#cbd3da;box-shadow:0 .125rem .75rem #cbd3da40;transform:translateY(0)}.btn-hero-light:not(:disabled):not(.disabled).active:focus,.btn-hero-light:not(:disabled):not(.disabled):active:focus,.show>.btn-hero-light.dropdown-toggle:focus{box-shadow:0 .125rem .75rem #cbd3da40}.btn-hero-lg{padding:.875rem 2.25rem;font-size:.875rem;line-height:1.5;border-radius:.25rem}.btn-hero-sm{padding:.375rem 1.25rem;font-size:.875rem;line-height:1.5;border-radius:.25rem}.btn-dual{color:#16181a;background-color:#f8f9fc;border-color:#f8f9fc}.btn-dual.focus,.btn-dual:focus,.btn-dual:hover{color:#16181a;background-color:#cdd6e8;border-color:#cdd6e8;box-shadow:none}.btn-dual.disabled,.btn-dual:disabled{background-color:transparent;border-color:transparent}.btn-dual.active,.btn-dual:active{color:#16181a;background-color:#f8f9fc;border-color:#f8f9fc}.btn-dual:not(:disabled):not(.disabled).active,.btn-dual:not(:disabled):not(.disabled):active,.show>.btn-dual.dropdown-toggle{color:#16181a;background-color:#cdd6e8;border-color:#cdd6e8}html.dark .markdown-body{color-scheme:dark;--color-prettylights-syntax-comment: #8b949e;--color-prettylights-syntax-constant: #79c0ff;--color-prettylights-syntax-entity: #d2a8ff;--color-prettylights-syntax-storage-modifier-import: #c9d1d9;--color-prettylights-syntax-entity-tag: #7ee787;--color-prettylights-syntax-keyword: #ff7b72;--color-prettylights-syntax-string: #a5d6ff;--color-prettylights-syntax-variable: #ffa657;--color-prettylights-syntax-brackethighlighter-unmatched: #f85149;--color-prettylights-syntax-invalid-illegal-text: #f0f6fc;--color-prettylights-syntax-invalid-illegal-bg: #8e1519;--color-prettylights-syntax-carriage-return-text: #f0f6fc;--color-prettylights-syntax-carriage-return-bg: #b62324;--color-prettylights-syntax-string-regexp: #7ee787;--color-prettylights-syntax-markup-list: #f2cc60;--color-prettylights-syntax-markup-heading: #1f6feb;--color-prettylights-syntax-markup-italic: #c9d1d9;--color-prettylights-syntax-markup-bold: #c9d1d9;--color-prettylights-syntax-markup-deleted-text: #ffdcd7;--color-prettylights-syntax-markup-deleted-bg: #67060c;--color-prettylights-syntax-markup-inserted-text: #aff5b4;--color-prettylights-syntax-markup-inserted-bg: #033a16;--color-prettylights-syntax-markup-changed-text: #ffdfb6;--color-prettylights-syntax-markup-changed-bg: #5a1e02;--color-prettylights-syntax-markup-ignored-text: #c9d1d9;--color-prettylights-syntax-markup-ignored-bg: #1158c7;--color-prettylights-syntax-meta-diff-range: #d2a8ff;--color-prettylights-syntax-brackethighlighter-angle: #8b949e;--color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;--color-prettylights-syntax-constant-other-reference-link: #a5d6ff;--color-fg-default: #e6edf3;--color-fg-muted: #7d8590;--color-fg-subtle: #6e7681;--color-canvas-default: #0d1117;--color-canvas-subtle: #161b22;--color-border-default: #30363d;--color-border-muted: #21262d;--color-neutral-muted: rgba(110,118,129,.4);--color-accent-fg: #2f81f7;--color-accent-emphasis: #1f6feb;--color-attention-fg: #d29922;--color-attention-subtle: rgba(187,128,9,.15);--color-danger-fg: #f85149;--color-done-fg: #a371f7}html:not(.dark) .markdown-body{color-scheme:light;--color-prettylights-syntax-comment: #6e7781;--color-prettylights-syntax-constant: #0550ae;--color-prettylights-syntax-entity: #6639ba;--color-prettylights-syntax-storage-modifier-import: #24292f;--color-prettylights-syntax-entity-tag: #116329;--color-prettylights-syntax-keyword: #cf222e;--color-prettylights-syntax-string: #0a3069;--color-prettylights-syntax-variable: #953800;--color-prettylights-syntax-brackethighlighter-unmatched: #82071e;--color-prettylights-syntax-invalid-illegal-text: #f6f8fa;--color-prettylights-syntax-invalid-illegal-bg: #82071e;--color-prettylights-syntax-carriage-return-text: #f6f8fa;--color-prettylights-syntax-carriage-return-bg: #cf222e;--color-prettylights-syntax-string-regexp: #116329;--color-prettylights-syntax-markup-list: #3b2300;--color-prettylights-syntax-markup-heading: #0550ae;--color-prettylights-syntax-markup-italic: #24292f;--color-prettylights-syntax-markup-bold: #24292f;--color-prettylights-syntax-markup-deleted-text: #82071e;--color-prettylights-syntax-markup-deleted-bg: #ffebe9;--color-prettylights-syntax-markup-inserted-text: #116329;--color-prettylights-syntax-markup-inserted-bg: #dafbe1;--color-prettylights-syntax-markup-changed-text: #953800;--color-prettylights-syntax-markup-changed-bg: #ffd8b5;--color-prettylights-syntax-markup-ignored-text: #eaeef2;--color-prettylights-syntax-markup-ignored-bg: #0550ae;--color-prettylights-syntax-meta-diff-range: #8250df;--color-prettylights-syntax-brackethighlighter-angle: #57606a;--color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;--color-prettylights-syntax-constant-other-reference-link: #0a3069;--color-fg-default: #1F2328;--color-fg-muted: #656d76;--color-fg-subtle: #6e7781;--color-canvas-default: #ffffff;--color-canvas-subtle: #f6f8fa;--color-border-default: #d0d7de;--color-border-muted: hsla(210,18%,87%,1);--color-neutral-muted: rgba(175,184,193,.2);--color-accent-fg: #0969da;--color-accent-emphasis: #0969da;--color-attention-fg: #9a6700;--color-attention-subtle: #fff8c5;--color-danger-fg: #d1242f;--color-done-fg: #8250df}.markdown-body{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;margin:0;color:var(--color-fg-default);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body .octicon{display:inline-block;fill:currentColor;vertical-align:text-bottom}.markdown-body h1:hover .anchor .octicon-link:before,.markdown-body h2:hover .anchor .octicon-link:before,.markdown-body h3:hover .anchor .octicon-link:before,.markdown-body h4:hover .anchor .octicon-link:before,.markdown-body h5:hover .anchor .octicon-link:before,.markdown-body h6:hover .anchor .octicon-link:before{width:16px;height:16px;content:" ";display:inline-block;background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml,");mask-image:url("data:image/svg+xml,")}.markdown-body details,.markdown-body figcaption,.markdown-body figure{display:block}.markdown-body summary{display:list-item}.markdown-body [hidden]{display:none!important}.markdown-body a{background-color:transparent;color:var(--color-accent-fg);text-decoration:none}.markdown-body abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.markdown-body b,.markdown-body strong{font-weight:var(--base-text-weight-semibold, 600)}.markdown-body dfn{font-style:italic}.markdown-body h1{margin:.67em 0;font-weight:var(--base-text-weight-semibold, 600);padding-bottom:.3em;font-size:2em;border-bottom:1px solid var(--color-border-muted)}.markdown-body mark{background-color:var(--color-attention-subtle);color:var(--color-fg-default)}.markdown-body small{font-size:90%}.markdown-body sub,.markdown-body sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.markdown-body sub{bottom:-.25em}.markdown-body sup{top:-.5em}.markdown-body img{border-style:none;max-width:100%;box-sizing:content-box;background-color:var(--color-canvas-default)}.markdown-body code,.markdown-body kbd,.markdown-body pre,.markdown-body samp{font-family:monospace;font-size:1em}.markdown-body figure{margin:1em 40px}.markdown-body hr{box-sizing:content-box;overflow:hidden;background:transparent;border-bottom:1px solid var(--color-border-muted);height:.25em;padding:0;margin:24px 0;background-color:var(--color-border-default);border:0}.markdown-body input{font:inherit;margin:0;overflow:visible;font-family:inherit;font-size:inherit;line-height:inherit}.markdown-body [type=button],.markdown-body [type=reset],.markdown-body [type=submit]{-webkit-appearance:button}.markdown-body [type=checkbox],.markdown-body [type=radio]{box-sizing:border-box;padding:0}.markdown-body [type=number]::-webkit-inner-spin-button,.markdown-body [type=number]::-webkit-outer-spin-button{height:auto}.markdown-body [type=search]::-webkit-search-cancel-button,.markdown-body [type=search]::-webkit-search-decoration{-webkit-appearance:none}.markdown-body ::-webkit-input-placeholder{color:inherit;opacity:.54}.markdown-body ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.markdown-body a:hover{text-decoration:underline}.markdown-body ::placeholder{color:var(--color-fg-subtle);opacity:1}.markdown-body hr:before{display:table;content:""}.markdown-body hr:after{display:table;clear:both;content:""}.markdown-body table{border-spacing:0;border-collapse:collapse;display:block;width:max-content;max-width:100%;overflow:auto}.markdown-body td,.markdown-body th{padding:0}.markdown-body details summary{cursor:pointer}.markdown-body details:not([open])>*:not(summary){display:none!important}.markdown-body a:focus,.markdown-body [role=button]:focus,.markdown-body input[type=radio]:focus,.markdown-body input[type=checkbox]:focus{outline:2px solid var(--color-accent-fg);outline-offset:-2px;box-shadow:none}.markdown-body a:focus:not(:focus-visible),.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body input[type=radio]:focus:not(:focus-visible),.markdown-body input[type=checkbox]:focus:not(:focus-visible){outline:solid 1px transparent}.markdown-body a:focus-visible,.markdown-body [role=button]:focus-visible,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus-visible{outline:2px solid var(--color-accent-fg);outline-offset:-2px;box-shadow:none}.markdown-body a:not([class]):focus,.markdown-body a:not([class]):focus-visible,.markdown-body input[type=radio]:focus,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus,.markdown-body input[type=checkbox]:focus-visible{outline-offset:0}.markdown-body kbd{display:inline-block;padding:3px 5px;font:11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;line-height:10px;color:var(--color-fg-default);vertical-align:middle;background-color:var(--color-canvas-subtle);border:solid 1px var(--color-neutral-muted);border-bottom-color:var(--color-neutral-muted);border-radius:6px;box-shadow:inset 0 -1px 0 var(--color-neutral-muted)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:24px;margin-bottom:16px;font-weight:var(--base-text-weight-semibold, 600);line-height:1.25}.markdown-body h2{font-weight:var(--base-text-weight-semibold, 600);padding-bottom:.3em;font-size:1.5em;border-bottom:1px solid var(--color-border-muted)}.markdown-body h3{font-weight:var(--base-text-weight-semibold, 600);font-size:1.25em}.markdown-body h4{font-weight:var(--base-text-weight-semibold, 600);font-size:1em}.markdown-body h5{font-weight:var(--base-text-weight-semibold, 600);font-size:.875em}.markdown-body h6{font-weight:var(--base-text-weight-semibold, 600);font-size:.85em;color:var(--color-fg-muted)}.markdown-body p{margin-top:0;margin-bottom:10px}.markdown-body blockquote{margin:0;padding:0 1em;color:var(--color-fg-muted);border-left:.25em solid var(--color-border-default)}.markdown-body ul,.markdown-body ol{margin-top:0;margin-bottom:0;padding-left:2em}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ul ul ol,.markdown-body ul ol ol,.markdown-body ol ul ol,.markdown-body ol ol ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body tt,.markdown-body code,.markdown-body samp{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}.markdown-body pre{margin-top:0;margin-bottom:0;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;word-wrap:normal}.markdown-body .octicon{display:inline-block;overflow:visible!important;vertical-align:text-bottom;fill:currentColor}.markdown-body input::-webkit-outer-spin-button,.markdown-body input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.markdown-body .color-fg-accent{color:var(--color-accent-fg)!important}.markdown-body .color-fg-attention{color:var(--color-attention-fg)!important}.markdown-body .color-fg-done{color:var(--color-done-fg)!important}.markdown-body .flex-items-center{align-items:center!important}.markdown-body .mb-1{margin-bottom:var(--base-size-4, 4px)!important}.markdown-body .text-semibold{font-weight:var(--base-text-weight-medium, 500)!important}.markdown-body .d-inline-flex{display:inline-flex!important}.markdown-body:before{display:table;content:""}.markdown-body:after{display:table;clear:both;content:""}.markdown-body>*:first-child{margin-top:0!important}.markdown-body>*:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:var(--color-danger-fg)}.markdown-body .anchor{float:left;padding-right:4px;margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre,.markdown-body details{margin-top:0;margin-bottom:16px}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:var(--color-fg-default);vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 tt,.markdown-body h1 code,.markdown-body h2 tt,.markdown-body h2 code,.markdown-body h3 tt,.markdown-body h3 code,.markdown-body h4 tt,.markdown-body h4 code,.markdown-body h5 tt,.markdown-body h5 code,.markdown-body h6 tt,.markdown-body h6 code{padding:0 .2em;font-size:inherit}.markdown-body summary h1,.markdown-body summary h2,.markdown-body summary h3,.markdown-body summary h4,.markdown-body summary h5,.markdown-body summary h6{display:inline-block}.markdown-body summary h1 .anchor,.markdown-body summary h2 .anchor,.markdown-body summary h3 .anchor,.markdown-body summary h4 .anchor,.markdown-body summary h5 .anchor,.markdown-body summary h6 .anchor{margin-left:-40px}.markdown-body summary h1,.markdown-body summary h2{padding-bottom:0;border-bottom:0}.markdown-body ul.no-list,.markdown-body ol.no-list{padding:0;list-style-type:none}.markdown-body ol[type="a s"]{list-style-type:lower-alpha}.markdown-body ol[type="A s"]{list-style-type:upper-alpha}.markdown-body ol[type="i s"]{list-style-type:lower-roman}.markdown-body ol[type="I s"]{list-style-type:upper-roman}.markdown-body ol[type="1"]{list-style-type:decimal}.markdown-body div>ol:not([type]){list-style-type:decimal}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:var(--base-text-weight-semibold, 600)}.markdown-body dl dd{padding:0 16px;margin-bottom:16px}.markdown-body table th{font-weight:var(--base-text-weight-semibold, 600)}.markdown-body table th,.markdown-body table td{padding:6px 13px;border:1px solid var(--color-border-default)}.markdown-body table td>:last-child{margin-bottom:0}.markdown-body table tr{background-color:var(--color-canvas-default);border-top:1px solid var(--color-border-muted)}.markdown-body table tr:nth-child(2n){background-color:var(--color-canvas-subtle)}.markdown-body table img{background-color:transparent}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid var(--color-border-default)}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:var(--color-fg-default)}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:.2em .4em;margin:0;font-size:85%;white-space:break-spaces;background-color:var(--color-neutral-muted);border-radius:6px}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body samp{font-size:85%}.markdown-body pre code{font-size:100%}.markdown-body pre>code{padding:0;margin:0;word-break:normal;white-space:pre;background:transparent;border:0}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;color:var(--color-fg-default);background-color:var(--color-canvas-subtle);border-radius:6px}.markdown-body pre code,.markdown-body pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body .csv-data td,.markdown-body .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.markdown-body .csv-data .blob-num{padding:10px 8px 9px;text-align:right;background:var(--color-canvas-default);border:0}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:var(--base-text-weight-semibold, 600);background:var(--color-canvas-subtle);border-top:0}.markdown-body [data-footnote-ref]:before{content:"["}.markdown-body [data-footnote-ref]:after{content:"]"}.markdown-body .footnotes{font-size:12px;color:var(--color-fg-muted);border-top:1px solid var(--color-border-default)}.markdown-body .footnotes ol{padding-left:16px}.markdown-body .footnotes ol ul{display:inline-block;padding-left:16px;margin-top:16px}.markdown-body .footnotes li{position:relative}.markdown-body .footnotes li:target:before{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-24px;pointer-events:none;content:"";border:2px solid var(--color-accent-emphasis);border-radius:6px}.markdown-body .footnotes li:target{color:var(--color-fg-default)}.markdown-body .footnotes .data-footnote-backref g-emoji{font-family:monospace}.markdown-body .pl-c{color:var(--color-prettylights-syntax-comment)}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:var(--color-prettylights-syntax-constant)}.markdown-body .pl-e,.markdown-body .pl-en{color:var(--color-prettylights-syntax-entity)}.markdown-body .pl-smi,.markdown-body .pl-s .pl-s1{color:var(--color-prettylights-syntax-storage-modifier-import)}.markdown-body .pl-ent{color:var(--color-prettylights-syntax-entity-tag)}.markdown-body .pl-k{color:var(--color-prettylights-syntax-keyword)}.markdown-body .pl-s,.markdown-body .pl-pds,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sre,.markdown-body .pl-sr .pl-sra{color:var(--color-prettylights-syntax-string)}.markdown-body .pl-v,.markdown-body .pl-smw{color:var(--color-prettylights-syntax-variable)}.markdown-body .pl-bu{color:var(--color-prettylights-syntax-brackethighlighter-unmatched)}.markdown-body .pl-ii{color:var(--color-prettylights-syntax-invalid-illegal-text);background-color:var(--color-prettylights-syntax-invalid-illegal-bg)}.markdown-body .pl-c2{color:var(--color-prettylights-syntax-carriage-return-text);background-color:var(--color-prettylights-syntax-carriage-return-bg)}.markdown-body .pl-sr .pl-cce{font-weight:700;color:var(--color-prettylights-syntax-string-regexp)}.markdown-body .pl-ml{color:var(--color-prettylights-syntax-markup-list)}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{font-weight:700;color:var(--color-prettylights-syntax-markup-heading)}.markdown-body .pl-mi{font-style:italic;color:var(--color-prettylights-syntax-markup-italic)}.markdown-body .pl-mb{font-weight:700;color:var(--color-prettylights-syntax-markup-bold)}.markdown-body .pl-md{color:var(--color-prettylights-syntax-markup-deleted-text);background-color:var(--color-prettylights-syntax-markup-deleted-bg)}.markdown-body .pl-mi1{color:var(--color-prettylights-syntax-markup-inserted-text);background-color:var(--color-prettylights-syntax-markup-inserted-bg)}.markdown-body .pl-mc{color:var(--color-prettylights-syntax-markup-changed-text);background-color:var(--color-prettylights-syntax-markup-changed-bg)}.markdown-body .pl-mi2{color:var(--color-prettylights-syntax-markup-ignored-text);background-color:var(--color-prettylights-syntax-markup-ignored-bg)}.markdown-body .pl-mdr{font-weight:700;color:var(--color-prettylights-syntax-meta-diff-range)}.markdown-body .pl-ba{color:var(--color-prettylights-syntax-brackethighlighter-angle)}.markdown-body .pl-sg{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}.markdown-body .pl-corl{text-decoration:underline;color:var(--color-prettylights-syntax-constant-other-reference-link)}.markdown-body g-emoji{display:inline-block;min-width:1ch;font-family:"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;font-size:1em;font-style:normal!important;font-weight:var(--base-text-weight-normal, 400);line-height:1;vertical-align:-.075em}.markdown-body g-emoji img{width:1em;height:1em}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item label{font-weight:var(--base-text-weight-normal, 400)}.markdown-body .task-list-item.enabled label{cursor:pointer}.markdown-body .task-list-item+.task-list-item{margin-top:4px}.markdown-body .task-list-item .handle{display:none}.markdown-body .task-list-item-checkbox{margin:0 .2em .25em -1.4em;vertical-align:middle}.markdown-body .contains-task-list:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body .contains-task-list{position:relative}.markdown-body .contains-task-list:hover .task-list-item-convert-container,.markdown-body .contains-task-list:focus-within .task-list-item-convert-container{display:block;width:auto;height:24px;overflow:visible;clip:auto}.markdown-body .QueryBuilder .qb-entity{color:var(--color-prettylights-syntax-entity)}.markdown-body .QueryBuilder .qb-constant{color:var(--color-prettylights-syntax-constant)}.markdown-body ::-webkit-calendar-picker-indicator{filter:invert(50%)}.markdown-body .markdown-alert{padding:0 1em;margin-bottom:16px;color:inherit;border-left:.25em solid var(--color-border-default)}.markdown-body .markdown-alert>:first-child{margin-top:0}.markdown-body .markdown-alert>:last-child{margin-bottom:0}.markdown-body .markdown-alert.markdown-alert-note{border-left-color:var(--color-accent-fg)}.markdown-body .markdown-alert.markdown-alert-important{border-left-color:var(--color-done-fg)}.markdown-body .markdown-alert.markdown-alert-warning{border-left-color:var(--color-attention-fg)}*,:before,:after{box-sizing:border-box;background-repeat:no-repeat}:before,:after{text-decoration:inherit;vertical-align:inherit}:where(:root){cursor:default;line-height:1.5;overflow-wrap:break-word;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}:where(body){margin:0}:where(h1){font-size:2em;margin:.67em 0}:where(dl,ol,ul) :where(dl,ol,ul){margin:0}:where(hr){color:inherit;height:0}:where(nav) :where(ol,ul){list-style-type:none;padding:0}:where(nav li):before{content:"​";float:left}:where(pre){font-family:monospace,monospace;font-size:1em;overflow:auto}:where(abbr[title]){text-decoration:underline;text-decoration:underline dotted}:where(b,strong){font-weight:bolder}:where(code,kbd,samp){font-family:monospace,monospace;font-size:1em}:where(small){font-size:80%}:where(audio,canvas,iframe,img,svg,video){vertical-align:baseline}:where(iframe){border-style:none}:where(svg:not([fill])){fill:currentColor}:where(table){border-collapse:collapse;border-color:inherit;text-indent:0}:where(button,input,select){margin:0}:where(button,[type=button i],[type=reset i],[type=submit i]){-webkit-appearance:button}:where(fieldset){border:1px solid #a0a0a0}:where(progress){vertical-align:baseline}:where(textarea){margin:0;resize:vertical}:where([type=search i]){-webkit-appearance:textfield;outline-offset:-2px}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}:where(dialog){background-color:#fff;border:solid;color:#000;height:-moz-fit-content;height:fit-content;left:0;margin:auto;padding:1em;position:absolute;right:0;width:-moz-fit-content;width:fit-content}:where(dialog:not([open])){display:none}:where(details>summary:first-of-type){display:list-item}:where([aria-busy=true i]){cursor:progress}:where([aria-controls]){cursor:pointer}:where([aria-disabled=true i],[disabled]){cursor:not-allowed}:where([aria-hidden=false i][hidden]){display:initial}:where([aria-hidden=false i][hidden]:not(:focus)){clip:rect(0,0,0,0);position:absolute}html{font-size:4px}html,body{width:100%;height:100%;overflow:hidden;background-color:#f2f2f2;font-family:Encode Sans Condensed,sans-serif}html.dark body{background-color:#292b2b}::-webkit-scrollbar{width:8px;background-color:#eee}::-webkit-scrollbar-thumb{background-color:#c1c1c1}::-webkit-scrollbar-thumb:hover{background-color:#a8a8a8}html,body{width:100%;height:100%;overflow:hidden;font-size:16px}#app{width:100%;height:100%}.fade-slide-leave-active,.fade-slide-enter-active{transition:all .3s}.fade-slide-enter-from{opacity:0;transform:translate(-30px)}.fade-slide-leave-to{opacity:0;transform:translate(30px)}.cus-scroll{overflow:auto}.cus-scroll::-webkit-scrollbar{width:8px;height:8px}.cus-scroll-x{overflow-x:auto}.cus-scroll-x::-webkit-scrollbar{width:0;height:8px}.cus-scroll-y{overflow-y:auto}.cus-scroll-y::-webkit-scrollbar{width:8px;height:0}.cus-scroll::-webkit-scrollbar-thumb,.cus-scroll-x::-webkit-scrollbar-thumb,.cus-scroll-y::-webkit-scrollbar-thumb{background-color:transparent;border-radius:4px}.cus-scroll:hover::-webkit-scrollbar-thumb,.cus-scroll-x:hover::-webkit-scrollbar-thumb,.cus-scroll-y:hover::-webkit-scrollbar-thumb{background:#bfbfbf}.cus-scroll:hover::-webkit-scrollbar-thumb:hover,.cus-scroll-x:hover::-webkit-scrollbar-thumb:hover,.cus-scroll-y:hover::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}#--unocss--{layer:__ALL__}#app{height:100%}#app .n-config-provider{height:inherit}.side-menu:not(.n-menu--collapsed) .n-menu-item-content:before{left:5px;right:5px}.side-menu:not(.n-menu--collapsed) .n-menu-item-content.n-menu-item-content--selected:before,.side-menu:not(.n-menu--collapsed) .n-menu-item-content:hover:before{border-left:4px solid var(--primary-color)}.carousel-img[data-v-8ed2ef0c]{width:100%;height:240px;object-fit:cover}.pay-qrcode{width:100%;height:100%}.pay-qrcode>canvas{width:100%!important;height:100%!important}.card-container[data-v-79fa0f66]{display:grid;justify-content:space-between;grid-template-columns:repeat(auto-fit,minmax(calc(100% - 1rem),1fr));row-gap:20px;min-width:100%}.card-item[data-v-79fa0f66]{max-width:100%}@media screen and (min-width: 768px){.card-container[data-v-79fa0f66]{grid-template-columns:repeat(auto-fit,minmax(calc(50% - 1rem),1fr));column-gap:20px;min-width:375px}}@media screen and (min-width: 1200px){.card-container[data-v-79fa0f66]{grid-template-columns:repeat(auto-fit,minmax(calc(33.33% - 1rem),1fr));padding:0 10px;column-gap:20px;min-width:375px}}#--unocss-layer-start--__ALL__--{start:__ALL__}*,:before,:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.wh-full,[wh-full=""]{width:100%;height:100%}.f-c-c,[f-c-c=""]{display:flex;align-items:center;justify-content:center}.flex-col,[flex-col=""]{display:flex;flex-direction:column}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.right-0{right:0}.right-15{right:15px}[bottom~="20"]{bottom:20px}.z-99999{z-index:99999}.grid{display:grid}.m-0{margin:0}.m-0\\!{margin:0!important}.m-1{margin:1px}.m-3{margin:3px}.m-auto,[m-auto=""]{margin:auto}.mx-10{margin-left:10px;margin-right:10px}.m-b-5,.mb-5{margin-bottom:5px}.m-l-10,.ml-10,[ml-10=""]{margin-left:10px}.m-l-20{margin-left:20px}.m-l-3{margin-left:3px}.m-t-10,.mt-10{margin-top:10px}.m-t-15,.mt-15,[mt-15=""]{margin-top:15px}.m-t-20,.mt-20,[mt-20=""]{margin-top:20px}.m-t-5,.mt-5{margin-top:5px}.mb-10{margin-bottom:10px}.mb-16{margin-bottom:16px}.mb-1em{margin-bottom:1em}.mb-20{margin-bottom:20px}.mb-3{margin-bottom:3px}.mb-4{margin-bottom:4px}.mb-8{margin-bottom:8px}.ml-auto,[ml-auto=""]{margin-left:auto}.mr-0{margin-right:0}.mr-20,.mr20,[mr-20=""],[mr20=""]{margin-right:20px}.mr-5{margin-right:5px}.mr-auto{margin-right:auto}.mr10,[mr10=""]{margin-right:10px}.mt-0{margin-top:0}.mt-30{margin-top:30px}.mt-4{margin-top:4px}.mt-8{margin-top:8px}.inline-block{display:inline-block}.hidden{display:none}.h-20{height:20px}.h-30{height:30px}.h-35,[h-35=""]{height:35px}.h-36{height:36px}.h-6{height:6px}.h-60,[h-60=""]{height:60px}.h-auto{height:auto}.h-full,[h-full=""]{height:100%}.h-full\\!{height:100%!important}.h1{height:1px}.h2{height:2px}.h5{height:5px}.max-h-30{max-height:30px}.max-w-100\\%,.max-w-full{max-width:100%}.max-w-1200{max-width:1200px}.max-w-140,[max-w-140=""]{max-width:140px}.max-w-450{max-width:450px}.max-w-500{max-width:500px}.min-w-0{min-width:0}.min-w-300{min-width:300px}.w-100\\%,.w-full{width:100%}.w-20{width:20px}.w-30{width:30px}.w-300{width:300px}.w-35,[w-35=""]{width:35px}.w-375{width:375px}.w-6{width:6px}.w-600{width:600px}.w-64{width:64px}.w-auto{width:auto}.w-full\\!{width:100%!important}.flex,[flex=""]{display:flex}.flex-\\[1\\]{flex:1}.flex-\\[2\\]{flex:2}.flex-1,[flex-1=""]{flex:1 1 0%}.flex-shrink-0,[flex-shrink-0=""]{flex-shrink:0}.flex-wrap{flex-wrap:wrap}[transform-origin~=center]{transform-origin:center}.transform{transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.cursor-pointer,[cursor-pointer=""]{cursor:pointer}.resize{resize:both}.items-center,[items-center=""]{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.overflow-hidden,[overflow-hidden=""]{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.break-anywhere{overflow-wrap:anywhere}.b{border-width:1px}.border-0,.dark [dark~=border-0]{border-width:0px}.border-2{border-width:2px}.border-\\[\\#646669\\],.border-\\#646669{--un-border-opacity:1;border-color:rgb(100 102 105 / var(--un-border-opacity))}.border-\\#0665d0{--un-border-opacity:1;border-color:rgb(6 101 208 / var(--un-border-opacity))}.border-transparent{border-color:transparent}.border-rounded-5,.rounded-5,[border-rounded-5=""]{border-radius:5px}.rounded-full,[rounded-full=""]{border-radius:9999px}.border-none{border-style:none}.border-solid{border-style:solid}.border-b-solid{border-bottom-style:solid}.bg-\\[--n-color-embedded\\]{background-color:var(--n-color-embedded)}.bg-\\[--n-color\\]{background-color:var(--n-color)}.bg-\\[\\#f5f6fb\\],.bg-hex-f5f6fb,[bg-hex-f5f6fb=""]{--un-bg-opacity:1;background-color:rgb(245 246 251 / var(--un-bg-opacity))}.bg-\\#2f3135{--un-bg-opacity:1;background-color:rgb(47 49 53 / var(--un-bg-opacity))}.bg-\\#e04f1a{--un-bg-opacity:1;background-color:rgb(224 79 26 / var(--un-bg-opacity))}.bg-\\#f8f9fa{--un-bg-opacity:1;background-color:rgb(248 249 250 / var(--un-bg-opacity))}.bg-blue-500{--un-bg-opacity:1;background-color:rgb(59 130 246 / var(--un-bg-opacity))}.bg-dark,.dark [dark~=bg-dark]{--un-bg-opacity:1;background-color:rgb(24 24 28 / var(--un-bg-opacity))}.bg-green-500{--un-bg-opacity:1;background-color:rgb(34 197 94 / var(--un-bg-opacity))}.bg-red-500{--un-bg-opacity:1;background-color:rgb(239 68 68 / var(--un-bg-opacity))}.bg-transparent{background-color:transparent}.bg-white{--un-bg-opacity:1;background-color:rgb(255 255 255 / var(--un-bg-opacity))}.dark .dark\\:bg-hex-101014,.dark [dark\\:bg-hex-101014=""]{--un-bg-opacity:1;background-color:rgb(16 16 20 / var(--un-bg-opacity))}.dark .dark\\:bg-hex-101014\\>{background-color:#101014>}.dark .dark\\:bg-hex-121212{--un-bg-opacity:1;background-color:rgb(18 18 18 / var(--un-bg-opacity))}.hover\\:bg-\\#f6f6f6:hover{--un-bg-opacity:1;background-color:rgb(246 246 246 / var(--un-bg-opacity))}.p-0{padding:0}.p-0\\!{padding:0!important}.p-10{padding:10px}.p-19{padding:19px}.p-2{padding:2px}.p-20{padding:20px}.p-24{padding:24px}.p-5{padding:5px}.p-x-24{padding-left:24px;padding-right:24px}.p-y-16{padding-top:16px;padding-bottom:16px}.px{padding-left:4px;padding-right:4px}.px-15{padding-left:15px;padding-right:15px}.p-b-5{padding-bottom:5px}.p-l-5{padding-left:5px}.p-t-20,.pt-20{padding-top:20px}.p-t-5{padding-top:5px}.pb-10{padding-bottom:10px}.pb-16{padding-bottom:16px}.pb-8{padding-bottom:8px}.pl-16{padding-left:16px}.pl-20{padding-left:20px}.pr-16{padding-right:16px}.pr-20{padding-right:20px}.pt-10{padding-top:10px}.pt-16{padding-top:16px}.pt-8{padding-top:8px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.indent{text-indent:6px}[indent~="0"]{text-indent:0}.root-indent:root{text-indent:6px}[root-indent~="18"]:root{text-indent:18px}.vertical-bottom{vertical-align:bottom}.text-12{font-size:12px}.text-14,[text-14=""]{font-size:14px}.text-16,[text-16=""]{font-size:16px}.text-18{font-size:18px}.text-20{font-size:20px}.text-22{font-size:22px}.text-30{font-size:30px}.text-36{font-size:36px}.text-40{font-size:40px}.text-50{font-size:50px}.text-90{font-size:90px}.font-400,.font-normal{font-weight:400}.font-600{font-weight:600}.font-bold,[font-bold=""]{font-weight:700}.color-\\[hsla\\(0\\,0\\%\\,100\\%\\,\\.75\\)\\]{--un-text-opacity:.75;color:hsla(0,0%,100%,var(--un-text-opacity))}.color-\\#48bc19{--un-text-opacity:1;color:rgb(72 188 25 / var(--un-text-opacity))}.color-\\#f8f9fa{--un-text-opacity:1;color:rgb(248 249 250 / var(--un-text-opacity))}.color-\\#f8f9fa41{--un-text-opacity:.25;color:rgb(248 249 250 / var(--un-text-opacity))}.color-\\#f9a314{--un-text-opacity:1;color:rgb(249 163 20 / var(--un-text-opacity))}.color-gray,.text-gray{--un-text-opacity:1;color:rgb(156 163 175 / var(--un-text-opacity))}.color-gray-500{--un-text-opacity:1;color:rgb(107 114 128 / var(--un-text-opacity))}.color-primary,.text-\\[--primary-color\\],[color-primary=""]{color:var(--primary-color)}.color-white,.text-white{--un-text-opacity:1;color:rgb(255 255 255 / var(--un-text-opacity))}[color~="#343a40"]{--un-text-opacity:1;color:rgb(52 58 64 / var(--un-text-opacity))}[color~="#6a6a6a"]{--un-text-opacity:1;color:rgb(106 106 106 / var(--un-text-opacity))}.text-\\#6c757d,[color~="#6c757d"]{--un-text-opacity:1;color:rgb(108 117 125 / var(--un-text-opacity))}[color~="#db4619"]{--un-text-opacity:1;color:rgb(219 70 25 / var(--un-text-opacity))}[hover~=color-primary]:hover{color:var(--primary-color)}.text-\\[rgba\\(0\\,0\\,0\\,0\\.45\\)\\]{--un-text-opacity:.45;color:rgba(0,0,0,var(--un-text-opacity))}.text-\\#49505799{--un-text-opacity:.6;color:rgb(73 80 87 / var(--un-text-opacity))}.text-\\#595959{--un-text-opacity:1;color:rgb(89 89 89 / var(--un-text-opacity))}.text-\\#666{--un-text-opacity:1;color:rgb(102 102 102 / var(--un-text-opacity))}.text-red-500{--un-text-opacity:1;color:rgb(239 68 68 / var(--un-text-opacity))}.decoration-underline,[hover~=decoration-underline]:hover{text-decoration-line:underline}.tab{-moz-tab-size:4;-o-tab-size:4;tab-size:4}.opacity-30{opacity:.3}.opacity-85{opacity:.85}.hover\\:opacity-75:hover{opacity:.75}.shadow-black{--un-shadow-opacity:1;--un-shadow-color:rgb(0 0 0 / var(--un-shadow-opacity))}.outline-none{outline:2px solid transparent;outline-offset:2px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}[duration~="500"]{transition-duration:.5s}[content~="$t("]{content:var(--t\\()}[placeholder~="$t("]::placeholder{color:var(--t\\()}@media (min-width: 640px){.sm\\:max-w-full{max-width:100%}}@media (min-width: 768px){.md\\:mx-auto{margin-left:auto;margin-right:auto}.md\\:m-l20{margin-left:20px}.md\\:m-t-20,.md\\:mt-20{margin-top:20px}.md\\:m-t-40{margin-top:40px}.md\\:mb-40{margin-bottom:40px}.md\\:mr10{margin-right:10px}.md\\:mt-0{margin-top:0}.md\\:block{display:block}.md\\:hidden{display:none}.md\\:h-30{height:30px}.md\\:max-w-1\\/3{max-width:33.3333333333%}.md\\:max-w-2\\/3{max-width:66.6666666667%}.md\\:w-30{width:30px}.md\\:flex-\\[1\\]{flex:1}.md\\:flex-\\[2\\]{flex:2}.md\\:p-15{padding:15px}.md\\:pl-20{padding-left:20px}}#--unocss-layer-end--__ALL__--{end:__ALL__}`)),document.head.appendChild(o)}}catch(r){console.error("vite-plugin-css-injected-by-js",r)}})(); -var f3=Object.defineProperty;var h3=(e,t,n)=>t in e?f3(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var p3=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var md=(e,t,n)=>(h3(e,typeof t!="symbol"?t+"":t,n),n);var sNe=p3((Yn,Xn)=>{(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))o(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const a of i.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&o(a)}).observe(document,{childList:!0,subtree:!0});function n(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerPolicy&&(i.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?i.credentials="include":r.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function o(r){if(r.ep)return;r.ep=!0;const i=n(r);fetch(r.href,i)}})();/** -* @vue/shared v3.4.38 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**//*! #__NO_SIDE_EFFECTS__ */function qh(e,t){const n=new Set(e.split(","));return t?o=>n.has(o.toLowerCase()):o=>n.has(o)}const nn={},fa=[],Kn=()=>{},m3=()=>!1,Vc=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Kh=e=>e.startsWith("onUpdate:"),wn=Object.assign,Gh=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},g3=Object.prototype.hasOwnProperty,Mt=(e,t)=>g3.call(e,t),ct=Array.isArray,ha=e=>Wc(e)==="[object Map]",ay=e=>Wc(e)==="[object Set]",mt=e=>typeof e=="function",ln=e=>typeof e=="string",Ur=e=>typeof e=="symbol",Zt=e=>e!==null&&typeof e=="object",sy=e=>(Zt(e)||mt(e))&&mt(e.then)&&mt(e.catch),ly=Object.prototype.toString,Wc=e=>ly.call(e),v3=e=>Wc(e).slice(8,-1),cy=e=>Wc(e)==="[object Object]",Yh=e=>ln(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,gs=qh(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Uc=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},b3=/-(\w)/g,To=Uc(e=>e.replace(b3,(t,n)=>n?n.toUpperCase():"")),y3=/\B([A-Z])/g,qr=Uc(e=>e.replace(y3,"-$1").toLowerCase()),qc=Uc(e=>e.charAt(0).toUpperCase()+e.slice(1)),gd=Uc(e=>e?`on${qc(e)}`:""),Br=(e,t)=>!Object.is(e,t),Ql=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:o,value:n})},Tf=e=>{const t=parseFloat(e);return isNaN(t)?e:t},x3=e=>{const t=ln(e)?Number(e):NaN;return isNaN(t)?e:t};let Jm;const dy=()=>Jm||(Jm=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Di(e){if(ct(e)){const t={};for(let n=0;n{if(n){const o=n.split(w3);o.length>1&&(t[o[0].trim()]=o[1].trim())}}),t}function sr(e){let t="";if(ln(e))t=e;else if(ct(e))for(let n=0;n!!(e&&e.__v_isRef===!0),se=e=>ln(e)?e:e==null?"":ct(e)||Zt(e)&&(e.toString===ly||!mt(e.toString))?hy(e)?se(e.value):JSON.stringify(e,py,2):String(e),py=(e,t)=>hy(t)?py(e,t.value):ha(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,r],i)=>(n[vd(o,i)+" =>"]=r,n),{})}:ay(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>vd(n))}:Ur(t)?vd(t):Zt(t)&&!ct(t)&&!cy(t)?String(t):t,vd=(e,t="")=>{var n;return Ur(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** -* @vue/reactivity v3.4.38 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let Un;class my{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Un,!t&&Un&&(this.index=(Un.scopes||(Un.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=Un;try{return Un=this,t()}finally{Un=n}}}on(){Un=this}off(){Un=this.parent}stop(t){if(this._active){let n,o;for(n=0,o=this.effects.length;n=4))break}this._dirtyLevel===1&&(this._dirtyLevel=0),Gr()}return this._dirtyLevel>=4}set dirty(t){this._dirtyLevel=t?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=Lr,n=xi;try{return Lr=!0,xi=this,this._runnings++,Qm(this),this.fn()}finally{eg(this),this._runnings--,xi=n,Lr=t}}stop(){this.active&&(Qm(this),eg(this),this.onStop&&this.onStop(),this.active=!1)}}function R3(e){return e.value}function Qm(e){e._trackId++,e._depsLength=0}function eg(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},hc=new WeakMap,Ci=Symbol(""),$f=Symbol("");function jn(e,t,n){if(Lr&&xi){let o=hc.get(e);o||hc.set(e,o=new Map);let r=o.get(n);r||o.set(n,r=Cy(()=>o.delete(n))),yy(xi,r)}}function ar(e,t,n,o,r,i){const a=hc.get(e);if(!a)return;let s=[];if(t==="clear")s=[...a.values()];else if(n==="length"&&ct(e)){const l=Number(o);a.forEach((c,u)=>{(u==="length"||!Ur(u)&&u>=l)&&s.push(c)})}else switch(n!==void 0&&s.push(a.get(n)),t){case"add":ct(e)?Yh(n)&&s.push(a.get("length")):(s.push(a.get(Ci)),ha(e)&&s.push(a.get($f)));break;case"delete":ct(e)||(s.push(a.get(Ci)),ha(e)&&s.push(a.get($f)));break;case"set":ha(e)&&s.push(a.get(Ci));break}Qh();for(const l of s)l&&xy(l,4);ep()}function E3(e,t){const n=hc.get(e);return n&&n.get(t)}const $3=qh("__proto__,__v_isRef,__isVue"),wy=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ur)),tg=A3();function A3(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const o=It(this);for(let i=0,a=this.length;i{e[t]=function(...n){Kr(),Qh();const o=It(this)[t].apply(this,n);return ep(),Gr(),o}}),e}function I3(e){Ur(e)||(e=String(e));const t=It(this);return jn(t,"has",e),t.hasOwnProperty(e)}class _y{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,o){const r=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return i;if(n==="__v_raw")return o===(r?i?U3:Ty:i?Py:ky).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(o)?t:void 0;const a=ct(t);if(!r){if(a&&Mt(tg,n))return Reflect.get(tg,n,o);if(n==="hasOwnProperty")return I3}const s=Reflect.get(t,n,o);return(Ur(n)?wy.has(n):$3(n))||(r||jn(t,"get",n),i)?s:cn(s)?a&&Yh(n)?s:s.value:Zt(s)?r?co(s):eo(s):s}}class Sy extends _y{constructor(t=!1){super(!1,t)}set(t,n,o,r){let i=t[n];if(!this._isShallow){const l=Ri(i);if(!xa(o)&&!Ri(o)&&(i=It(i),o=It(o)),!ct(t)&&cn(i)&&!cn(o))return l?!1:(i.value=o,!0)}const a=ct(t)&&Yh(n)?Number(n)e,Kc=e=>Reflect.getPrototypeOf(e);function xl(e,t,n=!1,o=!1){e=e.__v_raw;const r=It(e),i=It(t);n||(Br(t,i)&&jn(r,"get",t),jn(r,"get",i));const{has:a}=Kc(r),s=o?tp:n?rp:Ds;if(a.call(r,t))return s(e.get(t));if(a.call(r,i))return s(e.get(i));e!==r&&e.get(t)}function Cl(e,t=!1){const n=this.__v_raw,o=It(n),r=It(e);return t||(Br(e,r)&&jn(o,"has",e),jn(o,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function wl(e,t=!1){return e=e.__v_raw,!t&&jn(It(e),"iterate",Ci),Reflect.get(e,"size",e)}function ng(e,t=!1){!t&&!xa(e)&&!Ri(e)&&(e=It(e));const n=It(this);return Kc(n).has.call(n,e)||(n.add(e),ar(n,"add",e,e)),this}function og(e,t,n=!1){!n&&!xa(t)&&!Ri(t)&&(t=It(t));const o=It(this),{has:r,get:i}=Kc(o);let a=r.call(o,e);a||(e=It(e),a=r.call(o,e));const s=i.call(o,e);return o.set(e,t),a?Br(t,s)&&ar(o,"set",e,t):ar(o,"add",e,t),this}function rg(e){const t=It(this),{has:n,get:o}=Kc(t);let r=n.call(t,e);r||(e=It(e),r=n.call(t,e)),o&&o.call(t,e);const i=t.delete(e);return r&&ar(t,"delete",e,void 0),i}function ig(){const e=It(this),t=e.size!==0,n=e.clear();return t&&ar(e,"clear",void 0,void 0),n}function _l(e,t){return function(o,r){const i=this,a=i.__v_raw,s=It(a),l=t?tp:e?rp:Ds;return!e&&jn(s,"iterate",Ci),a.forEach((c,u)=>o.call(r,l(c),l(u),i))}}function Sl(e,t,n){return function(...o){const r=this.__v_raw,i=It(r),a=ha(i),s=e==="entries"||e===Symbol.iterator&&a,l=e==="keys"&&a,c=r[e](...o),u=n?tp:t?rp:Ds;return!t&&jn(i,"iterate",l?$f:Ci),{next(){const{value:d,done:f}=c.next();return f?{value:d,done:f}:{value:s?[u(d[0]),u(d[1])]:u(d),done:f}},[Symbol.iterator](){return this}}}}function Cr(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function L3(){const e={get(i){return xl(this,i)},get size(){return wl(this)},has:Cl,add:ng,set:og,delete:rg,clear:ig,forEach:_l(!1,!1)},t={get(i){return xl(this,i,!1,!0)},get size(){return wl(this)},has:Cl,add(i){return ng.call(this,i,!0)},set(i,a){return og.call(this,i,a,!0)},delete:rg,clear:ig,forEach:_l(!1,!0)},n={get(i){return xl(this,i,!0)},get size(){return wl(this,!0)},has(i){return Cl.call(this,i,!0)},add:Cr("add"),set:Cr("set"),delete:Cr("delete"),clear:Cr("clear"),forEach:_l(!0,!1)},o={get(i){return xl(this,i,!0,!0)},get size(){return wl(this,!0)},has(i){return Cl.call(this,i,!0)},add:Cr("add"),set:Cr("set"),delete:Cr("delete"),clear:Cr("clear"),forEach:_l(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(i=>{e[i]=Sl(i,!1,!1),n[i]=Sl(i,!0,!1),t[i]=Sl(i,!1,!0),o[i]=Sl(i,!0,!0)}),[e,n,t,o]}const[F3,B3,N3,H3]=L3();function np(e,t){const n=t?e?H3:N3:e?B3:F3;return(o,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?o:Reflect.get(Mt(n,r)&&r in o?n:o,r,i)}const j3={get:np(!1,!1)},V3={get:np(!1,!0)},W3={get:np(!0,!1)},ky=new WeakMap,Py=new WeakMap,Ty=new WeakMap,U3=new WeakMap;function q3(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function K3(e){return e.__v_skip||!Object.isExtensible(e)?0:q3(v3(e))}function eo(e){return Ri(e)?e:op(e,!1,M3,j3,ky)}function Ry(e){return op(e,!1,D3,V3,Py)}function co(e){return op(e,!0,z3,W3,Ty)}function op(e,t,n,o,r){if(!Zt(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=r.get(e);if(i)return i;const a=K3(e);if(a===0)return e;const s=new Proxy(e,a===2?o:n);return r.set(e,s),s}function wi(e){return Ri(e)?wi(e.__v_raw):!!(e&&e.__v_isReactive)}function Ri(e){return!!(e&&e.__v_isReadonly)}function xa(e){return!!(e&&e.__v_isShallow)}function Ey(e){return e?!!e.__v_raw:!1}function It(e){const t=e&&e.__v_raw;return t?It(t):e}function zs(e){return Object.isExtensible(e)&&uy(e,"__v_skip",!0),e}const Ds=e=>Zt(e)?eo(e):e,rp=e=>Zt(e)?co(e):e;class $y{constructor(t,n,o,r){this.getter=t,this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new Jh(()=>t(this._value),()=>vs(this,this.effect._dirtyLevel===2?2:3)),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=o}get value(){const t=It(this);return(!t._cacheable||t.effect.dirty)&&Br(t._value,t._value=t.effect.run())&&vs(t,4),ip(t),t.effect._dirtyLevel>=2&&vs(t,2),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function G3(e,t,n=!1){let o,r;const i=mt(e);return i?(o=e,r=Kn):(o=e.get,r=e.set),new $y(o,r,i||!r,n)}function ip(e){var t;Lr&&xi&&(e=It(e),yy(xi,(t=e.dep)!=null?t:e.dep=Cy(()=>e.dep=void 0,e instanceof $y?e:void 0)))}function vs(e,t=4,n,o){e=It(e);const r=e.dep;r&&xy(r,t)}function cn(e){return!!(e&&e.__v_isRef===!0)}function W(e){return Ay(e,!1)}function Oa(e){return Ay(e,!0)}function Ay(e,t){return cn(e)?e:new Y3(e,t)}class Y3{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:It(t),this._value=n?t:Ds(t)}get value(){return ip(this),this._value}set value(t){const n=this.__v_isShallow||xa(t)||Ri(t);t=n?t:It(t),Br(t,this._rawValue)&&(this._rawValue,this._rawValue=t,this._value=n?t:Ds(t),vs(this,4))}}function we(e){return cn(e)?e.value:e}const X3={get:(e,t,n)=>we(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const r=e[t];return cn(r)&&!cn(n)?(r.value=n,!0):Reflect.set(e,t,n,o)}};function Iy(e){return wi(e)?e:new Proxy(e,X3)}class Z3{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:o}=t(()=>ip(this),()=>vs(this));this._get=n,this._set=o}get value(){return this._get()}set value(t){this._set(t)}}function J3(e){return new Z3(e)}function Q3(e){const t=ct(e)?new Array(e.length):{};for(const n in e)t[n]=Oy(e,n);return t}class e4{constructor(t,n,o){this._object=t,this._key=n,this._defaultValue=o,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return E3(It(this._object),this._key)}}class t4{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function We(e,t,n){return cn(e)?e:mt(e)?new t4(e):Zt(e)&&arguments.length>1?Oy(e,t,n):W(e)}function Oy(e,t,n){const o=e[t];return cn(o)?o:new e4(e,t,n)}/** -* @vue/runtime-core v3.4.38 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function Fr(e,t,n,o){try{return o?e(...o):e()}catch(r){Gc(r,t,n)}}function ao(e,t,n,o){if(mt(e)){const r=Fr(e,t,n,o);return r&&sy(r)&&r.catch(i=>{Gc(i,t,n)}),r}if(ct(e)){const r=[];for(let i=0;i>>1,r=$n[o],i=Fs(r);iBo&&$n.splice(t,1)}function i4(e){ct(e)?pa.push(...e):(!$r||!$r.includes(e,e.allowRecurse?hi+1:hi))&&pa.push(e),zy()}function ag(e,t,n=Ls?Bo+1:0){for(;n<$n.length;n++){const o=$n[n];if(o&&o.pre){if(e&&o.id!==e.uid)continue;$n.splice(n,1),n--,o()}}}function Dy(e){if(pa.length){const t=[...new Set(pa)].sort((n,o)=>Fs(n)-Fs(o));if(pa.length=0,$r){$r.push(...t);return}for($r=t,hi=0;hi<$r.length;hi++){const n=$r[hi];n.active!==!1&&n()}$r=null,hi=0}}const Fs=e=>e.id==null?1/0:e.id,a4=(e,t)=>{const n=Fs(e)-Fs(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function Ly(e){Af=!1,Ls=!0,$n.sort(a4);const t=Kn;try{for(Bo=0;Bo<$n.length;Bo++){const n=$n[Bo];n&&n.active!==!1&&Fr(n,n.i,n.i?15:14)}}finally{Bo=0,$n.length=0,Dy(),Ls=!1,ap=null,($n.length||pa.length)&&Ly()}}let xn=null,Yc=null;function pc(e){const t=xn;return xn=e,Yc=e&&e.type.__scopeId||null,t}function s4(e){Yc=e}function l4(){Yc=null}function ue(e,t=xn,n){if(!t||e._n)return e;const o=(...r)=>{o._d&&bg(-1);const i=pc(t);let a;try{a=e(...r)}finally{pc(i),o._d&&bg(1)}return a};return o._n=!0,o._c=!0,o._d=!0,o}function dn(e,t){if(xn===null)return e;const n=iu(xn),o=e.dirs||(e.dirs=[]);for(let r=0;r{e.isMounted=!0}),on(()=>{e.isUnmounting=!0}),e}const oo=[Function,Array],By={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:oo,onEnter:oo,onAfterEnter:oo,onEnterCancelled:oo,onBeforeLeave:oo,onLeave:oo,onAfterLeave:oo,onLeaveCancelled:oo,onBeforeAppear:oo,onAppear:oo,onAfterAppear:oo,onAppearCancelled:oo},Ny=e=>{const t=e.subTree;return t.component?Ny(t.component):t},c4={name:"BaseTransition",props:By,setup(e,{slots:t}){const n=to(),o=Fy();return()=>{const r=t.default&&lp(t.default(),!0);if(!r||!r.length)return;let i=r[0];if(r.length>1){for(const f of r)if(f.type!==_n){i=f;break}}const a=It(e),{mode:s}=a;if(o.isLeaving)return bd(i);const l=sg(i);if(!l)return bd(i);let c=Bs(l,a,o,n,f=>c=f);Ca(l,c);const u=n.subTree,d=u&&sg(u);if(d&&d.type!==_n&&!pi(l,d)&&Ny(n).type!==_n){const f=Bs(d,a,o,n);if(Ca(d,f),s==="out-in"&&l.type!==_n)return o.isLeaving=!0,f.afterLeave=()=>{o.isLeaving=!1,n.update.active!==!1&&(n.effect.dirty=!0,n.update())},bd(i);s==="in-out"&&l.type!==_n&&(f.delayLeave=(h,p,g)=>{const m=Hy(o,d);m[String(d.key)]=d,h[Ar]=()=>{p(),h[Ar]=void 0,delete c.delayedLeave},c.delayedLeave=g})}return i}}},u4=c4;function Hy(e,t){const{leavingVNodes:n}=e;let o=n.get(t.type);return o||(o=Object.create(null),n.set(t.type,o)),o}function Bs(e,t,n,o,r){const{appear:i,mode:a,persisted:s=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:u,onEnterCancelled:d,onBeforeLeave:f,onLeave:h,onAfterLeave:p,onLeaveCancelled:g,onBeforeAppear:m,onAppear:b,onAfterAppear:_,onAppearCancelled:C}=t,S=String(e.key),w=Hy(n,e),x=(k,T)=>{k&&ao(k,o,9,T)},y=(k,T)=>{const E=T[1];x(k,T),ct(k)?k.every(R=>R.length<=1)&&E():k.length<=1&&E()},P={mode:a,persisted:s,beforeEnter(k){let T=l;if(!n.isMounted)if(i)T=m||l;else return;k[Ar]&&k[Ar](!0);const E=w[S];E&&pi(e,E)&&E.el[Ar]&&E.el[Ar](),x(T,[k])},enter(k){let T=c,E=u,R=d;if(!n.isMounted)if(i)T=b||c,E=_||u,R=C||d;else return;let K=!1;const N=k[kl]=D=>{K||(K=!0,D?x(R,[k]):x(E,[k]),P.delayedLeave&&P.delayedLeave(),k[kl]=void 0)};T?y(T,[k,N]):N()},leave(k,T){const E=String(e.key);if(k[kl]&&k[kl](!0),n.isUnmounting)return T();x(f,[k]);let R=!1;const K=k[Ar]=N=>{R||(R=!0,T(),N?x(g,[k]):x(p,[k]),k[Ar]=void 0,w[E]===e&&delete w[E])};w[E]=e,h?y(h,[k,K]):K()},clone(k){const T=Bs(k,t,n,o,r);return r&&r(T),T}};return P}function bd(e){if(Xc(e))return e=uo(e),e.children=null,e}function sg(e){if(!Xc(e))return e;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&mt(n.default))return n.default()}}function Ca(e,t){e.shapeFlag&6&&e.component?Ca(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function lp(e,t=!1,n){let o=[],r=0;for(let i=0;i1)for(let i=0;iwn({name:e.name},t,{setup:e}))():e}const bs=e=>!!e.type.__asyncLoader,Xc=e=>e.type.__isKeepAlive;function cp(e,t){jy(e,"a",t)}function Zc(e,t){jy(e,"da",t)}function jy(e,t,n=Sn){const o=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Jc(t,o,n),n){let r=n.parent;for(;r&&r.parent;)Xc(r.parent.vnode)&&d4(o,t,n,r),r=r.parent}}function d4(e,t,n,o){const r=Jc(t,e,o,!0);Ma(()=>{Gh(o[t],r)},n)}function Jc(e,t,n=Sn,o=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...a)=>{Kr();const s=ol(n),l=ao(t,n,e,a);return s(),Gr(),l});return o?r.unshift(i):r.push(i),i}}const dr=e=>(t,n=Sn)=>{(!ru||e==="sp")&&Jc(e,(...o)=>t(...o),n)},hn=dr("bm"),jt=dr("m"),Vy=dr("bu"),up=dr("u"),on=dr("bum"),Ma=dr("um"),f4=dr("sp"),h4=dr("rtg"),p4=dr("rtc");function m4(e,t=Sn){Jc("ec",e,t)}const dp="components";function Qc(e,t){return Uy(dp,e,!0,t)||e}const Wy=Symbol.for("v-ndc");function eu(e){return ln(e)?Uy(dp,e,!1)||e:e||Wy}function Uy(e,t,n=!0,o=!1){const r=xn||Sn;if(r){const i=r.type;if(e===dp){const s=aP(i,!1);if(s&&(s===t||s===To(t)||s===qc(To(t))))return i}const a=lg(r[e]||i[e],t)||lg(r.appContext[e],t);return!a&&o?i:a}}function lg(e,t){return e&&(e[t]||e[To(t)]||e[qc(To(t))])}function Hn(e,t,n,o){let r;const i=n&&n[o];if(ct(e)||ln(e)){r=new Array(e.length);for(let a=0,s=e.length;at(a,s,void 0,i&&i[s]));else{const a=Object.keys(e);r=new Array(a.length);for(let s=0,l=a.length;sHs(t)?!(t.type===_n||t.type===it&&!qy(t.children)):!0)?e:null}const If=e=>e?fx(e)?iu(e):If(e.parent):null,ys=wn(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>If(e.parent),$root:e=>If(e.root),$emit:e=>e.emit,$options:e=>fp(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,sp(e.update)}),$nextTick:e=>e.n||(e.n=Ht.bind(e.proxy)),$watch:e=>N4.bind(e)}),yd=(e,t)=>e!==nn&&!e.__isScriptSetup&&Mt(e,t),g4={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:o,data:r,props:i,accessCache:a,type:s,appContext:l}=e;let c;if(t[0]!=="$"){const h=a[t];if(h!==void 0)switch(h){case 1:return o[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(yd(o,t))return a[t]=1,o[t];if(r!==nn&&Mt(r,t))return a[t]=2,r[t];if((c=e.propsOptions[0])&&Mt(c,t))return a[t]=3,i[t];if(n!==nn&&Mt(n,t))return a[t]=4,n[t];Of&&(a[t]=0)}}const u=ys[t];let d,f;if(u)return t==="$attrs"&&jn(e.attrs,"get",""),u(e);if((d=s.__cssModules)&&(d=d[t]))return d;if(n!==nn&&Mt(n,t))return a[t]=4,n[t];if(f=l.config.globalProperties,Mt(f,t))return f[t]},set({_:e},t,n){const{data:o,setupState:r,ctx:i}=e;return yd(r,t)?(r[t]=n,!0):o!==nn&&Mt(o,t)?(o[t]=n,!0):Mt(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:o,appContext:r,propsOptions:i}},a){let s;return!!n[a]||e!==nn&&Mt(e,a)||yd(t,a)||(s=i[0])&&Mt(s,a)||Mt(o,a)||Mt(ys,a)||Mt(r.config.globalProperties,a)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Mt(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function cg(e){return ct(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Of=!0;function v4(e){const t=fp(e),n=e.proxy,o=e.ctx;Of=!1,t.beforeCreate&&ug(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:a,watch:s,provide:l,inject:c,created:u,beforeMount:d,mounted:f,beforeUpdate:h,updated:p,activated:g,deactivated:m,beforeDestroy:b,beforeUnmount:_,destroyed:C,unmounted:S,render:w,renderTracked:x,renderTriggered:y,errorCaptured:P,serverPrefetch:k,expose:T,inheritAttrs:E,components:R,directives:K,filters:N}=t;if(c&&b4(c,o,null),a)for(const G in a){const J=a[G];mt(J)&&(o[G]=J.bind(n))}if(r){const G=r.call(n,n);Zt(G)&&(e.data=eo(G))}if(Of=!0,i)for(const G in i){const J=i[G],he=mt(J)?J.bind(n,n):mt(J.get)?J.get.bind(n,n):Kn,pe=!mt(J)&&mt(J.set)?J.set.bind(n):Kn,B=F({get:he,set:pe});Object.defineProperty(o,G,{enumerable:!0,configurable:!0,get:()=>B.value,set:$=>B.value=$})}if(s)for(const G in s)Ky(s[G],o,n,G);if(l){const G=mt(l)?l.call(n):l;Reflect.ownKeys(G).forEach(J=>{at(J,G[J])})}u&&ug(u,e,"c");function M(G,J){ct(J)?J.forEach(he=>G(he.bind(n))):J&&G(J.bind(n))}if(M(hn,d),M(jt,f),M(Vy,h),M(up,p),M(cp,g),M(Zc,m),M(m4,P),M(p4,x),M(h4,y),M(on,_),M(Ma,S),M(f4,k),ct(T))if(T.length){const G=e.exposed||(e.exposed={});T.forEach(J=>{Object.defineProperty(G,J,{get:()=>n[J],set:he=>n[J]=he})})}else e.exposed||(e.exposed={});w&&e.render===Kn&&(e.render=w),E!=null&&(e.inheritAttrs=E),R&&(e.components=R),K&&(e.directives=K)}function b4(e,t,n=Kn){ct(e)&&(e=Mf(e));for(const o in e){const r=e[o];let i;Zt(r)?"default"in r?i=Ue(r.from||o,r.default,!0):i=Ue(r.from||o):i=Ue(r),cn(i)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>i.value,set:a=>i.value=a}):t[o]=i}}function ug(e,t,n){ao(ct(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n)}function Ky(e,t,n,o){const r=o.includes(".")?lx(n,o):()=>n[o];if(ln(e)){const i=t[e];mt(i)&&ft(r,i)}else if(mt(e))ft(r,e.bind(n));else if(Zt(e))if(ct(e))e.forEach(i=>Ky(i,t,n,o));else{const i=mt(e.handler)?e.handler.bind(n):t[e.handler];mt(i)&&ft(r,i,e)}}function fp(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:a}}=e.appContext,s=i.get(t);let l;return s?l=s:!r.length&&!n&&!o?l=t:(l={},r.length&&r.forEach(c=>mc(l,c,a,!0)),mc(l,t,a)),Zt(t)&&i.set(t,l),l}function mc(e,t,n,o=!1){const{mixins:r,extends:i}=t;i&&mc(e,i,n,!0),r&&r.forEach(a=>mc(e,a,n,!0));for(const a in t)if(!(o&&a==="expose")){const s=y4[a]||n&&n[a];e[a]=s?s(e[a],t[a]):t[a]}return e}const y4={data:dg,props:fg,emits:fg,methods:fs,computed:fs,beforeCreate:In,created:In,beforeMount:In,mounted:In,beforeUpdate:In,updated:In,beforeDestroy:In,beforeUnmount:In,destroyed:In,unmounted:In,activated:In,deactivated:In,errorCaptured:In,serverPrefetch:In,components:fs,directives:fs,watch:C4,provide:dg,inject:x4};function dg(e,t){return t?e?function(){return wn(mt(e)?e.call(this,this):e,mt(t)?t.call(this,this):t)}:t:e}function x4(e,t){return fs(Mf(e),Mf(t))}function Mf(e){if(ct(e)){const t={};for(let n=0;n1)return n&&mt(t)?t.call(o&&o.proxy):t}}function S4(){return!!(Sn||xn||_i)}const Yy={},Xy=()=>Object.create(Yy),Zy=e=>Object.getPrototypeOf(e)===Yy;function k4(e,t,n,o=!1){const r={},i=Xy();e.propsDefaults=Object.create(null),Jy(e,t,r,i);for(const a in e.propsOptions[0])a in r||(r[a]=void 0);n?e.props=o?r:Ry(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function P4(e,t,n,o){const{props:r,attrs:i,vnode:{patchFlag:a}}=e,s=It(r),[l]=e.propsOptions;let c=!1;if((o||a>0)&&!(a&16)){if(a&8){const u=e.vnode.dynamicProps;for(let d=0;d{l=!0;const[f,h]=Qy(d,t,!0);wn(a,f),h&&s.push(...h)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!i&&!l)return Zt(e)&&o.set(e,fa),fa;if(ct(i))for(let u=0;ue[0]==="_"||e==="$stable",hp=e=>ct(e)?e.map(Fo):[Fo(e)],R4=(e,t,n)=>{if(t._n)return t;const o=ue((...r)=>hp(t(...r)),n);return o._c=!1,o},tx=(e,t,n)=>{const o=e._ctx;for(const r in e){if(ex(r))continue;const i=e[r];if(mt(i))t[r]=R4(r,i,o);else if(i!=null){const a=hp(i);t[r]=()=>a}}},nx=(e,t)=>{const n=hp(t);e.slots.default=()=>n},ox=(e,t,n)=>{for(const o in t)(n||o!=="_")&&(e[o]=t[o])},E4=(e,t,n)=>{const o=e.slots=Xy();if(e.vnode.shapeFlag&32){const r=t._;r?(ox(o,t,n),n&&uy(o,"_",r,!0)):tx(t,o)}else t&&nx(e,t)},$4=(e,t,n)=>{const{vnode:o,slots:r}=e;let i=!0,a=nn;if(o.shapeFlag&32){const s=t._;s?n&&s===1?i=!1:ox(r,t,n):(i=!t.$stable,tx(t,r)),a=t}else t&&(nx(e,t),a={default:1});if(i)for(const s in r)!ex(s)&&a[s]==null&&delete r[s]};function Df(e,t,n,o,r=!1){if(ct(e)){e.forEach((f,h)=>Df(f,t&&(ct(t)?t[h]:t),n,o,r));return}if(bs(o)&&!r)return;const i=o.shapeFlag&4?iu(o.component):o.el,a=r?null:i,{i:s,r:l}=e,c=t&&t.r,u=s.refs===nn?s.refs={}:s.refs,d=s.setupState;if(c!=null&&c!==l&&(ln(c)?(u[c]=null,Mt(d,c)&&(d[c]=null)):cn(c)&&(c.value=null)),mt(l))Fr(l,s,12,[a,u]);else{const f=ln(l),h=cn(l);if(f||h){const p=()=>{if(e.f){const g=f?Mt(d,l)?d[l]:u[l]:l.value;r?ct(g)&&Gh(g,i):ct(g)?g.includes(i)||g.push(i):f?(u[l]=[i],Mt(d,l)&&(d[l]=u[l])):(l.value=[i],e.k&&(u[e.k]=l.value))}else f?(u[l]=a,Mt(d,l)&&(d[l]=a)):h&&(l.value=a,e.k&&(u[e.k]=a))};a?(p.id=-1,Nn(p,n)):p()}}}const rx=Symbol("_vte"),A4=e=>e.__isTeleport,xs=e=>e&&(e.disabled||e.disabled===""),pg=e=>typeof SVGElement<"u"&&e instanceof SVGElement,mg=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Lf=(e,t)=>{const n=e&&e.to;return ln(n)?t?t(n):null:n},I4={name:"Teleport",__isTeleport:!0,process(e,t,n,o,r,i,a,s,l,c){const{mc:u,pc:d,pbc:f,o:{insert:h,querySelector:p,createText:g,createComment:m}}=c,b=xs(t.props);let{shapeFlag:_,children:C,dynamicChildren:S}=t;if(e==null){const w=t.el=g(""),x=t.anchor=g("");h(w,n,o),h(x,n,o);const y=t.target=Lf(t.props,p),P=ax(y,t,g,h);y&&(a==="svg"||pg(y)?a="svg":(a==="mathml"||mg(y))&&(a="mathml"));const k=(T,E)=>{_&16&&u(C,T,E,r,i,a,s,l)};b?k(n,x):y&&k(y,P)}else{t.el=e.el,t.targetStart=e.targetStart;const w=t.anchor=e.anchor,x=t.target=e.target,y=t.targetAnchor=e.targetAnchor,P=xs(e.props),k=P?n:x,T=P?w:y;if(a==="svg"||pg(x)?a="svg":(a==="mathml"||mg(x))&&(a="mathml"),S?(f(e.dynamicChildren,S,k,r,i,a,s),pp(e,t,!0)):l||d(e,t,k,T,r,i,a,s,!1),b)P?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Pl(t,n,w,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const E=t.target=Lf(t.props,p);E&&Pl(t,E,null,c,0)}else P&&Pl(t,x,y,c,1)}ix(t)},remove(e,t,n,{um:o,o:{remove:r}},i){const{shapeFlag:a,children:s,anchor:l,targetStart:c,targetAnchor:u,target:d,props:f}=e;if(d&&(r(c),r(u)),i&&r(l),a&16){const h=i||!xs(f);for(let p=0;p{if(L===O)return;L&&!pi(L,O)&&(_e=Q(L),$(L,te,ge,!0),L=null),O.patchFlag===-2&&(j=!1,O.dynamicChildren=null);const{type:ee,ref:Ce,shapeFlag:ce}=O;switch(ee){case za:m(L,O,oe,_e);break;case _n:b(L,O,oe,_e);break;case ec:L==null&&_(O,oe,_e,ke);break;case it:R(L,O,oe,_e,te,ge,ke,I,j);break;default:ce&1?w(L,O,oe,_e,te,ge,ke,I,j):ce&6?K(L,O,oe,_e,te,ge,ke,I,j):(ce&64||ce&128)&&ee.process(L,O,oe,_e,te,ge,ke,I,j,ye)}Ce!=null&&te&&Df(Ce,L&&L.ref,ge,O||L,!O)},m=(L,O,oe,_e)=>{if(L==null)o(O.el=s(O.children),oe,_e);else{const te=O.el=L.el;O.children!==L.children&&c(te,O.children)}},b=(L,O,oe,_e)=>{L==null?o(O.el=l(O.children||""),oe,_e):O.el=L.el},_=(L,O,oe,_e)=>{[L.el,L.anchor]=p(L.children,O,oe,_e,L.el,L.anchor)},C=({el:L,anchor:O},oe,_e)=>{let te;for(;L&&L!==O;)te=f(L),o(L,oe,_e),L=te;o(O,oe,_e)},S=({el:L,anchor:O})=>{let oe;for(;L&&L!==O;)oe=f(L),r(L),L=oe;r(O)},w=(L,O,oe,_e,te,ge,ke,I,j)=>{O.type==="svg"?ke="svg":O.type==="math"&&(ke="mathml"),L==null?x(O,oe,_e,te,ge,ke,I,j):k(L,O,te,ge,ke,I,j)},x=(L,O,oe,_e,te,ge,ke,I)=>{let j,ee;const{props:Ce,shapeFlag:ce,transition:le,dirs:re}=L;if(j=L.el=a(L.type,ge,Ce&&Ce.is,Ce),ce&8?u(j,L.children):ce&16&&P(L.children,j,null,_e,te,xd(L,ge),ke,I),re&&ri(L,null,_e,"created"),y(j,L,L.scopeId,ke,_e),Ce){for(const De in Ce)De!=="value"&&!gs(De)&&i(j,De,null,Ce[De],ge,_e);"value"in Ce&&i(j,"value",null,Ce.value,ge),(ee=Ce.onVnodeBeforeMount)&&zo(ee,_e,L)}re&&ri(L,null,_e,"beforeMount");const de=D4(te,le);de&&le.beforeEnter(j),o(j,O,oe),((ee=Ce&&Ce.onVnodeMounted)||de||re)&&Nn(()=>{ee&&zo(ee,_e,L),de&&le.enter(j),re&&ri(L,null,_e,"mounted")},te)},y=(L,O,oe,_e,te)=>{if(oe&&h(L,oe),_e)for(let ge=0;ge<_e.length;ge++)h(L,_e[ge]);if(te){let ge=te.subTree;if(O===ge){const ke=te.vnode;y(L,ke,ke.scopeId,ke.slotScopeIds,te.parent)}}},P=(L,O,oe,_e,te,ge,ke,I,j=0)=>{for(let ee=j;ee{const I=O.el=L.el;let{patchFlag:j,dynamicChildren:ee,dirs:Ce}=O;j|=L.patchFlag&16;const ce=L.props||nn,le=O.props||nn;let re;if(oe&&ii(oe,!1),(re=le.onVnodeBeforeUpdate)&&zo(re,oe,O,L),Ce&&ri(O,L,oe,"beforeUpdate"),oe&&ii(oe,!0),(ce.innerHTML&&le.innerHTML==null||ce.textContent&&le.textContent==null)&&u(I,""),ee?T(L.dynamicChildren,ee,I,oe,_e,xd(O,te),ge):ke||J(L,O,I,null,oe,_e,xd(O,te),ge,!1),j>0){if(j&16)E(I,ce,le,oe,te);else if(j&2&&ce.class!==le.class&&i(I,"class",null,le.class,te),j&4&&i(I,"style",ce.style,le.style,te),j&8){const de=O.dynamicProps;for(let De=0;De{re&&zo(re,oe,O,L),Ce&&ri(O,L,oe,"updated")},_e)},T=(L,O,oe,_e,te,ge,ke)=>{for(let I=0;I{if(O!==oe){if(O!==nn)for(const ge in O)!gs(ge)&&!(ge in oe)&&i(L,ge,O[ge],null,te,_e);for(const ge in oe){if(gs(ge))continue;const ke=oe[ge],I=O[ge];ke!==I&&ge!=="value"&&i(L,ge,I,ke,te,_e)}"value"in oe&&i(L,"value",O.value,oe.value,te)}},R=(L,O,oe,_e,te,ge,ke,I,j)=>{const ee=O.el=L?L.el:s(""),Ce=O.anchor=L?L.anchor:s("");let{patchFlag:ce,dynamicChildren:le,slotScopeIds:re}=O;re&&(I=I?I.concat(re):re),L==null?(o(ee,oe,_e),o(Ce,oe,_e),P(O.children||[],oe,Ce,te,ge,ke,I,j)):ce>0&&ce&64&&le&&L.dynamicChildren?(T(L.dynamicChildren,le,oe,te,ge,ke,I),(O.key!=null||te&&O===te.subTree)&&pp(L,O,!0)):J(L,O,oe,Ce,te,ge,ke,I,j)},K=(L,O,oe,_e,te,ge,ke,I,j)=>{O.slotScopeIds=I,L==null?O.shapeFlag&512?te.ctx.activate(O,oe,_e,ke,j):N(O,oe,_e,te,ge,ke,j):D(L,O,j)},N=(L,O,oe,_e,te,ge,ke)=>{const I=L.component=tP(L,_e,te);if(Xc(L)&&(I.ctx.renderer=ye),nP(I,!1,ke),I.asyncDep){if(te&&te.registerDep(I,M,ke),!L.el){const j=I.subTree=ie(_n);b(null,j,O,oe)}}else M(I,L,O,oe,te,ge,ke)},D=(L,O,oe)=>{const _e=O.component=L.component;if(U4(L,O,oe))if(_e.asyncDep&&!_e.asyncResolved){G(_e,O,oe);return}else _e.next=O,r4(_e.update),_e.effect.dirty=!0,_e.update();else O.el=L.el,_e.vnode=O},M=(L,O,oe,_e,te,ge,ke)=>{const I=()=>{if(L.isMounted){let{next:Ce,bu:ce,u:le,parent:re,vnode:de}=L;{const He=sx(L);if(He){Ce&&(Ce.el=de.el,G(L,Ce,ke)),He.asyncDep.then(()=>{L.isUnmounted||I()});return}}let De=Ce,Le;ii(L,!1),Ce?(Ce.el=de.el,G(L,Ce,ke)):Ce=de,ce&&Ql(ce),(Le=Ce.props&&Ce.props.onVnodeBeforeUpdate)&&zo(Le,re,Ce,de),ii(L,!0);const Pe=Cd(L),Fe=L.subTree;L.subTree=Pe,g(Fe,Pe,d(Fe.el),Q(Fe),L,te,ge),Ce.el=Pe.el,De===null&&q4(L,Pe.el),le&&Nn(le,te),(Le=Ce.props&&Ce.props.onVnodeUpdated)&&Nn(()=>zo(Le,re,Ce,de),te)}else{let Ce;const{el:ce,props:le}=O,{bm:re,m:de,parent:De}=L,Le=bs(O);if(ii(L,!1),re&&Ql(re),!Le&&(Ce=le&&le.onVnodeBeforeMount)&&zo(Ce,De,O),ii(L,!0),ce&&Ne){const Pe=()=>{L.subTree=Cd(L),Ne(ce,L.subTree,L,te,null)};Le?O.type.__asyncLoader().then(()=>!L.isUnmounted&&Pe()):Pe()}else{const Pe=L.subTree=Cd(L);g(null,Pe,oe,_e,L,te,ge),O.el=Pe.el}if(de&&Nn(de,te),!Le&&(Ce=le&&le.onVnodeMounted)){const Pe=O;Nn(()=>zo(Ce,De,Pe),te)}(O.shapeFlag&256||De&&bs(De.vnode)&&De.vnode.shapeFlag&256)&&L.a&&Nn(L.a,te),L.isMounted=!0,O=oe=_e=null}},j=L.effect=new Jh(I,Kn,()=>sp(ee),L.scope),ee=L.update=()=>{j.dirty&&j.run()};ee.i=L,ee.id=L.uid,ii(L,!0),ee()},G=(L,O,oe)=>{O.component=L;const _e=L.vnode.props;L.vnode=O,L.next=null,P4(L,O.props,_e,oe),$4(L,O.children,oe),Kr(),ag(L),Gr()},J=(L,O,oe,_e,te,ge,ke,I,j=!1)=>{const ee=L&&L.children,Ce=L?L.shapeFlag:0,ce=O.children,{patchFlag:le,shapeFlag:re}=O;if(le>0){if(le&128){pe(ee,ce,oe,_e,te,ge,ke,I,j);return}else if(le&256){he(ee,ce,oe,_e,te,ge,ke,I,j);return}}re&8?(Ce&16&&fe(ee,te,ge),ce!==ee&&u(oe,ce)):Ce&16?re&16?pe(ee,ce,oe,_e,te,ge,ke,I,j):fe(ee,te,ge,!0):(Ce&8&&u(oe,""),re&16&&P(ce,oe,_e,te,ge,ke,I,j))},he=(L,O,oe,_e,te,ge,ke,I,j)=>{L=L||fa,O=O||fa;const ee=L.length,Ce=O.length,ce=Math.min(ee,Ce);let le;for(le=0;leCe?fe(L,te,ge,!0,!1,ce):P(O,oe,_e,te,ge,ke,I,j,ce)},pe=(L,O,oe,_e,te,ge,ke,I,j)=>{let ee=0;const Ce=O.length;let ce=L.length-1,le=Ce-1;for(;ee<=ce&&ee<=le;){const re=L[ee],de=O[ee]=j?Ir(O[ee]):Fo(O[ee]);if(pi(re,de))g(re,de,oe,null,te,ge,ke,I,j);else break;ee++}for(;ee<=ce&&ee<=le;){const re=L[ce],de=O[le]=j?Ir(O[le]):Fo(O[le]);if(pi(re,de))g(re,de,oe,null,te,ge,ke,I,j);else break;ce--,le--}if(ee>ce){if(ee<=le){const re=le+1,de=rele)for(;ee<=ce;)$(L[ee],te,ge,!0),ee++;else{const re=ee,de=ee,De=new Map;for(ee=de;ee<=le;ee++){const X=O[ee]=j?Ir(O[ee]):Fo(O[ee]);X.key!=null&&De.set(X.key,ee)}let Le,Pe=0;const Fe=le-de+1;let He=!1,Ie=0;const Qe=new Array(Fe);for(ee=0;ee=Fe){$(X,te,ge,!0);continue}let ve;if(X.key!=null)ve=De.get(X.key);else for(Le=de;Le<=le;Le++)if(Qe[Le-de]===0&&pi(X,O[Le])){ve=Le;break}ve===void 0?$(X,te,ge,!0):(Qe[ve-de]=ee+1,ve>=Ie?Ie=ve:He=!0,g(X,O[ve],oe,null,te,ge,ke,I,j),Pe++)}const Ct=He?L4(Qe):fa;for(Le=Ct.length-1,ee=Fe-1;ee>=0;ee--){const X=de+ee,ve=O[X],Ae=X+1{const{el:ge,type:ke,transition:I,children:j,shapeFlag:ee}=L;if(ee&6){B(L.component.subTree,O,oe,_e);return}if(ee&128){L.suspense.move(O,oe,_e);return}if(ee&64){ke.move(L,O,oe,ye);return}if(ke===it){o(ge,O,oe);for(let ce=0;ceI.enter(ge),te);else{const{leave:ce,delayLeave:le,afterLeave:re}=I,de=()=>o(ge,O,oe),De=()=>{ce(ge,()=>{de(),re&&re()})};le?le(ge,de,De):De()}else o(ge,O,oe)},$=(L,O,oe,_e=!1,te=!1)=>{const{type:ge,props:ke,ref:I,children:j,dynamicChildren:ee,shapeFlag:Ce,patchFlag:ce,dirs:le,cacheIndex:re}=L;if(ce===-2&&(te=!1),I!=null&&Df(I,null,oe,L,!0),re!=null&&(O.renderCache[re]=void 0),Ce&256){O.ctx.deactivate(L);return}const de=Ce&1&&le,De=!bs(L);let Le;if(De&&(Le=ke&&ke.onVnodeBeforeUnmount)&&zo(Le,O,L),Ce&6)ne(L.component,oe,_e);else{if(Ce&128){L.suspense.unmount(oe,_e);return}de&&ri(L,null,O,"beforeUnmount"),Ce&64?L.type.remove(L,O,oe,ye,_e):ee&&!ee.hasOnce&&(ge!==it||ce>0&&ce&64)?fe(ee,O,oe,!1,!0):(ge===it&&ce&384||!te&&Ce&16)&&fe(j,O,oe),_e&&A(L)}(De&&(Le=ke&&ke.onVnodeUnmounted)||de)&&Nn(()=>{Le&&zo(Le,O,L),de&&ri(L,null,O,"unmounted")},oe)},A=L=>{const{type:O,el:oe,anchor:_e,transition:te}=L;if(O===it){Y(oe,_e);return}if(O===ec){S(L);return}const ge=()=>{r(oe),te&&!te.persisted&&te.afterLeave&&te.afterLeave()};if(L.shapeFlag&1&&te&&!te.persisted){const{leave:ke,delayLeave:I}=te,j=()=>ke(oe,ge);I?I(L.el,ge,j):j()}else ge()},Y=(L,O)=>{let oe;for(;L!==O;)oe=f(L),r(L),L=oe;r(O)},ne=(L,O,oe)=>{const{bum:_e,scope:te,update:ge,subTree:ke,um:I,m:j,a:ee}=L;gg(j),gg(ee),_e&&Ql(_e),te.stop(),ge&&(ge.active=!1,$(ke,L,O,oe)),I&&Nn(I,O),Nn(()=>{L.isUnmounted=!0},O),O&&O.pendingBranch&&!O.isUnmounted&&L.asyncDep&&!L.asyncResolved&&L.suspenseId===O.pendingId&&(O.deps--,O.deps===0&&O.resolve())},fe=(L,O,oe,_e=!1,te=!1,ge=0)=>{for(let ke=ge;ke{if(L.shapeFlag&6)return Q(L.component.subTree);if(L.shapeFlag&128)return L.suspense.next();const O=f(L.anchor||L.el),oe=O&&O[rx];return oe?f(oe):O};let xe=!1;const H=(L,O,oe)=>{L==null?O._vnode&&$(O._vnode,null,null,!0):g(O._vnode||null,L,O,null,null,null,oe),O._vnode=L,xe||(xe=!0,ag(),Dy(),xe=!1)},ye={p:g,um:$,m:B,r:A,mt:N,mc:P,pc:J,pbc:T,n:Q,o:e};let Oe,Ne;return t&&([Oe,Ne]=t(ye)),{render:H,hydrate:Oe,createApp:_4(H,Oe)}}function xd({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function ii({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function D4(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function pp(e,t,n=!1){const o=e.children,r=t.children;if(ct(o)&&ct(r))for(let i=0;i>1,e[n[s]]0&&(t[o]=n[i-1]),n[i]=o)}}for(i=n.length,a=n[i-1];i-- >0;)n[i]=a,a=t[a];return n}function sx(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:sx(t)}function gg(e){if(e)for(let t=0;tUe(F4);function Xt(e,t){return mp(e,null,t)}const Tl={};function ft(e,t,n){return mp(e,t,n)}function mp(e,t,{immediate:n,deep:o,flush:r,once:i,onTrack:a,onTrigger:s}=nn){if(t&&i){const x=t;t=(...y)=>{x(...y),w()}}const l=Sn,c=x=>o===!0?x:zr(x,o===!1?1:void 0);let u,d=!1,f=!1;if(cn(e)?(u=()=>e.value,d=xa(e)):wi(e)?(u=()=>c(e),d=!0):ct(e)?(f=!0,d=e.some(x=>wi(x)||xa(x)),u=()=>e.map(x=>{if(cn(x))return x.value;if(wi(x))return c(x);if(mt(x))return Fr(x,l,2)})):mt(e)?t?u=()=>Fr(e,l,2):u=()=>(h&&h(),ao(e,l,3,[p])):u=Kn,t&&o){const x=u;u=()=>zr(x())}let h,p=x=>{h=C.onStop=()=>{Fr(x,l,4),h=C.onStop=void 0}},g;if(ru)if(p=Kn,t?n&&ao(t,l,3,[u(),f?[]:void 0,p]):u(),r==="sync"){const x=B4();g=x.__watcherHandles||(x.__watcherHandles=[])}else return Kn;let m=f?new Array(e.length).fill(Tl):Tl;const b=()=>{if(!(!C.active||!C.dirty))if(t){const x=C.run();(o||d||(f?x.some((y,P)=>Br(y,m[P])):Br(x,m)))&&(h&&h(),ao(t,l,3,[x,m===Tl?void 0:f&&m[0]===Tl?[]:m,p]),m=x)}else C.run()};b.allowRecurse=!!t;let _;r==="sync"?_=b:r==="post"?_=()=>Nn(b,l&&l.suspense):(b.pre=!0,l&&(b.id=l.uid),_=()=>sp(b));const C=new Jh(u,Kn,_),S=Zh(),w=()=>{C.stop(),S&&Gh(S.effects,C)};return t?n?b():m=C.run():r==="post"?Nn(C.run.bind(C),l&&l.suspense):C.run(),g&&g.push(w),w}function N4(e,t,n){const o=this.proxy,r=ln(e)?e.includes(".")?lx(o,e):()=>o[e]:e.bind(o,o);let i;mt(t)?i=t:(i=t.handler,n=t);const a=ol(this),s=mp(r,i.bind(o),n);return a(),s}function lx(e,t){const n=t.split(".");return()=>{let o=e;for(let r=0;r{zr(o,t,n)});else if(cy(e)){for(const o in e)zr(e[o],t,n);for(const o of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,o)&&zr(e[o],t,n)}return e}const H4=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${To(t)}Modifiers`]||e[`${qr(t)}Modifiers`];function j4(e,t,...n){if(e.isUnmounted)return;const o=e.vnode.props||nn;let r=n;const i=t.startsWith("update:"),a=i&&H4(o,t.slice(7));a&&(a.trim&&(r=n.map(u=>ln(u)?u.trim():u)),a.number&&(r=n.map(Tf)));let s,l=o[s=gd(t)]||o[s=gd(To(t))];!l&&i&&(l=o[s=gd(qr(t))]),l&&ao(l,e,6,r);const c=o[s+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[s])return;e.emitted[s]=!0,ao(c,e,6,r)}}function cx(e,t,n=!1){const o=t.emitsCache,r=o.get(e);if(r!==void 0)return r;const i=e.emits;let a={},s=!1;if(!mt(e)){const l=c=>{const u=cx(c,t,!0);u&&(s=!0,wn(a,u))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!i&&!s?(Zt(e)&&o.set(e,null),null):(ct(i)?i.forEach(l=>a[l]=null):wn(a,i),Zt(e)&&o.set(e,a),a)}function ou(e,t){return!e||!Vc(t)?!1:(t=t.slice(2).replace(/Once$/,""),Mt(e,t[0].toLowerCase()+t.slice(1))||Mt(e,qr(t))||Mt(e,t))}function Cd(e){const{type:t,vnode:n,proxy:o,withProxy:r,propsOptions:[i],slots:a,attrs:s,emit:l,render:c,renderCache:u,props:d,data:f,setupState:h,ctx:p,inheritAttrs:g}=e,m=pc(e);let b,_;try{if(n.shapeFlag&4){const S=r||o,w=S;b=Fo(c.call(w,S,u,d,h,f,p)),_=s}else{const S=t;b=Fo(S.length>1?S(d,{attrs:s,slots:a,emit:l}):S(d,null)),_=t.props?s:V4(s)}}catch(S){Cs.length=0,Gc(S,e,1),b=ie(_n)}let C=b;if(_&&g!==!1){const S=Object.keys(_),{shapeFlag:w}=C;S.length&&w&7&&(i&&S.some(Kh)&&(_=W4(_,i)),C=uo(C,_,!1,!0))}return n.dirs&&(C=uo(C,null,!1,!0),C.dirs=C.dirs?C.dirs.concat(n.dirs):n.dirs),n.transition&&(C.transition=n.transition),b=C,pc(m),b}const V4=e=>{let t;for(const n in e)(n==="class"||n==="style"||Vc(n))&&((t||(t={}))[n]=e[n]);return t},W4=(e,t)=>{const n={};for(const o in e)(!Kh(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function U4(e,t,n){const{props:o,children:r,component:i}=e,{props:a,children:s,patchFlag:l}=t,c=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return o?vg(o,a,c):!!a;if(l&8){const u=t.dynamicProps;for(let d=0;de.__isSuspense;function G4(e,t){t&&t.pendingBranch?ct(e)?t.effects.push(...e):t.effects.push(e):i4(e)}const it=Symbol.for("v-fgt"),za=Symbol.for("v-txt"),_n=Symbol.for("v-cmt"),ec=Symbol.for("v-stc"),Cs=[];let Gn=null;function me(e=!1){Cs.push(Gn=e?null:[])}function Y4(){Cs.pop(),Gn=Cs[Cs.length-1]||null}let Ns=1;function bg(e){Ns+=e,e<0&&Gn&&(Gn.hasOnce=!0)}function ux(e){return e.dynamicChildren=Ns>0?Gn||fa:null,Y4(),Ns>0&&Gn&&Gn.push(e),e}function ze(e,t,n,o,r,i){return ux(U(e,t,n,o,r,i,!0))}function qe(e,t,n,o,r){return ux(ie(e,t,n,o,r,!0))}function Hs(e){return e?e.__v_isVNode===!0:!1}function pi(e,t){return e.type===t.type&&e.key===t.key}const dx=({key:e})=>e??null,tc=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ln(e)||cn(e)||mt(e)?{i:xn,r:e,k:t,f:!!n}:e:null);function U(e,t=null,n=null,o=0,r=null,i=e===it?0:1,a=!1,s=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&dx(t),ref:t&&tc(t),scopeId:Yc,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:o,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:xn};return s?(gp(l,n),i&128&&e.normalize(l)):n&&(l.shapeFlag|=ln(n)?8:16),Ns>0&&!a&&Gn&&(l.patchFlag>0||i&6)&&l.patchFlag!==32&&Gn.push(l),l}const ie=X4;function X4(e,t=null,n=null,o=0,r=null,i=!1){if((!e||e===Wy)&&(e=_n),Hs(e)){const s=uo(e,t,!0);return n&&gp(s,n),Ns>0&&!i&&Gn&&(s.shapeFlag&6?Gn[Gn.indexOf(e)]=s:Gn.push(s)),s.patchFlag=-2,s}if(sP(e)&&(e=e.__vccOpts),t){t=Z4(t);let{class:s,style:l}=t;s&&!ln(s)&&(t.class=sr(s)),Zt(l)&&(Ey(l)&&!ct(l)&&(l=wn({},l)),t.style=Di(l))}const a=ln(e)?1:K4(e)?128:A4(e)?64:Zt(e)?4:mt(e)?2:0;return U(e,t,n,o,r,a,i,!0)}function Z4(e){return e?Ey(e)||Zy(e)?wn({},e):e:null}function uo(e,t,n=!1,o=!1){const{props:r,ref:i,patchFlag:a,children:s,transition:l}=e,c=t?Ln(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&dx(c),ref:t&&t.ref?n&&i?ct(i)?i.concat(tc(t)):[i,tc(t)]:tc(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==it?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&uo(e.ssContent),ssFallback:e.ssFallback&&uo(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&o&&Ca(u,l.clone(u)),u}function nt(e=" ",t=0){return ie(za,null,e,t)}function J4(e,t){const n=ie(ec,null,e);return n.staticCount=t,n}function pt(e="",t=!1){return t?(me(),qe(_n,null,e)):ie(_n,null,e)}function Fo(e){return e==null||typeof e=="boolean"?ie(_n):ct(e)?ie(it,null,e.slice()):typeof e=="object"?Ir(e):ie(za,null,String(e))}function Ir(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:uo(e)}function gp(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(ct(t))n=16;else if(typeof t=="object")if(o&65){const r=t.default;r&&(r._c&&(r._d=!1),gp(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!Zy(t)?t._ctx=xn:r===3&&xn&&(xn.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else mt(t)?(t={default:t,_ctx:xn},n=32):(t=String(t),o&64?(n=16,t=[nt(t)]):n=8);e.children=t,e.shapeFlag|=n}function Ln(...e){const t={};for(let n=0;nSn||xn;let gc,Ff;{const e=dy(),t=(n,o)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(o),i=>{r.length>1?r.forEach(a=>a(i)):r[0](i)}};gc=t("__VUE_INSTANCE_SETTERS__",n=>Sn=n),Ff=t("__VUE_SSR_SETTERS__",n=>ru=n)}const ol=e=>{const t=Sn;return gc(e),e.scope.on(),()=>{e.scope.off(),gc(t)}},yg=()=>{Sn&&Sn.scope.off(),gc(null)};function fx(e){return e.vnode.shapeFlag&4}let ru=!1;function nP(e,t=!1,n=!1){t&&Ff(t);const{props:o,children:r}=e.vnode,i=fx(e);k4(e,o,i,t),E4(e,r,n);const a=i?oP(e,t):void 0;return t&&Ff(!1),a}function oP(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,g4);const{setup:o}=n;if(o){const r=e.setupContext=o.length>1?iP(e):null,i=ol(e);Kr();const a=Fr(o,e,0,[e.props,r]);if(Gr(),i(),sy(a)){if(a.then(yg,yg),t)return a.then(s=>{xg(e,s,t)}).catch(s=>{Gc(s,e,0)});e.asyncDep=a}else xg(e,a,t)}else hx(e,t)}function xg(e,t,n){mt(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Zt(t)&&(e.setupState=Iy(t)),hx(e,n)}let Cg;function hx(e,t,n){const o=e.type;if(!e.render){if(!t&&Cg&&!o.render){const r=o.template||fp(e).template;if(r){const{isCustomElement:i,compilerOptions:a}=e.appContext.config,{delimiters:s,compilerOptions:l}=o,c=wn(wn({isCustomElement:i,delimiters:s},a),l);o.render=Cg(r,c)}}e.render=o.render||Kn}{const r=ol(e);Kr();try{v4(e)}finally{Gr(),r()}}}const rP={get(e,t){return jn(e,"get",""),e[t]}};function iP(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,rP),slots:e.slots,emit:e.emit,expose:t}}function iu(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Iy(zs(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in ys)return ys[n](e)},has(t,n){return n in t||n in ys}})):e.proxy}function aP(e,t=!0){return mt(e)?e.displayName||e.name:e.name||t&&e.__name}function sP(e){return mt(e)&&"__vccOpts"in e}const F=(e,t)=>G3(e,t,ru);function v(e,t,n){const o=arguments.length;return o===2?Zt(t)&&!ct(t)?Hs(t)?ie(e,null,[t]):ie(e,t):ie(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&Hs(n)&&(n=[n]),ie(e,t,n))}const lP="3.4.38";/** -* @vue/runtime-dom v3.4.38 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/const cP="http://www.w3.org/2000/svg",uP="http://www.w3.org/1998/Math/MathML",rr=typeof document<"u"?document:null,wg=rr&&rr.createElement("template"),dP={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,o)=>{const r=t==="svg"?rr.createElementNS(cP,e):t==="mathml"?rr.createElementNS(uP,e):n?rr.createElement(e,{is:n}):rr.createElement(e);return e==="select"&&o&&o.multiple!=null&&r.setAttribute("multiple",o.multiple),r},createText:e=>rr.createTextNode(e),createComment:e=>rr.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>rr.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,o,r,i){const a=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{wg.innerHTML=o==="svg"?`${e}`:o==="mathml"?`${e}`:e;const s=wg.content;if(o==="svg"||o==="mathml"){const l=s.firstChild;for(;l.firstChild;)s.appendChild(l.firstChild);s.removeChild(l)}t.insertBefore(s,n)}return[a?a.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},wr="transition",ns="animation",wa=Symbol("_vtc"),fn=(e,{slots:t})=>v(u4,mx(e),t);fn.displayName="Transition";const px={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},fP=fn.props=wn({},By,px),ai=(e,t=[])=>{ct(e)?e.forEach(n=>n(...t)):e&&e(...t)},_g=e=>e?ct(e)?e.some(t=>t.length>1):e.length>1:!1;function mx(e){const t={};for(const R in e)R in px||(t[R]=e[R]);if(e.css===!1)return t;const{name:n="v",type:o,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:a=`${n}-enter-active`,enterToClass:s=`${n}-enter-to`,appearFromClass:l=i,appearActiveClass:c=a,appearToClass:u=s,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:f=`${n}-leave-active`,leaveToClass:h=`${n}-leave-to`}=e,p=hP(r),g=p&&p[0],m=p&&p[1],{onBeforeEnter:b,onEnter:_,onEnterCancelled:C,onLeave:S,onLeaveCancelled:w,onBeforeAppear:x=b,onAppear:y=_,onAppearCancelled:P=C}=t,k=(R,K,N)=>{Rr(R,K?u:s),Rr(R,K?c:a),N&&N()},T=(R,K)=>{R._isLeaving=!1,Rr(R,d),Rr(R,h),Rr(R,f),K&&K()},E=R=>(K,N)=>{const D=R?y:_,M=()=>k(K,R,N);ai(D,[K,M]),Sg(()=>{Rr(K,R?l:i),or(K,R?u:s),_g(D)||kg(K,o,g,M)})};return wn(t,{onBeforeEnter(R){ai(b,[R]),or(R,i),or(R,a)},onBeforeAppear(R){ai(x,[R]),or(R,l),or(R,c)},onEnter:E(!1),onAppear:E(!0),onLeave(R,K){R._isLeaving=!0;const N=()=>T(R,K);or(R,d),or(R,f),vx(),Sg(()=>{R._isLeaving&&(Rr(R,d),or(R,h),_g(S)||kg(R,o,m,N))}),ai(S,[R,N])},onEnterCancelled(R){k(R,!1),ai(C,[R])},onAppearCancelled(R){k(R,!0),ai(P,[R])},onLeaveCancelled(R){T(R),ai(w,[R])}})}function hP(e){if(e==null)return null;if(Zt(e))return[wd(e.enter),wd(e.leave)];{const t=wd(e);return[t,t]}}function wd(e){return x3(e)}function or(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[wa]||(e[wa]=new Set)).add(t)}function Rr(e,t){t.split(/\s+/).forEach(o=>o&&e.classList.remove(o));const n=e[wa];n&&(n.delete(t),n.size||(e[wa]=void 0))}function Sg(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let pP=0;function kg(e,t,n,o){const r=e._endId=++pP,i=()=>{r===e._endId&&o()};if(n)return setTimeout(i,n);const{type:a,timeout:s,propCount:l}=gx(e,t);if(!a)return o();const c=a+"end";let u=0;const d=()=>{e.removeEventListener(c,f),i()},f=h=>{h.target===e&&++u>=l&&d()};setTimeout(()=>{u(n[p]||"").split(", "),r=o(`${wr}Delay`),i=o(`${wr}Duration`),a=Pg(r,i),s=o(`${ns}Delay`),l=o(`${ns}Duration`),c=Pg(s,l);let u=null,d=0,f=0;t===wr?a>0&&(u=wr,d=a,f=i.length):t===ns?c>0&&(u=ns,d=c,f=l.length):(d=Math.max(a,c),u=d>0?a>c?wr:ns:null,f=u?u===wr?i.length:l.length:0);const h=u===wr&&/\b(transform|all)(,|$)/.test(o(`${wr}Property`).toString());return{type:u,timeout:d,propCount:f,hasTransform:h}}function Pg(e,t){for(;e.lengthTg(n)+Tg(e[o])))}function Tg(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function vx(){return document.body.offsetHeight}function mP(e,t,n){const o=e[wa];o&&(t=(t?[t,...o]:[...o]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const vc=Symbol("_vod"),bx=Symbol("_vsh"),Mn={beforeMount(e,{value:t},{transition:n}){e[vc]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):os(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:o}){!t!=!n&&(o?t?(o.beforeEnter(e),os(e,!0),o.enter(e)):o.leave(e,()=>{os(e,!1)}):os(e,t))},beforeUnmount(e,{value:t}){os(e,t)}};function os(e,t){e.style.display=t?e[vc]:"none",e[bx]=!t}const gP=Symbol(""),vP=/(^|;)\s*display\s*:/;function bP(e,t,n){const o=e.style,r=ln(n);let i=!1;if(n&&!r){if(t)if(ln(t))for(const a of t.split(";")){const s=a.slice(0,a.indexOf(":")).trim();n[s]==null&&nc(o,s,"")}else for(const a in t)n[a]==null&&nc(o,a,"");for(const a in n)a==="display"&&(i=!0),nc(o,a,n[a])}else if(r){if(t!==n){const a=o[gP];a&&(n+=";"+a),o.cssText=n,i=vP.test(n)}}else t&&e.removeAttribute("style");vc in e&&(e[vc]=i?o.display:"",e[bx]&&(o.display="none"))}const Rg=/\s*!important$/;function nc(e,t,n){if(ct(n))n.forEach(o=>nc(e,t,o));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const o=yP(e,t);Rg.test(n)?e.setProperty(qr(o),n.replace(Rg,""),"important"):e[o]=n}}const Eg=["Webkit","Moz","ms"],_d={};function yP(e,t){const n=_d[t];if(n)return n;let o=To(t);if(o!=="filter"&&o in e)return _d[t]=o;o=qc(o);for(let r=0;rSd||(SP.then(()=>Sd=0),Sd=Date.now());function PP(e,t){const n=o=>{if(!o._vts)o._vts=Date.now();else if(o._vts<=n.attached)return;ao(TP(o,n.value),t,5,[o])};return n.value=e,n.attached=kP(),n}function TP(e,t){if(ct(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(o=>r=>!r._stopped&&o&&o(r))}else return t}const Mg=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,RP=(e,t,n,o,r,i)=>{const a=r==="svg";t==="class"?mP(e,o,a):t==="style"?bP(e,n,o):Vc(t)?Kh(t)||wP(e,t,n,o,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):EP(e,t,o,a))?(xP(e,t,o),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Ag(e,t,o,a,i,t!=="value")):(t==="true-value"?e._trueValue=o:t==="false-value"&&(e._falseValue=o),Ag(e,t,o,a))};function EP(e,t,n,o){if(o)return!!(t==="innerHTML"||t==="textContent"||t in e&&Mg(t)&&mt(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return Mg(t)&&ln(n)?!1:t in e}const yx=new WeakMap,xx=new WeakMap,bc=Symbol("_moveCb"),zg=Symbol("_enterCb"),Cx={name:"TransitionGroup",props:wn({},fP,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=to(),o=Fy();let r,i;return up(()=>{if(!r.length)return;const a=e.moveClass||`${e.name||"v"}-move`;if(!zP(r[0].el,n.vnode.el,a))return;r.forEach(IP),r.forEach(OP);const s=r.filter(MP);vx(),s.forEach(l=>{const c=l.el,u=c.style;or(c,a),u.transform=u.webkitTransform=u.transitionDuration="";const d=c[bc]=f=>{f&&f.target!==c||(!f||/transform$/.test(f.propertyName))&&(c.removeEventListener("transitionend",d),c[bc]=null,Rr(c,a))};c.addEventListener("transitionend",d)})}),()=>{const a=It(e),s=mx(a);let l=a.tag||it;if(r=[],i)for(let c=0;cdelete e.mode;Cx.props;const AP=Cx;function IP(e){const t=e.el;t[bc]&&t[bc](),t[zg]&&t[zg]()}function OP(e){xx.set(e,e.el.getBoundingClientRect())}function MP(e){const t=yx.get(e),n=xx.get(e),o=t.left-n.left,r=t.top-n.top;if(o||r){const i=e.el.style;return i.transform=i.webkitTransform=`translate(${o}px,${r}px)`,i.transitionDuration="0s",e}}function zP(e,t,n){const o=e.cloneNode(),r=e[wa];r&&r.forEach(s=>{s.split(/\s+/).forEach(l=>l&&o.classList.remove(l))}),n.split(/\s+/).forEach(s=>s&&o.classList.add(s)),o.style.display="none";const i=t.nodeType===1?t:t.parentNode;i.appendChild(o);const{hasTransform:a}=gx(o);return i.removeChild(o),a}const Dg=e=>{const t=e.props["onUpdate:modelValue"]||!1;return ct(t)?n=>Ql(t,n):t};function DP(e){e.target.composing=!0}function Lg(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const kd=Symbol("_assign"),LP={created(e,{modifiers:{lazy:t,trim:n,number:o}},r){e[kd]=Dg(r);const i=o||r.props&&r.props.type==="number";aa(e,t?"change":"input",a=>{if(a.target.composing)return;let s=e.value;n&&(s=s.trim()),i&&(s=Tf(s)),e[kd](s)}),n&&aa(e,"change",()=>{e.value=e.value.trim()}),t||(aa(e,"compositionstart",DP),aa(e,"compositionend",Lg),aa(e,"change",Lg))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:o,trim:r,number:i}},a){if(e[kd]=Dg(a),e.composing)return;const s=(i||e.type==="number")&&!/^0\d/.test(e.value)?Tf(e.value):e.value,l=t??"";s!==l&&(document.activeElement===e&&e.type!=="range"&&(o&&t===n||r&&e.value.trim()===l)||(e.value=l))}},FP=["ctrl","shift","alt","meta"],BP={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>FP.some(n=>e[`${n}Key`]&&!t.includes(n))},NP=(e,t)=>{const n=e._withMods||(e._withMods={}),o=t.join(".");return n[o]||(n[o]=(r,...i)=>{for(let a=0;a{const n=e._withKeys||(e._withKeys={}),o=t.join(".");return n[o]||(n[o]=r=>{if(!("key"in r))return;const i=qr(r.key);if(t.some(a=>a===i||HP[a]===i))return e(r)})},jP=wn({patchProp:RP},dP);let Fg;function VP(){return Fg||(Fg=M4(jP))}const wx=(...e)=>{const t=VP().createApp(...e),{mount:n}=t;return t.mount=o=>{const r=UP(o);if(!r)return;const i=t._component;!mt(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.innerHTML="";const a=n(r,!1,WP(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),a},t};function WP(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function UP(e){return ln(e)?document.querySelector(e):e}/*! - * vue-router v4.4.3 - * (c) 2024 Eduardo San Martin Morote - * @license MIT - */const sa=typeof document<"u";function qP(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const Vt=Object.assign;function Pd(e,t){const n={};for(const o in t){const r=t[o];n[o]=Ro(r)?r.map(e):e(r)}return n}const _s=()=>{},Ro=Array.isArray,_x=/#/g,KP=/&/g,GP=/\//g,YP=/=/g,XP=/\?/g,Sx=/\+/g,ZP=/%5B/g,JP=/%5D/g,kx=/%5E/g,QP=/%60/g,Px=/%7B/g,eT=/%7C/g,Tx=/%7D/g,tT=/%20/g;function vp(e){return encodeURI(""+e).replace(eT,"|").replace(ZP,"[").replace(JP,"]")}function nT(e){return vp(e).replace(Px,"{").replace(Tx,"}").replace(kx,"^")}function Bf(e){return vp(e).replace(Sx,"%2B").replace(tT,"+").replace(_x,"%23").replace(KP,"%26").replace(QP,"`").replace(Px,"{").replace(Tx,"}").replace(kx,"^")}function oT(e){return Bf(e).replace(YP,"%3D")}function rT(e){return vp(e).replace(_x,"%23").replace(XP,"%3F")}function iT(e){return e==null?"":rT(e).replace(GP,"%2F")}function js(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const aT=/\/$/,sT=e=>e.replace(aT,"");function Td(e,t,n="/"){let o,r={},i="",a="";const s=t.indexOf("#");let l=t.indexOf("?");return s=0&&(l=-1),l>-1&&(o=t.slice(0,l),i=t.slice(l+1,s>-1?s:t.length),r=e(i)),s>-1&&(o=o||t.slice(0,s),a=t.slice(s,t.length)),o=dT(o??t,n),{fullPath:o+(i&&"?")+i+a,path:o,query:r,hash:js(a)}}function lT(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Bg(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function cT(e,t,n){const o=t.matched.length-1,r=n.matched.length-1;return o>-1&&o===r&&_a(t.matched[o],n.matched[r])&&Rx(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function _a(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Rx(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!uT(e[n],t[n]))return!1;return!0}function uT(e,t){return Ro(e)?Ng(e,t):Ro(t)?Ng(t,e):e===t}function Ng(e,t){return Ro(t)?e.length===t.length&&e.every((n,o)=>n===t[o]):e.length===1&&e[0]===t}function dT(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),o=e.split("/"),r=o[o.length-1];(r===".."||r===".")&&o.push("");let i=n.length-1,a,s;for(a=0;a1&&i--;else break;return n.slice(0,i).join("/")+"/"+o.slice(a).join("/")}const _r={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var Vs;(function(e){e.pop="pop",e.push="push"})(Vs||(Vs={}));var Ss;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Ss||(Ss={}));function fT(e){if(!e)if(sa){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),sT(e)}const hT=/^[^#]+#/;function pT(e,t){return e.replace(hT,"#")+t}function mT(e,t){const n=document.documentElement.getBoundingClientRect(),o=e.getBoundingClientRect();return{behavior:t.behavior,left:o.left-n.left-(t.left||0),top:o.top-n.top-(t.top||0)}}const au=()=>({left:window.scrollX,top:window.scrollY});function gT(e){let t;if("el"in e){const n=e.el,o=typeof n=="string"&&n.startsWith("#"),r=typeof n=="string"?o?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!r)return;t=mT(r,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Hg(e,t){return(history.state?history.state.position-t:-1)+e}const Nf=new Map;function vT(e,t){Nf.set(e,t)}function bT(e){const t=Nf.get(e);return Nf.delete(e),t}let yT=()=>location.protocol+"//"+location.host;function Ex(e,t){const{pathname:n,search:o,hash:r}=t,i=e.indexOf("#");if(i>-1){let s=r.includes(e.slice(i))?e.slice(i).length:1,l=r.slice(s);return l[0]!=="/"&&(l="/"+l),Bg(l,"")}return Bg(n,e)+o+r}function xT(e,t,n,o){let r=[],i=[],a=null;const s=({state:f})=>{const h=Ex(e,location),p=n.value,g=t.value;let m=0;if(f){if(n.value=h,t.value=f,a&&a===p){a=null;return}m=g?f.position-g.position:0}else o(h);r.forEach(b=>{b(n.value,p,{delta:m,type:Vs.pop,direction:m?m>0?Ss.forward:Ss.back:Ss.unknown})})};function l(){a=n.value}function c(f){r.push(f);const h=()=>{const p=r.indexOf(f);p>-1&&r.splice(p,1)};return i.push(h),h}function u(){const{history:f}=window;f.state&&f.replaceState(Vt({},f.state,{scroll:au()}),"")}function d(){for(const f of i)f();i=[],window.removeEventListener("popstate",s),window.removeEventListener("beforeunload",u)}return window.addEventListener("popstate",s),window.addEventListener("beforeunload",u,{passive:!0}),{pauseListeners:l,listen:c,destroy:d}}function jg(e,t,n,o=!1,r=!1){return{back:e,current:t,forward:n,replaced:o,position:window.history.length,scroll:r?au():null}}function CT(e){const{history:t,location:n}=window,o={value:Ex(e,n)},r={value:t.state};r.value||i(o.value,{back:null,current:o.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(l,c,u){const d=e.indexOf("#"),f=d>-1?(n.host&&document.querySelector("base")?e:e.slice(d))+l:yT()+e+l;try{t[u?"replaceState":"pushState"](c,"",f),r.value=c}catch(h){console.error(h),n[u?"replace":"assign"](f)}}function a(l,c){const u=Vt({},t.state,jg(r.value.back,l,r.value.forward,!0),c,{position:r.value.position});i(l,u,!0),o.value=l}function s(l,c){const u=Vt({},r.value,t.state,{forward:l,scroll:au()});i(u.current,u,!0);const d=Vt({},jg(o.value,l,null),{position:u.position+1},c);i(l,d,!1),o.value=l}return{location:o,state:r,push:s,replace:a}}function wT(e){e=fT(e);const t=CT(e),n=xT(e,t.state,t.location,t.replace);function o(i,a=!0){a||n.pauseListeners(),history.go(i)}const r=Vt({location:"",base:e,go:o,createHref:pT.bind(null,e)},t,n);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>t.state.value}),r}function _T(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),wT(e)}function ST(e){return typeof e=="string"||e&&typeof e=="object"}function $x(e){return typeof e=="string"||typeof e=="symbol"}const Ax=Symbol("");var Vg;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(Vg||(Vg={}));function Sa(e,t){return Vt(new Error,{type:e,[Ax]:!0},t)}function Jo(e,t){return e instanceof Error&&Ax in e&&(t==null||!!(e.type&t))}const Wg="[^/]+?",kT={sensitive:!1,strict:!1,start:!0,end:!0},PT=/[.+*?^${}()[\]/\\]/g;function TT(e,t){const n=Vt({},kT,t),o=[];let r=n.start?"^":"";const i=[];for(const c of e){const u=c.length?[]:[90];n.strict&&!c.length&&(r+="/");for(let d=0;dt.length?t.length===1&&t[0]===40+40?1:-1:0}function Ix(e,t){let n=0;const o=e.score,r=t.score;for(;n0&&t[t.length-1]<0}const ET={type:0,value:""},$T=/[a-zA-Z0-9_]/;function AT(e){if(!e)return[[]];if(e==="/")return[[ET]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(h){throw new Error(`ERR (${n})/"${c}": ${h}`)}let n=0,o=n;const r=[];let i;function a(){i&&r.push(i),i=[]}let s=0,l,c="",u="";function d(){c&&(n===0?i.push({type:0,value:c}):n===1||n===2||n===3?(i.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),i.push({type:1,value:c,regexp:u,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),c="")}function f(){c+=l}for(;s{a(C)}:_s}function a(d){if($x(d)){const f=o.get(d);f&&(o.delete(d),n.splice(n.indexOf(f),1),f.children.forEach(a),f.alias.forEach(a))}else{const f=n.indexOf(d);f>-1&&(n.splice(f,1),d.record.name&&o.delete(d.record.name),d.children.forEach(a),d.alias.forEach(a))}}function s(){return n}function l(d){const f=LT(d,n);n.splice(f,0,d),d.record.name&&!Kg(d)&&o.set(d.record.name,d)}function c(d,f){let h,p={},g,m;if("name"in d&&d.name){if(h=o.get(d.name),!h)throw Sa(1,{location:d});m=h.record.name,p=Vt(qg(f.params,h.keys.filter(C=>!C.optional).concat(h.parent?h.parent.keys.filter(C=>C.optional):[]).map(C=>C.name)),d.params&&qg(d.params,h.keys.map(C=>C.name))),g=h.stringify(p)}else if(d.path!=null)g=d.path,h=n.find(C=>C.re.test(g)),h&&(p=h.parse(g),m=h.record.name);else{if(h=f.name?o.get(f.name):n.find(C=>C.re.test(f.path)),!h)throw Sa(1,{location:d,currentLocation:f});m=h.record.name,p=Vt({},f.params,d.params),g=h.stringify(p)}const b=[];let _=h;for(;_;)b.unshift(_.record),_=_.parent;return{name:m,path:g,params:p,matched:b,meta:DT(b)}}e.forEach(d=>i(d));function u(){n.length=0,o.clear()}return{addRoute:i,resolve:c,removeRoute:a,clearRoutes:u,getRoutes:s,getRecordMatcher:r}}function qg(e,t){const n={};for(const o of t)o in e&&(n[o]=e[o]);return n}function MT(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:zT(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function zT(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const o in e.components)t[o]=typeof n=="object"?n[o]:n;return t}function Kg(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function DT(e){return e.reduce((t,n)=>Vt(t,n.meta),{})}function Gg(e,t){const n={};for(const o in e)n[o]=o in t?t[o]:e[o];return n}function LT(e,t){let n=0,o=t.length;for(;n!==o;){const i=n+o>>1;Ix(e,t[i])<0?o=i:n=i+1}const r=FT(e);return r&&(o=t.lastIndexOf(r,o-1)),o}function FT(e){let t=e;for(;t=t.parent;)if(Ox(t)&&Ix(e,t)===0)return t}function Ox({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function BT(e){const t={};if(e===""||e==="?")return t;const o=(e[0]==="?"?e.slice(1):e).split("&");for(let r=0;ri&&Bf(i)):[o&&Bf(o)]).forEach(i=>{i!==void 0&&(t+=(t.length?"&":"")+n,i!=null&&(t+="="+i))})}return t}function NT(e){const t={};for(const n in e){const o=e[n];o!==void 0&&(t[n]=Ro(o)?o.map(r=>r==null?null:""+r):o==null?o:""+o)}return t}const HT=Symbol(""),Xg=Symbol(""),su=Symbol(""),bp=Symbol(""),Hf=Symbol("");function rs(){let e=[];function t(o){return e.push(o),()=>{const r=e.indexOf(o);r>-1&&e.splice(r,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Or(e,t,n,o,r,i=a=>a()){const a=o&&(o.enterCallbacks[r]=o.enterCallbacks[r]||[]);return()=>new Promise((s,l)=>{const c=f=>{f===!1?l(Sa(4,{from:n,to:t})):f instanceof Error?l(f):ST(f)?l(Sa(2,{from:t,to:f})):(a&&o.enterCallbacks[r]===a&&typeof f=="function"&&a.push(f),s())},u=i(()=>e.call(o&&o.instances[r],t,n,c));let d=Promise.resolve(u);e.length<3&&(d=d.then(c)),d.catch(f=>l(f))})}function Rd(e,t,n,o,r=i=>i()){const i=[];for(const a of e)for(const s in a.components){let l=a.components[s];if(!(t!=="beforeRouteEnter"&&!a.instances[s]))if(jT(l)){const u=(l.__vccOpts||l)[t];u&&i.push(Or(u,n,o,a,s,r))}else{let c=l();i.push(()=>c.then(u=>{if(!u)return Promise.reject(new Error(`Couldn't resolve component "${s}" at "${a.path}"`));const d=qP(u)?u.default:u;a.components[s]=d;const h=(d.__vccOpts||d)[t];return h&&Or(h,n,o,a,s,r)()}))}}return i}function jT(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Zg(e){const t=Ue(su),n=Ue(bp),o=F(()=>{const l=we(e.to);return t.resolve(l)}),r=F(()=>{const{matched:l}=o.value,{length:c}=l,u=l[c-1],d=n.matched;if(!u||!d.length)return-1;const f=d.findIndex(_a.bind(null,u));if(f>-1)return f;const h=Jg(l[c-2]);return c>1&&Jg(u)===h&&d[d.length-1].path!==h?d.findIndex(_a.bind(null,l[c-2])):f}),i=F(()=>r.value>-1&&qT(n.params,o.value.params)),a=F(()=>r.value>-1&&r.value===n.matched.length-1&&Rx(n.params,o.value.params));function s(l={}){return UT(l)?t[we(e.replace)?"replace":"push"](we(e.to)).catch(_s):Promise.resolve()}return{route:o,href:F(()=>o.value.href),isActive:i,isExactActive:a,navigate:s}}const VT=be({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Zg,setup(e,{slots:t}){const n=eo(Zg(e)),{options:o}=Ue(su),r=F(()=>({[Qg(e.activeClass,o.linkActiveClass,"router-link-active")]:n.isActive,[Qg(e.exactActiveClass,o.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const i=t.default&&t.default(n);return e.custom?i:v("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},i)}}}),WT=VT;function UT(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function qT(e,t){for(const n in t){const o=t[n],r=e[n];if(typeof o=="string"){if(o!==r)return!1}else if(!Ro(r)||r.length!==o.length||o.some((i,a)=>i!==r[a]))return!1}return!0}function Jg(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Qg=(e,t,n)=>e??t??n,KT=be({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const o=Ue(Hf),r=F(()=>e.route||o.value),i=Ue(Xg,0),a=F(()=>{let c=we(i);const{matched:u}=r.value;let d;for(;(d=u[c])&&!d.components;)c++;return c}),s=F(()=>r.value.matched[a.value]);at(Xg,F(()=>a.value+1)),at(HT,s),at(Hf,r);const l=W();return ft(()=>[l.value,s.value,e.name],([c,u,d],[f,h,p])=>{u&&(u.instances[d]=c,h&&h!==u&&c&&c===f&&(u.leaveGuards.size||(u.leaveGuards=h.leaveGuards),u.updateGuards.size||(u.updateGuards=h.updateGuards))),c&&u&&(!h||!_a(u,h)||!f)&&(u.enterCallbacks[d]||[]).forEach(g=>g(c))},{flush:"post"}),()=>{const c=r.value,u=e.name,d=s.value,f=d&&d.components[u];if(!f)return ev(n.default,{Component:f,route:c});const h=d.props[u],p=h?h===!0?c.params:typeof h=="function"?h(c):h:null,m=v(f,Vt({},p,t,{onVnodeUnmounted:b=>{b.component.isUnmounted&&(d.instances[u]=null)},ref:l}));return ev(n.default,{Component:m,route:c})||m}}});function ev(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const GT=KT;function YT(e){const t=OT(e.routes,e),n=e.parseQuery||BT,o=e.stringifyQuery||Yg,r=e.history,i=rs(),a=rs(),s=rs(),l=Oa(_r);let c=_r;sa&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=Pd.bind(null,Q=>""+Q),d=Pd.bind(null,iT),f=Pd.bind(null,js);function h(Q,xe){let H,ye;return $x(Q)?(H=t.getRecordMatcher(Q),ye=xe):ye=Q,t.addRoute(ye,H)}function p(Q){const xe=t.getRecordMatcher(Q);xe&&t.removeRoute(xe)}function g(){return t.getRoutes().map(Q=>Q.record)}function m(Q){return!!t.getRecordMatcher(Q)}function b(Q,xe){if(xe=Vt({},xe||l.value),typeof Q=="string"){const O=Td(n,Q,xe.path),oe=t.resolve({path:O.path},xe),_e=r.createHref(O.fullPath);return Vt(O,oe,{params:f(oe.params),hash:js(O.hash),redirectedFrom:void 0,href:_e})}let H;if(Q.path!=null)H=Vt({},Q,{path:Td(n,Q.path,xe.path).path});else{const O=Vt({},Q.params);for(const oe in O)O[oe]==null&&delete O[oe];H=Vt({},Q,{params:d(O)}),xe.params=d(xe.params)}const ye=t.resolve(H,xe),Oe=Q.hash||"";ye.params=u(f(ye.params));const Ne=lT(o,Vt({},Q,{hash:nT(Oe),path:ye.path})),L=r.createHref(Ne);return Vt({fullPath:Ne,hash:Oe,query:o===Yg?NT(Q.query):Q.query||{}},ye,{redirectedFrom:void 0,href:L})}function _(Q){return typeof Q=="string"?Td(n,Q,l.value.path):Vt({},Q)}function C(Q,xe){if(c!==Q)return Sa(8,{from:xe,to:Q})}function S(Q){return y(Q)}function w(Q){return S(Vt(_(Q),{replace:!0}))}function x(Q){const xe=Q.matched[Q.matched.length-1];if(xe&&xe.redirect){const{redirect:H}=xe;let ye=typeof H=="function"?H(Q):H;return typeof ye=="string"&&(ye=ye.includes("?")||ye.includes("#")?ye=_(ye):{path:ye},ye.params={}),Vt({query:Q.query,hash:Q.hash,params:ye.path!=null?{}:Q.params},ye)}}function y(Q,xe){const H=c=b(Q),ye=l.value,Oe=Q.state,Ne=Q.force,L=Q.replace===!0,O=x(H);if(O)return y(Vt(_(O),{state:typeof O=="object"?Vt({},Oe,O.state):Oe,force:Ne,replace:L}),xe||H);const oe=H;oe.redirectedFrom=xe;let _e;return!Ne&&cT(o,ye,H)&&(_e=Sa(16,{to:oe,from:ye}),B(ye,ye,!0,!1)),(_e?Promise.resolve(_e):T(oe,ye)).catch(te=>Jo(te)?Jo(te,2)?te:pe(te):J(te,oe,ye)).then(te=>{if(te){if(Jo(te,2))return y(Vt({replace:L},_(te.to),{state:typeof te.to=="object"?Vt({},Oe,te.to.state):Oe,force:Ne}),xe||oe)}else te=R(oe,ye,!0,L,Oe);return E(oe,ye,te),te})}function P(Q,xe){const H=C(Q,xe);return H?Promise.reject(H):Promise.resolve()}function k(Q){const xe=Y.values().next().value;return xe&&typeof xe.runWithContext=="function"?xe.runWithContext(Q):Q()}function T(Q,xe){let H;const[ye,Oe,Ne]=XT(Q,xe);H=Rd(ye.reverse(),"beforeRouteLeave",Q,xe);for(const O of ye)O.leaveGuards.forEach(oe=>{H.push(Or(oe,Q,xe))});const L=P.bind(null,Q,xe);return H.push(L),fe(H).then(()=>{H=[];for(const O of i.list())H.push(Or(O,Q,xe));return H.push(L),fe(H)}).then(()=>{H=Rd(Oe,"beforeRouteUpdate",Q,xe);for(const O of Oe)O.updateGuards.forEach(oe=>{H.push(Or(oe,Q,xe))});return H.push(L),fe(H)}).then(()=>{H=[];for(const O of Ne)if(O.beforeEnter)if(Ro(O.beforeEnter))for(const oe of O.beforeEnter)H.push(Or(oe,Q,xe));else H.push(Or(O.beforeEnter,Q,xe));return H.push(L),fe(H)}).then(()=>(Q.matched.forEach(O=>O.enterCallbacks={}),H=Rd(Ne,"beforeRouteEnter",Q,xe,k),H.push(L),fe(H))).then(()=>{H=[];for(const O of a.list())H.push(Or(O,Q,xe));return H.push(L),fe(H)}).catch(O=>Jo(O,8)?O:Promise.reject(O))}function E(Q,xe,H){s.list().forEach(ye=>k(()=>ye(Q,xe,H)))}function R(Q,xe,H,ye,Oe){const Ne=C(Q,xe);if(Ne)return Ne;const L=xe===_r,O=sa?history.state:{};H&&(ye||L?r.replace(Q.fullPath,Vt({scroll:L&&O&&O.scroll},Oe)):r.push(Q.fullPath,Oe)),l.value=Q,B(Q,xe,H,L),pe()}let K;function N(){K||(K=r.listen((Q,xe,H)=>{if(!ne.listening)return;const ye=b(Q),Oe=x(ye);if(Oe){y(Vt(Oe,{replace:!0}),ye).catch(_s);return}c=ye;const Ne=l.value;sa&&vT(Hg(Ne.fullPath,H.delta),au()),T(ye,Ne).catch(L=>Jo(L,12)?L:Jo(L,2)?(y(L.to,ye).then(O=>{Jo(O,20)&&!H.delta&&H.type===Vs.pop&&r.go(-1,!1)}).catch(_s),Promise.reject()):(H.delta&&r.go(-H.delta,!1),J(L,ye,Ne))).then(L=>{L=L||R(ye,Ne,!1),L&&(H.delta&&!Jo(L,8)?r.go(-H.delta,!1):H.type===Vs.pop&&Jo(L,20)&&r.go(-1,!1)),E(ye,Ne,L)}).catch(_s)}))}let D=rs(),M=rs(),G;function J(Q,xe,H){pe(Q);const ye=M.list();return ye.length?ye.forEach(Oe=>Oe(Q,xe,H)):console.error(Q),Promise.reject(Q)}function he(){return G&&l.value!==_r?Promise.resolve():new Promise((Q,xe)=>{D.add([Q,xe])})}function pe(Q){return G||(G=!Q,N(),D.list().forEach(([xe,H])=>Q?H(Q):xe()),D.reset()),Q}function B(Q,xe,H,ye){const{scrollBehavior:Oe}=e;if(!sa||!Oe)return Promise.resolve();const Ne=!H&&bT(Hg(Q.fullPath,0))||(ye||!H)&&history.state&&history.state.scroll||null;return Ht().then(()=>Oe(Q,xe,Ne)).then(L=>L&&gT(L)).catch(L=>J(L,Q,xe))}const $=Q=>r.go(Q);let A;const Y=new Set,ne={currentRoute:l,listening:!0,addRoute:h,removeRoute:p,clearRoutes:t.clearRoutes,hasRoute:m,getRoutes:g,resolve:b,options:e,push:S,replace:w,go:$,back:()=>$(-1),forward:()=>$(1),beforeEach:i.add,beforeResolve:a.add,afterEach:s.add,onError:M.add,isReady:he,install(Q){const xe=this;Q.component("RouterLink",WT),Q.component("RouterView",GT),Q.config.globalProperties.$router=xe,Object.defineProperty(Q.config.globalProperties,"$route",{enumerable:!0,get:()=>we(l)}),sa&&!A&&l.value===_r&&(A=!0,S(r.location).catch(Oe=>{}));const H={};for(const Oe in _r)Object.defineProperty(H,Oe,{get:()=>l.value[Oe],enumerable:!0});Q.provide(su,xe),Q.provide(bp,Ry(H)),Q.provide(Hf,l);const ye=Q.unmount;Y.add(Q),Q.unmount=function(){Y.delete(Q),Y.size<1&&(c=_r,K&&K(),K=null,l.value=_r,A=!1,G=!1),ye()}}};function fe(Q){return Q.reduce((xe,H)=>xe.then(()=>k(H)),Promise.resolve())}return ne}function XT(e,t){const n=[],o=[],r=[],i=Math.max(t.matched.length,e.matched.length);for(let a=0;a_a(c,s))?o.push(s):n.push(s));const l=e.matched[a];l&&(t.matched.find(c=>_a(c,l))||r.push(l))}return[n,o,r]}function Mx(){return Ue(su)}function Da(e){return Ue(bp)}const ZT="modulepreload",JT=function(e){return"/"+e},tv={},wt=function(t,n,o){if(!n||n.length===0)return t();const r=document.getElementsByTagName("link");return Promise.all(n.map(i=>{if(i=JT(i),i in tv)return;tv[i]=!0;const a=i.endsWith(".css"),s=a?'[rel="stylesheet"]':"";if(!!o)for(let u=r.length-1;u>=0;u--){const d=r[u];if(d.href===i&&(!a||d.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${i}"]${s}`))return;const c=document.createElement("link");if(c.rel=a?"stylesheet":ZT,a||(c.as="script",c.crossOrigin=""),c.href=i,document.head.appendChild(c),a)return new Promise((u,d)=>{c.addEventListener("load",u),c.addEventListener("error",()=>d(new Error(`Unable to preload CSS for ${i}`)))})})).then(()=>t()).catch(i=>{const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=i,window.dispatchEvent(a),!a.defaultPrevented)throw i})},QT=()=>wt(()=>Promise.resolve().then(()=>br),void 0),e5={name:"dashboard",path:"/",component:QT,redirect:"dashboard",meta:{isHidden:!1},children:[{name:"dashboard",path:"/dashboard",component:()=>wt(()=>Promise.resolve().then(()=>YDe),void 0),meta:{title:"仪表盘",icon:"mdi:home",order:0}}]},t5=Object.freeze(Object.defineProperty({__proto__:null,default:e5},Symbol.toStringTag,{value:"Module"})),n5=()=>wt(()=>Promise.resolve().then(()=>br),void 0),o5={name:"Invite",path:"/",component:n5,redirect:"/invite",meta:{isHidden:!1},children:[{name:"Invite",path:"invite",component:()=>wt(()=>Promise.resolve().then(()=>ALe),void 0),meta:{title:"我的邀请",icon:"mdi:invite",order:1,group:{key:"finance",label:"财务"}}}]},r5=Object.freeze(Object.defineProperty({__proto__:null,default:o5},Symbol.toStringTag,{value:"Module"})),i5=()=>wt(()=>Promise.resolve().then(()=>br),void 0),a5={name:"knowledge",path:"/",component:i5,redirect:"/knowledge",meta:{isHidden:!1},children:[{name:"Knowledge",path:"knowledge",component:()=>wt(()=>Promise.resolve().then(()=>LLe),void 0),meta:{title:"使用文档",icon:"mdi-book-open-variant",order:10}}]},s5=Object.freeze(Object.defineProperty({__proto__:null,default:a5},Symbol.toStringTag,{value:"Module"})),l5=()=>wt(()=>Promise.resolve().then(()=>br),void 0),c5={name:"Node",path:"/",component:l5,redirect:"/node",meta:{isHidden:!1},children:[{name:"Node",path:"node",component:()=>wt(()=>Promise.resolve().then(()=>rFe),void 0),meta:{title:"节点状态",icon:"mdi-check-circle-outline",order:11,group:{key:"subscribe",label:"订阅"}}}]},u5=Object.freeze(Object.defineProperty({__proto__:null,default:c5},Symbol.toStringTag,{value:"Module"})),d5=()=>wt(()=>Promise.resolve().then(()=>br),void 0),f5={name:"Order",path:"/",component:d5,redirect:"/order",meta:{isHidden:!1},children:[{name:"Order",path:"order",component:()=>wt(()=>Promise.resolve().then(()=>aFe),void 0),meta:{title:"我的订单",icon:"mdi-format-list-bulleted",order:0,group:{key:"finance",label:"财务"}}},{name:"OrderDetail",path:"order/:trade_no",component:()=>wt(()=>Promise.resolve().then(()=>L9e),void 0),meta:{title:"订单详情",icon:"mdi:doc",order:1,isHidden:!0}}]},h5=Object.freeze(Object.defineProperty({__proto__:null,default:f5},Symbol.toStringTag,{value:"Module"})),p5=()=>wt(()=>Promise.resolve().then(()=>br),void 0),m5={name:"plan",path:"/",component:p5,redirect:"/plan",meta:{isHidden:!1},children:[{name:"Plan",path:"plan",component:()=>wt(()=>Promise.resolve().then(()=>a7e),void 0),meta:{title:"购买订阅",icon:"mdi-shopping-outline",order:10,group:{key:"subscribe",label:"订阅"}}},{name:"PlanDetail",path:"plan/:plan_id",component:()=>wt(()=>Promise.resolve().then(()=>z7e),void 0),meta:{title:"配置订阅",icon:"mdi:doc",order:1,isHidden:!0}}]},g5=Object.freeze(Object.defineProperty({__proto__:null,default:m5},Symbol.toStringTag,{value:"Module"})),v5=()=>wt(()=>Promise.resolve().then(()=>br),void 0),b5={name:"profile",path:"/",component:v5,redirect:"/profile",meta:{isHidden:!1},children:[{name:"Profile",path:"profile",component:()=>wt(()=>Promise.resolve().then(()=>iBe),void 0),meta:{title:"个人中心",icon:"mdi-account-outline",order:0,group:{key:"user",label:"用户"}}}]},y5=Object.freeze(Object.defineProperty({__proto__:null,default:b5},Symbol.toStringTag,{value:"Module"})),x5=()=>wt(()=>Promise.resolve().then(()=>br),void 0),C5={name:"ticket",path:"/",component:x5,redirect:"/ticket",meta:{isHidden:!1},children:[{name:"Ticket",path:"ticket",component:()=>wt(()=>Promise.resolve().then(()=>lBe),void 0),meta:{title:"我的工单",icon:"mdi-comment-alert-outline",order:0,group:{key:"user",label:"用户"}}},{name:"TicketDetail",path:"ticket/:ticket_id",component:()=>wt(()=>Promise.resolve().then(()=>hBe),void 0),meta:{title:"工单详情",order:0,isHidden:!0}}]},w5=Object.freeze(Object.defineProperty({__proto__:null,default:C5},Symbol.toStringTag,{value:"Module"})),_5=()=>wt(()=>Promise.resolve().then(()=>br),void 0),S5={name:"traffic",path:"/",component:_5,redirect:"/traffic",meta:{isHidden:!1},children:[{name:"Traffic",path:"traffic",component:()=>wt(()=>Promise.resolve().then(()=>mBe),void 0),meta:{title:"流量明细",icon:"mdi-poll",order:0,group:{key:"user",label:"用户"}}}]},k5=Object.freeze(Object.defineProperty({__proto__:null,default:S5},Symbol.toStringTag,{value:"Module"})),zx=[{name:"404",path:"/404",component:()=>wt(()=>Promise.resolve().then(()=>xBe),void 0),meta:{title:"404",isHidden:!0}},{name:"LOGIN",path:"/login",component:()=>wt(()=>Promise.resolve().then(()=>Pf),void 0),meta:{title:"登录页",isHidden:!0}},{name:"Register",path:"/register",component:()=>wt(()=>Promise.resolve().then(()=>Pf),void 0),meta:{title:"注册",isHidden:!0}},{name:"forgetpassword",path:"/forgetpassword",component:()=>wt(()=>Promise.resolve().then(()=>Pf),void 0),meta:{title:"重置密码",isHidden:!0}}],P5={name:"NotFound",path:"/:pathMatch(.*)*",redirect:"/404",meta:{title:"Not Found"}},nv=Object.assign({"/src/views/dashboard/route.ts":t5,"/src/views/invite/route.ts":r5,"/src/views/knowledge/route.ts":s5,"/src/views/node/route.ts":u5,"/src/views/order/route.ts":h5,"/src/views/plan/route.ts":g5,"/src/views/profile/route.ts":y5,"/src/views/ticket/route.ts":w5,"/src/views/traffic/route.ts":k5}),Dx=[];Object.keys(nv).forEach(e=>{Dx.push(nv[e].default)});function T5(e){e.beforeEach(()=>{var t;(t=window.$loadingBar)==null||t.start()}),e.afterEach(()=>{setTimeout(()=>{var t;(t=window.$loadingBar)==null||t.finish()},200)}),e.onError(()=>{var t;(t=window.$loadingBar)==null||t.error()})}var iy;const ov=((iy=window.settings)==null?void 0:iy.title)||"Xboard";function R5(e){e.afterEach(t=>{var o;const n=(o=t.meta)==null?void 0:o.title;n?document.title=`${n} | ${ov}`:document.title=ov})}var E5=!1;/*! - * pinia v2.2.2 - * (c) 2024 Eduardo San Martin Morote - * @license MIT - */let Lx;const lu=e=>Lx=e,Fx=Symbol();function jf(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var ks;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(ks||(ks={}));function $5(){const e=Xh(!0),t=e.run(()=>W({}));let n=[],o=[];const r=zs({install(i){lu(r),r._a=i,i.provide(Fx,r),i.config.globalProperties.$pinia=r,o.forEach(a=>n.push(a)),o=[]},use(i){return!this._a&&!E5?o.push(i):n.push(i),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return r}const Bx=()=>{};function rv(e,t,n,o=Bx){e.push(t);const r=()=>{const i=e.indexOf(t);i>-1&&(e.splice(i,1),o())};return!n&&Zh()&&gy(r),r}function ea(e,...t){e.slice().forEach(n=>{n(...t)})}const A5=e=>e(),iv=Symbol(),Ed=Symbol();function Vf(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,o)=>e.set(o,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const o=t[n],r=e[n];jf(r)&&jf(o)&&e.hasOwnProperty(n)&&!cn(o)&&!wi(o)?e[n]=Vf(r,o):e[n]=o}return e}const I5=Symbol();function O5(e){return!jf(e)||!e.hasOwnProperty(I5)}const{assign:Er}=Object;function M5(e){return!!(cn(e)&&e.effect)}function z5(e,t,n,o){const{state:r,actions:i,getters:a}=t,s=n.state.value[e];let l;function c(){s||(n.state.value[e]=r?r():{});const u=Q3(n.state.value[e]);return Er(u,i,Object.keys(a||{}).reduce((d,f)=>(d[f]=zs(F(()=>{lu(n);const h=n._s.get(e);return a[f].call(h,h)})),d),{}))}return l=Nx(e,c,t,n,o,!0),l}function Nx(e,t,n={},o,r,i){let a;const s=Er({actions:{}},n),l={deep:!0};let c,u,d=[],f=[],h;const p=o.state.value[e];!i&&!p&&(o.state.value[e]={}),W({});let g;function m(P){let k;c=u=!1,typeof P=="function"?(P(o.state.value[e]),k={type:ks.patchFunction,storeId:e,events:h}):(Vf(o.state.value[e],P),k={type:ks.patchObject,payload:P,storeId:e,events:h});const T=g=Symbol();Ht().then(()=>{g===T&&(c=!0)}),u=!0,ea(d,k,o.state.value[e])}const b=i?function(){const{state:k}=n,T=k?k():{};this.$patch(E=>{Er(E,T)})}:Bx;function _(){a.stop(),d=[],f=[],o._s.delete(e)}const C=(P,k="")=>{if(iv in P)return P[Ed]=k,P;const T=function(){lu(o);const E=Array.from(arguments),R=[],K=[];function N(G){R.push(G)}function D(G){K.push(G)}ea(f,{args:E,name:T[Ed],store:w,after:N,onError:D});let M;try{M=P.apply(this&&this.$id===e?this:w,E)}catch(G){throw ea(K,G),G}return M instanceof Promise?M.then(G=>(ea(R,G),G)).catch(G=>(ea(K,G),Promise.reject(G))):(ea(R,M),M)};return T[iv]=!0,T[Ed]=k,T},S={_p:o,$id:e,$onAction:rv.bind(null,f),$patch:m,$reset:b,$subscribe(P,k={}){const T=rv(d,P,k.detached,()=>E()),E=a.run(()=>ft(()=>o.state.value[e],R=>{(k.flush==="sync"?u:c)&&P({storeId:e,type:ks.direct,events:h},R)},Er({},l,k)));return T},$dispose:_},w=eo(S);o._s.set(e,w);const y=(o._a&&o._a.runWithContext||A5)(()=>o._e.run(()=>(a=Xh()).run(()=>t({action:C}))));for(const P in y){const k=y[P];if(cn(k)&&!M5(k)||wi(k))i||(p&&O5(k)&&(cn(k)?k.value=p[P]:Vf(k,p[P])),o.state.value[e][P]=k);else if(typeof k=="function"){const T=C(k,P);y[P]=T,s.actions[P]=k}}return Er(w,y),Er(It(w),y),Object.defineProperty(w,"$state",{get:()=>o.state.value[e],set:P=>{m(k=>{Er(k,P)})}}),o._p.forEach(P=>{Er(w,a.run(()=>P({store:w,app:o._a,pinia:o,options:s})))}),p&&i&&n.hydrate&&n.hydrate(w.$state,p),c=!0,u=!0,w}function cu(e,t,n){let o,r;const i=typeof t=="function";typeof e=="string"?(o=e,r=i?n:t):(r=e,o=e.id);function a(s,l){const c=S4();return s=s||(c?Ue(Fx,null):null),s&&lu(s),s=Lx,s._s.has(o)||(i?Nx(o,t,r,s):z5(o,r,s)),s._s.get(o)}return a.$id=o,a}function Hx(e,t){return function(){return e.apply(t,arguments)}}const{toString:D5}=Object.prototype,{getPrototypeOf:yp}=Object,uu=(e=>t=>{const n=D5.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),$o=e=>(e=e.toLowerCase(),t=>uu(t)===e),du=e=>t=>typeof t===e,{isArray:La}=Array,Ws=du("undefined");function L5(e){return e!==null&&!Ws(e)&&e.constructor!==null&&!Ws(e.constructor)&&Zn(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const jx=$o("ArrayBuffer");function F5(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&jx(e.buffer),t}const B5=du("string"),Zn=du("function"),Vx=du("number"),fu=e=>e!==null&&typeof e=="object",N5=e=>e===!0||e===!1,oc=e=>{if(uu(e)!=="object")return!1;const t=yp(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},H5=$o("Date"),j5=$o("File"),V5=$o("Blob"),W5=$o("FileList"),U5=e=>fu(e)&&Zn(e.pipe),q5=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||Zn(e.append)&&((t=uu(e))==="formdata"||t==="object"&&Zn(e.toString)&&e.toString()==="[object FormData]"))},K5=$o("URLSearchParams"),[G5,Y5,X5,Z5]=["ReadableStream","Request","Response","Headers"].map($o),J5=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function rl(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let o,r;if(typeof e!="object"&&(e=[e]),La(e))for(o=0,r=e.length;o0;)if(r=n[o],t===r.toLowerCase())return r;return null}const mi=(()=>typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global)(),Ux=e=>!Ws(e)&&e!==mi;function Wf(){const{caseless:e}=Ux(this)&&this||{},t={},n=(o,r)=>{const i=e&&Wx(t,r)||r;oc(t[i])&&oc(o)?t[i]=Wf(t[i],o):oc(o)?t[i]=Wf({},o):La(o)?t[i]=o.slice():t[i]=o};for(let o=0,r=arguments.length;o(rl(t,(r,i)=>{n&&Zn(r)?e[i]=Hx(r,n):e[i]=r},{allOwnKeys:o}),e),eR=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),tR=(e,t,n,o)=>{e.prototype=Object.create(t.prototype,o),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},nR=(e,t,n,o)=>{let r,i,a;const s={};if(t=t||{},e==null)return t;do{for(r=Object.getOwnPropertyNames(e),i=r.length;i-- >0;)a=r[i],(!o||o(a,e,t))&&!s[a]&&(t[a]=e[a],s[a]=!0);e=n!==!1&&yp(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},oR=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const o=e.indexOf(t,n);return o!==-1&&o===n},rR=e=>{if(!e)return null;if(La(e))return e;let t=e.length;if(!Vx(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},iR=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&yp(Uint8Array)),aR=(e,t)=>{const o=(e&&e[Symbol.iterator]).call(e);let r;for(;(r=o.next())&&!r.done;){const i=r.value;t.call(e,i[0],i[1])}},sR=(e,t)=>{let n;const o=[];for(;(n=e.exec(t))!==null;)o.push(n);return o},lR=$o("HTMLFormElement"),cR=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,o,r){return o.toUpperCase()+r}),av=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),uR=$o("RegExp"),qx=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),o={};rl(n,(r,i)=>{let a;(a=t(r,i,e))!==!1&&(o[i]=a||r)}),Object.defineProperties(e,o)},dR=e=>{qx(e,(t,n)=>{if(Zn(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const o=e[n];if(Zn(o)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},fR=(e,t)=>{const n={},o=r=>{r.forEach(i=>{n[i]=!0})};return La(e)?o(e):o(String(e).split(t)),n},hR=()=>{},pR=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t,$d="abcdefghijklmnopqrstuvwxyz",sv="0123456789",Kx={DIGIT:sv,ALPHA:$d,ALPHA_DIGIT:$d+$d.toUpperCase()+sv},mR=(e=16,t=Kx.ALPHA_DIGIT)=>{let n="";const{length:o}=t;for(;e--;)n+=t[Math.random()*o|0];return n};function gR(e){return!!(e&&Zn(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}const vR=e=>{const t=new Array(10),n=(o,r)=>{if(fu(o)){if(t.indexOf(o)>=0)return;if(!("toJSON"in o)){t[r]=o;const i=La(o)?[]:{};return rl(o,(a,s)=>{const l=n(a,r+1);!Ws(l)&&(i[s]=l)}),t[r]=void 0,i}}return o};return n(e,0)},bR=$o("AsyncFunction"),yR=e=>e&&(fu(e)||Zn(e))&&Zn(e.then)&&Zn(e.catch),Gx=((e,t)=>e?setImmediate:t?((n,o)=>(mi.addEventListener("message",({source:r,data:i})=>{r===mi&&i===n&&o.length&&o.shift()()},!1),r=>{o.push(r),mi.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",Zn(mi.postMessage)),xR=typeof queueMicrotask<"u"?queueMicrotask.bind(mi):typeof process<"u"&&process.nextTick||Gx,Te={isArray:La,isArrayBuffer:jx,isBuffer:L5,isFormData:q5,isArrayBufferView:F5,isString:B5,isNumber:Vx,isBoolean:N5,isObject:fu,isPlainObject:oc,isReadableStream:G5,isRequest:Y5,isResponse:X5,isHeaders:Z5,isUndefined:Ws,isDate:H5,isFile:j5,isBlob:V5,isRegExp:uR,isFunction:Zn,isStream:U5,isURLSearchParams:K5,isTypedArray:iR,isFileList:W5,forEach:rl,merge:Wf,extend:Q5,trim:J5,stripBOM:eR,inherits:tR,toFlatObject:nR,kindOf:uu,kindOfTest:$o,endsWith:oR,toArray:rR,forEachEntry:aR,matchAll:sR,isHTMLForm:lR,hasOwnProperty:av,hasOwnProp:av,reduceDescriptors:qx,freezeMethods:dR,toObjectSet:fR,toCamelCase:cR,noop:hR,toFiniteNumber:pR,findKey:Wx,global:mi,isContextDefined:Ux,ALPHABET:Kx,generateString:mR,isSpecCompliantForm:gR,toJSONObject:vR,isAsyncFn:bR,isThenable:yR,setImmediate:Gx,asap:xR};function yt(e,t,n,o,r){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),o&&(this.request=o),r&&(this.response=r,this.status=r.status?r.status:null)}Te.inherits(yt,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:Te.toJSONObject(this.config),code:this.code,status:this.status}}});const Yx=yt.prototype,Xx={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{Xx[e]={value:e}});Object.defineProperties(yt,Xx);Object.defineProperty(Yx,"isAxiosError",{value:!0});yt.from=(e,t,n,o,r,i)=>{const a=Object.create(Yx);return Te.toFlatObject(e,a,function(l){return l!==Error.prototype},s=>s!=="isAxiosError"),yt.call(a,e.message,t,n,o,r),a.cause=e,a.name=e.name,i&&Object.assign(a,i),a};const CR=null;function Uf(e){return Te.isPlainObject(e)||Te.isArray(e)}function Zx(e){return Te.endsWith(e,"[]")?e.slice(0,-2):e}function lv(e,t,n){return e?e.concat(t).map(function(r,i){return r=Zx(r),!n&&i?"["+r+"]":r}).join(n?".":""):t}function wR(e){return Te.isArray(e)&&!e.some(Uf)}const _R=Te.toFlatObject(Te,{},null,function(t){return/^is[A-Z]/.test(t)});function hu(e,t,n){if(!Te.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=Te.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(g,m){return!Te.isUndefined(m[g])});const o=n.metaTokens,r=n.visitor||u,i=n.dots,a=n.indexes,l=(n.Blob||typeof Blob<"u"&&Blob)&&Te.isSpecCompliantForm(t);if(!Te.isFunction(r))throw new TypeError("visitor must be a function");function c(p){if(p===null)return"";if(Te.isDate(p))return p.toISOString();if(!l&&Te.isBlob(p))throw new yt("Blob is not supported. Use a Buffer instead.");return Te.isArrayBuffer(p)||Te.isTypedArray(p)?l&&typeof Blob=="function"?new Blob([p]):Buffer.from(p):p}function u(p,g,m){let b=p;if(p&&!m&&typeof p=="object"){if(Te.endsWith(g,"{}"))g=o?g:g.slice(0,-2),p=JSON.stringify(p);else if(Te.isArray(p)&&wR(p)||(Te.isFileList(p)||Te.endsWith(g,"[]"))&&(b=Te.toArray(p)))return g=Zx(g),b.forEach(function(C,S){!(Te.isUndefined(C)||C===null)&&t.append(a===!0?lv([g],S,i):a===null?g:g+"[]",c(C))}),!1}return Uf(p)?!0:(t.append(lv(m,g,i),c(p)),!1)}const d=[],f=Object.assign(_R,{defaultVisitor:u,convertValue:c,isVisitable:Uf});function h(p,g){if(!Te.isUndefined(p)){if(d.indexOf(p)!==-1)throw Error("Circular reference detected in "+g.join("."));d.push(p),Te.forEach(p,function(b,_){(!(Te.isUndefined(b)||b===null)&&r.call(t,b,Te.isString(_)?_.trim():_,g,f))===!0&&h(b,g?g.concat(_):[_])}),d.pop()}}if(!Te.isObject(e))throw new TypeError("data must be an object");return h(e),t}function cv(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(o){return t[o]})}function xp(e,t){this._pairs=[],e&&hu(e,this,t)}const Jx=xp.prototype;Jx.append=function(t,n){this._pairs.push([t,n])};Jx.toString=function(t){const n=t?function(o){return t.call(this,o,cv)}:cv;return this._pairs.map(function(r){return n(r[0])+"="+n(r[1])},"").join("&")};function SR(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Qx(e,t,n){if(!t)return e;const o=n&&n.encode||SR,r=n&&n.serialize;let i;if(r?i=r(t,n):i=Te.isURLSearchParams(t)?t.toString():new xp(t,n).toString(o),i){const a=e.indexOf("#");a!==-1&&(e=e.slice(0,a)),e+=(e.indexOf("?")===-1?"?":"&")+i}return e}class kR{constructor(){this.handlers=[]}use(t,n,o){return this.handlers.push({fulfilled:t,rejected:n,synchronous:o?o.synchronous:!1,runWhen:o?o.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){Te.forEach(this.handlers,function(o){o!==null&&t(o)})}}const uv=kR,eC={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},PR=typeof URLSearchParams<"u"?URLSearchParams:xp,TR=typeof FormData<"u"?FormData:null,RR=typeof Blob<"u"?Blob:null,ER={isBrowser:!0,classes:{URLSearchParams:PR,FormData:TR,Blob:RR},protocols:["http","https","file","blob","url","data"]},Cp=typeof window<"u"&&typeof document<"u",qf=typeof navigator=="object"&&navigator||void 0,$R=Cp&&(!qf||["ReactNative","NativeScript","NS"].indexOf(qf.product)<0),AR=(()=>typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function")(),IR=Cp&&window.location.href||"http://localhost",OR=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Cp,hasStandardBrowserEnv:$R,hasStandardBrowserWebWorkerEnv:AR,navigator:qf,origin:IR},Symbol.toStringTag,{value:"Module"})),Jn={...OR,...ER};function MR(e,t){return hu(e,new Jn.classes.URLSearchParams,Object.assign({visitor:function(n,o,r,i){return Jn.isNode&&Te.isBuffer(n)?(this.append(o,n.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)}},t))}function zR(e){return Te.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function DR(e){const t={},n=Object.keys(e);let o;const r=n.length;let i;for(o=0;o=n.length;return a=!a&&Te.isArray(r)?r.length:a,l?(Te.hasOwnProp(r,a)?r[a]=[r[a],o]:r[a]=o,!s):((!r[a]||!Te.isObject(r[a]))&&(r[a]=[]),t(n,o,r[a],i)&&Te.isArray(r[a])&&(r[a]=DR(r[a])),!s)}if(Te.isFormData(e)&&Te.isFunction(e.entries)){const n={};return Te.forEachEntry(e,(o,r)=>{t(zR(o),r,n,0)}),n}return null}function LR(e,t,n){if(Te.isString(e))try{return(t||JSON.parse)(e),Te.trim(e)}catch(o){if(o.name!=="SyntaxError")throw o}return(n||JSON.stringify)(e)}const wp={transitional:eC,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const o=n.getContentType()||"",r=o.indexOf("application/json")>-1,i=Te.isObject(t);if(i&&Te.isHTMLForm(t)&&(t=new FormData(t)),Te.isFormData(t))return r?JSON.stringify(tC(t)):t;if(Te.isArrayBuffer(t)||Te.isBuffer(t)||Te.isStream(t)||Te.isFile(t)||Te.isBlob(t)||Te.isReadableStream(t))return t;if(Te.isArrayBufferView(t))return t.buffer;if(Te.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let s;if(i){if(o.indexOf("application/x-www-form-urlencoded")>-1)return MR(t,this.formSerializer).toString();if((s=Te.isFileList(t))||o.indexOf("multipart/form-data")>-1){const l=this.env&&this.env.FormData;return hu(s?{"files[]":t}:t,l&&new l,this.formSerializer)}}return i||r?(n.setContentType("application/json",!1),LR(t)):t}],transformResponse:[function(t){const n=this.transitional||wp.transitional,o=n&&n.forcedJSONParsing,r=this.responseType==="json";if(Te.isResponse(t)||Te.isReadableStream(t))return t;if(t&&Te.isString(t)&&(o&&!this.responseType||r)){const a=!(n&&n.silentJSONParsing)&&r;try{return JSON.parse(t)}catch(s){if(a)throw s.name==="SyntaxError"?yt.from(s,yt.ERR_BAD_RESPONSE,this,null,this.response):s}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Jn.classes.FormData,Blob:Jn.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};Te.forEach(["delete","get","head","post","put","patch"],e=>{wp.headers[e]={}});const _p=wp,FR=Te.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),BR=e=>{const t={};let n,o,r;return e&&e.split(` -`).forEach(function(a){r=a.indexOf(":"),n=a.substring(0,r).trim().toLowerCase(),o=a.substring(r+1).trim(),!(!n||t[n]&&FR[n])&&(n==="set-cookie"?t[n]?t[n].push(o):t[n]=[o]:t[n]=t[n]?t[n]+", "+o:o)}),t},dv=Symbol("internals");function is(e){return e&&String(e).trim().toLowerCase()}function rc(e){return e===!1||e==null?e:Te.isArray(e)?e.map(rc):String(e)}function NR(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let o;for(;o=n.exec(e);)t[o[1]]=o[2];return t}const HR=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function Ad(e,t,n,o,r){if(Te.isFunction(o))return o.call(this,t,n);if(r&&(t=n),!!Te.isString(t)){if(Te.isString(o))return t.indexOf(o)!==-1;if(Te.isRegExp(o))return o.test(t)}}function jR(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,o)=>n.toUpperCase()+o)}function VR(e,t){const n=Te.toCamelCase(" "+t);["get","set","has"].forEach(o=>{Object.defineProperty(e,o+n,{value:function(r,i,a){return this[o].call(this,t,r,i,a)},configurable:!0})})}class pu{constructor(t){t&&this.set(t)}set(t,n,o){const r=this;function i(s,l,c){const u=is(l);if(!u)throw new Error("header name must be a non-empty string");const d=Te.findKey(r,u);(!d||r[d]===void 0||c===!0||c===void 0&&r[d]!==!1)&&(r[d||l]=rc(s))}const a=(s,l)=>Te.forEach(s,(c,u)=>i(c,u,l));if(Te.isPlainObject(t)||t instanceof this.constructor)a(t,n);else if(Te.isString(t)&&(t=t.trim())&&!HR(t))a(BR(t),n);else if(Te.isHeaders(t))for(const[s,l]of t.entries())i(l,s,o);else t!=null&&i(n,t,o);return this}get(t,n){if(t=is(t),t){const o=Te.findKey(this,t);if(o){const r=this[o];if(!n)return r;if(n===!0)return NR(r);if(Te.isFunction(n))return n.call(this,r,o);if(Te.isRegExp(n))return n.exec(r);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=is(t),t){const o=Te.findKey(this,t);return!!(o&&this[o]!==void 0&&(!n||Ad(this,this[o],o,n)))}return!1}delete(t,n){const o=this;let r=!1;function i(a){if(a=is(a),a){const s=Te.findKey(o,a);s&&(!n||Ad(o,o[s],s,n))&&(delete o[s],r=!0)}}return Te.isArray(t)?t.forEach(i):i(t),r}clear(t){const n=Object.keys(this);let o=n.length,r=!1;for(;o--;){const i=n[o];(!t||Ad(this,this[i],i,t,!0))&&(delete this[i],r=!0)}return r}normalize(t){const n=this,o={};return Te.forEach(this,(r,i)=>{const a=Te.findKey(o,i);if(a){n[a]=rc(r),delete n[i];return}const s=t?jR(i):String(i).trim();s!==i&&delete n[i],n[s]=rc(r),o[s]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return Te.forEach(this,(o,r)=>{o!=null&&o!==!1&&(n[r]=t&&Te.isArray(o)?o.join(", "):o)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(` -`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const o=new this(t);return n.forEach(r=>o.set(r)),o}static accessor(t){const o=(this[dv]=this[dv]={accessors:{}}).accessors,r=this.prototype;function i(a){const s=is(a);o[s]||(VR(r,a),o[s]=!0)}return Te.isArray(t)?t.forEach(i):i(t),this}}pu.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);Te.reduceDescriptors(pu.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(o){this[n]=o}}});Te.freezeMethods(pu);const Po=pu;function Id(e,t){const n=this||_p,o=t||n,r=Po.from(o.headers);let i=o.data;return Te.forEach(e,function(s){i=s.call(n,i,r.normalize(),t?t.status:void 0)}),r.normalize(),i}function nC(e){return!!(e&&e.__CANCEL__)}function Fa(e,t,n){yt.call(this,e??"canceled",yt.ERR_CANCELED,t,n),this.name="CanceledError"}Te.inherits(Fa,yt,{__CANCEL__:!0});function oC(e,t,n){const o=n.config.validateStatus;!n.status||!o||o(n.status)?e(n):t(new yt("Request failed with status code "+n.status,[yt.ERR_BAD_REQUEST,yt.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function WR(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function UR(e,t){e=e||10;const n=new Array(e),o=new Array(e);let r=0,i=0,a;return t=t!==void 0?t:1e3,function(l){const c=Date.now(),u=o[i];a||(a=c),n[r]=l,o[r]=c;let d=i,f=0;for(;d!==r;)f+=n[d++],d=d%e;if(r=(r+1)%e,r===i&&(i=(i+1)%e),c-a{n=u,r=null,i&&(clearTimeout(i),i=null),e.apply(null,c)};return[(...c)=>{const u=Date.now(),d=u-n;d>=o?a(c,u):(r=c,i||(i=setTimeout(()=>{i=null,a(r)},o-d)))},()=>r&&a(r)]}const yc=(e,t,n=3)=>{let o=0;const r=UR(50,250);return qR(i=>{const a=i.loaded,s=i.lengthComputable?i.total:void 0,l=a-o,c=r(l),u=a<=s;o=a;const d={loaded:a,total:s,progress:s?a/s:void 0,bytes:l,rate:c||void 0,estimated:c&&s&&u?(s-a)/c:void 0,event:i,lengthComputable:s!=null,[t?"download":"upload"]:!0};e(d)},n)},fv=(e,t)=>{const n=e!=null;return[o=>t[0]({lengthComputable:n,total:e,loaded:o}),t[1]]},hv=e=>(...t)=>Te.asap(()=>e(...t)),KR=Jn.hasStandardBrowserEnv?function(){const t=Jn.navigator&&/(msie|trident)/i.test(Jn.navigator.userAgent),n=document.createElement("a");let o;function r(i){let a=i;return t&&(n.setAttribute("href",a),a=n.href),n.setAttribute("href",a),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:n.pathname.charAt(0)==="/"?n.pathname:"/"+n.pathname}}return o=r(window.location.href),function(a){const s=Te.isString(a)?r(a):a;return s.protocol===o.protocol&&s.host===o.host}}():function(){return function(){return!0}}(),GR=Jn.hasStandardBrowserEnv?{write(e,t,n,o,r,i){const a=[e+"="+encodeURIComponent(t)];Te.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),Te.isString(o)&&a.push("path="+o),Te.isString(r)&&a.push("domain="+r),i===!0&&a.push("secure"),document.cookie=a.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function YR(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function XR(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function rC(e,t){return e&&!YR(t)?XR(e,t):t}const pv=e=>e instanceof Po?{...e}:e;function Ei(e,t){t=t||{};const n={};function o(c,u,d){return Te.isPlainObject(c)&&Te.isPlainObject(u)?Te.merge.call({caseless:d},c,u):Te.isPlainObject(u)?Te.merge({},u):Te.isArray(u)?u.slice():u}function r(c,u,d){if(Te.isUndefined(u)){if(!Te.isUndefined(c))return o(void 0,c,d)}else return o(c,u,d)}function i(c,u){if(!Te.isUndefined(u))return o(void 0,u)}function a(c,u){if(Te.isUndefined(u)){if(!Te.isUndefined(c))return o(void 0,c)}else return o(void 0,u)}function s(c,u,d){if(d in t)return o(c,u);if(d in e)return o(void 0,c)}const l={url:i,method:i,data:i,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s,headers:(c,u)=>r(pv(c),pv(u),!0)};return Te.forEach(Object.keys(Object.assign({},e,t)),function(u){const d=l[u]||r,f=d(e[u],t[u],u);Te.isUndefined(f)&&d!==s||(n[u]=f)}),n}const iC=e=>{const t=Ei({},e);let{data:n,withXSRFToken:o,xsrfHeaderName:r,xsrfCookieName:i,headers:a,auth:s}=t;t.headers=a=Po.from(a),t.url=Qx(rC(t.baseURL,t.url),e.params,e.paramsSerializer),s&&a.set("Authorization","Basic "+btoa((s.username||"")+":"+(s.password?unescape(encodeURIComponent(s.password)):"")));let l;if(Te.isFormData(n)){if(Jn.hasStandardBrowserEnv||Jn.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if((l=a.getContentType())!==!1){const[c,...u]=l?l.split(";").map(d=>d.trim()).filter(Boolean):[];a.setContentType([c||"multipart/form-data",...u].join("; "))}}if(Jn.hasStandardBrowserEnv&&(o&&Te.isFunction(o)&&(o=o(t)),o||o!==!1&&KR(t.url))){const c=r&&i&&GR.read(i);c&&a.set(r,c)}return t},ZR=typeof XMLHttpRequest<"u",JR=ZR&&function(e){return new Promise(function(n,o){const r=iC(e);let i=r.data;const a=Po.from(r.headers).normalize();let{responseType:s,onUploadProgress:l,onDownloadProgress:c}=r,u,d,f,h,p;function g(){h&&h(),p&&p(),r.cancelToken&&r.cancelToken.unsubscribe(u),r.signal&&r.signal.removeEventListener("abort",u)}let m=new XMLHttpRequest;m.open(r.method.toUpperCase(),r.url,!0),m.timeout=r.timeout;function b(){if(!m)return;const C=Po.from("getAllResponseHeaders"in m&&m.getAllResponseHeaders()),w={data:!s||s==="text"||s==="json"?m.responseText:m.response,status:m.status,statusText:m.statusText,headers:C,config:e,request:m};oC(function(y){n(y),g()},function(y){o(y),g()},w),m=null}"onloadend"in m?m.onloadend=b:m.onreadystatechange=function(){!m||m.readyState!==4||m.status===0&&!(m.responseURL&&m.responseURL.indexOf("file:")===0)||setTimeout(b)},m.onabort=function(){m&&(o(new yt("Request aborted",yt.ECONNABORTED,e,m)),m=null)},m.onerror=function(){o(new yt("Network Error",yt.ERR_NETWORK,e,m)),m=null},m.ontimeout=function(){let S=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const w=r.transitional||eC;r.timeoutErrorMessage&&(S=r.timeoutErrorMessage),o(new yt(S,w.clarifyTimeoutError?yt.ETIMEDOUT:yt.ECONNABORTED,e,m)),m=null},i===void 0&&a.setContentType(null),"setRequestHeader"in m&&Te.forEach(a.toJSON(),function(S,w){m.setRequestHeader(w,S)}),Te.isUndefined(r.withCredentials)||(m.withCredentials=!!r.withCredentials),s&&s!=="json"&&(m.responseType=r.responseType),c&&([f,p]=yc(c,!0),m.addEventListener("progress",f)),l&&m.upload&&([d,h]=yc(l),m.upload.addEventListener("progress",d),m.upload.addEventListener("loadend",h)),(r.cancelToken||r.signal)&&(u=C=>{m&&(o(!C||C.type?new Fa(null,e,m):C),m.abort(),m=null)},r.cancelToken&&r.cancelToken.subscribe(u),r.signal&&(r.signal.aborted?u():r.signal.addEventListener("abort",u)));const _=WR(r.url);if(_&&Jn.protocols.indexOf(_)===-1){o(new yt("Unsupported protocol "+_+":",yt.ERR_BAD_REQUEST,e));return}m.send(i||null)})},QR=(e,t)=>{let n=new AbortController,o;const r=function(l){if(!o){o=!0,a();const c=l instanceof Error?l:this.reason;n.abort(c instanceof yt?c:new Fa(c instanceof Error?c.message:c))}};let i=t&&setTimeout(()=>{r(new yt(`timeout ${t} of ms exceeded`,yt.ETIMEDOUT))},t);const a=()=>{e&&(i&&clearTimeout(i),i=null,e.forEach(l=>{l&&(l.removeEventListener?l.removeEventListener("abort",r):l.unsubscribe(r))}),e=null)};e.forEach(l=>l&&l.addEventListener&&l.addEventListener("abort",r));const{signal:s}=n;return s.unsubscribe=a,[s,()=>{i&&clearTimeout(i),i=null}]},eE=QR,tE=function*(e,t){let n=e.byteLength;if(!t||n{const i=nE(e,t,r);let a=0,s,l=c=>{s||(s=!0,o&&o(c))};return new ReadableStream({async pull(c){try{const{done:u,value:d}=await i.next();if(u){l(),c.close();return}let f=d.byteLength;if(n){let h=a+=f;n(h)}c.enqueue(new Uint8Array(d))}catch(u){throw l(u),u}},cancel(c){return l(c),i.return()}},{highWaterMark:2})},mu=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",aC=mu&&typeof ReadableStream=="function",Kf=mu&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),sC=(e,...t)=>{try{return!!e(...t)}catch{return!1}},oE=aC&&sC(()=>{let e=!1;const t=new Request(Jn.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),gv=64*1024,Gf=aC&&sC(()=>Te.isReadableStream(new Response("").body)),xc={stream:Gf&&(e=>e.body)};mu&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!xc[t]&&(xc[t]=Te.isFunction(e[t])?n=>n[t]():(n,o)=>{throw new yt(`Response type '${t}' is not supported`,yt.ERR_NOT_SUPPORT,o)})})})(new Response);const rE=async e=>{if(e==null)return 0;if(Te.isBlob(e))return e.size;if(Te.isSpecCompliantForm(e))return(await new Request(e).arrayBuffer()).byteLength;if(Te.isArrayBufferView(e)||Te.isArrayBuffer(e))return e.byteLength;if(Te.isURLSearchParams(e)&&(e=e+""),Te.isString(e))return(await Kf(e)).byteLength},iE=async(e,t)=>{const n=Te.toFiniteNumber(e.getContentLength());return n??rE(t)},aE=mu&&(async e=>{let{url:t,method:n,data:o,signal:r,cancelToken:i,timeout:a,onDownloadProgress:s,onUploadProgress:l,responseType:c,headers:u,withCredentials:d="same-origin",fetchOptions:f}=iC(e);c=c?(c+"").toLowerCase():"text";let[h,p]=r||i||a?eE([r,i],a):[],g,m;const b=()=>{!g&&setTimeout(()=>{h&&h.unsubscribe()}),g=!0};let _;try{if(l&&oE&&n!=="get"&&n!=="head"&&(_=await iE(u,o))!==0){let y=new Request(t,{method:"POST",body:o,duplex:"half"}),P;if(Te.isFormData(o)&&(P=y.headers.get("content-type"))&&u.setContentType(P),y.body){const[k,T]=fv(_,yc(hv(l)));o=mv(y.body,gv,k,T,Kf)}}Te.isString(d)||(d=d?"include":"omit");const C="credentials"in Request.prototype;m=new Request(t,{...f,signal:h,method:n.toUpperCase(),headers:u.normalize().toJSON(),body:o,duplex:"half",credentials:C?d:void 0});let S=await fetch(m);const w=Gf&&(c==="stream"||c==="response");if(Gf&&(s||w)){const y={};["status","statusText","headers"].forEach(E=>{y[E]=S[E]});const P=Te.toFiniteNumber(S.headers.get("content-length")),[k,T]=s&&fv(P,yc(hv(s),!0))||[];S=new Response(mv(S.body,gv,k,()=>{T&&T(),w&&b()},Kf),y)}c=c||"text";let x=await xc[Te.findKey(xc,c)||"text"](S,e);return!w&&b(),p&&p(),await new Promise((y,P)=>{oC(y,P,{data:x,headers:Po.from(S.headers),status:S.status,statusText:S.statusText,config:e,request:m})})}catch(C){throw b(),C&&C.name==="TypeError"&&/fetch/i.test(C.message)?Object.assign(new yt("Network Error",yt.ERR_NETWORK,e,m),{cause:C.cause||C}):yt.from(C,C&&C.code,e,m)}}),Yf={http:CR,xhr:JR,fetch:aE};Te.forEach(Yf,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const vv=e=>`- ${e}`,sE=e=>Te.isFunction(e)||e===null||e===!1,lC={getAdapter:e=>{e=Te.isArray(e)?e:[e];const{length:t}=e;let n,o;const r={};for(let i=0;i`adapter ${s} `+(l===!1?"is not supported by the environment":"is not available in the build"));let a=t?i.length>1?`since : -`+i.map(vv).join(` -`):" "+vv(i[0]):"as no adapter specified";throw new yt("There is no suitable adapter to dispatch the request "+a,"ERR_NOT_SUPPORT")}return o},adapters:Yf};function Od(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Fa(null,e)}function bv(e){return Od(e),e.headers=Po.from(e.headers),e.data=Id.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),lC.getAdapter(e.adapter||_p.adapter)(e).then(function(o){return Od(e),o.data=Id.call(e,e.transformResponse,o),o.headers=Po.from(o.headers),o},function(o){return nC(o)||(Od(e),o&&o.response&&(o.response.data=Id.call(e,e.transformResponse,o.response),o.response.headers=Po.from(o.response.headers))),Promise.reject(o)})}const cC="1.7.5",Sp={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{Sp[e]=function(o){return typeof o===e||"a"+(t<1?"n ":" ")+e}});const yv={};Sp.transitional=function(t,n,o){function r(i,a){return"[Axios v"+cC+"] Transitional option '"+i+"'"+a+(o?". "+o:"")}return(i,a,s)=>{if(t===!1)throw new yt(r(a," has been removed"+(n?" in "+n:"")),yt.ERR_DEPRECATED);return n&&!yv[a]&&(yv[a]=!0,console.warn(r(a," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(i,a,s):!0}};function lE(e,t,n){if(typeof e!="object")throw new yt("options must be an object",yt.ERR_BAD_OPTION_VALUE);const o=Object.keys(e);let r=o.length;for(;r-- >0;){const i=o[r],a=t[i];if(a){const s=e[i],l=s===void 0||a(s,i,e);if(l!==!0)throw new yt("option "+i+" must be "+l,yt.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new yt("Unknown option "+i,yt.ERR_BAD_OPTION)}}const Xf={assertOptions:lE,validators:Sp},Sr=Xf.validators;class Cc{constructor(t){this.defaults=t,this.interceptors={request:new uv,response:new uv}}async request(t,n){try{return await this._request(t,n)}catch(o){if(o instanceof Error){let r;Error.captureStackTrace?Error.captureStackTrace(r={}):r=new Error;const i=r.stack?r.stack.replace(/^.+\n/,""):"";try{o.stack?i&&!String(o.stack).endsWith(i.replace(/^.+\n.+\n/,""))&&(o.stack+=` -`+i):o.stack=i}catch{}}throw o}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=Ei(this.defaults,n);const{transitional:o,paramsSerializer:r,headers:i}=n;o!==void 0&&Xf.assertOptions(o,{silentJSONParsing:Sr.transitional(Sr.boolean),forcedJSONParsing:Sr.transitional(Sr.boolean),clarifyTimeoutError:Sr.transitional(Sr.boolean)},!1),r!=null&&(Te.isFunction(r)?n.paramsSerializer={serialize:r}:Xf.assertOptions(r,{encode:Sr.function,serialize:Sr.function},!0)),n.method=(n.method||this.defaults.method||"get").toLowerCase();let a=i&&Te.merge(i.common,i[n.method]);i&&Te.forEach(["delete","get","head","post","put","patch","common"],p=>{delete i[p]}),n.headers=Po.concat(a,i);const s=[];let l=!0;this.interceptors.request.forEach(function(g){typeof g.runWhen=="function"&&g.runWhen(n)===!1||(l=l&&g.synchronous,s.unshift(g.fulfilled,g.rejected))});const c=[];this.interceptors.response.forEach(function(g){c.push(g.fulfilled,g.rejected)});let u,d=0,f;if(!l){const p=[bv.bind(this),void 0];for(p.unshift.apply(p,s),p.push.apply(p,c),f=p.length,u=Promise.resolve(n);d{if(!o._listeners)return;let i=o._listeners.length;for(;i-- >0;)o._listeners[i](r);o._listeners=null}),this.promise.then=r=>{let i;const a=new Promise(s=>{o.subscribe(s),i=s}).then(r);return a.cancel=function(){o.unsubscribe(i)},a},t(function(i,a,s){o.reason||(o.reason=new Fa(i,a,s),n(o.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}static source(){let t;return{token:new kp(function(r){t=r}),cancel:t}}}const cE=kp;function uE(e){return function(n){return e.apply(null,n)}}function dE(e){return Te.isObject(e)&&e.isAxiosError===!0}const Zf={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Zf).forEach(([e,t])=>{Zf[t]=e});const fE=Zf;function uC(e){const t=new ic(e),n=Hx(ic.prototype.request,t);return Te.extend(n,ic.prototype,t,{allOwnKeys:!0}),Te.extend(n,t,null,{allOwnKeys:!0}),n.create=function(r){return uC(Ei(e,r))},n}const gn=uC(_p);gn.Axios=ic;gn.CanceledError=Fa;gn.CancelToken=cE;gn.isCancel=nC;gn.VERSION=cC;gn.toFormData=hu;gn.AxiosError=yt;gn.Cancel=gn.CanceledError;gn.all=function(t){return Promise.all(t)};gn.spread=uE;gn.isAxiosError=dE;gn.mergeConfig=Ei;gn.AxiosHeaders=Po;gn.formToJSON=e=>tC(Te.isHTMLForm(e)?new FormData(e):e);gn.getAdapter=lC.getAdapter;gn.HttpStatusCode=fE;gn.default=gn;const hE=gn,pE=[{url:"/passport/auth/login",method:"POST"},{url:"/passport/auth/token2Login",method:"GET"},{url:"/passport/auth/register",method:"POST"},{url:"/passport/auth/register",method:"POST"},{url:"/guest/comm/config",method:"GET"},{url:"/passport/comm/sendEmailVerify",method:"POST"},{url:"/passport/auth/forget",method:"POST"}];function mE({url:e,method:t=""}){return pE.some(n=>n.url===e.split("?")[0]&&n.method===t.toUpperCase())}function gE(e){return typeof e>"u"}function vE(e){return e===null}function bE(e){return vE(e)||gE(e)}function dC(e){try{if(typeof JSON.parse(e)=="object")return!0}catch{return!1}}class yE{constructor(t){md(this,"storage");md(this,"prefixKey");this.storage=t.storage,this.prefixKey=t.prefixKey}getKey(t){return`${this.prefixKey}${t}`.toUpperCase()}set(t,n,o=null){const r=JSON.stringify({value:n,time:Date.now(),expire:o!==null?new Date().getTime()+o*1e3:null});this.storage.setItem(this.getKey(t),r)}get(t,n=null){const o=this.storage.getItem(this.getKey(t));if(!o)return{value:n,time:0};try{const r=JSON.parse(o),{value:i,time:a,expire:s}=r;return bE(s)||s>new Date().getTime()?{value:i,time:a}:(this.remove(t),{value:n,time:0})}catch{return this.remove(t),{value:n,time:0}}}remove(t){this.storage.removeItem(this.getKey(t))}clear(){this.storage.clear()}}function fC({prefixKey:e="",storage:t=sessionStorage}){return new yE({prefixKey:e,storage:t})}const hC="Vue_Naive_",xE=function(e={}){return fC({prefixKey:e.prefixKey||"",storage:localStorage})},CE=function(e={}){return fC({prefixKey:e.prefixKey||"",storage:sessionStorage})},il=xE({prefixKey:hC}),wc=CE({prefixKey:hC}),pC="access_token";function mC(){return il.get(pC)}function gC(){il.remove(pC)}function Pp(){const e=we(Gt.currentRoute),t=!e.meta.requireAuth&&!["/404","/login"].includes(Gt.currentRoute.value.path);Gt.replace({path:"/login",query:t?{...e.query,redirect:e.path}:{}})}var vC=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Tp(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function wE(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function o(){return this instanceof o?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(o){var r=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(n,o,r.get?r:{enumerable:!0,get:function(){return e[o]}})}),n}var bC={exports:{}};(function(e,t){(function(n,o){e.exports=o()})(vC,function(){var n=1e3,o=6e4,r=36e5,i="millisecond",a="second",s="minute",l="hour",c="day",u="week",d="month",f="quarter",h="year",p="date",g="Invalid Date",m=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,b=/\[([^\]]+)]|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,_={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 D=["th","st","nd","rd"],M=N%100;return"["+N+(D[(M-20)%10]||D[M]||D[0])+"]"}},C=function(N,D,M){var G=String(N);return!G||G.length>=D?N:""+Array(D+1-G.length).join(M)+N},S={s:C,z:function(N){var D=-N.utcOffset(),M=Math.abs(D),G=Math.floor(M/60),J=M%60;return(D<=0?"+":"-")+C(G,2,"0")+":"+C(J,2,"0")},m:function N(D,M){if(D.date()1)return N(pe[0])}else{var B=D.name;x[B]=D,J=B}return!G&&J&&(w=J),J||!G&&w},T=function(N,D){if(P(N))return N.clone();var M=typeof D=="object"?D:{};return M.date=N,M.args=arguments,new R(M)},E=S;E.l=k,E.i=P,E.w=function(N,D){return T(N,{locale:D.$L,utc:D.$u,x:D.$x,$offset:D.$offset})};var R=function(){function N(M){this.$L=k(M.locale,null,!0),this.parse(M),this.$x=this.$x||M.x||{},this[y]=!0}var D=N.prototype;return D.parse=function(M){this.$d=function(G){var J=G.date,he=G.utc;if(J===null)return new Date(NaN);if(E.u(J))return new Date;if(J instanceof Date)return new Date(J);if(typeof J=="string"&&!/Z$/i.test(J)){var pe=J.match(m);if(pe){var B=pe[2]-1||0,$=(pe[7]||"0").substring(0,3);return he?new Date(Date.UTC(pe[1],B,pe[3]||1,pe[4]||0,pe[5]||0,pe[6]||0,$)):new Date(pe[1],B,pe[3]||1,pe[4]||0,pe[5]||0,pe[6]||0,$)}}return new Date(J)}(M),this.init()},D.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()},D.$utils=function(){return E},D.isValid=function(){return this.$d.toString()!==g},D.isSame=function(M,G){var J=T(M);return this.startOf(G)<=J&&J<=this.endOf(G)},D.isAfter=function(M,G){return T(M)1&&arguments[1]!==void 0?arguments[1]:{container:document.body},ne="";return typeof A=="string"?ne=_(A,Y):A instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(A==null?void 0:A.type)?ne=_(A.value,Y):(ne=h()(A),p("copy")),ne},S=C;function w($){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?w=function(Y){return typeof Y}:w=function(Y){return Y&&typeof Symbol=="function"&&Y.constructor===Symbol&&Y!==Symbol.prototype?"symbol":typeof Y},w($)}var x=function(){var A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Y=A.action,ne=Y===void 0?"copy":Y,fe=A.container,Q=A.target,xe=A.text;if(ne!=="copy"&&ne!=="cut")throw new Error('Invalid "action" value, use either "copy" or "cut"');if(Q!==void 0)if(Q&&w(Q)==="object"&&Q.nodeType===1){if(ne==="copy"&&Q.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if(ne==="cut"&&(Q.hasAttribute("readonly")||Q.hasAttribute("disabled")))throw new Error(`Invalid "target" attribute. You can't cut text from elements with "readonly" or "disabled" attributes`)}else throw new Error('Invalid "target" value, use a valid Element');if(xe)return S(xe,{container:fe});if(Q)return ne==="cut"?m(Q):S(Q,{container:fe})},y=x;function P($){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?P=function(Y){return typeof Y}:P=function(Y){return Y&&typeof Symbol=="function"&&Y.constructor===Symbol&&Y!==Symbol.prototype?"symbol":typeof Y},P($)}function k($,A){if(!($ instanceof A))throw new TypeError("Cannot call a class as a function")}function T($,A){for(var Y=0;Y"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}function J($){return J=Object.setPrototypeOf?Object.getPrototypeOf:function(Y){return Y.__proto__||Object.getPrototypeOf(Y)},J($)}function he($,A){var Y="data-clipboard-".concat($);if(A.hasAttribute(Y))return A.getAttribute(Y)}var pe=function($){R(Y,$);var A=N(Y);function Y(ne,fe){var Q;return k(this,Y),Q=A.call(this),Q.resolveOptions(fe),Q.listenClick(ne),Q}return E(Y,[{key:"resolveOptions",value:function(){var fe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.action=typeof fe.action=="function"?fe.action:this.defaultAction,this.target=typeof fe.target=="function"?fe.target:this.defaultTarget,this.text=typeof fe.text=="function"?fe.text:this.defaultText,this.container=P(fe.container)==="object"?fe.container:document.body}},{key:"listenClick",value:function(fe){var Q=this;this.listener=d()(fe,"click",function(xe){return Q.onClick(xe)})}},{key:"onClick",value:function(fe){var Q=fe.delegateTarget||fe.currentTarget,xe=this.action(Q)||"copy",H=y({action:xe,container:this.container,target:this.target(Q),text:this.text(Q)});this.emit(H?"success":"error",{action:xe,text:H,trigger:Q,clearSelection:function(){Q&&Q.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(fe){return he("action",fe)}},{key:"defaultTarget",value:function(fe){var Q=he("target",fe);if(Q)return document.querySelector(Q)}},{key:"defaultText",value:function(fe){return he("text",fe)}},{key:"destroy",value:function(){this.listener.destroy()}}],[{key:"copy",value:function(fe){var Q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body};return S(fe,Q)}},{key:"cut",value:function(fe){return m(fe)}},{key:"isSupported",value:function(){var fe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["copy","cut"],Q=typeof fe=="string"?[fe]:fe,xe=!!document.queryCommandSupported;return Q.forEach(function(H){xe=xe&&!!document.queryCommandSupported(H)}),xe}}]),Y}(c()),B=pe},828:function(i){var a=9;if(typeof Element<"u"&&!Element.prototype.matches){var s=Element.prototype;s.matches=s.matchesSelector||s.mozMatchesSelector||s.msMatchesSelector||s.oMatchesSelector||s.webkitMatchesSelector}function l(c,u){for(;c&&c.nodeType!==a;){if(typeof c.matches=="function"&&c.matches(u))return c;c=c.parentNode}}i.exports=l},438:function(i,a,s){var l=s(828);function c(f,h,p,g,m){var b=d.apply(this,arguments);return f.addEventListener(p,b,m),{destroy:function(){f.removeEventListener(p,b,m)}}}function u(f,h,p,g,m){return typeof f.addEventListener=="function"?c.apply(null,arguments):typeof p=="function"?c.bind(null,document).apply(null,arguments):(typeof f=="string"&&(f=document.querySelectorAll(f)),Array.prototype.map.call(f,function(b){return c(b,h,p,g,m)}))}function d(f,h,p,g){return function(m){m.delegateTarget=l(m.target,h),m.delegateTarget&&g.call(f,m)}}i.exports=u},879:function(i,a){a.node=function(s){return s!==void 0&&s instanceof HTMLElement&&s.nodeType===1},a.nodeList=function(s){var l=Object.prototype.toString.call(s);return s!==void 0&&(l==="[object NodeList]"||l==="[object HTMLCollection]")&&"length"in s&&(s.length===0||a.node(s[0]))},a.string=function(s){return typeof s=="string"||s instanceof String},a.fn=function(s){var l=Object.prototype.toString.call(s);return l==="[object Function]"}},370:function(i,a,s){var l=s(879),c=s(438);function u(p,g,m){if(!p&&!g&&!m)throw new Error("Missing required arguments");if(!l.string(g))throw new TypeError("Second argument must be a String");if(!l.fn(m))throw new TypeError("Third argument must be a Function");if(l.node(p))return d(p,g,m);if(l.nodeList(p))return f(p,g,m);if(l.string(p))return h(p,g,m);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function d(p,g,m){return p.addEventListener(g,m),{destroy:function(){p.removeEventListener(g,m)}}}function f(p,g,m){return Array.prototype.forEach.call(p,function(b){b.addEventListener(g,m)}),{destroy:function(){Array.prototype.forEach.call(p,function(b){b.removeEventListener(g,m)})}}}function h(p,g,m){return c(document.body,p,g,m)}i.exports=u},817:function(i){function a(s){var l;if(s.nodeName==="SELECT")s.focus(),l=s.value;else if(s.nodeName==="INPUT"||s.nodeName==="TEXTAREA"){var c=s.hasAttribute("readonly");c||s.setAttribute("readonly",""),s.select(),s.setSelectionRange(0,s.value.length),c||s.removeAttribute("readonly"),l=s.value}else{s.hasAttribute("contenteditable")&&s.focus();var u=window.getSelection(),d=document.createRange();d.selectNodeContents(s),u.removeAllRanges(),u.addRange(d),l=u.toString()}return l}i.exports=a},279:function(i){function a(){}a.prototype={on:function(s,l,c){var u=this.e||(this.e={});return(u[s]||(u[s]=[])).push({fn:l,ctx:c}),this},once:function(s,l,c){var u=this;function d(){u.off(s,d),l.apply(c,arguments)}return d._=l,this.on(s,d,c)},emit:function(s){var l=[].slice.call(arguments,1),c=((this.e||(this.e={}))[s]||[]).slice(),u=0,d=c.length;for(u;u{const n=e[t];return n?typeof n=="function"?n():Promise.resolve(n):new Promise((o,r)=>{(typeof queueMicrotask=="function"?queueMicrotask:setTimeout)(r.bind(null,new Error("Unknown variable dynamic import: "+t)))})};/*! - * shared v9.14.0 - * (c) 2024 kazuya kawaguchi - * Released under the MIT License. - */const _c=typeof window<"u",Yr=(e,t=!1)=>t?Symbol.for(e):Symbol(e),RE=(e,t,n)=>EE({l:e,k:t,s:n}),EE=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),yn=e=>typeof e=="number"&&isFinite(e),$E=e=>CC(e)==="[object Date]",Nr=e=>CC(e)==="[object RegExp]",gu=e=>gt(e)&&Object.keys(e).length===0,Pn=Object.assign;let xv;const ir=()=>xv||(xv=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Cv(e){return e.replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}const AE=Object.prototype.hasOwnProperty;function Sc(e,t){return AE.call(e,t)}const tn=Array.isArray,Yt=e=>typeof e=="function",Ye=e=>typeof e=="string",St=e=>typeof e=="boolean",Nt=e=>e!==null&&typeof e=="object",IE=e=>Nt(e)&&Yt(e.then)&&Yt(e.catch),xC=Object.prototype.toString,CC=e=>xC.call(e),gt=e=>{if(!Nt(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},OE=e=>e==null?"":tn(e)||gt(e)&&e.toString===xC?JSON.stringify(e,null,2):String(e);function ME(e,t=""){return e.reduce((n,o,r)=>r===0?n+o:n+t+o,"")}function vu(e){let t=e;return()=>++t}function zE(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Rl=e=>!Nt(e)||tn(e);function ac(e,t){if(Rl(e)||Rl(t))throw new Error("Invalid value");const n=[{src:e,des:t}];for(;n.length;){const{src:o,des:r}=n.pop();Object.keys(o).forEach(i=>{Rl(o[i])||Rl(r[i])?r[i]=o[i]:n.push({src:o[i],des:r[i]})})}}/*! - * message-compiler v9.14.0 - * (c) 2024 kazuya kawaguchi - * Released under the MIT License. - */function DE(e,t,n){return{line:e,column:t,offset:n}}function kc(e,t,n){const o={start:e,end:t};return n!=null&&(o.source=n),o}const LE=/\{([0-9a-zA-Z]+)\}/g;function wC(e,...t){return t.length===1&&FE(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(LE,(n,o)=>t.hasOwnProperty(o)?t[o]:"")}const _C=Object.assign,wv=e=>typeof e=="string",FE=e=>e!==null&&typeof e=="object";function SC(e,t=""){return e.reduce((n,o,r)=>r===0?n+o:n+t+o,"")}const Rp={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},BE={[Rp.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function NE(e,t,...n){const o=wC(BE[e]||"",...n||[]),r={message:String(o),code:e};return t&&(r.location=t),r}const dt={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16,__EXTEND_POINT__:17},HE={[dt.EXPECTED_TOKEN]:"Expected token: '{0}'",[dt.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[dt.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[dt.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[dt.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[dt.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[dt.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[dt.EMPTY_PLACEHOLDER]:"Empty placeholder",[dt.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[dt.INVALID_LINKED_FORMAT]:"Invalid linked format",[dt.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[dt.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[dt.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[dt.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[dt.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[dt.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function Ba(e,t,n={}){const{domain:o,messages:r,args:i}=n,a=wC((r||HE)[e]||"",...i||[]),s=new SyntaxError(String(a));return s.code=e,t&&(s.location=t),s.domain=o,s}function jE(e){throw e}const Qo=" ",VE="\r",On=` -`,WE=String.fromCharCode(8232),UE=String.fromCharCode(8233);function qE(e){const t=e;let n=0,o=1,r=1,i=0;const a=y=>t[y]===VE&&t[y+1]===On,s=y=>t[y]===On,l=y=>t[y]===UE,c=y=>t[y]===WE,u=y=>a(y)||s(y)||l(y)||c(y),d=()=>n,f=()=>o,h=()=>r,p=()=>i,g=y=>a(y)||l(y)||c(y)?On:t[y],m=()=>g(n),b=()=>g(n+i);function _(){return i=0,u(n)&&(o++,r=0),a(n)&&n++,n++,r++,t[n]}function C(){return a(n+i)&&i++,i++,t[n+i]}function S(){n=0,o=1,r=1,i=0}function w(y=0){i=y}function x(){const y=n+i;for(;y!==n;)_();i=0}return{index:d,line:f,column:h,peekOffset:p,charAt:g,currentChar:m,currentPeek:b,next:_,peek:C,reset:S,resetPeek:w,skipToPeek:x}}const kr=void 0,KE=".",_v="'",GE="tokenizer";function YE(e,t={}){const n=t.location!==!1,o=qE(e),r=()=>o.index(),i=()=>DE(o.line(),o.column(),o.index()),a=i(),s=r(),l={currentType:14,offset:s,startLoc:a,endLoc:a,lastType:14,lastOffset:s,lastStartLoc:a,lastEndLoc:a,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function d(I,j,ee,...Ce){const ce=c();if(j.column+=ee,j.offset+=ee,u){const le=n?kc(ce.startLoc,j):null,re=Ba(I,le,{domain:GE,args:Ce});u(re)}}function f(I,j,ee){I.endLoc=i(),I.currentType=j;const Ce={type:j};return n&&(Ce.loc=kc(I.startLoc,I.endLoc)),ee!=null&&(Ce.value=ee),Ce}const h=I=>f(I,14);function p(I,j){return I.currentChar()===j?(I.next(),j):(d(dt.EXPECTED_TOKEN,i(),0,j),"")}function g(I){let j="";for(;I.currentPeek()===Qo||I.currentPeek()===On;)j+=I.currentPeek(),I.peek();return j}function m(I){const j=g(I);return I.skipToPeek(),j}function b(I){if(I===kr)return!1;const j=I.charCodeAt(0);return j>=97&&j<=122||j>=65&&j<=90||j===95}function _(I){if(I===kr)return!1;const j=I.charCodeAt(0);return j>=48&&j<=57}function C(I,j){const{currentType:ee}=j;if(ee!==2)return!1;g(I);const Ce=b(I.currentPeek());return I.resetPeek(),Ce}function S(I,j){const{currentType:ee}=j;if(ee!==2)return!1;g(I);const Ce=I.currentPeek()==="-"?I.peek():I.currentPeek(),ce=_(Ce);return I.resetPeek(),ce}function w(I,j){const{currentType:ee}=j;if(ee!==2)return!1;g(I);const Ce=I.currentPeek()===_v;return I.resetPeek(),Ce}function x(I,j){const{currentType:ee}=j;if(ee!==8)return!1;g(I);const Ce=I.currentPeek()===".";return I.resetPeek(),Ce}function y(I,j){const{currentType:ee}=j;if(ee!==9)return!1;g(I);const Ce=b(I.currentPeek());return I.resetPeek(),Ce}function P(I,j){const{currentType:ee}=j;if(!(ee===8||ee===12))return!1;g(I);const Ce=I.currentPeek()===":";return I.resetPeek(),Ce}function k(I,j){const{currentType:ee}=j;if(ee!==10)return!1;const Ce=()=>{const le=I.currentPeek();return le==="{"?b(I.peek()):le==="@"||le==="%"||le==="|"||le===":"||le==="."||le===Qo||!le?!1:le===On?(I.peek(),Ce()):R(I,!1)},ce=Ce();return I.resetPeek(),ce}function T(I){g(I);const j=I.currentPeek()==="|";return I.resetPeek(),j}function E(I){const j=g(I),ee=I.currentPeek()==="%"&&I.peek()==="{";return I.resetPeek(),{isModulo:ee,hasSpace:j.length>0}}function R(I,j=!0){const ee=(ce=!1,le="",re=!1)=>{const de=I.currentPeek();return de==="{"?le==="%"?!1:ce:de==="@"||!de?le==="%"?!0:ce:de==="%"?(I.peek(),ee(ce,"%",!0)):de==="|"?le==="%"||re?!0:!(le===Qo||le===On):de===Qo?(I.peek(),ee(!0,Qo,re)):de===On?(I.peek(),ee(!0,On,re)):!0},Ce=ee();return j&&I.resetPeek(),Ce}function K(I,j){const ee=I.currentChar();return ee===kr?kr:j(ee)?(I.next(),ee):null}function N(I){const j=I.charCodeAt(0);return j>=97&&j<=122||j>=65&&j<=90||j>=48&&j<=57||j===95||j===36}function D(I){return K(I,N)}function M(I){const j=I.charCodeAt(0);return j>=97&&j<=122||j>=65&&j<=90||j>=48&&j<=57||j===95||j===36||j===45}function G(I){return K(I,M)}function J(I){const j=I.charCodeAt(0);return j>=48&&j<=57}function he(I){return K(I,J)}function pe(I){const j=I.charCodeAt(0);return j>=48&&j<=57||j>=65&&j<=70||j>=97&&j<=102}function B(I){return K(I,pe)}function $(I){let j="",ee="";for(;j=he(I);)ee+=j;return ee}function A(I){m(I);const j=I.currentChar();return j!=="%"&&d(dt.EXPECTED_TOKEN,i(),0,j),I.next(),"%"}function Y(I){let j="";for(;;){const ee=I.currentChar();if(ee==="{"||ee==="}"||ee==="@"||ee==="|"||!ee)break;if(ee==="%")if(R(I))j+=ee,I.next();else break;else if(ee===Qo||ee===On)if(R(I))j+=ee,I.next();else{if(T(I))break;j+=ee,I.next()}else j+=ee,I.next()}return j}function ne(I){m(I);let j="",ee="";for(;j=G(I);)ee+=j;return I.currentChar()===kr&&d(dt.UNTERMINATED_CLOSING_BRACE,i(),0),ee}function fe(I){m(I);let j="";return I.currentChar()==="-"?(I.next(),j+=`-${$(I)}`):j+=$(I),I.currentChar()===kr&&d(dt.UNTERMINATED_CLOSING_BRACE,i(),0),j}function Q(I){return I!==_v&&I!==On}function xe(I){m(I),p(I,"'");let j="",ee="";for(;j=K(I,Q);)j==="\\"?ee+=H(I):ee+=j;const Ce=I.currentChar();return Ce===On||Ce===kr?(d(dt.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,i(),0),Ce===On&&(I.next(),p(I,"'")),ee):(p(I,"'"),ee)}function H(I){const j=I.currentChar();switch(j){case"\\":case"'":return I.next(),`\\${j}`;case"u":return ye(I,j,4);case"U":return ye(I,j,6);default:return d(dt.UNKNOWN_ESCAPE_SEQUENCE,i(),0,j),""}}function ye(I,j,ee){p(I,j);let Ce="";for(let ce=0;ce{const Ce=I.currentChar();return Ce==="{"||Ce==="%"||Ce==="@"||Ce==="|"||Ce==="("||Ce===")"||!Ce||Ce===Qo?ee:(ee+=Ce,I.next(),j(ee))};return j("")}function oe(I){m(I);const j=p(I,"|");return m(I),j}function _e(I,j){let ee=null;switch(I.currentChar()){case"{":return j.braceNest>=1&&d(dt.NOT_ALLOW_NEST_PLACEHOLDER,i(),0),I.next(),ee=f(j,2,"{"),m(I),j.braceNest++,ee;case"}":return j.braceNest>0&&j.currentType===2&&d(dt.EMPTY_PLACEHOLDER,i(),0),I.next(),ee=f(j,3,"}"),j.braceNest--,j.braceNest>0&&m(I),j.inLinked&&j.braceNest===0&&(j.inLinked=!1),ee;case"@":return j.braceNest>0&&d(dt.UNTERMINATED_CLOSING_BRACE,i(),0),ee=te(I,j)||h(j),j.braceNest=0,ee;default:{let ce=!0,le=!0,re=!0;if(T(I))return j.braceNest>0&&d(dt.UNTERMINATED_CLOSING_BRACE,i(),0),ee=f(j,1,oe(I)),j.braceNest=0,j.inLinked=!1,ee;if(j.braceNest>0&&(j.currentType===5||j.currentType===6||j.currentType===7))return d(dt.UNTERMINATED_CLOSING_BRACE,i(),0),j.braceNest=0,ge(I,j);if(ce=C(I,j))return ee=f(j,5,ne(I)),m(I),ee;if(le=S(I,j))return ee=f(j,6,fe(I)),m(I),ee;if(re=w(I,j))return ee=f(j,7,xe(I)),m(I),ee;if(!ce&&!le&&!re)return ee=f(j,13,Ne(I)),d(dt.INVALID_TOKEN_IN_PLACEHOLDER,i(),0,ee.value),m(I),ee;break}}return ee}function te(I,j){const{currentType:ee}=j;let Ce=null;const ce=I.currentChar();switch((ee===8||ee===9||ee===12||ee===10)&&(ce===On||ce===Qo)&&d(dt.INVALID_LINKED_FORMAT,i(),0),ce){case"@":return I.next(),Ce=f(j,8,"@"),j.inLinked=!0,Ce;case".":return m(I),I.next(),f(j,9,".");case":":return m(I),I.next(),f(j,10,":");default:return T(I)?(Ce=f(j,1,oe(I)),j.braceNest=0,j.inLinked=!1,Ce):x(I,j)||P(I,j)?(m(I),te(I,j)):y(I,j)?(m(I),f(j,12,L(I))):k(I,j)?(m(I),ce==="{"?_e(I,j)||Ce:f(j,11,O(I))):(ee===8&&d(dt.INVALID_LINKED_FORMAT,i(),0),j.braceNest=0,j.inLinked=!1,ge(I,j))}}function ge(I,j){let ee={type:14};if(j.braceNest>0)return _e(I,j)||h(j);if(j.inLinked)return te(I,j)||h(j);switch(I.currentChar()){case"{":return _e(I,j)||h(j);case"}":return d(dt.UNBALANCED_CLOSING_BRACE,i(),0),I.next(),f(j,3,"}");case"@":return te(I,j)||h(j);default:{if(T(I))return ee=f(j,1,oe(I)),j.braceNest=0,j.inLinked=!1,ee;const{isModulo:ce,hasSpace:le}=E(I);if(ce)return le?f(j,0,Y(I)):f(j,4,A(I));if(R(I))return f(j,0,Y(I));break}}return ee}function ke(){const{currentType:I,offset:j,startLoc:ee,endLoc:Ce}=l;return l.lastType=I,l.lastOffset=j,l.lastStartLoc=ee,l.lastEndLoc=Ce,l.offset=r(),l.startLoc=i(),o.currentChar()===kr?f(l,14):ge(o,l)}return{nextToken:ke,currentOffset:r,currentPosition:i,context:c}}const XE="parser",ZE=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function JE(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const o=parseInt(t||n,16);return o<=55295||o>=57344?String.fromCodePoint(o):"�"}}}function QE(e={}){const t=e.location!==!1,{onError:n,onWarn:o}=e;function r(C,S,w,x,...y){const P=C.currentPosition();if(P.offset+=x,P.column+=x,n){const k=t?kc(w,P):null,T=Ba(S,k,{domain:XE,args:y});n(T)}}function i(C,S,w,x,...y){const P=C.currentPosition();if(P.offset+=x,P.column+=x,o){const k=t?kc(w,P):null;o(NE(S,k,y))}}function a(C,S,w){const x={type:C};return t&&(x.start=S,x.end=S,x.loc={start:w,end:w}),x}function s(C,S,w,x){x&&(C.type=x),t&&(C.end=S,C.loc&&(C.loc.end=w))}function l(C,S){const w=C.context(),x=a(3,w.offset,w.startLoc);return x.value=S,s(x,C.currentOffset(),C.currentPosition()),x}function c(C,S){const w=C.context(),{lastOffset:x,lastStartLoc:y}=w,P=a(5,x,y);return P.index=parseInt(S,10),C.nextToken(),s(P,C.currentOffset(),C.currentPosition()),P}function u(C,S,w){const x=C.context(),{lastOffset:y,lastStartLoc:P}=x,k=a(4,y,P);return k.key=S,w===!0&&(k.modulo=!0),C.nextToken(),s(k,C.currentOffset(),C.currentPosition()),k}function d(C,S){const w=C.context(),{lastOffset:x,lastStartLoc:y}=w,P=a(9,x,y);return P.value=S.replace(ZE,JE),C.nextToken(),s(P,C.currentOffset(),C.currentPosition()),P}function f(C){const S=C.nextToken(),w=C.context(),{lastOffset:x,lastStartLoc:y}=w,P=a(8,x,y);return S.type!==12?(r(C,dt.UNEXPECTED_EMPTY_LINKED_MODIFIER,w.lastStartLoc,0),P.value="",s(P,x,y),{nextConsumeToken:S,node:P}):(S.value==null&&r(C,dt.UNEXPECTED_LEXICAL_ANALYSIS,w.lastStartLoc,0,Co(S)),P.value=S.value||"",s(P,C.currentOffset(),C.currentPosition()),{node:P})}function h(C,S){const w=C.context(),x=a(7,w.offset,w.startLoc);return x.value=S,s(x,C.currentOffset(),C.currentPosition()),x}function p(C){const S=C.context(),w=a(6,S.offset,S.startLoc);let x=C.nextToken();if(x.type===9){const y=f(C);w.modifier=y.node,x=y.nextConsumeToken||C.nextToken()}switch(x.type!==10&&r(C,dt.UNEXPECTED_LEXICAL_ANALYSIS,S.lastStartLoc,0,Co(x)),x=C.nextToken(),x.type===2&&(x=C.nextToken()),x.type){case 11:x.value==null&&r(C,dt.UNEXPECTED_LEXICAL_ANALYSIS,S.lastStartLoc,0,Co(x)),w.key=h(C,x.value||"");break;case 5:x.value==null&&r(C,dt.UNEXPECTED_LEXICAL_ANALYSIS,S.lastStartLoc,0,Co(x)),w.key=u(C,x.value||"");break;case 6:x.value==null&&r(C,dt.UNEXPECTED_LEXICAL_ANALYSIS,S.lastStartLoc,0,Co(x)),w.key=c(C,x.value||"");break;case 7:x.value==null&&r(C,dt.UNEXPECTED_LEXICAL_ANALYSIS,S.lastStartLoc,0,Co(x)),w.key=d(C,x.value||"");break;default:{r(C,dt.UNEXPECTED_EMPTY_LINKED_KEY,S.lastStartLoc,0);const y=C.context(),P=a(7,y.offset,y.startLoc);return P.value="",s(P,y.offset,y.startLoc),w.key=P,s(w,y.offset,y.startLoc),{nextConsumeToken:x,node:w}}}return s(w,C.currentOffset(),C.currentPosition()),{node:w}}function g(C){const S=C.context(),w=S.currentType===1?C.currentOffset():S.offset,x=S.currentType===1?S.endLoc:S.startLoc,y=a(2,w,x);y.items=[];let P=null,k=null;do{const R=P||C.nextToken();switch(P=null,R.type){case 0:R.value==null&&r(C,dt.UNEXPECTED_LEXICAL_ANALYSIS,S.lastStartLoc,0,Co(R)),y.items.push(l(C,R.value||""));break;case 6:R.value==null&&r(C,dt.UNEXPECTED_LEXICAL_ANALYSIS,S.lastStartLoc,0,Co(R)),y.items.push(c(C,R.value||""));break;case 4:k=!0;break;case 5:R.value==null&&r(C,dt.UNEXPECTED_LEXICAL_ANALYSIS,S.lastStartLoc,0,Co(R)),y.items.push(u(C,R.value||"",!!k)),k&&(i(C,Rp.USE_MODULO_SYNTAX,S.lastStartLoc,0,Co(R)),k=null);break;case 7:R.value==null&&r(C,dt.UNEXPECTED_LEXICAL_ANALYSIS,S.lastStartLoc,0,Co(R)),y.items.push(d(C,R.value||""));break;case 8:{const K=p(C);y.items.push(K.node),P=K.nextConsumeToken||null;break}}}while(S.currentType!==14&&S.currentType!==1);const T=S.currentType===1?S.lastOffset:C.currentOffset(),E=S.currentType===1?S.lastEndLoc:C.currentPosition();return s(y,T,E),y}function m(C,S,w,x){const y=C.context();let P=x.items.length===0;const k=a(1,S,w);k.cases=[],k.cases.push(x);do{const T=g(C);P||(P=T.items.length===0),k.cases.push(T)}while(y.currentType!==14);return P&&r(C,dt.MUST_HAVE_MESSAGES_IN_PLURAL,w,0),s(k,C.currentOffset(),C.currentPosition()),k}function b(C){const S=C.context(),{offset:w,startLoc:x}=S,y=g(C);return S.currentType===14?y:m(C,w,x,y)}function _(C){const S=YE(C,_C({},e)),w=S.context(),x=a(0,w.offset,w.startLoc);return t&&x.loc&&(x.loc.source=C),x.body=b(S),e.onCacheKey&&(x.cacheKey=e.onCacheKey(C)),w.currentType!==14&&r(S,dt.UNEXPECTED_LEXICAL_ANALYSIS,w.lastStartLoc,0,C[w.offset]||""),s(x,S.currentOffset(),S.currentPosition()),x}return{parse:_}}function Co(e){if(e.type===14)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function e$(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:i=>(n.helpers.add(i),i)}}function Sv(e,t){for(let n=0;nkv(n)),e}function kv(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let n=0;ns;function c(m,b){s.code+=m}function u(m,b=!0){const _=b?r:"";c(i?_+" ".repeat(m):_)}function d(m=!0){const b=++s.indentLevel;m&&u(b)}function f(m=!0){const b=--s.indentLevel;m&&u(b)}function h(){u(s.indentLevel)}return{context:l,push:c,indent:d,deindent:f,newline:h,helper:m=>`_${m}`,needIndent:()=>s.needIndent}}function a$(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),ka(e,t.key),t.modifier?(e.push(", "),ka(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function s$(e,t){const{helper:n,needIndent:o}=e;e.push(`${n("normalize")}([`),e.indent(o());const r=t.items.length;for(let i=0;i1){e.push(`${n("plural")}([`),e.indent(o());const r=t.cases.length;for(let i=0;i{const n=wv(t.mode)?t.mode:"normal",o=wv(t.filename)?t.filename:"message.intl",r=!!t.sourceMap,i=t.breakLineCode!=null?t.breakLineCode:n==="arrow"?";":` -`,a=t.needIndent?t.needIndent:n!=="arrow",s=e.helpers||[],l=i$(e,{mode:n,filename:o,sourceMap:r,breakLineCode:i,needIndent:a});l.push(n==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),l.indent(a),s.length>0&&(l.push(`const { ${SC(s.map(d=>`${d}: _${d}`),", ")} } = ctx`),l.newline()),l.push("return "),ka(l,e),l.deindent(a),l.push("}"),delete e.helpers;const{code:c,map:u}=l.context();return{ast:e,code:c,map:u?u.toJSON():void 0}};function d$(e,t={}){const n=_C({},t),o=!!n.jit,r=!!n.minify,i=n.optimize==null?!0:n.optimize,s=QE(n).parse(e);return o?(i&&n$(s),r&&la(s),{ast:s,code:""}):(t$(s,n),u$(s,n))}/*! - * core-base v9.14.0 - * (c) 2024 kazuya kawaguchi - * Released under the MIT License. - */function f$(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(ir().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(ir().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(ir().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}const Xr=[];Xr[0]={w:[0],i:[3,0],"[":[4],o:[7]};Xr[1]={w:[1],".":[2],"[":[4],o:[7]};Xr[2]={w:[2],i:[3,0],0:[3,0]};Xr[3]={i:[3,0],0:[3,0],w:[1,1],".":[2,1],"[":[4,1],o:[7,1]};Xr[4]={"'":[5,0],'"':[6,0],"[":[4,2],"]":[1,3],o:8,l:[4,0]};Xr[5]={"'":[4,0],o:8,l:[5,0]};Xr[6]={'"':[4,0],o:8,l:[6,0]};const h$=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function p$(e){return h$.test(e)}function m$(e){const t=e.charCodeAt(0),n=e.charCodeAt(e.length-1);return t===n&&(t===34||t===39)?e.slice(1,-1):e}function g$(e){if(e==null)return"o";switch(e.charCodeAt(0)){case 91:case 93:case 46:case 34:case 39:return e;case 95:case 36:case 45:return"i";case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"w"}return"i"}function v$(e){const t=e.trim();return e.charAt(0)==="0"&&isNaN(parseInt(e))?!1:p$(t)?m$(t):"*"+t}function b$(e){const t=[];let n=-1,o=0,r=0,i,a,s,l,c,u,d;const f=[];f[0]=()=>{a===void 0?a=s:a+=s},f[1]=()=>{a!==void 0&&(t.push(a),a=void 0)},f[2]=()=>{f[0](),r++},f[3]=()=>{if(r>0)r--,o=4,f[0]();else{if(r=0,a===void 0||(a=v$(a),a===!1))return!1;f[1]()}};function h(){const p=e[n+1];if(o===5&&p==="'"||o===6&&p==='"')return n++,s="\\"+p,f[0](),!0}for(;o!==null;)if(n++,i=e[n],!(i==="\\"&&h())){if(l=g$(i),d=Xr[o],c=d[l]||d.l||8,c===8||(o=c[0],c[1]!==void 0&&(u=f[c[1]],u&&(s=i,u()===!1))))return;if(o===7)return t}}const Pv=new Map;function y$(e,t){return Nt(e)?e[t]:null}function x$(e,t){if(!Nt(e))return null;let n=Pv.get(t);if(n||(n=b$(t),n&&Pv.set(t,n)),!n)return null;const o=n.length;let r=e,i=0;for(;ie,w$=e=>"",_$="text",S$=e=>e.length===0?"":ME(e),k$=OE;function Tv(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function P$(e){const t=yn(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(yn(e.named.count)||yn(e.named.n))?yn(e.named.count)?e.named.count:yn(e.named.n)?e.named.n:t:t}function T$(e,t){t.count||(t.count=e),t.n||(t.n=e)}function R$(e={}){const t=e.locale,n=P$(e),o=Nt(e.pluralRules)&&Ye(t)&&Yt(e.pluralRules[t])?e.pluralRules[t]:Tv,r=Nt(e.pluralRules)&&Ye(t)&&Yt(e.pluralRules[t])?Tv:void 0,i=b=>b[o(n,b.length,r)],a=e.list||[],s=b=>a[b],l=e.named||{};yn(e.pluralIndex)&&T$(n,l);const c=b=>l[b];function u(b){const _=Yt(e.messages)?e.messages(b):Nt(e.messages)?e.messages[b]:!1;return _||(e.parent?e.parent.message(b):w$)}const d=b=>e.modifiers?e.modifiers[b]:C$,f=gt(e.processor)&&Yt(e.processor.normalize)?e.processor.normalize:S$,h=gt(e.processor)&&Yt(e.processor.interpolate)?e.processor.interpolate:k$,p=gt(e.processor)&&Ye(e.processor.type)?e.processor.type:_$,m={list:s,named:c,plural:i,linked:(b,..._)=>{const[C,S]=_;let w="text",x="";_.length===1?Nt(C)?(x=C.modifier||x,w=C.type||w):Ye(C)&&(x=C||x):_.length===2&&(Ye(C)&&(x=C||x),Ye(S)&&(w=S||w));const y=u(b)(m),P=w==="vnode"&&tn(y)&&x?y[0]:y;return x?d(x)(P,w):P},message:u,type:p,interpolate:h,normalize:f,values:Pn({},a,l)};return m}let Us=null;function E$(e){Us=e}function $$(e,t,n){Us&&Us.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:n})}const A$=I$("function:translate");function I$(e){return t=>Us&&Us.emit(e,t)}const kC=Rp.__EXTEND_POINT__,si=vu(kC),O$={NOT_FOUND_KEY:kC,FALLBACK_TO_TRANSLATE:si(),CANNOT_FORMAT_NUMBER:si(),FALLBACK_TO_NUMBER_FORMAT:si(),CANNOT_FORMAT_DATE:si(),FALLBACK_TO_DATE_FORMAT:si(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:si(),__EXTEND_POINT__:si()},PC=dt.__EXTEND_POINT__,li=vu(PC),So={INVALID_ARGUMENT:PC,INVALID_DATE_ARGUMENT:li(),INVALID_ISO_DATE_ARGUMENT:li(),NOT_SUPPORT_NON_STRING_MESSAGE:li(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:li(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:li(),NOT_SUPPORT_LOCALE_TYPE:li(),__EXTEND_POINT__:li()};function No(e){return Ba(e,null,void 0)}function $p(e,t){return t.locale!=null?Rv(t.locale):Rv(e.locale)}let Md;function Rv(e){if(Ye(e))return e;if(Yt(e)){if(e.resolvedOnce&&Md!=null)return Md;if(e.constructor.name==="Function"){const t=e();if(IE(t))throw No(So.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Md=t}else throw No(So.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw No(So.NOT_SUPPORT_LOCALE_TYPE)}function M$(e,t,n){return[...new Set([n,...tn(t)?t:Nt(t)?Object.keys(t):Ye(t)?[t]:[n]])]}function TC(e,t,n){const o=Ye(n)?n:Pa,r=e;r.__localeChainCache||(r.__localeChainCache=new Map);let i=r.__localeChainCache.get(o);if(!i){i=[];let a=[n];for(;tn(a);)a=Ev(i,a,t);const s=tn(t)||!gt(t)?t:t.default?t.default:null;a=Ye(s)?[s]:s,tn(a)&&Ev(i,a,!1),r.__localeChainCache.set(o,i)}return i}function Ev(e,t,n){let o=!0;for(let r=0;r`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function F$(){return{upper:(e,t)=>t==="text"&&Ye(e)?e.toUpperCase():t==="vnode"&&Nt(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&Ye(e)?e.toLowerCase():t==="vnode"&&Nt(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&Ye(e)?Av(e):t==="vnode"&&Nt(e)&&"__v_isVNode"in e?Av(e.children):e}}let RC;function Iv(e){RC=e}let EC;function B$(e){EC=e}let $C;function N$(e){$C=e}let AC=null;const H$=e=>{AC=e},j$=()=>AC;let IC=null;const Ov=e=>{IC=e},V$=()=>IC;let Mv=0;function W$(e={}){const t=Yt(e.onWarn)?e.onWarn:zE,n=Ye(e.version)?e.version:L$,o=Ye(e.locale)||Yt(e.locale)?e.locale:Pa,r=Yt(o)?Pa:o,i=tn(e.fallbackLocale)||gt(e.fallbackLocale)||Ye(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:r,a=gt(e.messages)?e.messages:{[r]:{}},s=gt(e.datetimeFormats)?e.datetimeFormats:{[r]:{}},l=gt(e.numberFormats)?e.numberFormats:{[r]:{}},c=Pn({},e.modifiers||{},F$()),u=e.pluralRules||{},d=Yt(e.missing)?e.missing:null,f=St(e.missingWarn)||Nr(e.missingWarn)?e.missingWarn:!0,h=St(e.fallbackWarn)||Nr(e.fallbackWarn)?e.fallbackWarn:!0,p=!!e.fallbackFormat,g=!!e.unresolving,m=Yt(e.postTranslation)?e.postTranslation:null,b=gt(e.processor)?e.processor:null,_=St(e.warnHtmlMessage)?e.warnHtmlMessage:!0,C=!!e.escapeParameter,S=Yt(e.messageCompiler)?e.messageCompiler:RC,w=Yt(e.messageResolver)?e.messageResolver:EC||y$,x=Yt(e.localeFallbacker)?e.localeFallbacker:$C||M$,y=Nt(e.fallbackContext)?e.fallbackContext:void 0,P=e,k=Nt(P.__datetimeFormatters)?P.__datetimeFormatters:new Map,T=Nt(P.__numberFormatters)?P.__numberFormatters:new Map,E=Nt(P.__meta)?P.__meta:{};Mv++;const R={version:n,cid:Mv,locale:o,fallbackLocale:i,messages:a,modifiers:c,pluralRules:u,missing:d,missingWarn:f,fallbackWarn:h,fallbackFormat:p,unresolving:g,postTranslation:m,processor:b,warnHtmlMessage:_,escapeParameter:C,messageCompiler:S,messageResolver:w,localeFallbacker:x,fallbackContext:y,onWarn:t,__meta:E};return R.datetimeFormats=s,R.numberFormats=l,R.__datetimeFormatters=k,R.__numberFormatters=T,__INTLIFY_PROD_DEVTOOLS__&&$$(R,n,E),R}function Ap(e,t,n,o,r){const{missing:i,onWarn:a}=e;if(i!==null){const s=i(e,n,t,r);return Ye(s)?s:t}else return t}function as(e,t,n){const o=e;o.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function U$(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function q$(e,t){const n=t.indexOf(e);if(n===-1)return!1;for(let o=n+1;oK$(n,e)}function K$(e,t){const n=t.b||t.body;if((n.t||n.type)===1){const o=n,r=o.c||o.cases;return e.plural(r.reduce((i,a)=>[...i,zv(e,a)],[]))}else return zv(e,n)}function zv(e,t){const n=t.s||t.static;if(n)return e.type==="text"?n:e.normalize([n]);{const o=(t.i||t.items).reduce((r,i)=>[...r,Jf(e,i)],[]);return e.normalize(o)}}function Jf(e,t){const n=t.t||t.type;switch(n){case 3:{const o=t;return o.v||o.value}case 9:{const o=t;return o.v||o.value}case 4:{const o=t;return e.interpolate(e.named(o.k||o.key))}case 5:{const o=t;return e.interpolate(e.list(o.i!=null?o.i:o.index))}case 6:{const o=t,r=o.m||o.modifier;return e.linked(Jf(e,o.k||o.key),r?Jf(e,r):void 0,e.type)}case 7:{const o=t;return o.v||o.value}case 8:{const o=t;return o.v||o.value}default:throw new Error(`unhandled node type on format message part: ${n}`)}}const OC=e=>e;let ua=Object.create(null);const Ta=e=>Nt(e)&&(e.t===0||e.type===0)&&("b"in e||"body"in e);function MC(e,t={}){let n=!1;const o=t.onError||jE;return t.onError=r=>{n=!0,o(r)},{...d$(e,t),detectError:n}}const G$=(e,t)=>{if(!Ye(e))throw No(So.NOT_SUPPORT_NON_STRING_MESSAGE);{St(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||OC)(e),r=ua[o];if(r)return r;const{code:i,detectError:a}=MC(e,t),s=new Function(`return ${i}`)();return a?s:ua[o]=s}};function Y$(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&Ye(e)){St(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||OC)(e),r=ua[o];if(r)return r;const{ast:i,detectError:a}=MC(e,{...t,location:!1,jit:!0}),s=zd(i);return a?s:ua[o]=s}else{const n=e.cacheKey;if(n){const o=ua[n];return o||(ua[n]=zd(e))}else return zd(e)}}const Dv=()=>"",io=e=>Yt(e);function Lv(e,...t){const{fallbackFormat:n,postTranslation:o,unresolving:r,messageCompiler:i,fallbackLocale:a,messages:s}=e,[l,c]=Qf(...t),u=St(c.missingWarn)?c.missingWarn:e.missingWarn,d=St(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,f=St(c.escapeParameter)?c.escapeParameter:e.escapeParameter,h=!!c.resolvedMessage,p=Ye(c.default)||St(c.default)?St(c.default)?i?l:()=>l:c.default:n?i?l:()=>l:"",g=n||p!=="",m=$p(e,c);f&&X$(c);let[b,_,C]=h?[l,m,s[m]||{}]:zC(e,l,m,a,d,u),S=b,w=l;if(!h&&!(Ye(S)||Ta(S)||io(S))&&g&&(S=p,w=S),!h&&(!(Ye(S)||Ta(S)||io(S))||!Ye(_)))return r?bu:l;let x=!1;const y=()=>{x=!0},P=io(S)?S:DC(e,l,_,S,w,y);if(x)return S;const k=Q$(e,_,C,c),T=R$(k),E=Z$(e,P,T),R=o?o(E,l):E;if(__INTLIFY_PROD_DEVTOOLS__){const K={timestamp:Date.now(),key:Ye(l)?l:io(S)?S.key:"",locale:_||(io(S)?S.locale:""),format:Ye(S)?S:io(S)?S.source:"",message:R};K.meta=Pn({},e.__meta,j$()||{}),A$(K)}return R}function X$(e){tn(e.list)?e.list=e.list.map(t=>Ye(t)?Cv(t):t):Nt(e.named)&&Object.keys(e.named).forEach(t=>{Ye(e.named[t])&&(e.named[t]=Cv(e.named[t]))})}function zC(e,t,n,o,r,i){const{messages:a,onWarn:s,messageResolver:l,localeFallbacker:c}=e,u=c(e,o,n);let d={},f,h=null;const p="translate";for(let g=0;go;return c.locale=n,c.key=t,c}const l=a(o,J$(e,n,r,o,s,i));return l.locale=n,l.key=t,l.source=o,l}function Z$(e,t,n){return t(n)}function Qf(...e){const[t,n,o]=e,r={};if(!Ye(t)&&!yn(t)&&!io(t)&&!Ta(t))throw No(So.INVALID_ARGUMENT);const i=yn(t)?String(t):(io(t),t);return yn(n)?r.plural=n:Ye(n)?r.default=n:gt(n)&&!gu(n)?r.named=n:tn(n)&&(r.list=n),yn(o)?r.plural=o:Ye(o)?r.default=o:gt(o)&&Pn(r,o),[i,r]}function J$(e,t,n,o,r,i){return{locale:t,key:n,warnHtmlMessage:r,onError:a=>{throw i&&i(a),a},onCacheKey:a=>RE(t,n,a)}}function Q$(e,t,n,o){const{modifiers:r,pluralRules:i,messageResolver:a,fallbackLocale:s,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,f={locale:t,modifiers:r,pluralRules:i,messages:h=>{let p=a(n,h);if(p==null&&u){const[,,g]=zC(u,h,t,s,l,c);p=a(g,h)}if(Ye(p)||Ta(p)){let g=!1;const b=DC(e,h,t,p,h,()=>{g=!0});return g?Dv:b}else return io(p)?p:Dv}};return e.processor&&(f.processor=e.processor),o.list&&(f.list=o.list),o.named&&(f.named=o.named),yn(o.plural)&&(f.pluralIndex=o.plural),f}function Fv(e,...t){const{datetimeFormats:n,unresolving:o,fallbackLocale:r,onWarn:i,localeFallbacker:a}=e,{__datetimeFormatters:s}=e,[l,c,u,d]=eh(...t),f=St(u.missingWarn)?u.missingWarn:e.missingWarn;St(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const h=!!u.part,p=$p(e,u),g=a(e,r,p);if(!Ye(l)||l==="")return new Intl.DateTimeFormat(p,d).format(c);let m={},b,_=null;const C="datetime format";for(let x=0;x{LC.includes(l)?a[l]=n[l]:i[l]=n[l]}),Ye(o)?i.locale=o:gt(o)&&(a=o),gt(r)&&(a=r),[i.key||"",s,i,a]}function Bv(e,t,n){const o=e;for(const r in n){const i=`${t}__${r}`;o.__datetimeFormatters.has(i)&&o.__datetimeFormatters.delete(i)}}function Nv(e,...t){const{numberFormats:n,unresolving:o,fallbackLocale:r,onWarn:i,localeFallbacker:a}=e,{__numberFormatters:s}=e,[l,c,u,d]=th(...t),f=St(u.missingWarn)?u.missingWarn:e.missingWarn;St(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const h=!!u.part,p=$p(e,u),g=a(e,r,p);if(!Ye(l)||l==="")return new Intl.NumberFormat(p,d).format(c);let m={},b,_=null;const C="number format";for(let x=0;x{FC.includes(l)?a[l]=n[l]:i[l]=n[l]}),Ye(o)?i.locale=o:gt(o)&&(a=o),gt(r)&&(a=r),[i.key||"",s,i,a]}function Hv(e,t,n){const o=e;for(const r in n){const i=`${t}__${r}`;o.__numberFormatters.has(i)&&o.__numberFormatters.delete(i)}}f$();/*! - * vue-i18n v9.14.0 - * (c) 2024 kazuya kawaguchi - * Released under the MIT License. - */const eA="9.14.0";function tA(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(ir().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(ir().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(ir().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(ir().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(ir().__INTLIFY_PROD_DEVTOOLS__=!1)}const BC=O$.__EXTEND_POINT__,er=vu(BC);er(),er(),er(),er(),er(),er(),er(),er(),er();const NC=So.__EXTEND_POINT__,Fn=vu(NC),Cn={UNEXPECTED_RETURN_TYPE:NC,INVALID_ARGUMENT:Fn(),MUST_BE_CALL_SETUP_TOP:Fn(),NOT_INSTALLED:Fn(),NOT_AVAILABLE_IN_LEGACY_MODE:Fn(),REQUIRED_VALUE:Fn(),INVALID_VALUE:Fn(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Fn(),NOT_INSTALLED_WITH_PROVIDE:Fn(),UNEXPECTED_ERROR:Fn(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Fn(),BRIDGE_SUPPORT_VUE_2_ONLY:Fn(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Fn(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Fn(),__EXTEND_POINT__:Fn()};function kn(e,...t){return Ba(e,null,void 0)}const nh=Yr("__translateVNode"),oh=Yr("__datetimeParts"),rh=Yr("__numberParts"),HC=Yr("__setPluralRules"),jC=Yr("__injectWithOption"),ih=Yr("__dispose");function qs(e){if(!Nt(e))return e;for(const t in e)if(Sc(e,t))if(!t.includes("."))Nt(e[t])&&qs(e[t]);else{const n=t.split("."),o=n.length-1;let r=e,i=!1;for(let a=0;a{if("locale"in s&&"resource"in s){const{locale:l,resource:c}=s;l?(a[l]=a[l]||{},ac(c,a[l])):ac(c,a)}else Ye(s)&&ac(JSON.parse(s),a)}),r==null&&i)for(const s in a)Sc(a,s)&&qs(a[s]);return a}function VC(e){return e.type}function WC(e,t,n){let o=Nt(t.messages)?t.messages:{};"__i18nGlobal"in n&&(o=yu(e.locale.value,{messages:o,__i18n:n.__i18nGlobal}));const r=Object.keys(o);r.length&&r.forEach(i=>{e.mergeLocaleMessage(i,o[i])});{if(Nt(t.datetimeFormats)){const i=Object.keys(t.datetimeFormats);i.length&&i.forEach(a=>{e.mergeDateTimeFormat(a,t.datetimeFormats[a])})}if(Nt(t.numberFormats)){const i=Object.keys(t.numberFormats);i.length&&i.forEach(a=>{e.mergeNumberFormat(a,t.numberFormats[a])})}}}function jv(e){return ie(za,null,e,0)}const Vv="__INTLIFY_META__",Wv=()=>[],nA=()=>!1;let Uv=0;function qv(e){return(t,n,o,r)=>e(n,o,to()||void 0,r)}const oA=()=>{const e=to();let t=null;return e&&(t=VC(e)[Vv])?{[Vv]:t}:null};function Ip(e={},t){const{__root:n,__injectWithOption:o}=e,r=n===void 0,i=e.flatJson,a=_c?W:Oa,s=!!e.translateExistCompatible;let l=St(e.inheritLocale)?e.inheritLocale:!0;const c=a(n&&l?n.locale.value:Ye(e.locale)?e.locale:Pa),u=a(n&&l?n.fallbackLocale.value:Ye(e.fallbackLocale)||tn(e.fallbackLocale)||gt(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),d=a(yu(c.value,e)),f=a(gt(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),h=a(gt(e.numberFormats)?e.numberFormats:{[c.value]:{}});let p=n?n.missingWarn:St(e.missingWarn)||Nr(e.missingWarn)?e.missingWarn:!0,g=n?n.fallbackWarn:St(e.fallbackWarn)||Nr(e.fallbackWarn)?e.fallbackWarn:!0,m=n?n.fallbackRoot:St(e.fallbackRoot)?e.fallbackRoot:!0,b=!!e.fallbackFormat,_=Yt(e.missing)?e.missing:null,C=Yt(e.missing)?qv(e.missing):null,S=Yt(e.postTranslation)?e.postTranslation:null,w=n?n.warnHtmlMessage:St(e.warnHtmlMessage)?e.warnHtmlMessage:!0,x=!!e.escapeParameter;const y=n?n.modifiers:gt(e.modifiers)?e.modifiers:{};let P=e.pluralRules||n&&n.pluralRules,k;k=(()=>{r&&Ov(null);const re={version:eA,locale:c.value,fallbackLocale:u.value,messages:d.value,modifiers:y,pluralRules:P,missing:C===null?void 0:C,missingWarn:p,fallbackWarn:g,fallbackFormat:b,unresolving:!0,postTranslation:S===null?void 0:S,warnHtmlMessage:w,escapeParameter:x,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};re.datetimeFormats=f.value,re.numberFormats=h.value,re.__datetimeFormatters=gt(k)?k.__datetimeFormatters:void 0,re.__numberFormatters=gt(k)?k.__numberFormatters:void 0;const de=W$(re);return r&&Ov(de),de})(),as(k,c.value,u.value);function E(){return[c.value,u.value,d.value,f.value,h.value]}const R=F({get:()=>c.value,set:re=>{c.value=re,k.locale=c.value}}),K=F({get:()=>u.value,set:re=>{u.value=re,k.fallbackLocale=u.value,as(k,c.value,re)}}),N=F(()=>d.value),D=F(()=>f.value),M=F(()=>h.value);function G(){return Yt(S)?S:null}function J(re){S=re,k.postTranslation=re}function he(){return _}function pe(re){re!==null&&(C=qv(re)),_=re,k.missing=C}const B=(re,de,De,Le,Pe,Fe)=>{E();let He;try{__INTLIFY_PROD_DEVTOOLS__,r||(k.fallbackContext=n?V$():void 0),He=re(k)}finally{__INTLIFY_PROD_DEVTOOLS__,r||(k.fallbackContext=void 0)}if(De!=="translate exists"&&yn(He)&&He===bu||De==="translate exists"&&!He){const[Ie,Qe]=de();return n&&m?Le(n):Pe(Ie)}else{if(Fe(He))return He;throw kn(Cn.UNEXPECTED_RETURN_TYPE)}};function $(...re){return B(de=>Reflect.apply(Lv,null,[de,...re]),()=>Qf(...re),"translate",de=>Reflect.apply(de.t,de,[...re]),de=>de,de=>Ye(de))}function A(...re){const[de,De,Le]=re;if(Le&&!Nt(Le))throw kn(Cn.INVALID_ARGUMENT);return $(de,De,Pn({resolvedMessage:!0},Le||{}))}function Y(...re){return B(de=>Reflect.apply(Fv,null,[de,...re]),()=>eh(...re),"datetime format",de=>Reflect.apply(de.d,de,[...re]),()=>$v,de=>Ye(de))}function ne(...re){return B(de=>Reflect.apply(Nv,null,[de,...re]),()=>th(...re),"number format",de=>Reflect.apply(de.n,de,[...re]),()=>$v,de=>Ye(de))}function fe(re){return re.map(de=>Ye(de)||yn(de)||St(de)?jv(String(de)):de)}const xe={normalize:fe,interpolate:re=>re,type:"vnode"};function H(...re){return B(de=>{let De;const Le=de;try{Le.processor=xe,De=Reflect.apply(Lv,null,[Le,...re])}finally{Le.processor=null}return De},()=>Qf(...re),"translate",de=>de[nh](...re),de=>[jv(de)],de=>tn(de))}function ye(...re){return B(de=>Reflect.apply(Nv,null,[de,...re]),()=>th(...re),"number format",de=>de[rh](...re),Wv,de=>Ye(de)||tn(de))}function Oe(...re){return B(de=>Reflect.apply(Fv,null,[de,...re]),()=>eh(...re),"datetime format",de=>de[oh](...re),Wv,de=>Ye(de)||tn(de))}function Ne(re){P=re,k.pluralRules=P}function L(re,de){return B(()=>{if(!re)return!1;const De=Ye(de)?de:c.value,Le=_e(De),Pe=k.messageResolver(Le,re);return s?Pe!=null:Ta(Pe)||io(Pe)||Ye(Pe)},()=>[re],"translate exists",De=>Reflect.apply(De.te,De,[re,de]),nA,De=>St(De))}function O(re){let de=null;const De=TC(k,u.value,c.value);for(let Le=0;Le{l&&(c.value=re,k.locale=re,as(k,c.value,u.value))}),ft(n.fallbackLocale,re=>{l&&(u.value=re,k.fallbackLocale=re,as(k,c.value,u.value))}));const le={id:Uv,locale:R,fallbackLocale:K,get inheritLocale(){return l},set inheritLocale(re){l=re,re&&n&&(c.value=n.locale.value,u.value=n.fallbackLocale.value,as(k,c.value,u.value))},get availableLocales(){return Object.keys(d.value).sort()},messages:N,get modifiers(){return y},get pluralRules(){return P||{}},get isGlobal(){return r},get missingWarn(){return p},set missingWarn(re){p=re,k.missingWarn=p},get fallbackWarn(){return g},set fallbackWarn(re){g=re,k.fallbackWarn=g},get fallbackRoot(){return m},set fallbackRoot(re){m=re},get fallbackFormat(){return b},set fallbackFormat(re){b=re,k.fallbackFormat=b},get warnHtmlMessage(){return w},set warnHtmlMessage(re){w=re,k.warnHtmlMessage=re},get escapeParameter(){return x},set escapeParameter(re){x=re,k.escapeParameter=re},t:$,getLocaleMessage:_e,setLocaleMessage:te,mergeLocaleMessage:ge,getPostTranslationHandler:G,setPostTranslationHandler:J,getMissingHandler:he,setMissingHandler:pe,[HC]:Ne};return le.datetimeFormats=D,le.numberFormats=M,le.rt=A,le.te=L,le.tm=oe,le.d=Y,le.n=ne,le.getDateTimeFormat=ke,le.setDateTimeFormat=I,le.mergeDateTimeFormat=j,le.getNumberFormat=ee,le.setNumberFormat=Ce,le.mergeNumberFormat=ce,le[jC]=o,le[nh]=H,le[oh]=Oe,le[rh]=ye,le}function rA(e){const t=Ye(e.locale)?e.locale:Pa,n=Ye(e.fallbackLocale)||tn(e.fallbackLocale)||gt(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,o=Yt(e.missing)?e.missing:void 0,r=St(e.silentTranslationWarn)||Nr(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,i=St(e.silentFallbackWarn)||Nr(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,a=St(e.fallbackRoot)?e.fallbackRoot:!0,s=!!e.formatFallbackMessages,l=gt(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=Yt(e.postTranslation)?e.postTranslation:void 0,d=Ye(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,f=!!e.escapeParameterHtml,h=St(e.sync)?e.sync:!0;let p=e.messages;if(gt(e.sharedMessages)){const x=e.sharedMessages;p=Object.keys(x).reduce((P,k)=>{const T=P[k]||(P[k]={});return Pn(T,x[k]),P},p||{})}const{__i18n:g,__root:m,__injectWithOption:b}=e,_=e.datetimeFormats,C=e.numberFormats,S=e.flatJson,w=e.translateExistCompatible;return{locale:t,fallbackLocale:n,messages:p,flatJson:S,datetimeFormats:_,numberFormats:C,missing:o,missingWarn:r,fallbackWarn:i,fallbackRoot:a,fallbackFormat:s,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:d,escapeParameter:f,messageResolver:e.messageResolver,inheritLocale:h,translateExistCompatible:w,__i18n:g,__root:m,__injectWithOption:b}}function ah(e={},t){{const n=Ip(rA(e)),{__extender:o}=e,r={id:n.id,get locale(){return n.locale.value},set locale(i){n.locale.value=i},get fallbackLocale(){return n.fallbackLocale.value},set fallbackLocale(i){n.fallbackLocale.value=i},get messages(){return n.messages.value},get datetimeFormats(){return n.datetimeFormats.value},get numberFormats(){return n.numberFormats.value},get availableLocales(){return n.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(i){},get missing(){return n.getMissingHandler()},set missing(i){n.setMissingHandler(i)},get silentTranslationWarn(){return St(n.missingWarn)?!n.missingWarn:n.missingWarn},set silentTranslationWarn(i){n.missingWarn=St(i)?!i:i},get silentFallbackWarn(){return St(n.fallbackWarn)?!n.fallbackWarn:n.fallbackWarn},set silentFallbackWarn(i){n.fallbackWarn=St(i)?!i:i},get modifiers(){return n.modifiers},get formatFallbackMessages(){return n.fallbackFormat},set formatFallbackMessages(i){n.fallbackFormat=i},get postTranslation(){return n.getPostTranslationHandler()},set postTranslation(i){n.setPostTranslationHandler(i)},get sync(){return n.inheritLocale},set sync(i){n.inheritLocale=i},get warnHtmlInMessage(){return n.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(i){n.warnHtmlMessage=i!=="off"},get escapeParameterHtml(){return n.escapeParameter},set escapeParameterHtml(i){n.escapeParameter=i},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(i){},get pluralizationRules(){return n.pluralRules||{}},__composer:n,t(...i){const[a,s,l]=i,c={};let u=null,d=null;if(!Ye(a))throw kn(Cn.INVALID_ARGUMENT);const f=a;return Ye(s)?c.locale=s:tn(s)?u=s:gt(s)&&(d=s),tn(l)?u=l:gt(l)&&(d=l),Reflect.apply(n.t,n,[f,u||d||{},c])},rt(...i){return Reflect.apply(n.rt,n,[...i])},tc(...i){const[a,s,l]=i,c={plural:1};let u=null,d=null;if(!Ye(a))throw kn(Cn.INVALID_ARGUMENT);const f=a;return Ye(s)?c.locale=s:yn(s)?c.plural=s:tn(s)?u=s:gt(s)&&(d=s),Ye(l)?c.locale=l:tn(l)?u=l:gt(l)&&(d=l),Reflect.apply(n.t,n,[f,u||d||{},c])},te(i,a){return n.te(i,a)},tm(i){return n.tm(i)},getLocaleMessage(i){return n.getLocaleMessage(i)},setLocaleMessage(i,a){n.setLocaleMessage(i,a)},mergeLocaleMessage(i,a){n.mergeLocaleMessage(i,a)},d(...i){return Reflect.apply(n.d,n,[...i])},getDateTimeFormat(i){return n.getDateTimeFormat(i)},setDateTimeFormat(i,a){n.setDateTimeFormat(i,a)},mergeDateTimeFormat(i,a){n.mergeDateTimeFormat(i,a)},n(...i){return Reflect.apply(n.n,n,[...i])},getNumberFormat(i){return n.getNumberFormat(i)},setNumberFormat(i,a){n.setNumberFormat(i,a)},mergeNumberFormat(i,a){n.mergeNumberFormat(i,a)},getChoiceIndex(i,a){return-1}};return r.__extender=o,r}}const Op={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function iA({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((o,r)=>[...o,...r.type===it?r.children:[r]],[]):t.reduce((n,o)=>{const r=e[o];return r&&(n[o]=r()),n},{})}function UC(e){return it}const aA=be({name:"i18n-t",props:Pn({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>yn(e)||!isNaN(e)}},Op),setup(e,t){const{slots:n,attrs:o}=t,r=e.i18n||Mp({useScope:e.scope,__useComponent:!0});return()=>{const i=Object.keys(n).filter(d=>d!=="_"),a={};e.locale&&(a.locale=e.locale),e.plural!==void 0&&(a.plural=Ye(e.plural)?+e.plural:e.plural);const s=iA(t,i),l=r[nh](e.keypath,s,a),c=Pn({},o),u=Ye(e.tag)||Nt(e.tag)?e.tag:UC();return v(u,c,l)}}}),Kv=aA;function sA(e){return tn(e)&&!Ye(e[0])}function qC(e,t,n,o){const{slots:r,attrs:i}=t;return()=>{const a={part:!0};let s={};e.locale&&(a.locale=e.locale),Ye(e.format)?a.key=e.format:Nt(e.format)&&(Ye(e.format.key)&&(a.key=e.format.key),s=Object.keys(e.format).reduce((f,h)=>n.includes(h)?Pn({},f,{[h]:e.format[h]}):f,{}));const l=o(e.value,a,s);let c=[a.key];tn(l)?c=l.map((f,h)=>{const p=r[f.type],g=p?p({[f.type]:f.value,index:h,parts:l}):[f.value];return sA(g)&&(g[0].key=`${f.type}-${h}`),g}):Ye(l)&&(c=[l]);const u=Pn({},i),d=Ye(e.tag)||Nt(e.tag)?e.tag:UC();return v(d,u,c)}}const lA=be({name:"i18n-n",props:Pn({value:{type:Number,required:!0},format:{type:[String,Object]}},Op),setup(e,t){const n=e.i18n||Mp({useScope:e.scope,__useComponent:!0});return qC(e,t,FC,(...o)=>n[rh](...o))}}),Gv=lA,cA=be({name:"i18n-d",props:Pn({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},Op),setup(e,t){const n=e.i18n||Mp({useScope:e.scope,__useComponent:!0});return qC(e,t,LC,(...o)=>n[oh](...o))}}),Yv=cA;function uA(e,t){const n=e;if(e.mode==="composition")return n.__getInstance(t)||e.global;{const o=n.__getInstance(t);return o!=null?o.__composer:e.global.__composer}}function dA(e){const t=a=>{const{instance:s,modifiers:l,value:c}=a;if(!s||!s.$)throw kn(Cn.UNEXPECTED_ERROR);const u=uA(e,s.$),d=Xv(c);return[Reflect.apply(u.t,u,[...Zv(d)]),u]};return{created:(a,s)=>{const[l,c]=t(s);_c&&e.global===c&&(a.__i18nWatcher=ft(c.locale,()=>{s.instance&&s.instance.$forceUpdate()})),a.__composer=c,a.textContent=l},unmounted:a=>{_c&&a.__i18nWatcher&&(a.__i18nWatcher(),a.__i18nWatcher=void 0,delete a.__i18nWatcher),a.__composer&&(a.__composer=void 0,delete a.__composer)},beforeUpdate:(a,{value:s})=>{if(a.__composer){const l=a.__composer,c=Xv(s);a.textContent=Reflect.apply(l.t,l,[...Zv(c)])}},getSSRProps:a=>{const[s]=t(a);return{textContent:s}}}}function Xv(e){if(Ye(e))return{path:e};if(gt(e)){if(!("path"in e))throw kn(Cn.REQUIRED_VALUE,"path");return e}else throw kn(Cn.INVALID_VALUE)}function Zv(e){const{path:t,locale:n,args:o,choice:r,plural:i}=e,a={},s=o||{};return Ye(n)&&(a.locale=n),yn(r)&&(a.plural=r),yn(i)&&(a.plural=i),[t,s,a]}function fA(e,t,...n){const o=gt(n[0])?n[0]:{},r=!!o.useI18nComponentName;(St(o.globalInstall)?o.globalInstall:!0)&&([r?"i18n":Kv.name,"I18nT"].forEach(a=>e.component(a,Kv)),[Gv.name,"I18nN"].forEach(a=>e.component(a,Gv)),[Yv.name,"I18nD"].forEach(a=>e.component(a,Yv))),e.directive("t",dA(t))}function hA(e,t,n){return{beforeCreate(){const o=to();if(!o)throw kn(Cn.UNEXPECTED_ERROR);const r=this.$options;if(r.i18n){const i=r.i18n;if(r.__i18n&&(i.__i18n=r.__i18n),i.__root=t,this===this.$root)this.$i18n=Jv(e,i);else{i.__injectWithOption=!0,i.__extender=n.__vueI18nExtend,this.$i18n=ah(i);const a=this.$i18n;a.__extender&&(a.__disposer=a.__extender(this.$i18n))}}else if(r.__i18n)if(this===this.$root)this.$i18n=Jv(e,r);else{this.$i18n=ah({__i18n:r.__i18n,__injectWithOption:!0,__extender:n.__vueI18nExtend,__root:t});const i=this.$i18n;i.__extender&&(i.__disposer=i.__extender(this.$i18n))}else this.$i18n=e;r.__i18nGlobal&&WC(t,r,r),this.$t=(...i)=>this.$i18n.t(...i),this.$rt=(...i)=>this.$i18n.rt(...i),this.$tc=(...i)=>this.$i18n.tc(...i),this.$te=(i,a)=>this.$i18n.te(i,a),this.$d=(...i)=>this.$i18n.d(...i),this.$n=(...i)=>this.$i18n.n(...i),this.$tm=i=>this.$i18n.tm(i),n.__setInstance(o,this.$i18n)},mounted(){},unmounted(){const o=to();if(!o)throw kn(Cn.UNEXPECTED_ERROR);const r=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,r.__disposer&&(r.__disposer(),delete r.__disposer,delete r.__extender),n.__deleteInstance(o),delete this.$i18n}}}function Jv(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[HC](t.pluralizationRules||e.pluralizationRules);const n=yu(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(n).forEach(o=>e.mergeLocaleMessage(o,n[o])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(o=>e.mergeDateTimeFormat(o,t.datetimeFormats[o])),t.numberFormats&&Object.keys(t.numberFormats).forEach(o=>e.mergeNumberFormat(o,t.numberFormats[o])),e}const pA=Yr("global-vue-i18n");function mA(e={},t){const n=__VUE_I18N_LEGACY_API__&&St(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,o=St(e.globalInjection)?e.globalInjection:!0,r=__VUE_I18N_LEGACY_API__&&n?!!e.allowComposition:!0,i=new Map,[a,s]=gA(e,n),l=Yr("");function c(f){return i.get(f)||null}function u(f,h){i.set(f,h)}function d(f){i.delete(f)}{const f={get mode(){return __VUE_I18N_LEGACY_API__&&n?"legacy":"composition"},get allowComposition(){return r},async install(h,...p){if(h.__VUE_I18N_SYMBOL__=l,h.provide(h.__VUE_I18N_SYMBOL__,f),gt(p[0])){const b=p[0];f.__composerExtend=b.__composerExtend,f.__vueI18nExtend=b.__vueI18nExtend}let g=null;!n&&o&&(g=kA(h,f.global)),__VUE_I18N_FULL_INSTALL__&&fA(h,f,...p),__VUE_I18N_LEGACY_API__&&n&&h.mixin(hA(s,s.__composer,f));const m=h.unmount;h.unmount=()=>{g&&g(),f.dispose(),m()}},get global(){return s},dispose(){a.stop()},__instances:i,__getInstance:c,__setInstance:u,__deleteInstance:d};return f}}function Mp(e={}){const t=to();if(t==null)throw kn(Cn.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw kn(Cn.NOT_INSTALLED);const n=vA(t),o=yA(n),r=VC(t),i=bA(e,r);if(__VUE_I18N_LEGACY_API__&&n.mode==="legacy"&&!e.__useComponent){if(!n.allowComposition)throw kn(Cn.NOT_AVAILABLE_IN_LEGACY_MODE);return _A(t,i,o,e)}if(i==="global")return WC(o,e,r),o;if(i==="parent"){let l=xA(n,t,e.__useComponent);return l==null&&(l=o),l}const a=n;let s=a.__getInstance(t);if(s==null){const l=Pn({},e);"__i18n"in r&&(l.__i18n=r.__i18n),o&&(l.__root=o),s=Ip(l),a.__composerExtend&&(s[ih]=a.__composerExtend(s)),wA(a,t,s),a.__setInstance(t,s)}return s}function gA(e,t,n){const o=Xh();{const r=__VUE_I18N_LEGACY_API__&&t?o.run(()=>ah(e)):o.run(()=>Ip(e));if(r==null)throw kn(Cn.UNEXPECTED_ERROR);return[o,r]}}function vA(e){{const t=Ue(e.isCE?pA:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw kn(e.isCE?Cn.NOT_INSTALLED_WITH_PROVIDE:Cn.UNEXPECTED_ERROR);return t}}function bA(e,t){return gu(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function yA(e){return e.mode==="composition"?e.global:e.global.__composer}function xA(e,t,n=!1){let o=null;const r=t.root;let i=CA(t,n);for(;i!=null;){const a=e;if(e.mode==="composition")o=a.__getInstance(i);else if(__VUE_I18N_LEGACY_API__){const s=a.__getInstance(i);s!=null&&(o=s.__composer,n&&o&&!o[jC]&&(o=null))}if(o!=null||r===i)break;i=i.parent}return o}function CA(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function wA(e,t,n){jt(()=>{},t),Ma(()=>{const o=n;e.__deleteInstance(t);const r=o[ih];r&&(r(),delete o[ih])},t)}function _A(e,t,n,o={}){const r=t==="local",i=Oa(null);if(r&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw kn(Cn.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const a=St(o.inheritLocale)?o.inheritLocale:!Ye(o.locale),s=W(!r||a?n.locale.value:Ye(o.locale)?o.locale:Pa),l=W(!r||a?n.fallbackLocale.value:Ye(o.fallbackLocale)||tn(o.fallbackLocale)||gt(o.fallbackLocale)||o.fallbackLocale===!1?o.fallbackLocale:s.value),c=W(yu(s.value,o)),u=W(gt(o.datetimeFormats)?o.datetimeFormats:{[s.value]:{}}),d=W(gt(o.numberFormats)?o.numberFormats:{[s.value]:{}}),f=r?n.missingWarn:St(o.missingWarn)||Nr(o.missingWarn)?o.missingWarn:!0,h=r?n.fallbackWarn:St(o.fallbackWarn)||Nr(o.fallbackWarn)?o.fallbackWarn:!0,p=r?n.fallbackRoot:St(o.fallbackRoot)?o.fallbackRoot:!0,g=!!o.fallbackFormat,m=Yt(o.missing)?o.missing:null,b=Yt(o.postTranslation)?o.postTranslation:null,_=r?n.warnHtmlMessage:St(o.warnHtmlMessage)?o.warnHtmlMessage:!0,C=!!o.escapeParameter,S=r?n.modifiers:gt(o.modifiers)?o.modifiers:{},w=o.pluralRules||r&&n.pluralRules;function x(){return[s.value,l.value,c.value,u.value,d.value]}const y=F({get:()=>i.value?i.value.locale.value:s.value,set:O=>{i.value&&(i.value.locale.value=O),s.value=O}}),P=F({get:()=>i.value?i.value.fallbackLocale.value:l.value,set:O=>{i.value&&(i.value.fallbackLocale.value=O),l.value=O}}),k=F(()=>i.value?i.value.messages.value:c.value),T=F(()=>u.value),E=F(()=>d.value);function R(){return i.value?i.value.getPostTranslationHandler():b}function K(O){i.value&&i.value.setPostTranslationHandler(O)}function N(){return i.value?i.value.getMissingHandler():m}function D(O){i.value&&i.value.setMissingHandler(O)}function M(O){return x(),O()}function G(...O){return i.value?M(()=>Reflect.apply(i.value.t,null,[...O])):M(()=>"")}function J(...O){return i.value?Reflect.apply(i.value.rt,null,[...O]):""}function he(...O){return i.value?M(()=>Reflect.apply(i.value.d,null,[...O])):M(()=>"")}function pe(...O){return i.value?M(()=>Reflect.apply(i.value.n,null,[...O])):M(()=>"")}function B(O){return i.value?i.value.tm(O):{}}function $(O,oe){return i.value?i.value.te(O,oe):!1}function A(O){return i.value?i.value.getLocaleMessage(O):{}}function Y(O,oe){i.value&&(i.value.setLocaleMessage(O,oe),c.value[O]=oe)}function ne(O,oe){i.value&&i.value.mergeLocaleMessage(O,oe)}function fe(O){return i.value?i.value.getDateTimeFormat(O):{}}function Q(O,oe){i.value&&(i.value.setDateTimeFormat(O,oe),u.value[O]=oe)}function xe(O,oe){i.value&&i.value.mergeDateTimeFormat(O,oe)}function H(O){return i.value?i.value.getNumberFormat(O):{}}function ye(O,oe){i.value&&(i.value.setNumberFormat(O,oe),d.value[O]=oe)}function Oe(O,oe){i.value&&i.value.mergeNumberFormat(O,oe)}const Ne={get id(){return i.value?i.value.id:-1},locale:y,fallbackLocale:P,messages:k,datetimeFormats:T,numberFormats:E,get inheritLocale(){return i.value?i.value.inheritLocale:a},set inheritLocale(O){i.value&&(i.value.inheritLocale=O)},get availableLocales(){return i.value?i.value.availableLocales:Object.keys(c.value)},get modifiers(){return i.value?i.value.modifiers:S},get pluralRules(){return i.value?i.value.pluralRules:w},get isGlobal(){return i.value?i.value.isGlobal:!1},get missingWarn(){return i.value?i.value.missingWarn:f},set missingWarn(O){i.value&&(i.value.missingWarn=O)},get fallbackWarn(){return i.value?i.value.fallbackWarn:h},set fallbackWarn(O){i.value&&(i.value.missingWarn=O)},get fallbackRoot(){return i.value?i.value.fallbackRoot:p},set fallbackRoot(O){i.value&&(i.value.fallbackRoot=O)},get fallbackFormat(){return i.value?i.value.fallbackFormat:g},set fallbackFormat(O){i.value&&(i.value.fallbackFormat=O)},get warnHtmlMessage(){return i.value?i.value.warnHtmlMessage:_},set warnHtmlMessage(O){i.value&&(i.value.warnHtmlMessage=O)},get escapeParameter(){return i.value?i.value.escapeParameter:C},set escapeParameter(O){i.value&&(i.value.escapeParameter=O)},t:G,getPostTranslationHandler:R,setPostTranslationHandler:K,getMissingHandler:N,setMissingHandler:D,rt:J,d:he,n:pe,tm:B,te:$,getLocaleMessage:A,setLocaleMessage:Y,mergeLocaleMessage:ne,getDateTimeFormat:fe,setDateTimeFormat:Q,mergeDateTimeFormat:xe,getNumberFormat:H,setNumberFormat:ye,mergeNumberFormat:Oe};function L(O){O.locale.value=s.value,O.fallbackLocale.value=l.value,Object.keys(c.value).forEach(oe=>{O.mergeLocaleMessage(oe,c.value[oe])}),Object.keys(u.value).forEach(oe=>{O.mergeDateTimeFormat(oe,u.value[oe])}),Object.keys(d.value).forEach(oe=>{O.mergeNumberFormat(oe,d.value[oe])}),O.escapeParameter=C,O.fallbackFormat=g,O.fallbackRoot=p,O.fallbackWarn=h,O.missingWarn=f,O.warnHtmlMessage=_}return hn(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw kn(Cn.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const O=i.value=e.proxy.$i18n.__composer;t==="global"?(s.value=O.locale.value,l.value=O.fallbackLocale.value,c.value=O.messages.value,u.value=O.datetimeFormats.value,d.value=O.numberFormats.value):r&&L(O)}),Ne}const SA=["locale","fallbackLocale","availableLocales"],Qv=["t","rt","d","n","tm","te"];function kA(e,t){const n=Object.create(null);return SA.forEach(r=>{const i=Object.getOwnPropertyDescriptor(t,r);if(!i)throw kn(Cn.UNEXPECTED_ERROR);const a=cn(i.value)?{get(){return i.value.value},set(s){i.value.value=s}}:{get(){return i.get&&i.get()}};Object.defineProperty(n,r,a)}),e.config.globalProperties.$i18n=n,Qv.forEach(r=>{const i=Object.getOwnPropertyDescriptor(t,r);if(!i||!i.value)throw kn(Cn.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${r}`,i)}),()=>{delete e.config.globalProperties.$i18n,Qv.forEach(r=>{delete e.config.globalProperties[`$${r}`]})}}tA();__INTLIFY_JIT_COMPILATION__?Iv(Y$):Iv(G$);B$(x$);N$(TC);if(__INTLIFY_PROD_DEVTOOLS__){const e=ir();e.__INTLIFY__=!0,E$(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const KC="locale";function xu(){return il.get(KC)}function GC(e){il.set(KC,e)}const YC=Object.keys(Object.assign({"./lang/en-US.json":()=>wt(()=>Promise.resolve().then(()=>Bk),void 0),"./lang/fa-IR.json":()=>wt(()=>Promise.resolve().then(()=>Nk),void 0),"./lang/ja-JP.json":()=>wt(()=>Promise.resolve().then(()=>Hk),void 0),"./lang/ko-KR.json":()=>wt(()=>Promise.resolve().then(()=>jk),void 0),"./lang/vi-VN.json":()=>wt(()=>Promise.resolve().then(()=>Vk),void 0),"./lang/zh-CN.json":()=>wt(()=>Promise.resolve().then(()=>Wk),void 0),"./lang/zh-TW.json":()=>wt(()=>Promise.resolve().then(()=>Uk),void 0)})).map(e=>e.slice(7,-5));function PA(){const e=navigator.language,t="zh-CN",o=YC.includes(e)?e:t;return xu().value||GC(o),o}const mn=mA({locale:xu().value||PA(),fallbackLocale:"en-US",messages:{}});async function TA(){await Promise.all(YC.map(async e=>{const t=await TE(Object.assign({"./lang/en-US.json":()=>wt(()=>Promise.resolve().then(()=>Bk),void 0),"./lang/fa-IR.json":()=>wt(()=>Promise.resolve().then(()=>Nk),void 0),"./lang/ja-JP.json":()=>wt(()=>Promise.resolve().then(()=>Hk),void 0),"./lang/ko-KR.json":()=>wt(()=>Promise.resolve().then(()=>jk),void 0),"./lang/vi-VN.json":()=>wt(()=>Promise.resolve().then(()=>Vk),void 0),"./lang/zh-CN.json":()=>wt(()=>Promise.resolve().then(()=>Wk),void 0),"./lang/zh-TW.json":()=>wt(()=>Promise.resolve().then(()=>Uk),void 0)}),`./lang/${e}.json`).then(n=>n.default||n);mn.global.setLocaleMessage(e,t)}))}async function RA(e){e.use(mn),TA()}const sh={"zh-CN":"简体中文","zh-TW":"繁體中文","en-US":"English","fa-IR":"Iran","ja-JP":"日本語","vi-VN":"Tiếng Việt","ko-KR":"한국어"},lh=e=>mn.global.t(e);function Wo(e=void 0,t="YYYY-MM-DD HH:mm:ss"){return e==null?"":(e.toString().length===10&&(e=e*1e3),SE(e).format(t))}function zp(e=void 0,t="YYYY-MM-DD"){return Wo(e,t)}function da(e){const t=typeof e=="string"?parseFloat(e):e;return isNaN(t)?"0.00":t.toFixed(2)}function rn(e){const t=typeof e=="string"?parseFloat(e):e;return isNaN(t)?"0.00":(t/100).toFixed(2)}function ma(e){navigator.clipboard?navigator.clipboard.writeText(e).then(()=>{window.$message.success(lh("复制成功"))}).catch(t=>{console.error("复制到剪贴板时出错:",t),eb(e)}):eb(e)}function eb(e){const t=document.createElement("button"),n=new PE(t,{text:()=>e});n.on("success",()=>{window.$message.success(lh("复制成功")),n.destroy()}),n.on("error",()=>{window.$message.error(lh("复制失败")),n.destroy()}),t.click()}function EA(e,t){if(e.length!==t.length)return!1;const n=[...e].sort(),o=[...t].sort();return n.every((r,i)=>r===o[i])}function Ps(e){const t=e/1024,n=t/1024,o=n/1024,r=o/1024;return r>=1?da(r)+" TB":o>=1?da(o)+" GB":n>=1?da(n)+" MB":da(t)+" KB"}function $A(e){return typeof e>"u"}function AA(e){return e===null}function tb(e){return e&&Array.isArray(e)}function XC(e){return AA(e)||$A(e)}function nb(e){return/^(https?:|mailto:|tel:)/.test(e)}const Ts=/^[a-z0-9]+(-[a-z0-9]+)*$/,Cu=(e,t,n,o="")=>{const r=e.split(":");if(e.slice(0,1)==="@"){if(r.length<2||r.length>3)return null;o=r.shift().slice(1)}if(r.length>3||!r.length)return null;if(r.length>1){const s=r.pop(),l=r.pop(),c={provider:r.length>0?r[0]:o,prefix:l,name:s};return t&&!sc(c)?null:c}const i=r[0],a=i.split("-");if(a.length>1){const s={provider:o,prefix:a.shift(),name:a.join("-")};return t&&!sc(s)?null:s}if(n&&o===""){const s={provider:o,prefix:"",name:i};return t&&!sc(s,n)?null:s}return null},sc=(e,t)=>e?!!((e.provider===""||e.provider.match(Ts))&&(t&&e.prefix===""||e.prefix.match(Ts))&&e.name.match(Ts)):!1,ZC=Object.freeze({left:0,top:0,width:16,height:16}),Pc=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),wu=Object.freeze({...ZC,...Pc}),ch=Object.freeze({...wu,body:"",hidden:!1});function IA(e,t){const n={};!e.hFlip!=!t.hFlip&&(n.hFlip=!0),!e.vFlip!=!t.vFlip&&(n.vFlip=!0);const o=((e.rotate||0)+(t.rotate||0))%4;return o&&(n.rotate=o),n}function ob(e,t){const n=IA(e,t);for(const o in ch)o in Pc?o in e&&!(o in n)&&(n[o]=Pc[o]):o in t?n[o]=t[o]:o in e&&(n[o]=e[o]);return n}function OA(e,t){const n=e.icons,o=e.aliases||Object.create(null),r=Object.create(null);function i(a){if(n[a])return r[a]=[];if(!(a in r)){r[a]=null;const s=o[a]&&o[a].parent,l=s&&i(s);l&&(r[a]=[s].concat(l))}return r[a]}return(t||Object.keys(n).concat(Object.keys(o))).forEach(i),r}function MA(e,t,n){const o=e.icons,r=e.aliases||Object.create(null);let i={};function a(s){i=ob(o[s]||r[s],i)}return a(t),n.forEach(a),ob(e,i)}function JC(e,t){const n=[];if(typeof e!="object"||typeof e.icons!="object")return n;e.not_found instanceof Array&&e.not_found.forEach(r=>{t(r,null),n.push(r)});const o=OA(e);for(const r in o){const i=o[r];i&&(t(r,MA(e,r,i)),n.push(r))}return n}const zA={provider:"",aliases:{},not_found:{},...ZC};function Dd(e,t){for(const n in t)if(n in e&&typeof e[n]!=typeof t[n])return!1;return!0}function QC(e){if(typeof e!="object"||e===null)return null;const t=e;if(typeof t.prefix!="string"||!e.icons||typeof e.icons!="object"||!Dd(e,zA))return null;const n=t.icons;for(const r in n){const i=n[r];if(!r.match(Ts)||typeof i.body!="string"||!Dd(i,ch))return null}const o=t.aliases||Object.create(null);for(const r in o){const i=o[r],a=i.parent;if(!r.match(Ts)||typeof a!="string"||!n[a]&&!o[a]||!Dd(i,ch))return null}return t}const rb=Object.create(null);function DA(e,t){return{provider:e,prefix:t,icons:Object.create(null),missing:new Set}}function $i(e,t){const n=rb[e]||(rb[e]=Object.create(null));return n[t]||(n[t]=DA(e,t))}function Dp(e,t){return QC(t)?JC(t,(n,o)=>{o?e.icons[n]=o:e.missing.add(n)}):[]}function LA(e,t,n){try{if(typeof n.body=="string")return e.icons[t]={...n},!0}catch{}return!1}let Ks=!1;function ew(e){return typeof e=="boolean"&&(Ks=e),Ks}function FA(e){const t=typeof e=="string"?Cu(e,!0,Ks):e;if(t){const n=$i(t.provider,t.prefix),o=t.name;return n.icons[o]||(n.missing.has(o)?null:void 0)}}function BA(e,t){const n=Cu(e,!0,Ks);if(!n)return!1;const o=$i(n.provider,n.prefix);return LA(o,n.name,t)}function NA(e,t){if(typeof e!="object")return!1;if(typeof t!="string"&&(t=e.provider||""),Ks&&!t&&!e.prefix){let r=!1;return QC(e)&&(e.prefix="",JC(e,(i,a)=>{a&&BA(i,a)&&(r=!0)})),r}const n=e.prefix;if(!sc({provider:t,prefix:n,name:"a"}))return!1;const o=$i(t,n);return!!Dp(o,e)}const tw=Object.freeze({width:null,height:null}),nw=Object.freeze({...tw,...Pc}),HA=/(-?[0-9.]*[0-9]+[0-9.]*)/g,jA=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function ib(e,t,n){if(t===1)return e;if(n=n||100,typeof e=="number")return Math.ceil(e*t*n)/n;if(typeof e!="string")return e;const o=e.split(HA);if(o===null||!o.length)return e;const r=[];let i=o.shift(),a=jA.test(i);for(;;){if(a){const s=parseFloat(i);isNaN(s)?r.push(i):r.push(Math.ceil(s*t*n)/n)}else r.push(i);if(i=o.shift(),i===void 0)return r.join("");a=!a}}function VA(e,t="defs"){let n="";const o=e.indexOf("<"+t);for(;o>=0;){const r=e.indexOf(">",o),i=e.indexOf("",i);if(a===-1)break;n+=e.slice(r+1,i).trim(),e=e.slice(0,o).trim()+e.slice(a+1)}return{defs:n,content:e}}function WA(e,t){return e?""+e+""+t:t}function UA(e,t,n){const o=VA(e);return WA(o.defs,t+o.content+n)}const qA=e=>e==="unset"||e==="undefined"||e==="none";function KA(e,t){const n={...wu,...e},o={...nw,...t},r={left:n.left,top:n.top,width:n.width,height:n.height};let i=n.body;[n,o].forEach(g=>{const m=[],b=g.hFlip,_=g.vFlip;let C=g.rotate;b?_?C+=2:(m.push("translate("+(r.width+r.left).toString()+" "+(0-r.top).toString()+")"),m.push("scale(-1 1)"),r.top=r.left=0):_&&(m.push("translate("+(0-r.left).toString()+" "+(r.height+r.top).toString()+")"),m.push("scale(1 -1)"),r.top=r.left=0);let S;switch(C<0&&(C-=Math.floor(C/4)*4),C=C%4,C){case 1:S=r.height/2+r.top,m.unshift("rotate(90 "+S.toString()+" "+S.toString()+")");break;case 2:m.unshift("rotate(180 "+(r.width/2+r.left).toString()+" "+(r.height/2+r.top).toString()+")");break;case 3:S=r.width/2+r.left,m.unshift("rotate(-90 "+S.toString()+" "+S.toString()+")");break}C%2===1&&(r.left!==r.top&&(S=r.left,r.left=r.top,r.top=S),r.width!==r.height&&(S=r.width,r.width=r.height,r.height=S)),m.length&&(i=UA(i,'',""))});const a=o.width,s=o.height,l=r.width,c=r.height;let u,d;a===null?(d=s===null?"1em":s==="auto"?c:s,u=ib(d,l/c)):(u=a==="auto"?l:a,d=s===null?ib(u,c/l):s==="auto"?c:s);const f={},h=(g,m)=>{qA(m)||(f[g]=m.toString())};h("width",u),h("height",d);const p=[r.left,r.top,l,c];return f.viewBox=p.join(" "),{attributes:f,viewBox:p,body:i}}const GA=/\sid="(\S+)"/g,YA="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let XA=0;function ZA(e,t=YA){const n=[];let o;for(;o=GA.exec(e);)n.push(o[1]);if(!n.length)return e;const r="suffix"+(Math.random()*16777216|Date.now()).toString(16);return n.forEach(i=>{const a=typeof t=="function"?t(i):t+(XA++).toString(),s=i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e=e.replace(new RegExp('([#;"])('+s+')([")]|\\.[a-z])',"g"),"$1"+a+r+"$3")}),e=e.replace(new RegExp(r,"g"),""),e}const uh=Object.create(null);function JA(e,t){uh[e]=t}function dh(e){return uh[e]||uh[""]}function Lp(e){let t;if(typeof e.resources=="string")t=[e.resources];else if(t=e.resources,!(t instanceof Array)||!t.length)return null;return{resources:t,path:e.path||"/",maxURL:e.maxURL||500,rotate:e.rotate||750,timeout:e.timeout||5e3,random:e.random===!0,index:e.index||0,dataAfterTimeout:e.dataAfterTimeout!==!1}}const Fp=Object.create(null),ss=["https://api.simplesvg.com","https://api.unisvg.com"],lc=[];for(;ss.length>0;)ss.length===1||Math.random()>.5?lc.push(ss.shift()):lc.push(ss.pop());Fp[""]=Lp({resources:["https://api.iconify.design"].concat(lc)});function QA(e,t){const n=Lp(t);return n===null?!1:(Fp[e]=n,!0)}function Bp(e){return Fp[e]}const e6=()=>{let e;try{if(e=fetch,typeof e=="function")return e}catch{}};let ab=e6();function t6(e,t){const n=Bp(e);if(!n)return 0;let o;if(!n.maxURL)o=0;else{let r=0;n.resources.forEach(a=>{r=Math.max(r,a.length)});const i=t+".json?icons=";o=n.maxURL-r-n.path.length-i.length}return o}function n6(e){return e===404}const o6=(e,t,n)=>{const o=[],r=t6(e,t),i="icons";let a={type:i,provider:e,prefix:t,icons:[]},s=0;return n.forEach((l,c)=>{s+=l.length+1,s>=r&&c>0&&(o.push(a),a={type:i,provider:e,prefix:t,icons:[]},s=l.length),a.icons.push(l)}),o.push(a),o};function r6(e){if(typeof e=="string"){const t=Bp(e);if(t)return t.path}return"/"}const i6=(e,t,n)=>{if(!ab){n("abort",424);return}let o=r6(t.provider);switch(t.type){case"icons":{const i=t.prefix,s=t.icons.join(","),l=new URLSearchParams({icons:s});o+=i+".json?"+l.toString();break}case"custom":{const i=t.uri;o+=i.slice(0,1)==="/"?i.slice(1):i;break}default:n("abort",400);return}let r=503;ab(e+o).then(i=>{const a=i.status;if(a!==200){setTimeout(()=>{n(n6(a)?"abort":"next",a)});return}return r=501,i.json()}).then(i=>{if(typeof i!="object"||i===null){setTimeout(()=>{i===404?n("abort",i):n("next",r)});return}setTimeout(()=>{n("success",i)})}).catch(()=>{n("next",r)})},a6={prepare:o6,send:i6};function s6(e){const t={loaded:[],missing:[],pending:[]},n=Object.create(null);e.sort((r,i)=>r.provider!==i.provider?r.provider.localeCompare(i.provider):r.prefix!==i.prefix?r.prefix.localeCompare(i.prefix):r.name.localeCompare(i.name));let o={provider:"",prefix:"",name:""};return e.forEach(r=>{if(o.name===r.name&&o.prefix===r.prefix&&o.provider===r.provider)return;o=r;const i=r.provider,a=r.prefix,s=r.name,l=n[i]||(n[i]=Object.create(null)),c=l[a]||(l[a]=$i(i,a));let u;s in c.icons?u=t.loaded:a===""||c.missing.has(s)?u=t.missing:u=t.pending;const d={provider:i,prefix:a,name:s};u.push(d)}),t}function ow(e,t){e.forEach(n=>{const o=n.loaderCallbacks;o&&(n.loaderCallbacks=o.filter(r=>r.id!==t))})}function l6(e){e.pendingCallbacksFlag||(e.pendingCallbacksFlag=!0,setTimeout(()=>{e.pendingCallbacksFlag=!1;const t=e.loaderCallbacks?e.loaderCallbacks.slice(0):[];if(!t.length)return;let n=!1;const o=e.provider,r=e.prefix;t.forEach(i=>{const a=i.icons,s=a.pending.length;a.pending=a.pending.filter(l=>{if(l.prefix!==r)return!0;const c=l.name;if(e.icons[c])a.loaded.push({provider:o,prefix:r,name:c});else if(e.missing.has(c))a.missing.push({provider:o,prefix:r,name:c});else return n=!0,!0;return!1}),a.pending.length!==s&&(n||ow([e],i.id),i.callback(a.loaded.slice(0),a.missing.slice(0),a.pending.slice(0),i.abort))})}))}let c6=0;function u6(e,t,n){const o=c6++,r=ow.bind(null,n,o);if(!t.pending.length)return r;const i={id:o,icons:t,callback:e,abort:r};return n.forEach(a=>{(a.loaderCallbacks||(a.loaderCallbacks=[])).push(i)}),r}function d6(e,t=!0,n=!1){const o=[];return e.forEach(r=>{const i=typeof r=="string"?Cu(r,t,n):r;i&&o.push(i)}),o}var f6={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function h6(e,t,n,o){const r=e.resources.length,i=e.random?Math.floor(Math.random()*r):e.index;let a;if(e.random){let x=e.resources.slice(0);for(a=[];x.length>1;){const y=Math.floor(Math.random()*x.length);a.push(x[y]),x=x.slice(0,y).concat(x.slice(y+1))}a=a.concat(x)}else a=e.resources.slice(i).concat(e.resources.slice(0,i));const s=Date.now();let l="pending",c=0,u,d=null,f=[],h=[];typeof o=="function"&&h.push(o);function p(){d&&(clearTimeout(d),d=null)}function g(){l==="pending"&&(l="aborted"),p(),f.forEach(x=>{x.status==="pending"&&(x.status="aborted")}),f=[]}function m(x,y){y&&(h=[]),typeof x=="function"&&h.push(x)}function b(){return{startTime:s,payload:t,status:l,queriesSent:c,queriesPending:f.length,subscribe:m,abort:g}}function _(){l="failed",h.forEach(x=>{x(void 0,u)})}function C(){f.forEach(x=>{x.status==="pending"&&(x.status="aborted")}),f=[]}function S(x,y,P){const k=y!=="success";switch(f=f.filter(T=>T!==x),l){case"pending":break;case"failed":if(k||!e.dataAfterTimeout)return;break;default:return}if(y==="abort"){u=P,_();return}if(k){u=P,f.length||(a.length?w():_());return}if(p(),C(),!e.random){const T=e.resources.indexOf(x.resource);T!==-1&&T!==e.index&&(e.index=T)}l="completed",h.forEach(T=>{T(P)})}function w(){if(l!=="pending")return;p();const x=a.shift();if(x===void 0){if(f.length){d=setTimeout(()=>{p(),l==="pending"&&(C(),_())},e.timeout);return}_();return}const y={status:"pending",resource:x,callback:(P,k)=>{S(y,P,k)}};f.push(y),c++,d=setTimeout(w,e.rotate),n(x,t,y.callback)}return setTimeout(w),b}function rw(e){const t={...f6,...e};let n=[];function o(){n=n.filter(s=>s().status==="pending")}function r(s,l,c){const u=h6(t,s,l,(d,f)=>{o(),c&&c(d,f)});return n.push(u),u}function i(s){return n.find(l=>s(l))||null}return{query:r,find:i,setIndex:s=>{t.index=s},getIndex:()=>t.index,cleanup:o}}function sb(){}const Ld=Object.create(null);function p6(e){if(!Ld[e]){const t=Bp(e);if(!t)return;const n=rw(t),o={config:t,redundancy:n};Ld[e]=o}return Ld[e]}function m6(e,t,n){let o,r;if(typeof e=="string"){const i=dh(e);if(!i)return n(void 0,424),sb;r=i.send;const a=p6(e);a&&(o=a.redundancy)}else{const i=Lp(e);if(i){o=rw(i);const a=e.resources?e.resources[0]:"",s=dh(a);s&&(r=s.send)}}return!o||!r?(n(void 0,424),sb):o.query(t,r,n)().abort}const lb="iconify2",Gs="iconify",iw=Gs+"-count",cb=Gs+"-version",aw=36e5,g6=168,v6=50;function fh(e,t){try{return e.getItem(t)}catch{}}function Np(e,t,n){try{return e.setItem(t,n),!0}catch{}}function ub(e,t){try{e.removeItem(t)}catch{}}function hh(e,t){return Np(e,iw,t.toString())}function ph(e){return parseInt(fh(e,iw))||0}const _u={local:!0,session:!0},sw={local:new Set,session:new Set};let Hp=!1;function b6(e){Hp=e}let El=typeof window>"u"?{}:window;function lw(e){const t=e+"Storage";try{if(El&&El[t]&&typeof El[t].length=="number")return El[t]}catch{}_u[e]=!1}function cw(e,t){const n=lw(e);if(!n)return;const o=fh(n,cb);if(o!==lb){if(o){const s=ph(n);for(let l=0;l{const l=Gs+s.toString(),c=fh(n,l);if(typeof c=="string"){try{const u=JSON.parse(c);if(typeof u=="object"&&typeof u.cached=="number"&&u.cached>r&&typeof u.provider=="string"&&typeof u.data=="object"&&typeof u.data.prefix=="string"&&t(u,s))return!0}catch{}ub(n,l)}};let a=ph(n);for(let s=a-1;s>=0;s--)i(s)||(s===a-1?(a--,hh(n,a)):sw[e].add(s))}function uw(){if(!Hp){b6(!0);for(const e in _u)cw(e,t=>{const n=t.data,o=t.provider,r=n.prefix,i=$i(o,r);if(!Dp(i,n).length)return!1;const a=n.lastModified||-1;return i.lastModifiedCached=i.lastModifiedCached?Math.min(i.lastModifiedCached,a):a,!0})}}function y6(e,t){const n=e.lastModifiedCached;if(n&&n>=t)return n===t;if(e.lastModifiedCached=t,n)for(const o in _u)cw(o,r=>{const i=r.data;return r.provider!==e.provider||i.prefix!==e.prefix||i.lastModified===t});return!0}function x6(e,t){Hp||uw();function n(o){let r;if(!_u[o]||!(r=lw(o)))return;const i=sw[o];let a;if(i.size)i.delete(a=Array.from(i).shift());else if(a=ph(r),a>=v6||!hh(r,a+1))return;const s={cached:Math.floor(Date.now()/aw),provider:e.provider,data:t};return Np(r,Gs+a.toString(),JSON.stringify(s))}t.lastModified&&!y6(e,t.lastModified)||Object.keys(t.icons).length&&(t.not_found&&(t=Object.assign({},t),delete t.not_found),n("local")||n("session"))}function db(){}function C6(e){e.iconsLoaderFlag||(e.iconsLoaderFlag=!0,setTimeout(()=>{e.iconsLoaderFlag=!1,l6(e)}))}function w6(e,t){e.iconsToLoad?e.iconsToLoad=e.iconsToLoad.concat(t).sort():e.iconsToLoad=t,e.iconsQueueFlag||(e.iconsQueueFlag=!0,setTimeout(()=>{e.iconsQueueFlag=!1;const{provider:n,prefix:o}=e,r=e.iconsToLoad;delete e.iconsToLoad;let i;if(!r||!(i=dh(n)))return;i.prepare(n,o,r).forEach(s=>{m6(n,s,l=>{if(typeof l!="object")s.icons.forEach(c=>{e.missing.add(c)});else try{const c=Dp(e,l);if(!c.length)return;const u=e.pendingIcons;u&&c.forEach(d=>{u.delete(d)}),x6(e,l)}catch(c){console.error(c)}C6(e)})})}))}const _6=(e,t)=>{const n=d6(e,!0,ew()),o=s6(n);if(!o.pending.length){let l=!0;return t&&setTimeout(()=>{l&&t(o.loaded,o.missing,o.pending,db)}),()=>{l=!1}}const r=Object.create(null),i=[];let a,s;return o.pending.forEach(l=>{const{provider:c,prefix:u}=l;if(u===s&&c===a)return;a=c,s=u,i.push($i(c,u));const d=r[c]||(r[c]=Object.create(null));d[u]||(d[u]=[])}),o.pending.forEach(l=>{const{provider:c,prefix:u,name:d}=l,f=$i(c,u),h=f.pendingIcons||(f.pendingIcons=new Set);h.has(d)||(h.add(d),r[c][u].push(d))}),i.forEach(l=>{const{provider:c,prefix:u}=l;r[c][u].length&&w6(l,r[c][u])}),t?u6(t,o,i):db};function S6(e,t){const n={...e};for(const o in t){const r=t[o],i=typeof r;o in tw?(r===null||r&&(i==="string"||i==="number"))&&(n[o]=r):i===typeof n[o]&&(n[o]=o==="rotate"?r%4:r)}return n}const k6=/[\s,]+/;function P6(e,t){t.split(k6).forEach(n=>{switch(n.trim()){case"horizontal":e.hFlip=!0;break;case"vertical":e.vFlip=!0;break}})}function T6(e,t=0){const n=e.replace(/^-?[0-9.]*/,"");function o(r){for(;r<0;)r+=4;return r%4}if(n===""){const r=parseInt(e);return isNaN(r)?0:o(r)}else if(n!==e){let r=0;switch(n){case"%":r=25;break;case"deg":r=90}if(r){let i=parseFloat(e.slice(0,e.length-n.length));return isNaN(i)?0:(i=i/r,i%1===0?o(i):0)}}return t}function R6(e,t){let n=e.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const o in t)n+=" "+o+'="'+t[o]+'"';return'"+e+""}function E6(e){return e.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(//g,"%3E").replace(/\s+/g," ")}function $6(e){return"data:image/svg+xml,"+E6(e)}function A6(e){return'url("'+$6(e)+'")'}const fb={...nw,inline:!1},I6={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},O6={display:"inline-block"},mh={backgroundColor:"currentColor"},dw={backgroundColor:"transparent"},hb={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},pb={webkitMask:mh,mask:mh,background:dw};for(const e in pb){const t=pb[e];for(const n in hb)t[e+n]=hb[n]}const cc={};["horizontal","vertical"].forEach(e=>{const t=e.slice(0,1)+"Flip";cc[e+"-flip"]=t,cc[e.slice(0,1)+"-flip"]=t,cc[e+"Flip"]=t});function mb(e){return e+(e.match(/^[-0-9.]+$/)?"px":"")}const gb=(e,t)=>{const n=S6(fb,t),o={...I6},r=t.mode||"svg",i={},a=t.style,s=typeof a=="object"&&!(a instanceof Array)?a:{};for(let g in t){const m=t[g];if(m!==void 0)switch(g){case"icon":case"style":case"onLoad":case"mode":break;case"inline":case"hFlip":case"vFlip":n[g]=m===!0||m==="true"||m===1;break;case"flip":typeof m=="string"&&P6(n,m);break;case"color":i.color=m;break;case"rotate":typeof m=="string"?n[g]=T6(m):typeof m=="number"&&(n[g]=m);break;case"ariaHidden":case"aria-hidden":m!==!0&&m!=="true"&&delete o["aria-hidden"];break;default:{const b=cc[g];b?(m===!0||m==="true"||m===1)&&(n[b]=!0):fb[g]===void 0&&(o[g]=m)}}}const l=KA(e,n),c=l.attributes;if(n.inline&&(i.verticalAlign="-0.125em"),r==="svg"){o.style={...i,...s},Object.assign(o,c);let g=0,m=t.id;return typeof m=="string"&&(m=m.replace(/-/g,"_")),o.innerHTML=ZA(l.body,m?()=>m+"ID"+g++:"iconifyVue"),v("svg",o)}const{body:u,width:d,height:f}=e,h=r==="mask"||(r==="bg"?!1:u.indexOf("currentColor")!==-1),p=R6(u,{...c,width:d+"",height:f+""});return o.style={...i,"--svg":A6(p),width:mb(c.width),height:mb(c.height),...O6,...h?mh:dw,...s},v("span",o)};ew(!0);JA("",a6);if(typeof document<"u"&&typeof window<"u"){uw();const e=window;if(e.IconifyPreload!==void 0){const t=e.IconifyPreload,n="Invalid IconifyPreload syntax.";typeof t=="object"&&t!==null&&(t instanceof Array?t:[t]).forEach(o=>{try{(typeof o!="object"||o===null||o instanceof Array||typeof o.icons!="object"||typeof o.prefix!="string"||!NA(o))&&console.error(n)}catch{console.error(n)}})}if(e.IconifyProviders!==void 0){const t=e.IconifyProviders;if(typeof t=="object"&&t!==null)for(let n in t){const o="IconifyProviders["+n+"] is invalid.";try{const r=t[n];if(typeof r!="object"||!r||r.resources===void 0)continue;QA(n,r)||console.error(o)}catch{console.error(o)}}}}const M6={...wu,body:""},z6=be({inheritAttrs:!1,data(){return{_name:"",_loadingIcon:null,iconMounted:!1,counter:0}},mounted(){this.iconMounted=!0},unmounted(){this.abortLoading()},methods:{abortLoading(){this._loadingIcon&&(this._loadingIcon.abort(),this._loadingIcon=null)},getIcon(e,t){if(typeof e=="object"&&e!==null&&typeof e.body=="string")return this._name="",this.abortLoading(),{data:e};let n;if(typeof e!="string"||(n=Cu(e,!1,!0))===null)return this.abortLoading(),null;const o=FA(n);if(!o)return(!this._loadingIcon||this._loadingIcon.name!==e)&&(this.abortLoading(),this._name="",o!==null&&(this._loadingIcon={name:e,abort:_6([n],()=>{this.counter++})})),null;this.abortLoading(),this._name!==e&&(this._name=e,t&&t(e));const r=["iconify"];return n.prefix!==""&&r.push("iconify--"+n.prefix),n.provider!==""&&r.push("iconify--"+n.provider),{data:o,classes:r}}},render(){this.counter;const e=this.$attrs,t=this.iconMounted||e.ssr?this.getIcon(e.icon,e.onLoad):null;if(!t)return gb(M6,e);let n=e;return t.classes&&(n={...e,class:(typeof e.class=="string"?e.class+" ":"")+t.classes.join(" ")}),gb({...wu,...t.data},n)}});let Tc=[];const fw=new WeakMap;function D6(){Tc.forEach(e=>e(...fw.get(e))),Tc=[]}function Rc(e,...t){fw.set(e,t),!Tc.includes(e)&&Tc.push(e)===1&&requestAnimationFrame(D6)}function L6(e){return e.nodeType===9?null:e.parentNode}function hw(e){if(e===null)return null;const t=L6(e);if(t===null)return null;if(t.nodeType===9)return document.documentElement;if(t.nodeType===1){const{overflow:n,overflowX:o,overflowY:r}=getComputedStyle(t);if(/(auto|scroll|overlay)/.test(n+r+o))return t}return hw(t)}function F6(e){return typeof e=="string"?document.querySelector(e):typeof e=="function"?e():e}function so(e,t){let{target:n}=e;for(;n;){if(n.dataset&&n.dataset[t]!==void 0)return!0;n=n.parentElement}return!1}function Ai(e){return e.composedPath()[0]||null}function bn(e){return typeof e=="string"?e.endsWith("px")?Number(e.slice(0,e.length-2)):Number(e):e}function zn(e){if(e!=null)return typeof e=="number"?`${e}px`:e.endsWith("px")?e:`${e}px`}function lo(e,t){const n=e.trim().split(/\s+/g),o={top:n[0]};switch(n.length){case 1:o.right=n[0],o.bottom=n[0],o.left=n[0];break;case 2:o.right=n[1],o.left=n[1],o.bottom=n[0];break;case 3:o.right=n[1],o.bottom=n[2],o.left=n[1];break;case 4:o.right=n[1],o.bottom=n[2],o.left=n[3];break;default:throw new Error("[seemly/getMargin]:"+e+" is not a valid value.")}return t===void 0?o:o[t]}function B6(e,t){const[n,o]=e.split(" ");return t?t==="row"?n:o:{row:n,col:o||n}}const vb={black:"#000",silver:"#C0C0C0",gray:"#808080",white:"#FFF",maroon:"#800000",red:"#F00",purple:"#800080",fuchsia:"#F0F",green:"#008000",lime:"#0F0",olive:"#808000",yellow:"#FF0",navy:"#000080",blue:"#00F",teal:"#008080",aqua:"#0FF",transparent:"#0000"},Na="^\\s*",Ha="\\s*$",gi="\\s*((\\.\\d+)|(\\d+(\\.\\d*)?))\\s*",vi="([0-9A-Fa-f])",bi="([0-9A-Fa-f]{2})",N6=new RegExp(`${Na}rgb\\s*\\(${gi},${gi},${gi}\\)${Ha}`),H6=new RegExp(`${Na}rgba\\s*\\(${gi},${gi},${gi},${gi}\\)${Ha}`),j6=new RegExp(`${Na}#${vi}${vi}${vi}${Ha}`),V6=new RegExp(`${Na}#${bi}${bi}${bi}${Ha}`),W6=new RegExp(`${Na}#${vi}${vi}${vi}${vi}${Ha}`),U6=new RegExp(`${Na}#${bi}${bi}${bi}${bi}${Ha}`);function Bn(e){return parseInt(e,16)}function Uo(e){try{let t;if(t=V6.exec(e))return[Bn(t[1]),Bn(t[2]),Bn(t[3]),1];if(t=N6.exec(e))return[En(t[1]),En(t[5]),En(t[9]),1];if(t=H6.exec(e))return[En(t[1]),En(t[5]),En(t[9]),Rs(t[13])];if(t=j6.exec(e))return[Bn(t[1]+t[1]),Bn(t[2]+t[2]),Bn(t[3]+t[3]),1];if(t=U6.exec(e))return[Bn(t[1]),Bn(t[2]),Bn(t[3]),Rs(Bn(t[4])/255)];if(t=W6.exec(e))return[Bn(t[1]+t[1]),Bn(t[2]+t[2]),Bn(t[3]+t[3]),Rs(Bn(t[4]+t[4])/255)];if(e in vb)return Uo(vb[e]);throw new Error(`[seemly/rgba]: Invalid color value ${e}.`)}catch(t){throw t}}function q6(e){return e>1?1:e<0?0:e}function gh(e,t,n,o){return`rgba(${En(e)}, ${En(t)}, ${En(n)}, ${q6(o)})`}function Fd(e,t,n,o,r){return En((e*t*(1-o)+n*o)/r)}function Ge(e,t){Array.isArray(e)||(e=Uo(e)),Array.isArray(t)||(t=Uo(t));const n=e[3],o=t[3],r=Rs(n+o-n*o);return gh(Fd(e[0],n,t[0],o,r),Fd(e[1],n,t[1],o,r),Fd(e[2],n,t[2],o,r),r)}function Me(e,t){const[n,o,r,i=1]=Array.isArray(e)?e:Uo(e);return t.alpha?gh(n,o,r,t.alpha):gh(n,o,r,i)}function un(e,t){const[n,o,r,i=1]=Array.isArray(e)?e:Uo(e),{lightness:a=1,alpha:s=1}=t;return K6([n*a,o*a,r*a,i*s])}function Rs(e){const t=Math.round(Number(e)*100)/100;return t>1?1:t<0?0:t}function En(e){const t=Math.round(Number(e));return t>255?255:t<0?0:t}function K6(e){const[t,n,o]=e;return 3 in e?`rgba(${En(t)}, ${En(n)}, ${En(o)}, ${Rs(e[3])})`:`rgba(${En(t)}, ${En(n)}, ${En(o)}, 1)`}function Zr(e=8){return Math.random().toString(16).slice(2,2+e)}function pw(e,t){const n=[];for(let o=0;o{o[r]=e[r]}),Object.assign(o,n)}function ja(e,t=[],n){const o={};return Object.getOwnPropertyNames(e).forEach(i=>{t.includes(i)||(o[i]=e[i])}),Object.assign(o,n)}function Ra(e,t=!0,n=[]){return e.forEach(o=>{if(o!==null){if(typeof o!="object"){(typeof o=="string"||typeof o=="number")&&n.push(nt(String(o)));return}if(Array.isArray(o)){Ra(o,t,n);return}if(o.type===it){if(o.children===null)return;Array.isArray(o.children)&&Ra(o.children,t,n)}else{if(o.type===_n&&t)return;n.push(o)}}}),n}function $e(e,...t){if(Array.isArray(e))e.forEach(n=>$e(n,...t));else return e(...t)}function Jr(e){return Object.keys(e)}function Wt(e,...t){return typeof e=="function"?e(...t):typeof e=="string"?nt(e):typeof e=="number"?nt(String(e)):null}function lr(e,t){console.error(`[naive/${e}]: ${t}`)}function fr(e,t){throw new Error(`[naive/${e}]: ${t}`)}function bb(e){switch(e){case"tiny":return"mini";case"small":return"tiny";case"medium":return"small";case"large":return"medium";case"huge":return"large"}throw new Error(`${e} has no smaller size.`)}function yb(e){switch(typeof e){case"string":return e||void 0;case"number":return String(e);default:return}}function vh(e,t="default",n=void 0){const o=e[t];if(!o)return lr("getFirstSlotVNode",`slot[${t}] is empty`),null;const r=Ra(o(n));return r.length===1?r[0]:(lr("getFirstSlotVNode",`slot[${t}] should have exactly one child`),null)}function gw(e){return t=>{t?e.value=t.$el:e.value=null}}function _o(e){return e.some(t=>Hs(t)?!(t.type===_n||t.type===it&&!_o(t.children)):!0)?e:null}function An(e,t){return e&&_o(e())||t()}function bh(e,t,n){return e&&_o(e(t))||n(t)}function $t(e,t){const n=e&&_o(e());return t(n||null)}function ga(e){return!(e&&_o(e()))}function Es(e){const t=e.filter(n=>n!==void 0);if(t.length!==0)return t.length===1?t[0]:n=>{e.forEach(o=>{o&&o(n)})}}const yh=be({render(){var e,t;return(t=(e=this.$slots).default)===null||t===void 0?void 0:t.call(e)}}),Y6=/^(\d|\.)+$/,xb=/(\d|\.)+/;function qt(e,{c:t=1,offset:n=0,attachPx:o=!0}={}){if(typeof e=="number"){const r=(e+n)*t;return r===0?"0":`${r}px`}else if(typeof e=="string")if(Y6.test(e)){const r=(Number(e)+n)*t;return o?r===0?"0":`${r}px`:`${r}`}else{const r=xb.exec(e);return r?e.replace(xb,String((Number(r[0])+n)*t)):e}return e}function Ec(e){return e.replace(/#|\(|\)|,|\s|\./g,"_")}function X6(e){const{left:t,right:n,top:o,bottom:r}=lo(e);return`${o} ${n} ${r} ${t}`}function Z6(e){let t=0;for(let n=0;n{let r=Z6(o);if(r){if(r===1){e.forEach(a=>{n.push(o.replace("&",a))});return}}else{e.forEach(a=>{n.push((a&&a+" ")+o)});return}let i=[o];for(;r--;){const a=[];i.forEach(s=>{e.forEach(l=>{a.push(s.replace("&",l))})}),i=a}i.forEach(a=>n.push(a))}),n}function e8(e,t){const n=[];return t.split(vw).forEach(o=>{e.forEach(r=>{n.push((r&&r+" ")+o)})}),n}function t8(e){let t=[""];return e.forEach(n=>{n=n&&n.trim(),n&&(n.includes("&")?t=Q6(t,n):t=e8(t,n))}),t.join(", ").replace(J6," ")}function Cb(e){if(!e)return;const t=e.parentElement;t&&t.removeChild(e)}function Su(e){return document.querySelector(`style[cssr-id="${e}"]`)}function n8(e){const t=document.createElement("style");return t.setAttribute("cssr-id",e),t}function $l(e){return e?/^\s*@(s|m)/.test(e):!1}const o8=/[A-Z]/g;function bw(e){return e.replace(o8,t=>"-"+t.toLowerCase())}function r8(e,t=" "){return typeof e=="object"&&e!==null?` { -`+Object.entries(e).map(n=>t+` ${bw(n[0])}: ${n[1]};`).join(` -`)+` -`+t+"}":`: ${e};`}function i8(e,t,n){return typeof e=="function"?e({context:t.context,props:n}):e}function wb(e,t,n,o){if(!t)return"";const r=i8(t,n,o);if(!r)return"";if(typeof r=="string")return`${e} { -${r} -}`;const i=Object.keys(r);if(i.length===0)return n.config.keepEmptyBlock?e+` { -}`:"";const a=e?[e+" {"]:[];return i.forEach(s=>{const l=r[s];if(s==="raw"){a.push(` -`+l+` -`);return}s=bw(s),l!=null&&a.push(` ${s}${r8(l)}`)}),e&&a.push("}"),a.join(` -`)}function xh(e,t,n){e&&e.forEach(o=>{if(Array.isArray(o))xh(o,t,n);else if(typeof o=="function"){const r=o(t);Array.isArray(r)?xh(r,t,n):r&&n(r)}else o&&n(o)})}function yw(e,t,n,o,r,i){const a=e.$;let s="";if(!a||typeof a=="string")$l(a)?s=a:t.push(a);else if(typeof a=="function"){const u=a({context:o.context,props:r});$l(u)?s=u:t.push(u)}else if(a.before&&a.before(o.context),!a.$||typeof a.$=="string")$l(a.$)?s=a.$:t.push(a.$);else if(a.$){const u=a.$({context:o.context,props:r});$l(u)?s=u:t.push(u)}const l=t8(t),c=wb(l,e.props,o,r);s?(n.push(`${s} {`),i&&c&&i.insertRule(`${s} { -${c} -} -`)):(i&&c&&i.insertRule(c),!i&&c.length&&n.push(c)),e.children&&xh(e.children,{context:o.context,props:r},u=>{if(typeof u=="string"){const d=wb(l,{raw:u},o,r);i?i.insertRule(d):n.push(d)}else yw(u,t,n,o,r,i)}),t.pop(),s&&n.push("}"),a&&a.after&&a.after(o.context)}function xw(e,t,n,o=!1){const r=[];return yw(e,[],r,t,n,o?e.instance.__styleSheet:void 0),o?"":r.join(` - -`)}function Ys(e){for(var t=0,n,o=0,r=e.length;r>=4;++o,r-=4)n=e.charCodeAt(o)&255|(e.charCodeAt(++o)&255)<<8|(e.charCodeAt(++o)&255)<<16|(e.charCodeAt(++o)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,t=(n&65535)*1540483477+((n>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(r){case 3:t^=(e.charCodeAt(o+2)&255)<<16;case 2:t^=(e.charCodeAt(o+1)&255)<<8;case 1:t^=e.charCodeAt(o)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}typeof window<"u"&&(window.__cssrContext={});function a8(e,t,n){const{els:o}=t;if(n===void 0)o.forEach(Cb),t.els=[];else{const r=Su(n);r&&o.includes(r)&&(Cb(r),t.els=o.filter(i=>i!==r))}}function _b(e,t){e.push(t)}function s8(e,t,n,o,r,i,a,s,l){if(i&&!l){if(n===void 0){console.error("[css-render/mount]: `id` is required in `silent` mode.");return}const f=window.__cssrContext;f[n]||(f[n]=!0,xw(t,e,o,i));return}let c;if(n===void 0&&(c=t.render(o),n=Ys(c)),l){l.adapter(n,c??t.render(o));return}const u=Su(n);if(u!==null&&!a)return u;const d=u??n8(n);if(c===void 0&&(c=t.render(o)),d.textContent=c,u!==null)return u;if(s){const f=document.head.querySelector(`meta[name="${s}"]`);if(f)return document.head.insertBefore(d,f),_b(t.els,d),d}return r?document.head.insertBefore(d,document.head.querySelector("style, link")):document.head.appendChild(d),_b(t.els,d),d}function l8(e){return xw(this,this.instance,e)}function c8(e={}){const{id:t,ssr:n,props:o,head:r=!1,silent:i=!1,force:a=!1,anchorMetaName:s}=e;return s8(this.instance,this,t,o,r,i,a,s,n)}function u8(e={}){const{id:t}=e;a8(this.instance,this,t)}const Al=function(e,t,n,o){return{instance:e,$:t,props:n,children:o,els:[],render:l8,mount:c8,unmount:u8}},d8=function(e,t,n,o){return Array.isArray(t)?Al(e,{$:null},null,t):Array.isArray(n)?Al(e,t,null,n):Array.isArray(o)?Al(e,t,n,o):Al(e,t,n,null)};function Cw(e={}){let t=null;const n={c:(...o)=>d8(n,...o),use:(o,...r)=>o.install(n,...r),find:Su,context:{},config:e,get __styleSheet(){if(!t){const o=document.createElement("style");return document.head.appendChild(o),t=document.styleSheets[document.styleSheets.length-1],t}return t}};return n}function f8(e,t){if(e===void 0)return!1;if(t){const{context:{ids:n}}=t;return n.has(e)}return Su(e)!==null}function h8(e){let t=".",n="__",o="--",r;if(e){let p=e.blockPrefix;p&&(t=p),p=e.elementPrefix,p&&(n=p),p=e.modifierPrefix,p&&(o=p)}const i={install(p){r=p.c;const g=p.context;g.bem={},g.bem.b=null,g.bem.els=null}};function a(p){let g,m;return{before(b){g=b.bem.b,m=b.bem.els,b.bem.els=null},after(b){b.bem.b=g,b.bem.els=m},$({context:b,props:_}){return p=typeof p=="string"?p:p({context:b,props:_}),b.bem.b=p,`${(_==null?void 0:_.bPrefix)||t}${b.bem.b}`}}}function s(p){let g;return{before(m){g=m.bem.els},after(m){m.bem.els=g},$({context:m,props:b}){return p=typeof p=="string"?p:p({context:m,props:b}),m.bem.els=p.split(",").map(_=>_.trim()),m.bem.els.map(_=>`${(b==null?void 0:b.bPrefix)||t}${m.bem.b}${n}${_}`).join(", ")}}}function l(p){return{$({context:g,props:m}){p=typeof p=="string"?p:p({context:g,props:m});const b=p.split(",").map(S=>S.trim());function _(S){return b.map(w=>`&${(m==null?void 0:m.bPrefix)||t}${g.bem.b}${S!==void 0?`${n}${S}`:""}${o}${w}`).join(", ")}const C=g.bem.els;return C!==null?_(C[0]):_()}}}function c(p){return{$({context:g,props:m}){p=typeof p=="string"?p:p({context:g,props:m});const b=g.bem.els;return`&:not(${(m==null?void 0:m.bPrefix)||t}${g.bem.b}${b!==null&&b.length>0?`${n}${b[0]}`:""}${o}${p})`}}}return Object.assign(i,{cB:(...p)=>r(a(p[0]),p[1],p[2]),cE:(...p)=>r(s(p[0]),p[1],p[2]),cM:(...p)=>r(l(p[0]),p[1],p[2]),cNotM:(...p)=>r(c(p[0]),p[1],p[2])}),i}const p8="n",Xs=`.${p8}-`,m8="__",g8="--",ww=Cw(),_w=h8({blockPrefix:Xs,elementPrefix:m8,modifierPrefix:g8});ww.use(_w);const{c:q,find:cNe}=ww,{cB:z,cE:V,cM:Z,cNotM:Rt}=_w;function al(e){return q(({props:{bPrefix:t}})=>`${t||Xs}modal, ${t||Xs}drawer`,[e])}function ku(e){return q(({props:{bPrefix:t}})=>`${t||Xs}popover`,[e])}function Sw(e){return q(({props:{bPrefix:t}})=>`&${t||Xs}modal`,e)}const v8=(...e)=>q(">",[z(...e)]);function Re(e,t){return e+(t==="default"?"":t.replace(/^[a-z]/,n=>n.toUpperCase()))}let Bd;function b8(){return Bd===void 0&&(Bd=navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom")),Bd}const hr=typeof document<"u"&&typeof window<"u",kw=new WeakSet;function y8(e){kw.add(e)}function Pw(e){return!kw.has(e)}function x8(e,t,n){if(!t)return e;const o=W(e.value);let r=null;return ft(e,i=>{r!==null&&window.clearTimeout(r),i===!0?n&&!n.value?o.value=!0:r=window.setTimeout(()=>{o.value=!0},t):o.value=!1}),o}function C8(e){const t=W(!!e.value);if(t.value)return co(t);const n=ft(e,o=>{o&&(t.value=!0,n())});return co(t)}function kt(e){const t=F(e),n=W(t.value);return ft(t,o=>{n.value=o}),typeof e=="function"?n:{__v_isRef:!0,get value(){return n.value},set value(o){e.set(o)}}}function jp(){return to()!==null}const Vp=typeof window<"u";let va,$s;const w8=()=>{var e,t;va=Vp?(t=(e=document)===null||e===void 0?void 0:e.fonts)===null||t===void 0?void 0:t.ready:void 0,$s=!1,va!==void 0?va.then(()=>{$s=!0}):$s=!0};w8();function _8(e){if($s)return;let t=!1;jt(()=>{$s||va==null||va.then(()=>{t||e()})}),on(()=>{t=!0})}function uc(e){return e.composedPath()[0]}const S8={mousemoveoutside:new WeakMap,clickoutside:new WeakMap};function k8(e,t,n){if(e==="mousemoveoutside"){const o=r=>{t.contains(uc(r))||n(r)};return{mousemove:o,touchstart:o}}else if(e==="clickoutside"){let o=!1;const r=a=>{o=!t.contains(uc(a))},i=a=>{o&&(t.contains(uc(a))||n(a))};return{mousedown:r,mouseup:i,touchstart:r,touchend:i}}return console.error(`[evtd/create-trap-handler]: name \`${e}\` is invalid. This could be a bug of evtd.`),{}}function Tw(e,t,n){const o=S8[e];let r=o.get(t);r===void 0&&o.set(t,r=new WeakMap);let i=r.get(n);return i===void 0&&r.set(n,i=k8(e,t,n)),i}function P8(e,t,n,o){if(e==="mousemoveoutside"||e==="clickoutside"){const r=Tw(e,t,n);return Object.keys(r).forEach(i=>{At(i,document,r[i],o)}),!0}return!1}function T8(e,t,n,o){if(e==="mousemoveoutside"||e==="clickoutside"){const r=Tw(e,t,n);return Object.keys(r).forEach(i=>{Tt(i,document,r[i],o)}),!0}return!1}function R8(){if(typeof window>"u")return{on:()=>{},off:()=>{}};const e=new WeakMap,t=new WeakMap;function n(){e.set(this,!0)}function o(){e.set(this,!0),t.set(this,!0)}function r(y,P,k){const T=y[P];return y[P]=function(){return k.apply(y,arguments),T.apply(y,arguments)},y}function i(y,P){y[P]=Event.prototype[P]}const a=new WeakMap,s=Object.getOwnPropertyDescriptor(Event.prototype,"currentTarget");function l(){var y;return(y=a.get(this))!==null&&y!==void 0?y:null}function c(y,P){s!==void 0&&Object.defineProperty(y,"currentTarget",{configurable:!0,enumerable:!0,get:P??s.get})}const u={bubble:{},capture:{}},d={};function f(){const y=function(P){const{type:k,eventPhase:T,bubbles:E}=P,R=uc(P);if(T===2)return;const K=T===1?"capture":"bubble";let N=R;const D=[];for(;N===null&&(N=window),D.push(N),N!==window;)N=N.parentNode||null;const M=u.capture[k],G=u.bubble[k];if(r(P,"stopPropagation",n),r(P,"stopImmediatePropagation",o),c(P,l),K==="capture"){if(M===void 0)return;for(let J=D.length-1;J>=0&&!e.has(P);--J){const he=D[J],pe=M.get(he);if(pe!==void 0){a.set(P,he);for(const B of pe){if(t.has(P))break;B(P)}}if(J===0&&!E&&G!==void 0){const B=G.get(he);if(B!==void 0)for(const $ of B){if(t.has(P))break;$(P)}}}}else if(K==="bubble"){if(G===void 0)return;for(let J=0;JR(P))};return y.displayName="evtdUnifiedWindowEventHandler",y}const p=f(),g=h();function m(y,P){const k=u[y];return k[P]===void 0&&(k[P]=new Map,window.addEventListener(P,p,y==="capture")),k[P]}function b(y){return d[y]===void 0&&(d[y]=new Set,window.addEventListener(y,g)),d[y]}function _(y,P){let k=y.get(P);return k===void 0&&y.set(P,k=new Set),k}function C(y,P,k,T){const E=u[P][k];if(E!==void 0){const R=E.get(y);if(R!==void 0&&R.has(T))return!0}return!1}function S(y,P){const k=d[y];return!!(k!==void 0&&k.has(P))}function w(y,P,k,T){let E;if(typeof T=="object"&&T.once===!0?E=M=>{x(y,P,E,T),k(M)}:E=k,P8(y,P,E,T))return;const K=T===!0||typeof T=="object"&&T.capture===!0?"capture":"bubble",N=m(K,y),D=_(N,P);if(D.has(E)||D.add(E),P===window){const M=b(y);M.has(E)||M.add(E)}}function x(y,P,k,T){if(T8(y,P,k,T))return;const R=T===!0||typeof T=="object"&&T.capture===!0,K=R?"capture":"bubble",N=m(K,y),D=_(N,P);if(P===window&&!C(P,R?"bubble":"capture",y,k)&&S(y,k)){const G=d[y];G.delete(k),G.size===0&&(window.removeEventListener(y,g),d[y]=void 0)}D.has(k)&&D.delete(k),D.size===0&&N.delete(P),N.size===0&&(window.removeEventListener(y,p,K==="capture"),u[K][y]=void 0)}return{on:w,off:x}}const{on:At,off:Tt}=R8(),hs=W(null);function Sb(e){if(e.clientX>0||e.clientY>0)hs.value={x:e.clientX,y:e.clientY};else{const{target:t}=e;if(t instanceof Element){const{left:n,top:o,width:r,height:i}=t.getBoundingClientRect();n>0||o>0?hs.value={x:n+r/2,y:o+i/2}:hs.value={x:0,y:0}}else hs.value=null}}let Il=0,kb=!0;function $c(){if(!Vp)return co(W(null));Il===0&&At("click",document,Sb,!0);const e=()=>{Il+=1};return kb&&(kb=jp())?(hn(e),on(()=>{Il-=1,Il===0&&Tt("click",document,Sb,!0)})):e(),co(hs)}const E8=W(void 0);let Ol=0;function Pb(){E8.value=Date.now()}let Tb=!0;function Ac(e){if(!Vp)return co(W(!1));const t=W(!1);let n=null;function o(){n!==null&&window.clearTimeout(n)}function r(){o(),t.value=!0,n=window.setTimeout(()=>{t.value=!1},e)}Ol===0&&At("click",window,Pb,!0);const i=()=>{Ol+=1,At("click",window,r,!0)};return Tb&&(Tb=jp())?(hn(i),on(()=>{Ol-=1,Ol===0&&Tt("click",window,Pb,!0),Tt("click",window,r,!0),o()})):i(),co(t)}function an(e,t){return ft(e,n=>{n!==void 0&&(t.value=n)}),F(()=>e.value===void 0?t.value:e.value)}function Qr(){const e=W(!1);return jt(()=>{e.value=!0}),co(e)}function Pu(e,t){return F(()=>{for(const n of t)if(e[n]!==void 0)return e[n];return e[t[t.length-1]]})}const $8=(typeof window>"u"?!1:/iPad|iPhone|iPod/.test(navigator.platform)||navigator.platform==="MacIntel"&&navigator.maxTouchPoints>1)&&!window.MSStream;function A8(){return $8}function I8(e={},t){const n=eo({ctrl:!1,command:!1,win:!1,shift:!1,tab:!1}),{keydown:o,keyup:r}=e,i=l=>{switch(l.key){case"Control":n.ctrl=!0;break;case"Meta":n.command=!0,n.win=!0;break;case"Shift":n.shift=!0;break;case"Tab":n.tab=!0;break}o!==void 0&&Object.keys(o).forEach(c=>{if(c!==l.key)return;const u=o[c];if(typeof u=="function")u(l);else{const{stop:d=!1,prevent:f=!1}=u;d&&l.stopPropagation(),f&&l.preventDefault(),u.handler(l)}})},a=l=>{switch(l.key){case"Control":n.ctrl=!1;break;case"Meta":n.command=!1,n.win=!1;break;case"Shift":n.shift=!1;break;case"Tab":n.tab=!1;break}r!==void 0&&Object.keys(r).forEach(c=>{if(c!==l.key)return;const u=r[c];if(typeof u=="function")u(l);else{const{stop:d=!1,prevent:f=!1}=u;d&&l.stopPropagation(),f&&l.preventDefault(),u.handler(l)}})},s=()=>{(t===void 0||t.value)&&(At("keydown",document,i),At("keyup",document,a)),t!==void 0&&ft(t,l=>{l?(At("keydown",document,i),At("keyup",document,a)):(Tt("keydown",document,i),Tt("keyup",document,a))})};return jp()?(hn(s),on(()=>{(t===void 0||t.value)&&(Tt("keydown",document,i),Tt("keyup",document,a))})):s(),co(n)}const Wp="n-internal-select-menu",Rw="n-internal-select-menu-body",sl="n-modal-body",O8="n-modal-provider",Ew="n-modal",ll="n-drawer-body",Up="n-drawer",Va="n-popover-body",$w="__disabled__";function qo(e){const t=Ue(sl,null),n=Ue(ll,null),o=Ue(Va,null),r=Ue(Rw,null),i=W();if(typeof document<"u"){i.value=document.fullscreenElement;const a=()=>{i.value=document.fullscreenElement};jt(()=>{At("fullscreenchange",document,a)}),on(()=>{Tt("fullscreenchange",document,a)})}return kt(()=>{var a;const{to:s}=e;return s!==void 0?s===!1?$w:s===!0?i.value||"body":s:t!=null&&t.value?(a=t.value.$el)!==null&&a!==void 0?a:t.value:n!=null&&n.value?n.value:o!=null&&o.value?o.value:r!=null&&r.value?r.value:s??(i.value||"body")})}qo.tdkey=$w;qo.propTo={type:[String,Object,Boolean],default:void 0};let Rb=!1;function M8(){if(hr&&window.CSS&&!Rb&&(Rb=!0,"registerProperty"in(window==null?void 0:window.CSS)))try{CSS.registerProperty({name:"--n-color-start",syntax:"",inherits:!1,initialValue:"#0000"}),CSS.registerProperty({name:"--n-color-end",syntax:"",inherits:!1,initialValue:"#0000"})}catch{}}function Ch(e,t,n="default"){const o=t[n];if(o===void 0)throw new Error(`[vueuc/${e}]: slot[${n}] is empty.`);return o()}function wh(e,t=!0,n=[]){return e.forEach(o=>{if(o!==null){if(typeof o!="object"){(typeof o=="string"||typeof o=="number")&&n.push(nt(String(o)));return}if(Array.isArray(o)){wh(o,t,n);return}if(o.type===it){if(o.children===null)return;Array.isArray(o.children)&&wh(o.children,t,n)}else o.type!==_n&&n.push(o)}}),n}function Eb(e,t,n="default"){const o=t[n];if(o===void 0)throw new Error(`[vueuc/${e}]: slot[${n}] is empty.`);const r=wh(o());if(r.length===1)return r[0];throw new Error(`[vueuc/${e}]: slot[${n}] should have exactly one child.`)}let Pr=null;function Aw(){if(Pr===null&&(Pr=document.getElementById("v-binder-view-measurer"),Pr===null)){Pr=document.createElement("div"),Pr.id="v-binder-view-measurer";const{style:e}=Pr;e.position="fixed",e.left="0",e.right="0",e.top="0",e.bottom="0",e.pointerEvents="none",e.visibility="hidden",document.body.appendChild(Pr)}return Pr.getBoundingClientRect()}function z8(e,t){const n=Aw();return{top:t,left:e,height:0,width:0,right:n.width-e,bottom:n.height-t}}function Nd(e){const t=e.getBoundingClientRect(),n=Aw();return{left:t.left-n.left,top:t.top-n.top,bottom:n.height+n.top-t.bottom,right:n.width+n.left-t.right,width:t.width,height:t.height}}function D8(e){return e.nodeType===9?null:e.parentNode}function Iw(e){if(e===null)return null;const t=D8(e);if(t===null)return null;if(t.nodeType===9)return document;if(t.nodeType===1){const{overflow:n,overflowX:o,overflowY:r}=getComputedStyle(t);if(/(auto|scroll|overlay)/.test(n+r+o))return t}return Iw(t)}const L8=be({name:"Binder",props:{syncTargetWithParent:Boolean,syncTarget:{type:Boolean,default:!0}},setup(e){var t;at("VBinder",(t=to())===null||t===void 0?void 0:t.proxy);const n=Ue("VBinder",null),o=W(null),r=b=>{o.value=b,n&&e.syncTargetWithParent&&n.setTargetRef(b)};let i=[];const a=()=>{let b=o.value;for(;b=Iw(b),b!==null;)i.push(b);for(const _ of i)At("scroll",_,d,!0)},s=()=>{for(const b of i)Tt("scroll",b,d,!0);i=[]},l=new Set,c=b=>{l.size===0&&a(),l.has(b)||l.add(b)},u=b=>{l.has(b)&&l.delete(b),l.size===0&&s()},d=()=>{Rc(f)},f=()=>{l.forEach(b=>b())},h=new Set,p=b=>{h.size===0&&At("resize",window,m),h.has(b)||h.add(b)},g=b=>{h.has(b)&&h.delete(b),h.size===0&&Tt("resize",window,m)},m=()=>{h.forEach(b=>b())};return on(()=>{Tt("resize",window,m),s()}),{targetRef:o,setTargetRef:r,addScrollListener:c,removeScrollListener:u,addResizeListener:p,removeResizeListener:g}},render(){return Ch("binder",this.$slots)}}),qp=L8,Kp=be({name:"Target",setup(){const{setTargetRef:e,syncTarget:t}=Ue("VBinder");return{syncTarget:t,setTargetDirective:{mounted:e,updated:e}}},render(){const{syncTarget:e,setTargetDirective:t}=this;return e?dn(Eb("follower",this.$slots),[[t]]):Eb("follower",this.$slots)}}),ta="@@mmoContext",F8={mounted(e,{value:t}){e[ta]={handler:void 0},typeof t=="function"&&(e[ta].handler=t,At("mousemoveoutside",e,t))},updated(e,{value:t}){const n=e[ta];typeof t=="function"?n.handler?n.handler!==t&&(Tt("mousemoveoutside",e,n.handler),n.handler=t,At("mousemoveoutside",e,t)):(e[ta].handler=t,At("mousemoveoutside",e,t)):n.handler&&(Tt("mousemoveoutside",e,n.handler),n.handler=void 0)},unmounted(e){const{handler:t}=e[ta];t&&Tt("mousemoveoutside",e,t),e[ta].handler=void 0}},B8=F8,na="@@coContext",N8={mounted(e,{value:t,modifiers:n}){e[na]={handler:void 0},typeof t=="function"&&(e[na].handler=t,At("clickoutside",e,t,{capture:n.capture}))},updated(e,{value:t,modifiers:n}){const o=e[na];typeof t=="function"?o.handler?o.handler!==t&&(Tt("clickoutside",e,o.handler,{capture:n.capture}),o.handler=t,At("clickoutside",e,t,{capture:n.capture})):(e[na].handler=t,At("clickoutside",e,t,{capture:n.capture})):o.handler&&(Tt("clickoutside",e,o.handler,{capture:n.capture}),o.handler=void 0)},unmounted(e,{modifiers:t}){const{handler:n}=e[na];n&&Tt("clickoutside",e,n,{capture:t.capture}),e[na].handler=void 0}},Ea=N8;function H8(e,t){console.error(`[vdirs/${e}]: ${t}`)}class j8{constructor(){this.elementZIndex=new Map,this.nextZIndex=2e3}get elementCount(){return this.elementZIndex.size}ensureZIndex(t,n){const{elementZIndex:o}=this;if(n!==void 0){t.style.zIndex=`${n}`,o.delete(t);return}const{nextZIndex:r}=this;o.has(t)&&o.get(t)+1===this.nextZIndex||(t.style.zIndex=`${r}`,o.set(t,r),this.nextZIndex=r+1,this.squashState())}unregister(t,n){const{elementZIndex:o}=this;o.has(t)?o.delete(t):n===void 0&&H8("z-index-manager/unregister-element","Element not found when unregistering."),this.squashState()}squashState(){const{elementCount:t}=this;t||(this.nextZIndex=2e3),this.nextZIndex-t>2500&&this.rearrange()}rearrange(){const t=Array.from(this.elementZIndex.entries());t.sort((n,o)=>n[1]-o[1]),this.nextZIndex=2e3,t.forEach(n=>{const o=n[0],r=this.nextZIndex++;`${r}`!==o.style.zIndex&&(o.style.zIndex=`${r}`)})}}const Hd=new j8,oa="@@ziContext",V8={mounted(e,t){const{value:n={}}=t,{zIndex:o,enabled:r}=n;e[oa]={enabled:!!r,initialized:!1},r&&(Hd.ensureZIndex(e,o),e[oa].initialized=!0)},updated(e,t){const{value:n={}}=t,{zIndex:o,enabled:r}=n,i=e[oa].enabled;r&&!i&&(Hd.ensureZIndex(e,o),e[oa].initialized=!0),e[oa].enabled=!!r},unmounted(e,t){if(!e[oa].initialized)return;const{value:n={}}=t,{zIndex:o}=n;Hd.unregister(e,o)}},Tu=V8,Ow=Symbol("@css-render/vue3-ssr");function W8(e,t){return``}function U8(e,t){const n=Ue(Ow,null);if(n===null){console.error("[css-render/vue3-ssr]: no ssr context found.");return}const{styles:o,ids:r}=n;r.has(e)||o!==null&&(r.add(e),o.push(W8(e,t)))}const q8=typeof document<"u";function Li(){if(q8)return;const e=Ue(Ow,null);if(e!==null)return{adapter:U8,context:e}}function $b(e,t){console.error(`[vueuc/${e}]: ${t}`)}const{c:Dr}=Cw(),Gp="vueuc-style";function Ab(e){return e&-e}class K8{constructor(t,n){this.l=t,this.min=n;const o=new Array(t+1);for(let r=0;rr)throw new Error("[FinweckTree.sum]: `i` is larger than length.");let i=t*o;for(;t>0;)i+=n[t],t-=Ab(t);return i}getBound(t){let n=0,o=this.l;for(;o>n;){const r=Math.floor((n+o)/2),i=this.sum(r);if(i>t){o=r;continue}else if(i{const{to:t}=e;return t??"body"})}},render(){return this.showTeleport?this.disabled?Ch("lazy-teleport",this.$slots):v(nu,{disabled:this.disabled,to:this.mergedTo},Ch("lazy-teleport",this.$slots)):null}}),Ml={top:"bottom",bottom:"top",left:"right",right:"left"},Ob={start:"end",center:"center",end:"start"},jd={top:"height",bottom:"height",left:"width",right:"width"},G8={"bottom-start":"top left",bottom:"top center","bottom-end":"top right","top-start":"bottom left",top:"bottom center","top-end":"bottom right","right-start":"top left",right:"center left","right-end":"bottom left","left-start":"top right",left:"center right","left-end":"bottom right"},Y8={"bottom-start":"bottom left",bottom:"bottom center","bottom-end":"bottom right","top-start":"top left",top:"top center","top-end":"top right","right-start":"top right",right:"center right","right-end":"bottom right","left-start":"top left",left:"center left","left-end":"bottom left"},X8={"bottom-start":"right","bottom-end":"left","top-start":"right","top-end":"left","right-start":"bottom","right-end":"top","left-start":"bottom","left-end":"top"},Mb={top:!0,bottom:!1,left:!0,right:!1},zb={top:"end",bottom:"start",left:"end",right:"start"};function Z8(e,t,n,o,r,i){if(!r||i)return{placement:e,top:0,left:0};const[a,s]=e.split("-");let l=s??"center",c={top:0,left:0};const u=(h,p,g)=>{let m=0,b=0;const _=n[h]-t[p]-t[h];return _>0&&o&&(g?b=Mb[p]?_:-_:m=Mb[p]?_:-_),{left:m,top:b}},d=a==="left"||a==="right";if(l!=="center"){const h=X8[e],p=Ml[h],g=jd[h];if(n[g]>t[g]){if(t[h]+t[g]t[p]&&(l=Ob[s])}else{const h=a==="bottom"||a==="top"?"left":"top",p=Ml[h],g=jd[h],m=(n[g]-t[g])/2;(t[h]t[p]?(l=zb[h],c=u(g,h,d)):(l=zb[p],c=u(g,p,d)))}let f=a;return t[a] *",{pointerEvents:"all"})])]),Yp=be({name:"Follower",inheritAttrs:!1,props:{show:Boolean,enabled:{type:Boolean,default:void 0},placement:{type:String,default:"bottom"},syncTrigger:{type:Array,default:["resize","scroll"]},to:[String,Object],flip:{type:Boolean,default:!0},internalShift:Boolean,x:Number,y:Number,width:String,minWidth:String,containerClass:String,teleportDisabled:Boolean,zindexable:{type:Boolean,default:!0},zIndex:Number,overlap:Boolean},setup(e){const t=Ue("VBinder"),n=kt(()=>e.enabled!==void 0?e.enabled:e.show),o=W(null),r=W(null),i=()=>{const{syncTrigger:f}=e;f.includes("scroll")&&t.addScrollListener(l),f.includes("resize")&&t.addResizeListener(l)},a=()=>{t.removeScrollListener(l),t.removeResizeListener(l)};jt(()=>{n.value&&(l(),i())});const s=Li();eI.mount({id:"vueuc/binder",head:!0,anchorMetaName:Gp,ssr:s}),on(()=>{a()}),_8(()=>{n.value&&l()});const l=()=>{if(!n.value)return;const f=o.value;if(f===null)return;const h=t.targetRef,{x:p,y:g,overlap:m}=e,b=p!==void 0&&g!==void 0?z8(p,g):Nd(h);f.style.setProperty("--v-target-width",`${Math.round(b.width)}px`),f.style.setProperty("--v-target-height",`${Math.round(b.height)}px`);const{width:_,minWidth:C,placement:S,internalShift:w,flip:x}=e;f.setAttribute("v-placement",S),m?f.setAttribute("v-overlap",""):f.removeAttribute("v-overlap");const{style:y}=f;_==="target"?y.width=`${b.width}px`:_!==void 0?y.width=_:y.width="",C==="target"?y.minWidth=`${b.width}px`:C!==void 0?y.minWidth=C:y.minWidth="";const P=Nd(f),k=Nd(r.value),{left:T,top:E,placement:R}=Z8(S,b,P,w,x,m),K=J8(R,m),{left:N,top:D,transform:M}=Q8(R,k,b,E,T,m);f.setAttribute("v-placement",R),f.style.setProperty("--v-offset-left",`${Math.round(T)}px`),f.style.setProperty("--v-offset-top",`${Math.round(E)}px`),f.style.transform=`translateX(${N}) translateY(${D}) ${M}`,f.style.setProperty("--v-transform-origin",K),f.style.transformOrigin=K};ft(n,f=>{f?(i(),c()):a()});const c=()=>{Ht().then(l).catch(f=>console.error(f))};["placement","x","y","internalShift","flip","width","overlap","minWidth"].forEach(f=>{ft(We(e,f),l)}),["teleportDisabled"].forEach(f=>{ft(We(e,f),c)}),ft(We(e,"syncTrigger"),f=>{f.includes("resize")?t.addResizeListener(l):t.removeResizeListener(l),f.includes("scroll")?t.addScrollListener(l):t.removeScrollListener(l)});const u=Qr(),d=kt(()=>{const{to:f}=e;if(f!==void 0)return f;u.value});return{VBinder:t,mergedEnabled:n,offsetContainerRef:r,followerRef:o,mergedTo:d,syncPosition:l}},render(){return v(Ru,{show:this.show,to:this.mergedTo,disabled:this.teleportDisabled},{default:()=>{var e,t;const n=v("div",{class:["v-binder-follower-container",this.containerClass],ref:"offsetContainerRef"},[v("div",{class:"v-binder-follower-content",ref:"followerRef"},(t=(e=this.$slots).default)===null||t===void 0?void 0:t.call(e))]);return this.zindexable?dn(n,[[Tu,{enabled:this.mergedEnabled,zIndex:this.zIndex}]]):n}})}});var Si=[],tI=function(){return Si.some(function(e){return e.activeTargets.length>0})},nI=function(){return Si.some(function(e){return e.skippedTargets.length>0})},Db="ResizeObserver loop completed with undelivered notifications.",oI=function(){var e;typeof ErrorEvent=="function"?e=new ErrorEvent("error",{message:Db}):(e=document.createEvent("Event"),e.initEvent("error",!1,!1),e.message=Db),window.dispatchEvent(e)},Zs;(function(e){e.BORDER_BOX="border-box",e.CONTENT_BOX="content-box",e.DEVICE_PIXEL_CONTENT_BOX="device-pixel-content-box"})(Zs||(Zs={}));var ki=function(e){return Object.freeze(e)},rI=function(){function e(t,n){this.inlineSize=t,this.blockSize=n,ki(this)}return e}(),Mw=function(){function e(t,n,o,r){return this.x=t,this.y=n,this.width=o,this.height=r,this.top=this.y,this.left=this.x,this.bottom=this.top+this.height,this.right=this.left+this.width,ki(this)}return e.prototype.toJSON=function(){var t=this,n=t.x,o=t.y,r=t.top,i=t.right,a=t.bottom,s=t.left,l=t.width,c=t.height;return{x:n,y:o,top:r,right:i,bottom:a,left:s,width:l,height:c}},e.fromRect=function(t){return new e(t.x,t.y,t.width,t.height)},e}(),Xp=function(e){return e instanceof SVGElement&&"getBBox"in e},zw=function(e){if(Xp(e)){var t=e.getBBox(),n=t.width,o=t.height;return!n&&!o}var r=e,i=r.offsetWidth,a=r.offsetHeight;return!(i||a||e.getClientRects().length)},Lb=function(e){var t;if(e instanceof Element)return!0;var n=(t=e==null?void 0:e.ownerDocument)===null||t===void 0?void 0:t.defaultView;return!!(n&&e instanceof n.Element)},iI=function(e){switch(e.tagName){case"INPUT":if(e.type!=="image")break;case"VIDEO":case"AUDIO":case"EMBED":case"OBJECT":case"CANVAS":case"IFRAME":case"IMG":return!0}return!1},As=typeof window<"u"?window:{},zl=new WeakMap,Fb=/auto|scroll/,aI=/^tb|vertical/,sI=/msie|trident/i.test(As.navigator&&As.navigator.userAgent),Do=function(e){return parseFloat(e||"0")},ba=function(e,t,n){return e===void 0&&(e=0),t===void 0&&(t=0),n===void 0&&(n=!1),new rI((n?t:e)||0,(n?e:t)||0)},Bb=ki({devicePixelContentBoxSize:ba(),borderBoxSize:ba(),contentBoxSize:ba(),contentRect:new Mw(0,0,0,0)}),Dw=function(e,t){if(t===void 0&&(t=!1),zl.has(e)&&!t)return zl.get(e);if(zw(e))return zl.set(e,Bb),Bb;var n=getComputedStyle(e),o=Xp(e)&&e.ownerSVGElement&&e.getBBox(),r=!sI&&n.boxSizing==="border-box",i=aI.test(n.writingMode||""),a=!o&&Fb.test(n.overflowY||""),s=!o&&Fb.test(n.overflowX||""),l=o?0:Do(n.paddingTop),c=o?0:Do(n.paddingRight),u=o?0:Do(n.paddingBottom),d=o?0:Do(n.paddingLeft),f=o?0:Do(n.borderTopWidth),h=o?0:Do(n.borderRightWidth),p=o?0:Do(n.borderBottomWidth),g=o?0:Do(n.borderLeftWidth),m=d+c,b=l+u,_=g+h,C=f+p,S=s?e.offsetHeight-C-e.clientHeight:0,w=a?e.offsetWidth-_-e.clientWidth:0,x=r?m+_:0,y=r?b+C:0,P=o?o.width:Do(n.width)-x-w,k=o?o.height:Do(n.height)-y-S,T=P+m+w+_,E=k+b+S+C,R=ki({devicePixelContentBoxSize:ba(Math.round(P*devicePixelRatio),Math.round(k*devicePixelRatio),i),borderBoxSize:ba(T,E,i),contentBoxSize:ba(P,k,i),contentRect:new Mw(d,l,P,k)});return zl.set(e,R),R},Lw=function(e,t,n){var o=Dw(e,n),r=o.borderBoxSize,i=o.contentBoxSize,a=o.devicePixelContentBoxSize;switch(t){case Zs.DEVICE_PIXEL_CONTENT_BOX:return a;case Zs.BORDER_BOX:return r;default:return i}},lI=function(){function e(t){var n=Dw(t);this.target=t,this.contentRect=n.contentRect,this.borderBoxSize=ki([n.borderBoxSize]),this.contentBoxSize=ki([n.contentBoxSize]),this.devicePixelContentBoxSize=ki([n.devicePixelContentBoxSize])}return e}(),Fw=function(e){if(zw(e))return 1/0;for(var t=0,n=e.parentNode;n;)t+=1,n=n.parentNode;return t},cI=function(){var e=1/0,t=[];Si.forEach(function(a){if(a.activeTargets.length!==0){var s=[];a.activeTargets.forEach(function(c){var u=new lI(c.target),d=Fw(c.target);s.push(u),c.lastReportedSize=Lw(c.target,c.observedBox),de?n.activeTargets.push(r):n.skippedTargets.push(r))})})},uI=function(){var e=0;for(Nb(e);tI();)e=cI(),Nb(e);return nI()&&oI(),e>0},Vd,Bw=[],dI=function(){return Bw.splice(0).forEach(function(e){return e()})},fI=function(e){if(!Vd){var t=0,n=document.createTextNode(""),o={characterData:!0};new MutationObserver(function(){return dI()}).observe(n,o),Vd=function(){n.textContent="".concat(t?t--:t++)}}Bw.push(e),Vd()},hI=function(e){fI(function(){requestAnimationFrame(e)})},dc=0,pI=function(){return!!dc},mI=250,gI={attributes:!0,characterData:!0,childList:!0,subtree:!0},Hb=["resize","load","transitionend","animationend","animationstart","animationiteration","keyup","keydown","mouseup","mousedown","mouseover","mouseout","blur","focus"],jb=function(e){return e===void 0&&(e=0),Date.now()+e},Wd=!1,vI=function(){function e(){var t=this;this.stopped=!0,this.listener=function(){return t.schedule()}}return e.prototype.run=function(t){var n=this;if(t===void 0&&(t=mI),!Wd){Wd=!0;var o=jb(t);hI(function(){var r=!1;try{r=uI()}finally{if(Wd=!1,t=o-jb(),!pI())return;r?n.run(1e3):t>0?n.run(t):n.start()}})}},e.prototype.schedule=function(){this.stop(),this.run()},e.prototype.observe=function(){var t=this,n=function(){return t.observer&&t.observer.observe(document.body,gI)};document.body?n():As.addEventListener("DOMContentLoaded",n)},e.prototype.start=function(){var t=this;this.stopped&&(this.stopped=!1,this.observer=new MutationObserver(this.listener),this.observe(),Hb.forEach(function(n){return As.addEventListener(n,t.listener,!0)}))},e.prototype.stop=function(){var t=this;this.stopped||(this.observer&&this.observer.disconnect(),Hb.forEach(function(n){return As.removeEventListener(n,t.listener,!0)}),this.stopped=!0)},e}(),_h=new vI,Vb=function(e){!dc&&e>0&&_h.start(),dc+=e,!dc&&_h.stop()},bI=function(e){return!Xp(e)&&!iI(e)&&getComputedStyle(e).display==="inline"},yI=function(){function e(t,n){this.target=t,this.observedBox=n||Zs.CONTENT_BOX,this.lastReportedSize={inlineSize:0,blockSize:0}}return e.prototype.isActive=function(){var t=Lw(this.target,this.observedBox,!0);return bI(this.target)&&(this.lastReportedSize=t),this.lastReportedSize.inlineSize!==t.inlineSize||this.lastReportedSize.blockSize!==t.blockSize},e}(),xI=function(){function e(t,n){this.activeTargets=[],this.skippedTargets=[],this.observationTargets=[],this.observer=t,this.callback=n}return e}(),Dl=new WeakMap,Wb=function(e,t){for(var n=0;n=0&&(i&&Si.splice(Si.indexOf(o),1),o.observationTargets.splice(r,1),Vb(-1))},e.disconnect=function(t){var n=this,o=Dl.get(t);o.observationTargets.slice().forEach(function(r){return n.unobserve(t,r.target)}),o.activeTargets.splice(0,o.activeTargets.length)},e}(),CI=function(){function e(t){if(arguments.length===0)throw new TypeError("Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.");if(typeof t!="function")throw new TypeError("Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.");Ll.connect(this,t)}return e.prototype.observe=function(t,n){if(arguments.length===0)throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!Lb(t))throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element");Ll.observe(this,t,n)},e.prototype.unobserve=function(t){if(arguments.length===0)throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!Lb(t))throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element");Ll.unobserve(this,t)},e.prototype.disconnect=function(){Ll.disconnect(this)},e.toString=function(){return"function ResizeObserver () { [polyfill code] }"},e}();class wI{constructor(){this.handleResize=this.handleResize.bind(this),this.observer=new(typeof window<"u"&&window.ResizeObserver||CI)(this.handleResize),this.elHandlersMap=new Map}handleResize(t){for(const n of t){const o=this.elHandlersMap.get(n.target);o!==void 0&&o(n)}}registerHandler(t,n){this.elHandlersMap.set(t,n),this.observer.observe(t)}unregisterHandler(t){this.elHandlersMap.has(t)&&(this.elHandlersMap.delete(t),this.observer.unobserve(t))}}const Ic=new wI,cr=be({name:"ResizeObserver",props:{onResize:Function},setup(e){let t=!1;const n=to().proxy;function o(r){const{onResize:i}=e;i!==void 0&&i(r)}jt(()=>{const r=n.$el;if(r===void 0){$b("resize-observer","$el does not exist.");return}if(r.nextElementSibling!==r.nextSibling&&r.nodeType===3&&r.nodeValue!==""){$b("resize-observer","$el can not be observed (it may be a text node).");return}r.nextElementSibling!==null&&(Ic.registerHandler(r.nextElementSibling,o),t=!0)}),on(()=>{t&&Ic.unregisterHandler(n.$el.nextElementSibling)})},render(){return tu(this.$slots,"default")}});let Fl;function _I(){return typeof document>"u"?!1:(Fl===void 0&&("matchMedia"in window?Fl=window.matchMedia("(pointer:coarse)").matches:Fl=!1),Fl)}let Ud;function Ub(){return typeof document>"u"?1:(Ud===void 0&&(Ud="chrome"in window?window.devicePixelRatio:1),Ud)}const SI=Dr(".v-vl",{maxHeight:"inherit",height:"100%",overflow:"auto",minWidth:"1px"},[Dr("&:not(.v-vl--show-scrollbar)",{scrollbarWidth:"none"},[Dr("&::-webkit-scrollbar, &::-webkit-scrollbar-track-piece, &::-webkit-scrollbar-thumb",{width:0,height:0,display:"none"})])]),Nw=be({name:"VirtualList",inheritAttrs:!1,props:{showScrollbar:{type:Boolean,default:!0},items:{type:Array,default:()=>[]},itemSize:{type:Number,required:!0},itemResizable:Boolean,itemsStyle:[String,Object],visibleItemsTag:{type:[String,Object],default:"div"},visibleItemsProps:Object,ignoreItemResize:Boolean,onScroll:Function,onWheel:Function,onResize:Function,defaultScrollKey:[Number,String],defaultScrollIndex:Number,keyField:{type:String,default:"key"},paddingTop:{type:[Number,String],default:0},paddingBottom:{type:[Number,String],default:0}},setup(e){const t=Li();SI.mount({id:"vueuc/virtual-list",head:!0,anchorMetaName:Gp,ssr:t}),jt(()=>{const{defaultScrollIndex:E,defaultScrollKey:R}=e;E!=null?p({index:E}):R!=null&&p({key:R})});let n=!1,o=!1;cp(()=>{if(n=!1,!o){o=!0;return}p({top:d.value,left:u})}),Zc(()=>{n=!0,o||(o=!0)});const r=F(()=>{const E=new Map,{keyField:R}=e;return e.items.forEach((K,N)=>{E.set(K[R],N)}),E}),i=W(null),a=W(void 0),s=new Map,l=F(()=>{const{items:E,itemSize:R,keyField:K}=e,N=new K8(E.length,R);return E.forEach((D,M)=>{const G=D[K],J=s.get(G);J!==void 0&&N.add(M,J)}),N}),c=W(0);let u=0;const d=W(0),f=kt(()=>Math.max(l.value.getBound(d.value-bn(e.paddingTop))-1,0)),h=F(()=>{const{value:E}=a;if(E===void 0)return[];const{items:R,itemSize:K}=e,N=f.value,D=Math.min(N+Math.ceil(E/K+1),R.length-1),M=[];for(let G=N;G<=D;++G)M.push(R[G]);return M}),p=(E,R)=>{if(typeof E=="number"){_(E,R,"auto");return}const{left:K,top:N,index:D,key:M,position:G,behavior:J,debounce:he=!0}=E;if(K!==void 0||N!==void 0)_(K,N,J);else if(D!==void 0)b(D,J,he);else if(M!==void 0){const pe=r.value.get(M);pe!==void 0&&b(pe,J,he)}else G==="bottom"?_(0,Number.MAX_SAFE_INTEGER,J):G==="top"&&_(0,0,J)};let g,m=null;function b(E,R,K){const{value:N}=l,D=N.sum(E)+bn(e.paddingTop);if(!K)i.value.scrollTo({left:0,top:D,behavior:R});else{g=E,m!==null&&window.clearTimeout(m),m=window.setTimeout(()=>{g=void 0,m=null},16);const{scrollTop:M,offsetHeight:G}=i.value;if(D>M){const J=N.get(E);D+J<=M+G||i.value.scrollTo({left:0,top:D+J-G,behavior:R})}else i.value.scrollTo({left:0,top:D,behavior:R})}}function _(E,R,K){i.value.scrollTo({left:E,top:R,behavior:K})}function C(E,R){var K,N,D;if(n||e.ignoreItemResize||T(R.target))return;const{value:M}=l,G=r.value.get(E),J=M.get(G),he=(D=(N=(K=R.borderBoxSize)===null||K===void 0?void 0:K[0])===null||N===void 0?void 0:N.blockSize)!==null&&D!==void 0?D:R.contentRect.height;if(he===J)return;he-e.itemSize===0?s.delete(E):s.set(E,he-e.itemSize);const B=he-J;if(B===0)return;M.add(G,B);const $=i.value;if($!=null){if(g===void 0){const A=M.sum(G);$.scrollTop>A&&$.scrollBy(0,B)}else if(G$.scrollTop+$.offsetHeight&&$.scrollBy(0,B)}k()}c.value++}const S=!_I();let w=!1;function x(E){var R;(R=e.onScroll)===null||R===void 0||R.call(e,E),(!S||!w)&&k()}function y(E){var R;if((R=e.onWheel)===null||R===void 0||R.call(e,E),S){const K=i.value;if(K!=null){if(E.deltaX===0&&(K.scrollTop===0&&E.deltaY<=0||K.scrollTop+K.offsetHeight>=K.scrollHeight&&E.deltaY>=0))return;E.preventDefault(),K.scrollTop+=E.deltaY/Ub(),K.scrollLeft+=E.deltaX/Ub(),k(),w=!0,Rc(()=>{w=!1})}}}function P(E){if(n||T(E.target)||E.contentRect.height===a.value)return;a.value=E.contentRect.height;const{onResize:R}=e;R!==void 0&&R(E)}function k(){const{value:E}=i;E!=null&&(d.value=E.scrollTop,u=E.scrollLeft)}function T(E){let R=E;for(;R!==null;){if(R.style.display==="none")return!0;R=R.parentElement}return!1}return{listHeight:a,listStyle:{overflow:"auto"},keyToIndex:r,itemsStyle:F(()=>{const{itemResizable:E}=e,R=zn(l.value.sum());return c.value,[e.itemsStyle,{boxSizing:"content-box",height:E?"":R,minHeight:E?R:"",paddingTop:zn(e.paddingTop),paddingBottom:zn(e.paddingBottom)}]}),visibleItemsStyle:F(()=>(c.value,{transform:`translateY(${zn(l.value.sum(f.value))})`})),viewportItems:h,listElRef:i,itemsElRef:W(null),scrollTo:p,handleListResize:P,handleListScroll:x,handleListWheel:y,handleItemResize:C}},render(){const{itemResizable:e,keyField:t,keyToIndex:n,visibleItemsTag:o}=this;return v(cr,{onResize:this.handleListResize},{default:()=>{var r,i;return v("div",Ln(this.$attrs,{class:["v-vl",this.showScrollbar&&"v-vl--show-scrollbar"],onScroll:this.handleListScroll,onWheel:this.handleListWheel,ref:"listElRef"}),[this.items.length!==0?v("div",{ref:"itemsElRef",class:"v-vl-items",style:this.itemsStyle},[v(o,Object.assign({class:"v-vl-visible-items",style:this.visibleItemsStyle},this.visibleItemsProps),{default:()=>this.viewportItems.map(a=>{const s=a[t],l=n.get(s),c=this.$slots.default({item:a,index:l})[0];return e?v(cr,{key:s,onResize:u=>this.handleItemResize(s,u)},{default:()=>c}):(c.key=s,c)})})]):(i=(r=this.$slots).empty)===null||i===void 0?void 0:i.call(r)])}})}}),tr="v-hidden",kI=Dr("[v-hidden]",{display:"none!important"}),Sh=be({name:"Overflow",props:{getCounter:Function,getTail:Function,updateCounter:Function,onUpdateCount:Function,onUpdateOverflow:Function},setup(e,{slots:t}){const n=W(null),o=W(null);function r(a){const{value:s}=n,{getCounter:l,getTail:c}=e;let u;if(l!==void 0?u=l():u=o.value,!s||!u)return;u.hasAttribute(tr)&&u.removeAttribute(tr);const{children:d}=s;if(a.showAllItemsBeforeCalculate)for(const C of d)C.hasAttribute(tr)&&C.removeAttribute(tr);const f=s.offsetWidth,h=[],p=t.tail?c==null?void 0:c():null;let g=p?p.offsetWidth:0,m=!1;const b=s.children.length-(t.tail?1:0);for(let C=0;Cf){const{updateCounter:x}=e;for(let y=C;y>=0;--y){const P=b-1-y;x!==void 0?x(P):u.textContent=`${P}`;const k=u.offsetWidth;if(g-=h[y],g+k<=f||y===0){m=!0,C=y-1,p&&(C===-1?(p.style.maxWidth=`${f-k}px`,p.style.boxSizing="border-box"):p.style.maxWidth="");const{onUpdateCount:T}=e;T&&T(P);break}}}}const{onUpdateOverflow:_}=e;m?_!==void 0&&_(!0):(_!==void 0&&_(!1),u.setAttribute(tr,""))}const i=Li();return kI.mount({id:"vueuc/overflow",head:!0,anchorMetaName:Gp,ssr:i}),jt(()=>r({showAllItemsBeforeCalculate:!1})),{selfRef:n,counterRef:o,sync:r}},render(){const{$slots:e}=this;return Ht(()=>this.sync({showAllItemsBeforeCalculate:!1})),v("div",{class:"v-overflow",ref:"selfRef"},[tu(e,"default"),e.counter?e.counter():v("span",{style:{display:"inline-block"},ref:"counterRef"}),e.tail?e.tail():null])}});function Hw(e){return e instanceof HTMLElement}function jw(e){for(let t=0;t=0;t--){const n=e.childNodes[t];if(Hw(n)&&(Ww(n)||Vw(n)))return!0}return!1}function Ww(e){if(!PI(e))return!1;try{e.focus({preventScroll:!0})}catch{}return document.activeElement===e}function PI(e){if(e.tabIndex>0||e.tabIndex===0&&e.getAttribute("tabIndex")!==null)return!0;if(e.getAttribute("disabled"))return!1;switch(e.nodeName){case"A":return!!e.href&&e.rel!=="ignore";case"INPUT":return e.type!=="hidden"&&e.type!=="file";case"BUTTON":case"SELECT":case"TEXTAREA":return!0;default:return!1}}let ls=[];const Zp=be({name:"FocusTrap",props:{disabled:Boolean,active:Boolean,autoFocus:{type:Boolean,default:!0},onEsc:Function,initialFocusTo:String,finalFocusTo:String,returnFocusOnDeactivated:{type:Boolean,default:!0}},setup(e){const t=Zr(),n=W(null),o=W(null);let r=!1,i=!1;const a=typeof document>"u"?null:document.activeElement;function s(){return ls[ls.length-1]===t}function l(m){var b;m.code==="Escape"&&s()&&((b=e.onEsc)===null||b===void 0||b.call(e,m))}jt(()=>{ft(()=>e.active,m=>{m?(d(),At("keydown",document,l)):(Tt("keydown",document,l),r&&f())},{immediate:!0})}),on(()=>{Tt("keydown",document,l),r&&f()});function c(m){if(!i&&s()){const b=u();if(b===null||b.contains(Ai(m)))return;h("first")}}function u(){const m=n.value;if(m===null)return null;let b=m;for(;b=b.nextSibling,!(b===null||b instanceof Element&&b.tagName==="DIV"););return b}function d(){var m;if(!e.disabled){if(ls.push(t),e.autoFocus){const{initialFocusTo:b}=e;b===void 0?h("first"):(m=Ib(b))===null||m===void 0||m.focus({preventScroll:!0})}r=!0,document.addEventListener("focus",c,!0)}}function f(){var m;if(e.disabled||(document.removeEventListener("focus",c,!0),ls=ls.filter(_=>_!==t),s()))return;const{finalFocusTo:b}=e;b!==void 0?(m=Ib(b))===null||m===void 0||m.focus({preventScroll:!0}):e.returnFocusOnDeactivated&&a instanceof HTMLElement&&(i=!0,a.focus({preventScroll:!0}),i=!1)}function h(m){if(s()&&e.active){const b=n.value,_=o.value;if(b!==null&&_!==null){const C=u();if(C==null||C===_){i=!0,b.focus({preventScroll:!0}),i=!1;return}i=!0;const S=m==="first"?jw(C):Vw(C);i=!1,S||(i=!0,b.focus({preventScroll:!0}),i=!1)}}}function p(m){if(i)return;const b=u();b!==null&&(m.relatedTarget!==null&&b.contains(m.relatedTarget)?h("last"):h("first"))}function g(m){i||(m.relatedTarget!==null&&m.relatedTarget===n.value?h("last"):h("first"))}return{focusableStartRef:n,focusableEndRef:o,focusableStyle:"position: absolute; height: 0; width: 0;",handleStartFocus:p,handleEndFocus:g}},render(){const{default:e}=this.$slots;if(e===void 0)return null;if(this.disabled)return e();const{active:t,focusableStyle:n}=this;return v(it,null,[v("div",{"aria-hidden":"true",tabindex:t?"0":"-1",ref:"focusableStartRef",style:n,onFocus:this.handleStartFocus}),e(),v("div",{"aria-hidden":"true",style:n,ref:"focusableEndRef",tabindex:t?"0":"-1",onFocus:this.handleEndFocus})])}});function Uw(e,t){t&&(jt(()=>{const{value:n}=e;n&&Ic.registerHandler(n,t)}),on(()=>{const{value:n}=e;n&&Ic.unregisterHandler(n)}))}let ra=0,qb="",Kb="",Gb="",Yb="";const kh=W("0px");function qw(e){if(typeof document>"u")return;const t=document.documentElement;let n,o=!1;const r=()=>{t.style.marginRight=qb,t.style.overflow=Kb,t.style.overflowX=Gb,t.style.overflowY=Yb,kh.value="0px"};jt(()=>{n=ft(e,i=>{if(i){if(!ra){const a=window.innerWidth-t.offsetWidth;a>0&&(qb=t.style.marginRight,t.style.marginRight=`${a}px`,kh.value=`${a}px`),Kb=t.style.overflow,Gb=t.style.overflowX,Yb=t.style.overflowY,t.style.overflow="hidden",t.style.overflowX="hidden",t.style.overflowY="hidden"}o=!0,ra++}else ra--,ra||r(),o=!1},{immediate:!0})}),on(()=>{n==null||n(),o&&(ra--,ra||r(),o=!1)})}const Jp=W(!1);function Xb(){Jp.value=!0}function Zb(){Jp.value=!1}let cs=0;function Kw(){return hr&&(hn(()=>{cs||(window.addEventListener("compositionstart",Xb),window.addEventListener("compositionend",Zb)),cs++}),on(()=>{cs<=1?(window.removeEventListener("compositionstart",Xb),window.removeEventListener("compositionend",Zb),cs=0):cs--})),Jp}function Qp(e){const t={isDeactivated:!1};let n=!1;return cp(()=>{if(t.isDeactivated=!1,!n){n=!0;return}e()}),Zc(()=>{t.isDeactivated=!0,n||(n=!0)}),t}function Jb(e){return e.nodeName==="#document"}function TI(e,t){if(!e)return;const n=document.createElement("a");n.href=e,t!==void 0&&(n.download=t),document.body.appendChild(n),n.click(),document.body.removeChild(n)}const Qb="n-form-item";function pr(e,{defaultSize:t="medium",mergedSize:n,mergedDisabled:o}={}){const r=Ue(Qb,null);at(Qb,null);const i=F(n?()=>n(r):()=>{const{size:l}=e;if(l)return l;if(r){const{mergedSize:c}=r;if(c.value!==void 0)return c.value}return t}),a=F(o?()=>o(r):()=>{const{disabled:l}=e;return l!==void 0?l:r?r.disabled.value:!1}),s=F(()=>{const{status:l}=e;return l||(r==null?void 0:r.mergedValidationStatus.value)});return on(()=>{r&&r.restoreValidation()}),{mergedSizeRef:i,mergedDisabledRef:a,mergedStatusRef:s,nTriggerFormBlur(){r&&r.handleContentBlur()},nTriggerFormChange(){r&&r.handleContentChange()},nTriggerFormFocus(){r&&r.handleContentFocus()},nTriggerFormInput(){r&&r.handleContentInput()}}}var RI=typeof global=="object"&&global&&global.Object===Object&&global;const Gw=RI;var EI=typeof self=="object"&&self&&self.Object===Object&&self,$I=Gw||EI||Function("return this")();const Ao=$I;var AI=Ao.Symbol;const Hr=AI;var Yw=Object.prototype,II=Yw.hasOwnProperty,OI=Yw.toString,us=Hr?Hr.toStringTag:void 0;function MI(e){var t=II.call(e,us),n=e[us];try{e[us]=void 0;var o=!0}catch{}var r=OI.call(e);return o&&(t?e[us]=n:delete e[us]),r}var zI=Object.prototype,DI=zI.toString;function LI(e){return DI.call(e)}var FI="[object Null]",BI="[object Undefined]",e0=Hr?Hr.toStringTag:void 0;function Fi(e){return e==null?e===void 0?BI:FI:e0&&e0 in Object(e)?MI(e):LI(e)}function jr(e){return e!=null&&typeof e=="object"}var NI="[object Symbol]";function Eu(e){return typeof e=="symbol"||jr(e)&&Fi(e)==NI}function Xw(e,t){for(var n=-1,o=e==null?0:e.length,r=Array(o);++n0){if(++t>=wO)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function PO(e){return function(){return e}}var TO=function(){try{var e=Ni(Object,"defineProperty");return e({},"",{}),e}catch{}}();const Oc=TO;var RO=Oc?function(e,t){return Oc(e,"toString",{configurable:!0,enumerable:!1,value:PO(t),writable:!0})}:em;const EO=RO;var $O=kO(EO);const AO=$O;var IO=9007199254740991,OO=/^(?:0|[1-9]\d*)$/;function nm(e,t){var n=typeof e;return t=t??IO,!!t&&(n=="number"||n!="symbol"&&OO.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=NO}function Wa(e){return e!=null&&rm(e.length)&&!tm(e)}function HO(e,t,n){if(!Ko(n))return!1;var o=typeof t;return(o=="number"?Wa(n)&&nm(t,n.length):o=="string"&&t in n)?cl(n[t],e):!1}function jO(e){return BO(function(t,n){var o=-1,r=n.length,i=r>1?n[r-1]:void 0,a=r>2?n[2]:void 0;for(i=e.length>3&&typeof i=="function"?(r--,i):void 0,a&&HO(n[0],n[1],a)&&(i=r<3?void 0:i,r=1),t=Object(t);++o-1}function iz(e,t){var n=this.__data__,o=$u(n,e);return o<0?(++this.size,n.push([e,t])):n[o][1]=t,this}function mr(e){var t=-1,n=e==null?0:e.length;for(this.clear();++tr?0:r+t),n=n>r?r:n,n<0&&(n+=r),r=t>n?0:n-t>>>0,t>>>=0;for(var i=Array(r);++o=o?e:Ez(e,t,n)}var Az="\\ud800-\\udfff",Iz="\\u0300-\\u036f",Oz="\\ufe20-\\ufe2f",Mz="\\u20d0-\\u20ff",zz=Iz+Oz+Mz,Dz="\\ufe0e\\ufe0f",Lz="\\u200d",Fz=RegExp("["+Lz+Az+zz+Dz+"]");function c_(e){return Fz.test(e)}function Bz(e){return e.split("")}var u_="\\ud800-\\udfff",Nz="\\u0300-\\u036f",Hz="\\ufe20-\\ufe2f",jz="\\u20d0-\\u20ff",Vz=Nz+Hz+jz,Wz="\\ufe0e\\ufe0f",Uz="["+u_+"]",Rh="["+Vz+"]",Eh="\\ud83c[\\udffb-\\udfff]",qz="(?:"+Rh+"|"+Eh+")",d_="[^"+u_+"]",f_="(?:\\ud83c[\\udde6-\\uddff]){2}",h_="[\\ud800-\\udbff][\\udc00-\\udfff]",Kz="\\u200d",p_=qz+"?",m_="["+Wz+"]?",Gz="(?:"+Kz+"(?:"+[d_,f_,h_].join("|")+")"+m_+p_+")*",Yz=m_+p_+Gz,Xz="(?:"+[d_+Rh+"?",Rh,f_,h_,Uz].join("|")+")",Zz=RegExp(Eh+"(?="+Eh+")|"+Xz+Yz,"g");function Jz(e){return e.match(Zz)||[]}function Qz(e){return c_(e)?Jz(e):Bz(e)}function eD(e){return function(t){t=Oi(t);var n=c_(t)?Qz(t):void 0,o=n?n[0]:t.charAt(0),r=n?$z(n,1).join(""):t.slice(1);return o[e]()+r}}var tD=eD("toUpperCase");const g_=tD;function nD(e){return g_(Oi(e).toLowerCase())}function oD(e,t,n,o){var r=-1,i=e==null?0:e.length;for(o&&i&&(n=e[++r]);++rs))return!1;var c=i.get(e),u=i.get(t);if(c&&u)return c==t&&u==e;var d=-1,f=!0,h=n&$L?new Lc:void 0;for(i.set(e,t),i.set(t,e);++d{const u=i==null?void 0:i.value;n.mount({id:u===void 0?t:u+t,head:!0,props:{bPrefix:u?`.${u}-`:void 0},anchorMetaName:$a,ssr:a}),s!=null&&s.preflightStyleDisabled||L_.mount({id:"n-global",head:!0,anchorMetaName:$a,ssr:a})};a?c():hn(c)}return F(()=>{var c;const{theme:{common:u,self:d,peers:f={}}={},themeOverrides:h={},builtinThemeOverrides:p={}}=r,{common:g,peers:m}=h,{common:b=void 0,[e]:{common:_=void 0,self:C=void 0,peers:S={}}={}}=(s==null?void 0:s.mergedThemeRef.value)||{},{common:w=void 0,[e]:x={}}=(s==null?void 0:s.mergedThemeOverridesRef.value)||{},{common:y,peers:P={}}=x,k=ps({},u||_||b||o.common,w,y,g),T=ps((c=d||C||o.self)===null||c===void 0?void 0:c(k),p,x,h);return{common:k,self:T,peers:ps({},o.peers,S,f),peerOverrides:ps({},p.peers,P,m)}})}Be.props={theme:Object,themeOverrides:Object,builtinThemeOverrides:Object};const el="n";function st(e={},t={defaultBordered:!0}){const n=Ue(Eo,null);return{inlineThemeDisabled:n==null?void 0:n.inlineThemeDisabled,mergedRtlRef:n==null?void 0:n.mergedRtlRef,mergedComponentPropsRef:n==null?void 0:n.mergedComponentPropsRef,mergedBreakpointsRef:n==null?void 0:n.mergedBreakpointsRef,mergedBorderedRef:F(()=>{var o,r;const{bordered:i}=e;return i!==void 0?i:(r=(o=n==null?void 0:n.mergedBorderedRef.value)!==null&&o!==void 0?o:t.defaultBordered)!==null&&r!==void 0?r:!0}),mergedClsPrefixRef:n?n.mergedClsPrefixRef:Oa(el),namespaceRef:F(()=>n==null?void 0:n.mergedNamespaceRef.value)}}function F_(){const e=Ue(Eo,null);return e?e.mergedClsPrefixRef:Oa(el)}const MF={name:"zh-CN",global:{undo:"撤销",redo:"重做",confirm:"确认",clear:"清除"},Popconfirm:{positiveText:"确认",negativeText:"取消"},Cascader:{placeholder:"请选择",loading:"加载中",loadingRequiredMessage:e=>`加载全部 ${e} 的子节点后才可选中`},Time:{dateFormat:"yyyy-MM-dd",dateTimeFormat:"yyyy-MM-dd HH:mm:ss"},DatePicker:{yearFormat:"yyyy年",monthFormat:"MMM",dayFormat:"eeeeee",yearTypeFormat:"yyyy",monthTypeFormat:"yyyy-MM",dateFormat:"yyyy-MM-dd",dateTimeFormat:"yyyy-MM-dd HH:mm:ss",quarterFormat:"yyyy-qqq",weekFormat:"RRRR-w周",clear:"清除",now:"此刻",confirm:"确认",selectTime:"选择时间",selectDate:"选择日期",datePlaceholder:"选择日期",datetimePlaceholder:"选择日期时间",monthPlaceholder:"选择月份",yearPlaceholder:"选择年份",quarterPlaceholder:"选择季度",weekPlaceholder:"选择周",startDatePlaceholder:"开始日期",endDatePlaceholder:"结束日期",startDatetimePlaceholder:"开始日期时间",endDatetimePlaceholder:"结束日期时间",startMonthPlaceholder:"开始月份",endMonthPlaceholder:"结束月份",monthBeforeYear:!1,firstDayOfWeek:0,today:"今天"},DataTable:{checkTableAll:"选择全部表格数据",uncheckTableAll:"取消选择全部表格数据",confirm:"确认",clear:"重置"},LegacyTransfer:{sourceTitle:"源项",targetTitle:"目标项"},Transfer:{selectAll:"全选",clearAll:"清除",unselectAll:"取消全选",total:e=>`共 ${e} 项`,selected:e=>`已选 ${e} 项`},Empty:{description:"无数据"},Select:{placeholder:"请选择"},TimePicker:{placeholder:"请选择时间",positiveText:"确认",negativeText:"取消",now:"此刻",clear:"清除"},Pagination:{goto:"跳至",selectionSuffix:"页"},DynamicTags:{add:"添加"},Log:{loading:"加载中"},Input:{placeholder:"请输入"},InputNumber:{placeholder:"请输入"},DynamicInput:{create:"添加"},ThemeEditor:{title:"主题编辑器",clearAllVars:"清除全部变量",clearSearch:"清除搜索",filterCompName:"过滤组件名",filterVarName:"过滤变量名",import:"导入",export:"导出",restore:"恢复默认"},Image:{tipPrevious:"上一张(←)",tipNext:"下一张(→)",tipCounterclockwise:"向左旋转",tipClockwise:"向右旋转",tipZoomOut:"缩小",tipZoomIn:"放大",tipDownload:"下载",tipClose:"关闭(Esc)",tipOriginalSize:"缩放到原始尺寸"}},zF=MF,DF={name:"zh-TW",global:{undo:"復原",redo:"重做",confirm:"確定",clear:"清除"},Popconfirm:{positiveText:"確定",negativeText:"取消"},Cascader:{placeholder:"請選擇",loading:"載入中",loadingRequiredMessage:e=>`載入全部 ${e} 的子節點後才可選擇`},Time:{dateFormat:"yyyy-MM-dd",dateTimeFormat:"yyyy-MM-dd HH:mm:ss"},DatePicker:{yearFormat:"yyyy 年",monthFormat:"MMM",dayFormat:"eeeeee",yearTypeFormat:"yyyy",monthTypeFormat:"yyyy-MM",dateFormat:"yyyy-MM-dd",dateTimeFormat:"yyyy-MM-dd HH:mm:ss",quarterFormat:"yyyy-qqq",weekFormat:"RRRR-w",clear:"清除",now:"現在",confirm:"確定",selectTime:"選擇時間",selectDate:"選擇日期",datePlaceholder:"選擇日期",datetimePlaceholder:"選擇日期時間",monthPlaceholder:"選擇月份",yearPlaceholder:"選擇年份",quarterPlaceholder:"選擇季度",weekPlaceholder:"Select Week",startDatePlaceholder:"開始日期",endDatePlaceholder:"結束日期",startDatetimePlaceholder:"開始日期時間",endDatetimePlaceholder:"結束日期時間",startMonthPlaceholder:"開始月份",endMonthPlaceholder:"結束月份",monthBeforeYear:!1,firstDayOfWeek:0,today:"今天"},DataTable:{checkTableAll:"選擇全部表格資料",uncheckTableAll:"取消選擇全部表格資料",confirm:"確定",clear:"重設"},LegacyTransfer:{sourceTitle:"來源",targetTitle:"目標"},Transfer:{selectAll:"全選",unselectAll:"取消全選",clearAll:"清除全部",total:e=>`共 ${e} 項`,selected:e=>`已選 ${e} 項`},Empty:{description:"無資料"},Select:{placeholder:"請選擇"},TimePicker:{placeholder:"請選擇時間",positiveText:"確定",negativeText:"取消",now:"現在",clear:"清除"},Pagination:{goto:"跳至",selectionSuffix:"頁"},DynamicTags:{add:"新增"},Log:{loading:"載入中"},Input:{placeholder:"請輸入"},InputNumber:{placeholder:"請輸入"},DynamicInput:{create:"新增"},ThemeEditor:{title:"主題編輯器",clearAllVars:"清除全部變數",clearSearch:"清除搜尋",filterCompName:"過濾組件名稱",filterVarName:"過濾變數名稱",import:"匯入",export:"匯出",restore:"恢復預設"},Image:{tipPrevious:"上一張(←)",tipNext:"下一張(→)",tipCounterclockwise:"向左旋轉",tipClockwise:"向右旋轉",tipZoomOut:"縮小",tipZoomIn:"放大",tipDownload:"下載",tipClose:"關閉(Esc)",tipOriginalSize:"縮放到原始尺寸"}},LF=DF,FF={name:"en-US",global:{undo:"Undo",redo:"Redo",confirm:"Confirm",clear:"Clear"},Popconfirm:{positiveText:"Confirm",negativeText:"Cancel"},Cascader:{placeholder:"Please Select",loading:"Loading",loadingRequiredMessage:e=>`Please load all ${e}'s descendants before checking it.`},Time:{dateFormat:"yyyy-MM-dd",dateTimeFormat:"yyyy-MM-dd HH:mm:ss"},DatePicker:{yearFormat:"yyyy",monthFormat:"MMM",dayFormat:"eeeeee",yearTypeFormat:"yyyy",monthTypeFormat:"yyyy-MM",dateFormat:"yyyy-MM-dd",dateTimeFormat:"yyyy-MM-dd HH:mm:ss",quarterFormat:"yyyy-qqq",weekFormat:"RRRR-w",clear:"Clear",now:"Now",confirm:"Confirm",selectTime:"Select Time",selectDate:"Select Date",datePlaceholder:"Select Date",datetimePlaceholder:"Select Date and Time",monthPlaceholder:"Select Month",yearPlaceholder:"Select Year",quarterPlaceholder:"Select Quarter",weekPlaceholder:"Select Week",startDatePlaceholder:"Start Date",endDatePlaceholder:"End Date",startDatetimePlaceholder:"Start Date and Time",endDatetimePlaceholder:"End Date and Time",startMonthPlaceholder:"Start Month",endMonthPlaceholder:"End Month",monthBeforeYear:!0,firstDayOfWeek:6,today:"Today"},DataTable:{checkTableAll:"Select all in the table",uncheckTableAll:"Unselect all in the table",confirm:"Confirm",clear:"Clear"},LegacyTransfer:{sourceTitle:"Source",targetTitle:"Target"},Transfer:{selectAll:"Select all",unselectAll:"Unselect all",clearAll:"Clear",total:e=>`Total ${e} items`,selected:e=>`${e} items selected`},Empty:{description:"No Data"},Select:{placeholder:"Please Select"},TimePicker:{placeholder:"Select Time",positiveText:"OK",negativeText:"Cancel",now:"Now",clear:"Clear"},Pagination:{goto:"Goto",selectionSuffix:"page"},DynamicTags:{add:"Add"},Log:{loading:"Loading"},Input:{placeholder:"Please Input"},InputNumber:{placeholder:"Please Input"},DynamicInput:{create:"Create"},ThemeEditor:{title:"Theme Editor",clearAllVars:"Clear All Variables",clearSearch:"Clear Search",filterCompName:"Filter Component Name",filterVarName:"Filter Variable Name",import:"Import",export:"Export",restore:"Reset to Default"},Image:{tipPrevious:"Previous picture (←)",tipNext:"Next picture (→)",tipCounterclockwise:"Counterclockwise",tipClockwise:"Clockwise",tipZoomOut:"Zoom out",tipZoomIn:"Zoom in",tipDownload:"Download",tipClose:"Close (Esc)",tipOriginalSize:"Zoom to original size"}},B_=FF,BF={name:"ja-JP",global:{undo:"元に戻す",redo:"やり直す",confirm:"OK",clear:"クリア"},Popconfirm:{positiveText:"OK",negativeText:"キャンセル"},Cascader:{placeholder:"選択してください",loading:"ロード中",loadingRequiredMessage:e=>`すべての ${e} サブノードをロードしてから選択できます。`},Time:{dateFormat:"yyyy-MM-dd",dateTimeFormat:"yyyy-MM-dd HH:mm:ss"},DatePicker:{yearFormat:"yyyy年",monthFormat:"MMM",dayFormat:"eeeeee",yearTypeFormat:"yyyy",monthTypeFormat:"yyyy-MM",dateFormat:"yyyy-MM-dd",dateTimeFormat:"yyyy-MM-dd HH:mm:ss",quarterFormat:"yyyy-qqq",weekFormat:"RRRR-w",clear:"クリア",now:"現在",confirm:"OK",selectTime:"時間を選択",selectDate:"日付を選択",datePlaceholder:"日付を選択",datetimePlaceholder:"選択",monthPlaceholder:"月を選択",yearPlaceholder:"年を選択",quarterPlaceholder:"四半期を選択",weekPlaceholder:"Select Week",startDatePlaceholder:"開始日",endDatePlaceholder:"終了日",startDatetimePlaceholder:"開始時間",endDatetimePlaceholder:"終了時間",startMonthPlaceholder:"開始月",endMonthPlaceholder:"終了月",monthBeforeYear:!1,firstDayOfWeek:0,today:"今日"},DataTable:{checkTableAll:"全選択",uncheckTableAll:"全選択取消",confirm:"OK",clear:"リセット"},LegacyTransfer:{sourceTitle:"元",targetTitle:"先"},Transfer:{selectAll:"全選択",unselectAll:"全選択取消",clearAll:"リセット",total:e=>`合計 ${e} 項目`,selected:e=>`${e} 個の項目を選択`},Empty:{description:"データなし"},Select:{placeholder:"選択してください"},TimePicker:{placeholder:"選択してください",positiveText:"OK",negativeText:"キャンセル",now:"現在",clear:"クリア"},Pagination:{goto:"ページジャンプ",selectionSuffix:"ページ"},DynamicTags:{add:"追加"},Log:{loading:"ロード中"},Input:{placeholder:"入力してください"},InputNumber:{placeholder:"入力してください"},DynamicInput:{create:"追加"},ThemeEditor:{title:"テーマエディタ",clearAllVars:"全件変数クリア",clearSearch:"検索クリア",filterCompName:"コンポネント名をフィルタ",filterVarName:"変数をフィルタ",import:"インポート",export:"エクスポート",restore:"デフォルト"},Image:{tipPrevious:"前の画像 (←)",tipNext:"次の画像 (→)",tipCounterclockwise:"左に回転",tipClockwise:"右に回転",tipZoomOut:"縮小",tipZoomIn:"拡大",tipDownload:"ダウンロード",tipClose:"閉じる (Esc)",tipOriginalSize:"元のサイズに戻す"}},NF=BF,HF={name:"ko-KR",global:{undo:"실행 취소",redo:"다시 실행",confirm:"확인",clear:"지우기"},Popconfirm:{positiveText:"확인",negativeText:"취소"},Cascader:{placeholder:"선택해 주세요",loading:"불러오는 중",loadingRequiredMessage:e=>`${e}의 모든 하위 항목을 불러온 뒤에 선택할 수 있습니다.`},Time:{dateFormat:"yyyy-MM-dd",dateTimeFormat:"yyyy-MM-dd HH:mm:ss"},DatePicker:{yearFormat:"yyyy년",monthFormat:"MMM",dayFormat:"eeeeee",yearTypeFormat:"yyyy",monthTypeFormat:"yyyy-MM",dateFormat:"yyyy-MM-dd",dateTimeFormat:"yyyy-MM-dd HH:mm:ss",quarterFormat:"yyyy-qqq",weekFormat:"RRRR-w",clear:"지우기",now:"현재",confirm:"확인",selectTime:"시간 선택",selectDate:"날짜 선택",datePlaceholder:"날짜 선택",datetimePlaceholder:"날짜 및 시간 선택",monthPlaceholder:"월 선택",yearPlaceholder:"년 선택",quarterPlaceholder:"분기 선택",weekPlaceholder:"Select Week",startDatePlaceholder:"시작 날짜",endDatePlaceholder:"종료 날짜",startDatetimePlaceholder:"시작 날짜 및 시간",endDatetimePlaceholder:"종료 날짜 및 시간",startMonthPlaceholder:"시작 월",endMonthPlaceholder:"종료 월",monthBeforeYear:!1,firstDayOfWeek:6,today:"오늘"},DataTable:{checkTableAll:"모두 선택",uncheckTableAll:"모두 선택 해제",confirm:"확인",clear:"지우기"},LegacyTransfer:{sourceTitle:"원본",targetTitle:"타깃"},Transfer:{selectAll:"전체 선택",unselectAll:"전체 해제",clearAll:"전체 삭제",total:e=>`총 ${e} 개`,selected:e=>`${e} 개 선택`},Empty:{description:"데이터 없음"},Select:{placeholder:"선택해 주세요"},TimePicker:{placeholder:"시간 선택",positiveText:"확인",negativeText:"취소",now:"현재 시간",clear:"지우기"},Pagination:{goto:"이동",selectionSuffix:"페이지"},DynamicTags:{add:"추가"},Log:{loading:"불러오는 중"},Input:{placeholder:"입력해 주세요"},InputNumber:{placeholder:"입력해 주세요"},DynamicInput:{create:"추가"},ThemeEditor:{title:"테마 편집기",clearAllVars:"모든 변수 지우기",clearSearch:"검색 지우기",filterCompName:"구성 요소 이름 필터",filterVarName:"변수 이름 필터",import:"가져오기",export:"내보내기",restore:"기본으로 재설정"},Image:{tipPrevious:"이전 (←)",tipNext:"다음 (→)",tipCounterclockwise:"시계 반대 방향으로 회전",tipClockwise:"시계 방향으로 회전",tipZoomOut:"축소",tipZoomIn:"확대",tipDownload:"다운로드",tipClose:"닫기 (Esc)",tipOriginalSize:"원본 크기로 확대"}},jF=HF,VF={name:"vi-VN",global:{undo:"Hoàn tác",redo:"Làm lại",confirm:"Xác nhận",clear:"xóa"},Popconfirm:{positiveText:"Xác nhận",negativeText:"Hủy"},Cascader:{placeholder:"Vui lòng chọn",loading:"Đang tải",loadingRequiredMessage:e=>`Vui lòng tải tất cả thông tin con của ${e} trước.`},Time:{dateFormat:"",dateTimeFormat:"HH:mm:ss dd-MM-yyyy"},DatePicker:{yearFormat:"yyyy",monthFormat:"MMM",dayFormat:"eeeeee",yearTypeFormat:"yyyy",monthTypeFormat:"MM-yyyy",dateFormat:"dd-MM-yyyy",dateTimeFormat:"HH:mm:ss dd-MM-yyyy",quarterFormat:"qqq-yyyy",weekFormat:"RRRR-w",clear:"Xóa",now:"Hôm nay",confirm:"Xác nhận",selectTime:"Chọn giờ",selectDate:"Chọn ngày",datePlaceholder:"Chọn ngày",datetimePlaceholder:"Chọn ngày giờ",monthPlaceholder:"Chọn tháng",yearPlaceholder:"Chọn năm",quarterPlaceholder:"Chọn quý",weekPlaceholder:"Select Week",startDatePlaceholder:"Ngày bắt đầu",endDatePlaceholder:"Ngày kết thúc",startDatetimePlaceholder:"Thời gian bắt đầu",endDatetimePlaceholder:"Thời gian kết thúc",startMonthPlaceholder:"Tháng bắt đầu",endMonthPlaceholder:"Tháng kết thúc",monthBeforeYear:!0,firstDayOfWeek:0,today:"Hôm nay"},DataTable:{checkTableAll:"Chọn tất cả có trong bảng",uncheckTableAll:"Bỏ chọn tất cả có trong bảng",confirm:"Xác nhận",clear:"Xóa"},LegacyTransfer:{sourceTitle:"Nguồn",targetTitle:"Đích"},Transfer:{selectAll:"Chọn tất cả",unselectAll:"Bỏ chọn tất cả",clearAll:"Xoá tất cả",total:e=>`Tổng cộng ${e} mục`,selected:e=>`${e} mục được chọn`},Empty:{description:"Không có dữ liệu"},Select:{placeholder:"Vui lòng chọn"},TimePicker:{placeholder:"Chọn thời gian",positiveText:"OK",negativeText:"Hủy",now:"Hiện tại",clear:"Xóa"},Pagination:{goto:"Đi đến trang",selectionSuffix:"trang"},DynamicTags:{add:"Thêm"},Log:{loading:"Đang tải"},Input:{placeholder:"Vui lòng nhập"},InputNumber:{placeholder:"Vui lòng nhập"},DynamicInput:{create:"Tạo"},ThemeEditor:{title:"Tùy chỉnh giao diện",clearAllVars:"Xóa tất cả các biến",clearSearch:"Xóa tìm kiếm",filterCompName:"Lọc tên component",filterVarName:"Lọc tên biến",import:"Nhập",export:"Xuất",restore:"Đặt lại mặc định"},Image:{tipPrevious:"Hình trước (←)",tipNext:"Hình tiếp (→)",tipCounterclockwise:"Counterclockwise",tipClockwise:"Chiều kim đồng hồ",tipZoomOut:"Thu nhỏ",tipZoomIn:"Phóng to",tipDownload:"Tải về",tipClose:"Đóng (Esc)",tipOriginalSize:"Xem kích thước gốc"}},WF=VF,UF={name:"fa-IR",global:{undo:"لغو انجام شده",redo:"انجام دوباره",confirm:"تأیید",clear:"پاک کردن"},Popconfirm:{positiveText:"تأیید",negativeText:"لغو"},Cascader:{placeholder:"لطفا انتخاب کنید",loading:"بارگذاری",loadingRequiredMessage:e=>`پس از بارگیری کامل زیرمجموعه های ${e} می توانید انتخاب کنید `},Time:{dateFormat:"yyyy/MM/dd",dateTimeFormat:"yyyy/MM/dd، H:mm:ss"},DatePicker:{yearFormat:"yyyy سال",monthFormat:"MMM",dayFormat:"eeeeee",yearTypeFormat:"yyyy",monthTypeFormat:"MM/yyyy",dateFormat:"yyyy/MM/dd",dateTimeFormat:"yyyy/MM/dd HH:mm:ss",quarterFormat:"سه ماهه yyyy",weekFormat:"RRRR-w",clear:"پاک کردن",now:"اکنون",confirm:"تأیید",selectTime:"انتخاب زمان",selectDate:"انتخاب تاریخ",datePlaceholder:"انتخاب تاریخ",datetimePlaceholder:"انتخاب تاریخ و زمان",monthPlaceholder:"انتخاب ماه",yearPlaceholder:"انتخاب سال",quarterPlaceholder:"انتخاب سه‌ماهه",weekPlaceholder:"Select Week",startDatePlaceholder:"تاریخ شروع",endDatePlaceholder:"تاریخ پایان",startDatetimePlaceholder:"زمان شروع",endDatetimePlaceholder:"زمان پایان",startMonthPlaceholder:"ماه شروع",endMonthPlaceholder:"ماه پایان",monthBeforeYear:!1,firstDayOfWeek:6,today:"امروز"},DataTable:{checkTableAll:"انتخاب همه داده‌های جدول",uncheckTableAll:"عدم انتخاب همه داده‌های جدول",confirm:"تأیید",clear:"تنظیم مجدد"},LegacyTransfer:{sourceTitle:"آیتم منبع",targetTitle:"آیتم مقصد"},Transfer:{selectAll:"انتخاب همه",clearAll:"حذف همه",unselectAll:"عدم انتخاب همه",total:e=>`کل ${e} مورد`,selected:e=>`انتخاب شده ${e} مورد`},Empty:{description:"اطلاعاتی وجود ندارد"},Select:{placeholder:"لطفاً انتخاب کنید"},TimePicker:{placeholder:"لطفاً زمان مورد نظر را انتخاب کنید",positiveText:"تأیید",negativeText:"لغو",now:"همین الان",clear:"پاک کردن"},Pagination:{goto:"رفتن به صفحه",selectionSuffix:"صفحه"},DynamicTags:{add:"افزودن"},Log:{loading:"در حال بارگذاری"},Input:{placeholder:"لطفاً وارد کنید"},InputNumber:{placeholder:"لطفاً وارد کنید"},DynamicInput:{create:"افزودن"},ThemeEditor:{title:"ویرایشگر پوسته",clearAllVars:"پاک کردن همه متغیرها",clearSearch:"پاک کردن جستجو",filterCompName:"فیلتر نام کامپوننت",filterVarName:"فیلتر نام متغیر",import:"ورود",export:"خروج",restore:"بازگردانی به حالت پیش‌فرض"},Image:{tipPrevious:"تصویر قبلی (←)",tipNext:"تصویر بعدی (→)",tipCounterclockwise:"چرخش به سمت چپ",tipClockwise:"چرخش به سمت راست",tipZoomOut:"کوچک نمایی تصویر",tipZoomIn:"بزرگ نمایی تصویر",tipDownload:"بارگیری",tipClose:"بستن (Esc)",tipOriginalSize:"اندازه اصلی تصویر"}},qF=UF;var KF={lessThanXSeconds:{one:"不到 1 秒",other:"不到 {{count}} 秒"},xSeconds:{one:"1 秒",other:"{{count}} 秒"},halfAMinute:"半分钟",lessThanXMinutes:{one:"不到 1 分钟",other:"不到 {{count}} 分钟"},xMinutes:{one:"1 分钟",other:"{{count}} 分钟"},xHours:{one:"1 小时",other:"{{count}} 小时"},aboutXHours:{one:"大约 1 小时",other:"大约 {{count}} 小时"},xDays:{one:"1 天",other:"{{count}} 天"},aboutXWeeks:{one:"大约 1 个星期",other:"大约 {{count}} 个星期"},xWeeks:{one:"1 个星期",other:"{{count}} 个星期"},aboutXMonths:{one:"大约 1 个月",other:"大约 {{count}} 个月"},xMonths:{one:"1 个月",other:"{{count}} 个月"},aboutXYears:{one:"大约 1 年",other:"大约 {{count}} 年"},xYears:{one:"1 年",other:"{{count}} 年"},overXYears:{one:"超过 1 年",other:"超过 {{count}} 年"},almostXYears:{one:"将近 1 年",other:"将近 {{count}} 年"}},GF=function(t,n,o){var r,i=KF[t];return typeof i=="string"?r=i:n===1?r=i.one:r=i.other.replace("{{count}}",String(n)),o!=null&&o.addSuffix?o.comparison&&o.comparison>0?r+"内":r+"前":r};const YF=GF;function Dn(e){return function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=t.width?String(t.width):e.defaultWidth,o=e.formats[n]||e.formats[e.defaultWidth];return o}}var XF={full:"y'年'M'月'd'日' EEEE",long:"y'年'M'月'd'日'",medium:"yyyy-MM-dd",short:"yy-MM-dd"},ZF={full:"zzzz a h:mm:ss",long:"z a h:mm:ss",medium:"a h:mm:ss",short:"a h:mm"},JF={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},QF={date:Dn({formats:XF,defaultWidth:"full"}),time:Dn({formats:ZF,defaultWidth:"full"}),dateTime:Dn({formats:JF,defaultWidth:"full"})};const e9=QF;function dm(e,t){if(t.length1?"s":"")+" required, but only "+t.length+" present")}function zh(e){"@babel/helpers - typeof";return zh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},zh(e)}function t9(e){dm(1,arguments);var t=Object.prototype.toString.call(e);return e instanceof Date||zh(e)==="object"&&t==="[object Date]"?new Date(e.getTime()):typeof e=="number"||t==="[object Number]"?new Date(e):((typeof e=="string"||t==="[object String]")&&typeof console<"u"&&(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"),console.warn(new Error().stack)),new Date(NaN))}function n9(e){if(e===null||e===!0||e===!1)return NaN;var t=Number(e);return isNaN(t)?t:t<0?Math.ceil(t):Math.floor(t)}var o9={};function r9(){return o9}function O0(e,t){var n,o,r,i,a,s,l,c;dm(1,arguments);var u=r9(),d=n9((n=(o=(r=(i=t==null?void 0:t.weekStartsOn)!==null&&i!==void 0?i:t==null||(a=t.locale)===null||a===void 0||(s=a.options)===null||s===void 0?void 0:s.weekStartsOn)!==null&&r!==void 0?r:u.weekStartsOn)!==null&&o!==void 0?o:(l=u.locale)===null||l===void 0||(c=l.options)===null||c===void 0?void 0:c.weekStartsOn)!==null&&n!==void 0?n:0);if(!(d>=0&&d<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var f=t9(e),h=f.getUTCDay(),p=(ht.getTime()?"'下个'"+o:"'上个'"+o}var a9={lastWeek:M0,yesterday:"'昨天' p",today:"'今天' p",tomorrow:"'明天' p",nextWeek:M0,other:"PP p"},s9=function(t,n,o,r){var i=a9[t];return typeof i=="function"?i(n,o,r):i};const l9=s9;function Qt(e){return function(t,n){var o=n!=null&&n.context?String(n.context):"standalone",r;if(o==="formatting"&&e.formattingValues){var i=e.defaultFormattingWidth||e.defaultWidth,a=n!=null&&n.width?String(n.width):i;r=e.formattingValues[a]||e.formattingValues[i]}else{var s=e.defaultWidth,l=n!=null&&n.width?String(n.width):e.defaultWidth;r=e.values[l]||e.values[s]}var c=e.argumentCallback?e.argumentCallback(t):t;return r[c]}}var c9={narrow:["前","公元"],abbreviated:["前","公元"],wide:["公元前","公元"]},u9={narrow:["1","2","3","4"],abbreviated:["第一季","第二季","第三季","第四季"],wide:["第一季度","第二季度","第三季度","第四季度"]},d9={narrow:["一","二","三","四","五","六","七","八","九","十","十一","十二"],abbreviated:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],wide:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},f9={narrow:["日","一","二","三","四","五","六"],short:["日","一","二","三","四","五","六"],abbreviated:["周日","周一","周二","周三","周四","周五","周六"],wide:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},h9={narrow:{am:"上",pm:"下",midnight:"凌晨",noon:"午",morning:"早",afternoon:"下午",evening:"晚",night:"夜"},abbreviated:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"},wide:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"}},p9={narrow:{am:"上",pm:"下",midnight:"凌晨",noon:"午",morning:"早",afternoon:"下午",evening:"晚",night:"夜"},abbreviated:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"},wide:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"}},m9=function(t,n){var o=Number(t);switch(n==null?void 0:n.unit){case"date":return o.toString()+"日";case"hour":return o.toString()+"时";case"minute":return o.toString()+"分";case"second":return o.toString()+"秒";default:return"第 "+o.toString()}},g9={ordinalNumber:m9,era:Qt({values:c9,defaultWidth:"wide"}),quarter:Qt({values:u9,defaultWidth:"wide",argumentCallback:function(t){return t-1}}),month:Qt({values:d9,defaultWidth:"wide"}),day:Qt({values:f9,defaultWidth:"wide"}),dayPeriod:Qt({values:h9,defaultWidth:"wide",formattingValues:p9,defaultFormattingWidth:"wide"})};const v9=g9;function en(e){return function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=n.width,r=o&&e.matchPatterns[o]||e.matchPatterns[e.defaultMatchWidth],i=t.match(r);if(!i)return null;var a=i[0],s=o&&e.parsePatterns[o]||e.parsePatterns[e.defaultParseWidth],l=Array.isArray(s)?y9(s,function(d){return d.test(a)}):b9(s,function(d){return d.test(a)}),c;c=e.valueCallback?e.valueCallback(l):l,c=n.valueCallback?n.valueCallback(c):c;var u=t.slice(a.length);return{value:c,rest:u}}}function b9(e,t){for(var n in e)if(e.hasOwnProperty(n)&&t(e[n]))return n}function y9(e,t){for(var n=0;n1&&arguments[1]!==void 0?arguments[1]:{},o=t.match(e.matchPattern);if(!o)return null;var r=o[0],i=t.match(e.parsePattern);if(!i)return null;var a=e.valueCallback?e.valueCallback(i[0]):i[0];a=n.valueCallback?n.valueCallback(a):a;var s=t.slice(r.length);return{value:a,rest:s}}}var x9=/^(第\s*)?\d+(日|时|分|秒)?/i,C9=/\d+/i,w9={narrow:/^(前)/i,abbreviated:/^(前)/i,wide:/^(公元前|公元)/i},_9={any:[/^(前)/i,/^(公元)/i]},S9={narrow:/^[1234]/i,abbreviated:/^第[一二三四]刻/i,wide:/^第[一二三四]刻钟/i},k9={any:[/(1|一)/i,/(2|二)/i,/(3|三)/i,/(4|四)/i]},P9={narrow:/^(一|二|三|四|五|六|七|八|九|十[二一])/i,abbreviated:/^(一|二|三|四|五|六|七|八|九|十[二一]|\d|1[12])月/i,wide:/^(一|二|三|四|五|六|七|八|九|十[二一])月/i},T9={narrow:[/^一/i,/^二/i,/^三/i,/^四/i,/^五/i,/^六/i,/^七/i,/^八/i,/^九/i,/^十(?!(一|二))/i,/^十一/i,/^十二/i],any:[/^一|1/i,/^二|2/i,/^三|3/i,/^四|4/i,/^五|5/i,/^六|6/i,/^七|7/i,/^八|8/i,/^九|9/i,/^十(?!(一|二))|10/i,/^十一|11/i,/^十二|12/i]},R9={narrow:/^[一二三四五六日]/i,short:/^[一二三四五六日]/i,abbreviated:/^周[一二三四五六日]/i,wide:/^星期[一二三四五六日]/i},E9={any:[/日/i,/一/i,/二/i,/三/i,/四/i,/五/i,/六/i]},$9={any:/^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨|)/i},A9={any:{am:/^上午?/i,pm:/^下午?/i,midnight:/^午夜/i,noon:/^[中正]午/i,morning:/^早上/i,afternoon:/^下午/i,evening:/^晚上?/i,night:/^凌晨/i}},I9={ordinalNumber:ul({matchPattern:x9,parsePattern:C9,valueCallback:function(t){return parseInt(t,10)}}),era:en({matchPatterns:w9,defaultMatchWidth:"wide",parsePatterns:_9,defaultParseWidth:"any"}),quarter:en({matchPatterns:S9,defaultMatchWidth:"wide",parsePatterns:k9,defaultParseWidth:"any",valueCallback:function(t){return t+1}}),month:en({matchPatterns:P9,defaultMatchWidth:"wide",parsePatterns:T9,defaultParseWidth:"any"}),day:en({matchPatterns:R9,defaultMatchWidth:"wide",parsePatterns:E9,defaultParseWidth:"any"}),dayPeriod:en({matchPatterns:$9,defaultMatchWidth:"any",parsePatterns:A9,defaultParseWidth:"any"})};const O9=I9;var M9={code:"zh-CN",formatDistance:YF,formatLong:e9,formatRelative:l9,localize:v9,match:O9,options:{weekStartsOn:1,firstWeekContainsDate:4}};const N_=M9,z9={name:"zh-CN",locale:N_},z0=z9;var D9={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},L9=function(t,n,o){var r,i=D9[t];return typeof i=="string"?r=i:n===1?r=i.one:r=i.other.replace("{{count}}",n.toString()),o!=null&&o.addSuffix?o.comparison&&o.comparison>0?"in "+r:r+" ago":r};const F9=L9;var B9={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},N9={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},H9={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},j9={date:Dn({formats:B9,defaultWidth:"full"}),time:Dn({formats:N9,defaultWidth:"full"}),dateTime:Dn({formats:H9,defaultWidth:"full"})};const V9=j9;var W9={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},U9=function(t,n,o,r){return W9[t]};const q9=U9;var K9={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},G9={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},Y9={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},X9={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},Z9={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},J9={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},Q9=function(t,n){var o=Number(t),r=o%100;if(r>20||r<10)switch(r%10){case 1:return o+"st";case 2:return o+"nd";case 3:return o+"rd"}return o+"th"},e7={ordinalNumber:Q9,era:Qt({values:K9,defaultWidth:"wide"}),quarter:Qt({values:G9,defaultWidth:"wide",argumentCallback:function(t){return t-1}}),month:Qt({values:Y9,defaultWidth:"wide"}),day:Qt({values:X9,defaultWidth:"wide"}),dayPeriod:Qt({values:Z9,defaultWidth:"wide",formattingValues:J9,defaultFormattingWidth:"wide"})};const t7=e7;var n7=/^(\d+)(th|st|nd|rd)?/i,o7=/\d+/i,r7={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},i7={any:[/^b/i,/^(a|c)/i]},a7={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},s7={any:[/1/i,/2/i,/3/i,/4/i]},l7={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},c7={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},u7={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},d7={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},f7={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},h7={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},p7={ordinalNumber:ul({matchPattern:n7,parsePattern:o7,valueCallback:function(t){return parseInt(t,10)}}),era:en({matchPatterns:r7,defaultMatchWidth:"wide",parsePatterns:i7,defaultParseWidth:"any"}),quarter:en({matchPatterns:a7,defaultMatchWidth:"wide",parsePatterns:s7,defaultParseWidth:"any",valueCallback:function(t){return t+1}}),month:en({matchPatterns:l7,defaultMatchWidth:"wide",parsePatterns:c7,defaultParseWidth:"any"}),day:en({matchPatterns:u7,defaultMatchWidth:"wide",parsePatterns:d7,defaultParseWidth:"any"}),dayPeriod:en({matchPatterns:f7,defaultMatchWidth:"any",parsePatterns:h7,defaultParseWidth:"any"})};const m7=p7;var g7={code:"en-US",formatDistance:F9,formatLong:V9,formatRelative:q9,localize:t7,match:m7,options:{weekStartsOn:0,firstWeekContainsDate:1}};const v7=g7,b7={name:"en-US",locale:v7},H_=b7;var y7={lessThanXSeconds:{one:"1秒未満",other:"{{count}}秒未満",oneWithSuffix:"約1秒",otherWithSuffix:"約{{count}}秒"},xSeconds:{one:"1秒",other:"{{count}}秒"},halfAMinute:"30秒",lessThanXMinutes:{one:"1分未満",other:"{{count}}分未満",oneWithSuffix:"約1分",otherWithSuffix:"約{{count}}分"},xMinutes:{one:"1分",other:"{{count}}分"},aboutXHours:{one:"約1時間",other:"約{{count}}時間"},xHours:{one:"1時間",other:"{{count}}時間"},xDays:{one:"1日",other:"{{count}}日"},aboutXWeeks:{one:"約1週間",other:"約{{count}}週間"},xWeeks:{one:"1週間",other:"{{count}}週間"},aboutXMonths:{one:"約1か月",other:"約{{count}}か月"},xMonths:{one:"1か月",other:"{{count}}か月"},aboutXYears:{one:"約1年",other:"約{{count}}年"},xYears:{one:"1年",other:"{{count}}年"},overXYears:{one:"1年以上",other:"{{count}}年以上"},almostXYears:{one:"1年近く",other:"{{count}}年近く"}},x7=function(t,n,o){o=o||{};var r,i=y7[t];return typeof i=="string"?r=i:n===1?o.addSuffix&&i.oneWithSuffix?r=i.oneWithSuffix:r=i.one:o.addSuffix&&i.otherWithSuffix?r=i.otherWithSuffix.replace("{{count}}",String(n)):r=i.other.replace("{{count}}",String(n)),o.addSuffix?o.comparison&&o.comparison>0?r+"後":r+"前":r};const C7=x7;var w7={full:"y年M月d日EEEE",long:"y年M月d日",medium:"y/MM/dd",short:"y/MM/dd"},_7={full:"H時mm分ss秒 zzzz",long:"H:mm:ss z",medium:"H:mm:ss",short:"H:mm"},S7={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},k7={date:Dn({formats:w7,defaultWidth:"full"}),time:Dn({formats:_7,defaultWidth:"full"}),dateTime:Dn({formats:S7,defaultWidth:"full"})};const P7=k7;var T7={lastWeek:"先週のeeeeのp",yesterday:"昨日のp",today:"今日のp",tomorrow:"明日のp",nextWeek:"翌週のeeeeのp",other:"P"},R7=function(t,n,o,r){return T7[t]};const E7=R7;var $7={narrow:["BC","AC"],abbreviated:["紀元前","西暦"],wide:["紀元前","西暦"]},A7={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["第1四半期","第2四半期","第3四半期","第4四半期"]},I7={narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],abbreviated:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],wide:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"]},O7={narrow:["日","月","火","水","木","金","土"],short:["日","月","火","水","木","金","土"],abbreviated:["日","月","火","水","木","金","土"],wide:["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"]},M7={narrow:{am:"午前",pm:"午後",midnight:"深夜",noon:"正午",morning:"朝",afternoon:"午後",evening:"夜",night:"深夜"},abbreviated:{am:"午前",pm:"午後",midnight:"深夜",noon:"正午",morning:"朝",afternoon:"午後",evening:"夜",night:"深夜"},wide:{am:"午前",pm:"午後",midnight:"深夜",noon:"正午",morning:"朝",afternoon:"午後",evening:"夜",night:"深夜"}},z7={narrow:{am:"午前",pm:"午後",midnight:"深夜",noon:"正午",morning:"朝",afternoon:"午後",evening:"夜",night:"深夜"},abbreviated:{am:"午前",pm:"午後",midnight:"深夜",noon:"正午",morning:"朝",afternoon:"午後",evening:"夜",night:"深夜"},wide:{am:"午前",pm:"午後",midnight:"深夜",noon:"正午",morning:"朝",afternoon:"午後",evening:"夜",night:"深夜"}},D7=function(t,n){var o=Number(t),r=String(n==null?void 0:n.unit);switch(r){case"year":return"".concat(o,"年");case"quarter":return"第".concat(o,"四半期");case"month":return"".concat(o,"月");case"week":return"第".concat(o,"週");case"date":return"".concat(o,"日");case"hour":return"".concat(o,"時");case"minute":return"".concat(o,"分");case"second":return"".concat(o,"秒");default:return"".concat(o)}},L7={ordinalNumber:D7,era:Qt({values:$7,defaultWidth:"wide"}),quarter:Qt({values:A7,defaultWidth:"wide",argumentCallback:function(t){return Number(t)-1}}),month:Qt({values:I7,defaultWidth:"wide"}),day:Qt({values:O7,defaultWidth:"wide"}),dayPeriod:Qt({values:M7,defaultWidth:"wide",formattingValues:z7,defaultFormattingWidth:"wide"})};const F7=L7;var B7=/^第?\d+(年|四半期|月|週|日|時|分|秒)?/i,N7=/\d+/i,H7={narrow:/^(B\.?C\.?|A\.?D\.?)/i,abbreviated:/^(紀元[前後]|西暦)/i,wide:/^(紀元[前後]|西暦)/i},j7={narrow:[/^B/i,/^A/i],any:[/^(紀元前)/i,/^(西暦|紀元後)/i]},V7={narrow:/^[1234]/i,abbreviated:/^Q[1234]/i,wide:/^第[1234一二三四1234]四半期/i},W7={any:[/(1|一|1)/i,/(2|二|2)/i,/(3|三|3)/i,/(4|四|4)/i]},U7={narrow:/^([123456789]|1[012])/,abbreviated:/^([123456789]|1[012])月/i,wide:/^([123456789]|1[012])月/i},q7={any:[/^1\D/,/^2/,/^3/,/^4/,/^5/,/^6/,/^7/,/^8/,/^9/,/^10/,/^11/,/^12/]},K7={narrow:/^[日月火水木金土]/,short:/^[日月火水木金土]/,abbreviated:/^[日月火水木金土]/,wide:/^[日月火水木金土]曜日/},G7={any:[/^日/,/^月/,/^火/,/^水/,/^木/,/^金/,/^土/]},Y7={any:/^(AM|PM|午前|午後|正午|深夜|真夜中|夜|朝)/i},X7={any:{am:/^(A|午前)/i,pm:/^(P|午後)/i,midnight:/^深夜|真夜中/i,noon:/^正午/i,morning:/^朝/i,afternoon:/^午後/i,evening:/^夜/i,night:/^深夜/i}},Z7={ordinalNumber:ul({matchPattern:B7,parsePattern:N7,valueCallback:function(t){return parseInt(t,10)}}),era:en({matchPatterns:H7,defaultMatchWidth:"wide",parsePatterns:j7,defaultParseWidth:"any"}),quarter:en({matchPatterns:V7,defaultMatchWidth:"wide",parsePatterns:W7,defaultParseWidth:"any",valueCallback:function(t){return t+1}}),month:en({matchPatterns:U7,defaultMatchWidth:"wide",parsePatterns:q7,defaultParseWidth:"any"}),day:en({matchPatterns:K7,defaultMatchWidth:"wide",parsePatterns:G7,defaultParseWidth:"any"}),dayPeriod:en({matchPatterns:Y7,defaultMatchWidth:"any",parsePatterns:X7,defaultParseWidth:"any"})};const J7=Z7;var Q7={code:"ja",formatDistance:C7,formatLong:P7,formatRelative:E7,localize:F7,match:J7,options:{weekStartsOn:0,firstWeekContainsDate:1}};const eB=Q7,tB={name:"ja-JP",locale:eB},nB=tB;var oB={lessThanXSeconds:{one:"1초 미만",other:"{{count}}초 미만"},xSeconds:{one:"1초",other:"{{count}}초"},halfAMinute:"30초",lessThanXMinutes:{one:"1분 미만",other:"{{count}}분 미만"},xMinutes:{one:"1분",other:"{{count}}분"},aboutXHours:{one:"약 1시간",other:"약 {{count}}시간"},xHours:{one:"1시간",other:"{{count}}시간"},xDays:{one:"1일",other:"{{count}}일"},aboutXWeeks:{one:"약 1주",other:"약 {{count}}주"},xWeeks:{one:"1주",other:"{{count}}주"},aboutXMonths:{one:"약 1개월",other:"약 {{count}}개월"},xMonths:{one:"1개월",other:"{{count}}개월"},aboutXYears:{one:"약 1년",other:"약 {{count}}년"},xYears:{one:"1년",other:"{{count}}년"},overXYears:{one:"1년 이상",other:"{{count}}년 이상"},almostXYears:{one:"거의 1년",other:"거의 {{count}}년"}},rB=function(t,n,o){var r,i=oB[t];return typeof i=="string"?r=i:n===1?r=i.one:r=i.other.replace("{{count}}",n.toString()),o!=null&&o.addSuffix?o.comparison&&o.comparison>0?r+" 후":r+" 전":r};const iB=rB;var aB={full:"y년 M월 d일 EEEE",long:"y년 M월 d일",medium:"y.MM.dd",short:"y.MM.dd"},sB={full:"a H시 mm분 ss초 zzzz",long:"a H:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},lB={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},cB={date:Dn({formats:aB,defaultWidth:"full"}),time:Dn({formats:sB,defaultWidth:"full"}),dateTime:Dn({formats:lB,defaultWidth:"full"})};const uB=cB;var dB={lastWeek:"'지난' eeee p",yesterday:"'어제' p",today:"'오늘' p",tomorrow:"'내일' p",nextWeek:"'다음' eeee p",other:"P"},fB=function(t,n,o,r){return dB[t]};const hB=fB;var pB={narrow:["BC","AD"],abbreviated:["BC","AD"],wide:["기원전","서기"]},mB={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1분기","2분기","3분기","4분기"]},gB={narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],abbreviated:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],wide:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"]},vB={narrow:["일","월","화","수","목","금","토"],short:["일","월","화","수","목","금","토"],abbreviated:["일","월","화","수","목","금","토"],wide:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"]},bB={narrow:{am:"오전",pm:"오후",midnight:"자정",noon:"정오",morning:"아침",afternoon:"오후",evening:"저녁",night:"밤"},abbreviated:{am:"오전",pm:"오후",midnight:"자정",noon:"정오",morning:"아침",afternoon:"오후",evening:"저녁",night:"밤"},wide:{am:"오전",pm:"오후",midnight:"자정",noon:"정오",morning:"아침",afternoon:"오후",evening:"저녁",night:"밤"}},yB={narrow:{am:"오전",pm:"오후",midnight:"자정",noon:"정오",morning:"아침",afternoon:"오후",evening:"저녁",night:"밤"},abbreviated:{am:"오전",pm:"오후",midnight:"자정",noon:"정오",morning:"아침",afternoon:"오후",evening:"저녁",night:"밤"},wide:{am:"오전",pm:"오후",midnight:"자정",noon:"정오",morning:"아침",afternoon:"오후",evening:"저녁",night:"밤"}},xB=function(t,n){var o=Number(t),r=String(n==null?void 0:n.unit);switch(r){case"minute":case"second":return String(o);case"date":return o+"일";default:return o+"번째"}},CB={ordinalNumber:xB,era:Qt({values:pB,defaultWidth:"wide"}),quarter:Qt({values:mB,defaultWidth:"wide",argumentCallback:function(t){return t-1}}),month:Qt({values:gB,defaultWidth:"wide"}),day:Qt({values:vB,defaultWidth:"wide"}),dayPeriod:Qt({values:bB,defaultWidth:"wide",formattingValues:yB,defaultFormattingWidth:"wide"})};const wB=CB;var _B=/^(\d+)(일|번째)?/i,SB=/\d+/i,kB={narrow:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(기원전|서기)/i},PB={any:[/^(bc|기원전)/i,/^(ad|서기)/i]},TB={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234]사?분기/i},RB={any:[/1/i,/2/i,/3/i,/4/i]},EB={narrow:/^(1[012]|[123456789])/,abbreviated:/^(1[012]|[123456789])월/i,wide:/^(1[012]|[123456789])월/i},$B={any:[/^1월?$/,/^2/,/^3/,/^4/,/^5/,/^6/,/^7/,/^8/,/^9/,/^10/,/^11/,/^12/]},AB={narrow:/^[일월화수목금토]/,short:/^[일월화수목금토]/,abbreviated:/^[일월화수목금토]/,wide:/^[일월화수목금토]요일/},IB={any:[/^일/,/^월/,/^화/,/^수/,/^목/,/^금/,/^토/]},OB={any:/^(am|pm|오전|오후|자정|정오|아침|저녁|밤)/i},MB={any:{am:/^(am|오전)/i,pm:/^(pm|오후)/i,midnight:/^자정/i,noon:/^정오/i,morning:/^아침/i,afternoon:/^오후/i,evening:/^저녁/i,night:/^밤/i}},zB={ordinalNumber:ul({matchPattern:_B,parsePattern:SB,valueCallback:function(t){return parseInt(t,10)}}),era:en({matchPatterns:kB,defaultMatchWidth:"wide",parsePatterns:PB,defaultParseWidth:"any"}),quarter:en({matchPatterns:TB,defaultMatchWidth:"wide",parsePatterns:RB,defaultParseWidth:"any",valueCallback:function(t){return t+1}}),month:en({matchPatterns:EB,defaultMatchWidth:"wide",parsePatterns:$B,defaultParseWidth:"any"}),day:en({matchPatterns:AB,defaultMatchWidth:"wide",parsePatterns:IB,defaultParseWidth:"any"}),dayPeriod:en({matchPatterns:OB,defaultMatchWidth:"any",parsePatterns:MB,defaultParseWidth:"any"})};const DB=zB;var LB={code:"ko",formatDistance:iB,formatLong:uB,formatRelative:hB,localize:wB,match:DB,options:{weekStartsOn:0,firstWeekContainsDate:1}};const FB=LB,BB={name:"ko-KR",locale:FB},NB=BB;var HB={lessThanXSeconds:{one:"dưới 1 giây",other:"dưới {{count}} giây"},xSeconds:{one:"1 giây",other:"{{count}} giây"},halfAMinute:"nửa phút",lessThanXMinutes:{one:"dưới 1 phút",other:"dưới {{count}} phút"},xMinutes:{one:"1 phút",other:"{{count}} phút"},aboutXHours:{one:"khoảng 1 giờ",other:"khoảng {{count}} giờ"},xHours:{one:"1 giờ",other:"{{count}} giờ"},xDays:{one:"1 ngày",other:"{{count}} ngày"},aboutXWeeks:{one:"khoảng 1 tuần",other:"khoảng {{count}} tuần"},xWeeks:{one:"1 tuần",other:"{{count}} tuần"},aboutXMonths:{one:"khoảng 1 tháng",other:"khoảng {{count}} tháng"},xMonths:{one:"1 tháng",other:"{{count}} tháng"},aboutXYears:{one:"khoảng 1 năm",other:"khoảng {{count}} năm"},xYears:{one:"1 năm",other:"{{count}} năm"},overXYears:{one:"hơn 1 năm",other:"hơn {{count}} năm"},almostXYears:{one:"gần 1 năm",other:"gần {{count}} năm"}},jB=function(t,n,o){var r,i=HB[t];return typeof i=="string"?r=i:n===1?r=i.one:r=i.other.replace("{{count}}",String(n)),o!=null&&o.addSuffix?o.comparison&&o.comparison>0?r+" nữa":r+" trước":r};const VB=jB;var WB={full:"EEEE, 'ngày' d MMMM 'năm' y",long:"'ngày' d MMMM 'năm' y",medium:"d MMM 'năm' y",short:"dd/MM/y"},UB={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},qB={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},KB={date:Dn({formats:WB,defaultWidth:"full"}),time:Dn({formats:UB,defaultWidth:"full"}),dateTime:Dn({formats:qB,defaultWidth:"full"})};const GB=KB;var YB={lastWeek:"eeee 'tuần trước vào lúc' p",yesterday:"'hôm qua vào lúc' p",today:"'hôm nay vào lúc' p",tomorrow:"'ngày mai vào lúc' p",nextWeek:"eeee 'tới vào lúc' p",other:"P"},XB=function(t,n,o,r){return YB[t]};const ZB=XB;var JB={narrow:["TCN","SCN"],abbreviated:["trước CN","sau CN"],wide:["trước Công Nguyên","sau Công Nguyên"]},QB={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["Quý 1","Quý 2","Quý 3","Quý 4"]},eN={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["quý I","quý II","quý III","quý IV"]},tN={narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],abbreviated:["Thg 1","Thg 2","Thg 3","Thg 4","Thg 5","Thg 6","Thg 7","Thg 8","Thg 9","Thg 10","Thg 11","Thg 12"],wide:["Tháng Một","Tháng Hai","Tháng Ba","Tháng Tư","Tháng Năm","Tháng Sáu","Tháng Bảy","Tháng Tám","Tháng Chín","Tháng Mười","Tháng Mười Một","Tháng Mười Hai"]},nN={narrow:["01","02","03","04","05","06","07","08","09","10","11","12"],abbreviated:["thg 1","thg 2","thg 3","thg 4","thg 5","thg 6","thg 7","thg 8","thg 9","thg 10","thg 11","thg 12"],wide:["tháng 01","tháng 02","tháng 03","tháng 04","tháng 05","tháng 06","tháng 07","tháng 08","tháng 09","tháng 10","tháng 11","tháng 12"]},oN={narrow:["CN","T2","T3","T4","T5","T6","T7"],short:["CN","Th 2","Th 3","Th 4","Th 5","Th 6","Th 7"],abbreviated:["CN","Thứ 2","Thứ 3","Thứ 4","Thứ 5","Thứ 6","Thứ 7"],wide:["Chủ Nhật","Thứ Hai","Thứ Ba","Thứ Tư","Thứ Năm","Thứ Sáu","Thứ Bảy"]},rN={narrow:{am:"am",pm:"pm",midnight:"nửa đêm",noon:"tr",morning:"sg",afternoon:"ch",evening:"tối",night:"đêm"},abbreviated:{am:"AM",pm:"PM",midnight:"nửa đêm",noon:"trưa",morning:"sáng",afternoon:"chiều",evening:"tối",night:"đêm"},wide:{am:"SA",pm:"CH",midnight:"nửa đêm",noon:"trưa",morning:"sáng",afternoon:"chiều",evening:"tối",night:"đêm"}},iN={narrow:{am:"am",pm:"pm",midnight:"nửa đêm",noon:"tr",morning:"sg",afternoon:"ch",evening:"tối",night:"đêm"},abbreviated:{am:"AM",pm:"PM",midnight:"nửa đêm",noon:"trưa",morning:"sáng",afternoon:"chiều",evening:"tối",night:"đêm"},wide:{am:"SA",pm:"CH",midnight:"nửa đêm",noon:"giữa trưa",morning:"vào buổi sáng",afternoon:"vào buổi chiều",evening:"vào buổi tối",night:"vào ban đêm"}},aN=function(t,n){var o=Number(t),r=n==null?void 0:n.unit;if(r==="quarter")switch(o){case 1:return"I";case 2:return"II";case 3:return"III";case 4:return"IV"}else if(r==="day")switch(o){case 1:return"thứ 2";case 2:return"thứ 3";case 3:return"thứ 4";case 4:return"thứ 5";case 5:return"thứ 6";case 6:return"thứ 7";case 7:return"chủ nhật"}else{if(r==="week")return o===1?"thứ nhất":"thứ "+o;if(r==="dayOfYear")return o===1?"đầu tiên":"thứ "+o}return String(o)},sN={ordinalNumber:aN,era:Qt({values:JB,defaultWidth:"wide"}),quarter:Qt({values:QB,defaultWidth:"wide",formattingValues:eN,defaultFormattingWidth:"wide",argumentCallback:function(t){return t-1}}),month:Qt({values:tN,defaultWidth:"wide",formattingValues:nN,defaultFormattingWidth:"wide"}),day:Qt({values:oN,defaultWidth:"wide"}),dayPeriod:Qt({values:rN,defaultWidth:"wide",formattingValues:iN,defaultFormattingWidth:"wide"})};const lN=sN;var cN=/^(\d+)/i,uN=/\d+/i,dN={narrow:/^(tcn|scn)/i,abbreviated:/^(trước CN|sau CN)/i,wide:/^(trước Công Nguyên|sau Công Nguyên)/i},fN={any:[/^t/i,/^s/i]},hN={narrow:/^([1234]|i{1,3}v?)/i,abbreviated:/^q([1234]|i{1,3}v?)/i,wide:/^quý ([1234]|i{1,3}v?)/i},pN={any:[/(1|i)$/i,/(2|ii)$/i,/(3|iii)$/i,/(4|iv)$/i]},mN={narrow:/^(0?[2-9]|10|11|12|0?1)/i,abbreviated:/^thg[ _]?(0?[1-9](?!\d)|10|11|12)/i,wide:/^tháng ?(Một|Hai|Ba|Tư|Năm|Sáu|Bảy|Tám|Chín|Mười|Mười ?Một|Mười ?Hai|0?[1-9](?!\d)|10|11|12)/i},gN={narrow:[/0?1$/i,/0?2/i,/3/,/4/,/5/,/6/,/7/,/8/,/9/,/10/,/11/,/12/],abbreviated:[/^thg[ _]?0?1(?!\d)/i,/^thg[ _]?0?2/i,/^thg[ _]?0?3/i,/^thg[ _]?0?4/i,/^thg[ _]?0?5/i,/^thg[ _]?0?6/i,/^thg[ _]?0?7/i,/^thg[ _]?0?8/i,/^thg[ _]?0?9/i,/^thg[ _]?10/i,/^thg[ _]?11/i,/^thg[ _]?12/i],wide:[/^tháng ?(Một|0?1(?!\d))/i,/^tháng ?(Hai|0?2)/i,/^tháng ?(Ba|0?3)/i,/^tháng ?(Tư|0?4)/i,/^tháng ?(Năm|0?5)/i,/^tháng ?(Sáu|0?6)/i,/^tháng ?(Bảy|0?7)/i,/^tháng ?(Tám|0?8)/i,/^tháng ?(Chín|0?9)/i,/^tháng ?(Mười|10)/i,/^tháng ?(Mười ?Một|11)/i,/^tháng ?(Mười ?Hai|12)/i]},vN={narrow:/^(CN|T2|T3|T4|T5|T6|T7)/i,short:/^(CN|Th ?2|Th ?3|Th ?4|Th ?5|Th ?6|Th ?7)/i,abbreviated:/^(CN|Th ?2|Th ?3|Th ?4|Th ?5|Th ?6|Th ?7)/i,wide:/^(Chủ ?Nhật|Chúa ?Nhật|thứ ?Hai|thứ ?Ba|thứ ?Tư|thứ ?Năm|thứ ?Sáu|thứ ?Bảy)/i},bN={narrow:[/CN/i,/2/i,/3/i,/4/i,/5/i,/6/i,/7/i],short:[/CN/i,/2/i,/3/i,/4/i,/5/i,/6/i,/7/i],abbreviated:[/CN/i,/2/i,/3/i,/4/i,/5/i,/6/i,/7/i],wide:[/(Chủ|Chúa) ?Nhật/i,/Hai/i,/Ba/i,/Tư/i,/Năm/i,/Sáu/i,/Bảy/i]},yN={narrow:/^(a|p|nửa đêm|trưa|(giờ) (sáng|chiều|tối|đêm))/i,abbreviated:/^(am|pm|nửa đêm|trưa|(giờ) (sáng|chiều|tối|đêm))/i,wide:/^(ch[^i]*|sa|nửa đêm|trưa|(giờ) (sáng|chiều|tối|đêm))/i},xN={any:{am:/^(a|sa)/i,pm:/^(p|ch[^i]*)/i,midnight:/nửa đêm/i,noon:/trưa/i,morning:/sáng/i,afternoon:/chiều/i,evening:/tối/i,night:/^đêm/i}},CN={ordinalNumber:ul({matchPattern:cN,parsePattern:uN,valueCallback:function(t){return parseInt(t,10)}}),era:en({matchPatterns:dN,defaultMatchWidth:"wide",parsePatterns:fN,defaultParseWidth:"any"}),quarter:en({matchPatterns:hN,defaultMatchWidth:"wide",parsePatterns:pN,defaultParseWidth:"any",valueCallback:function(t){return t+1}}),month:en({matchPatterns:mN,defaultMatchWidth:"wide",parsePatterns:gN,defaultParseWidth:"wide"}),day:en({matchPatterns:vN,defaultMatchWidth:"wide",parsePatterns:bN,defaultParseWidth:"wide"}),dayPeriod:en({matchPatterns:yN,defaultMatchWidth:"wide",parsePatterns:xN,defaultParseWidth:"any"})};const wN=CN;var _N={code:"vi",formatDistance:VB,formatLong:GB,formatRelative:ZB,localize:lN,match:wN,options:{weekStartsOn:1,firstWeekContainsDate:1}};const SN=_N,kN={name:"vi-VN",locale:SN},PN=kN,TN={name:"fa-IR",locale:N_},RN=TN;function Hi(e){const{mergedLocaleRef:t,mergedDateLocaleRef:n}=Ue(Eo,null)||{},o=F(()=>{var i,a;return(a=(i=t==null?void 0:t.value)===null||i===void 0?void 0:i[e])!==null&&a!==void 0?a:B_[e]});return{dateLocaleRef:F(()=>{var i;return(i=n==null?void 0:n.value)!==null&&i!==void 0?i:H_}),localeRef:o}}function ei(e,t,n){if(!t)return;const o=Li(),r=Ue(Eo,null),i=()=>{const a=n.value;t.mount({id:a===void 0?e:a+e,head:!0,anchorMetaName:$a,props:{bPrefix:a?`.${a}-`:void 0},ssr:o}),r!=null&&r.preflightStyleDisabled||L_.mount({id:"n-global",head:!0,anchorMetaName:$a,ssr:o})};o?i():hn(i)}function Pt(e,t,n,o){var r;n||fr("useThemeClass","cssVarsRef is not passed");const i=(r=Ue(Eo,null))===null||r===void 0?void 0:r.mergedThemeHashRef,a=W(""),s=Li();let l;const c=`__${e}`,u=()=>{let d=c;const f=t?t.value:void 0,h=i==null?void 0:i.value;h&&(d+=`-${h}`),f&&(d+=`-${f}`);const{themeOverrides:p,builtinThemeOverrides:g}=o;p&&(d+=`-${Ys(JSON.stringify(p))}`),g&&(d+=`-${Ys(JSON.stringify(g))}`),a.value=d,l=()=>{const m=n.value;let b="";for(const _ in m)b+=`${_}: ${m[_]};`;q(`.${d}`,b).mount({id:d,ssr:s}),l=void 0}};return Xt(()=>{u()}),{themeClass:a,onRender:()=>{l==null||l()}}}function pn(e,t,n){if(!t)return;const o=Li(),r=F(()=>{const{value:a}=t;if(!a)return;const s=a[e];if(s)return s}),i=()=>{Xt(()=>{const{value:a}=n,s=`${a}${e}Rtl`;if(f8(s,o))return;const{value:l}=r;l&&l.style.mount({id:s,head:!0,anchorMetaName:$a,props:{bPrefix:a?`.${a}-`:void 0},ssr:o})})};return o?i():hn(i),r}const EN=be({name:"Add",render(){return v("svg",{width:"512",height:"512",viewBox:"0 0 512 512",fill:"none",xmlns:"http://www.w3.org/2000/svg"},v("path",{d:"M256 112V400M400 256H112",stroke:"currentColor","stroke-width":"32","stroke-linecap":"round","stroke-linejoin":"round"}))}}),$N=be({name:"ArrowDown",render(){return v("svg",{viewBox:"0 0 28 28",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},v("g",{stroke:"none","stroke-width":"1","fill-rule":"evenodd"},v("g",{"fill-rule":"nonzero"},v("path",{d:"M23.7916,15.2664 C24.0788,14.9679 24.0696,14.4931 23.7711,14.206 C23.4726,13.9188 22.9978,13.928 22.7106,14.2265 L14.7511,22.5007 L14.7511,3.74792 C14.7511,3.33371 14.4153,2.99792 14.0011,2.99792 C13.5869,2.99792 13.2511,3.33371 13.2511,3.74793 L13.2511,22.4998 L5.29259,14.2265 C5.00543,13.928 4.53064,13.9188 4.23213,14.206 C3.93361,14.4931 3.9244,14.9679 4.21157,15.2664 L13.2809,24.6944 C13.6743,25.1034 14.3289,25.1034 14.7223,24.6944 L23.7916,15.2664 Z"}))))}});function Ua(e,t){return be({name:g_(e),setup(){var n;const o=(n=Ue(Eo,null))===null||n===void 0?void 0:n.mergedIconsRef;return()=>{var r;const i=(r=o==null?void 0:o.value)===null||r===void 0?void 0:r[e];return i?i():t}}})}const D0=be({name:"Backward",render(){return v("svg",{viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},v("path",{d:"M12.2674 15.793C11.9675 16.0787 11.4927 16.0672 11.2071 15.7673L6.20572 10.5168C5.9298 10.2271 5.9298 9.7719 6.20572 9.48223L11.2071 4.23177C11.4927 3.93184 11.9675 3.92031 12.2674 4.206C12.5673 4.49169 12.5789 4.96642 12.2932 5.26634L7.78458 9.99952L12.2932 14.7327C12.5789 15.0326 12.5673 15.5074 12.2674 15.793Z",fill:"currentColor"}))}}),AN=be({name:"Checkmark",render(){return v("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16"},v("g",{fill:"none"},v("path",{d:"M14.046 3.486a.75.75 0 0 1-.032 1.06l-7.93 7.474a.85.85 0 0 1-1.188-.022l-2.68-2.72a.75.75 0 1 1 1.068-1.053l2.234 2.267l7.468-7.038a.75.75 0 0 1 1.06.032z",fill:"currentColor"})))}}),fm=be({name:"ChevronRight",render(){return v("svg",{viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},v("path",{d:"M5.64645 3.14645C5.45118 3.34171 5.45118 3.65829 5.64645 3.85355L9.79289 8L5.64645 12.1464C5.45118 12.3417 5.45118 12.6583 5.64645 12.8536C5.84171 13.0488 6.15829 13.0488 6.35355 12.8536L10.8536 8.35355C11.0488 8.15829 11.0488 7.84171 10.8536 7.64645L6.35355 3.14645C6.15829 2.95118 5.84171 2.95118 5.64645 3.14645Z",fill:"currentColor"}))}}),IN=Ua("close",v("svg",{viewBox:"0 0 12 12",version:"1.1",xmlns:"http://www.w3.org/2000/svg","aria-hidden":!0},v("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},v("g",{fill:"currentColor","fill-rule":"nonzero"},v("path",{d:"M2.08859116,2.2156945 L2.14644661,2.14644661 C2.32001296,1.97288026 2.58943736,1.95359511 2.7843055,2.08859116 L2.85355339,2.14644661 L6,5.293 L9.14644661,2.14644661 C9.34170876,1.95118446 9.65829124,1.95118446 9.85355339,2.14644661 C10.0488155,2.34170876 10.0488155,2.65829124 9.85355339,2.85355339 L6.707,6 L9.85355339,9.14644661 C10.0271197,9.32001296 10.0464049,9.58943736 9.91140884,9.7843055 L9.85355339,9.85355339 C9.67998704,10.0271197 9.41056264,10.0464049 9.2156945,9.91140884 L9.14644661,9.85355339 L6,6.707 L2.85355339,9.85355339 C2.65829124,10.0488155 2.34170876,10.0488155 2.14644661,9.85355339 C1.95118446,9.65829124 1.95118446,9.34170876 2.14644661,9.14644661 L5.293,6 L2.14644661,2.85355339 C1.97288026,2.67998704 1.95359511,2.41056264 2.08859116,2.2156945 L2.14644661,2.14644661 L2.08859116,2.2156945 Z"}))))),ON=be({name:"Eye",render(){return v("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},v("path",{d:"M255.66 112c-77.94 0-157.89 45.11-220.83 135.33a16 16 0 0 0-.27 17.77C82.92 340.8 161.8 400 255.66 400c92.84 0 173.34-59.38 221.79-135.25a16.14 16.14 0 0 0 0-17.47C428.89 172.28 347.8 112 255.66 112z",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"}),v("circle",{cx:"256",cy:"256",r:"80",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"}))}}),MN=be({name:"EyeOff",render(){return v("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},v("path",{d:"M432 448a15.92 15.92 0 0 1-11.31-4.69l-352-352a16 16 0 0 1 22.62-22.62l352 352A16 16 0 0 1 432 448z",fill:"currentColor"}),v("path",{d:"M255.66 384c-41.49 0-81.5-12.28-118.92-36.5c-34.07-22-64.74-53.51-88.7-91v-.08c19.94-28.57 41.78-52.73 65.24-72.21a2 2 0 0 0 .14-2.94L93.5 161.38a2 2 0 0 0-2.71-.12c-24.92 21-48.05 46.76-69.08 76.92a31.92 31.92 0 0 0-.64 35.54c26.41 41.33 60.4 76.14 98.28 100.65C162 402 207.9 416 255.66 416a239.13 239.13 0 0 0 75.8-12.58a2 2 0 0 0 .77-3.31l-21.58-21.58a4 4 0 0 0-3.83-1a204.8 204.8 0 0 1-51.16 6.47z",fill:"currentColor"}),v("path",{d:"M490.84 238.6c-26.46-40.92-60.79-75.68-99.27-100.53C349 110.55 302 96 255.66 96a227.34 227.34 0 0 0-74.89 12.83a2 2 0 0 0-.75 3.31l21.55 21.55a4 4 0 0 0 3.88 1a192.82 192.82 0 0 1 50.21-6.69c40.69 0 80.58 12.43 118.55 37c34.71 22.4 65.74 53.88 89.76 91a.13.13 0 0 1 0 .16a310.72 310.72 0 0 1-64.12 72.73a2 2 0 0 0-.15 2.95l19.9 19.89a2 2 0 0 0 2.7.13a343.49 343.49 0 0 0 68.64-78.48a32.2 32.2 0 0 0-.1-34.78z",fill:"currentColor"}),v("path",{d:"M256 160a95.88 95.88 0 0 0-21.37 2.4a2 2 0 0 0-1 3.38l112.59 112.56a2 2 0 0 0 3.38-1A96 96 0 0 0 256 160z",fill:"currentColor"}),v("path",{d:"M165.78 233.66a2 2 0 0 0-3.38 1a96 96 0 0 0 115 115a2 2 0 0 0 1-3.38z",fill:"currentColor"}))}}),zN=be({name:"Empty",render(){return v("svg",{viewBox:"0 0 28 28",fill:"none",xmlns:"http://www.w3.org/2000/svg"},v("path",{d:"M26 7.5C26 11.0899 23.0899 14 19.5 14C15.9101 14 13 11.0899 13 7.5C13 3.91015 15.9101 1 19.5 1C23.0899 1 26 3.91015 26 7.5ZM16.8536 4.14645C16.6583 3.95118 16.3417 3.95118 16.1464 4.14645C15.9512 4.34171 15.9512 4.65829 16.1464 4.85355L18.7929 7.5L16.1464 10.1464C15.9512 10.3417 15.9512 10.6583 16.1464 10.8536C16.3417 11.0488 16.6583 11.0488 16.8536 10.8536L19.5 8.20711L22.1464 10.8536C22.3417 11.0488 22.6583 11.0488 22.8536 10.8536C23.0488 10.6583 23.0488 10.3417 22.8536 10.1464L20.2071 7.5L22.8536 4.85355C23.0488 4.65829 23.0488 4.34171 22.8536 4.14645C22.6583 3.95118 22.3417 3.95118 22.1464 4.14645L19.5 6.79289L16.8536 4.14645Z",fill:"currentColor"}),v("path",{d:"M25 22.75V12.5991C24.5572 13.0765 24.053 13.4961 23.5 13.8454V16H17.5L17.3982 16.0068C17.0322 16.0565 16.75 16.3703 16.75 16.75C16.75 18.2688 15.5188 19.5 14 19.5C12.4812 19.5 11.25 18.2688 11.25 16.75L11.2432 16.6482C11.1935 16.2822 10.8797 16 10.5 16H4.5V7.25C4.5 6.2835 5.2835 5.5 6.25 5.5H12.2696C12.4146 4.97463 12.6153 4.47237 12.865 4H6.25C4.45507 4 3 5.45507 3 7.25V22.75C3 24.5449 4.45507 26 6.25 26H21.75C23.5449 26 25 24.5449 25 22.75ZM4.5 22.75V17.5H9.81597L9.85751 17.7041C10.2905 19.5919 11.9808 21 14 21L14.215 20.9947C16.2095 20.8953 17.842 19.4209 18.184 17.5H23.5V22.75C23.5 23.7165 22.7165 24.5 21.75 24.5H6.25C5.2835 24.5 4.5 23.7165 4.5 22.75Z",fill:"currentColor"}))}}),ji=Ua("error",v("svg",{viewBox:"0 0 48 48",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},v("g",{stroke:"none","stroke-width":"1","fill-rule":"evenodd"},v("g",{"fill-rule":"nonzero"},v("path",{d:"M24,4 C35.045695,4 44,12.954305 44,24 C44,35.045695 35.045695,44 24,44 C12.954305,44 4,35.045695 4,24 C4,12.954305 12.954305,4 24,4 Z M17.8838835,16.1161165 L17.7823881,16.0249942 C17.3266086,15.6583353 16.6733914,15.6583353 16.2176119,16.0249942 L16.1161165,16.1161165 L16.0249942,16.2176119 C15.6583353,16.6733914 15.6583353,17.3266086 16.0249942,17.7823881 L16.1161165,17.8838835 L22.233,24 L16.1161165,30.1161165 L16.0249942,30.2176119 C15.6583353,30.6733914 15.6583353,31.3266086 16.0249942,31.7823881 L16.1161165,31.8838835 L16.2176119,31.9750058 C16.6733914,32.3416647 17.3266086,32.3416647 17.7823881,31.9750058 L17.8838835,31.8838835 L24,25.767 L30.1161165,31.8838835 L30.2176119,31.9750058 C30.6733914,32.3416647 31.3266086,32.3416647 31.7823881,31.9750058 L31.8838835,31.8838835 L31.9750058,31.7823881 C32.3416647,31.3266086 32.3416647,30.6733914 31.9750058,30.2176119 L31.8838835,30.1161165 L25.767,24 L31.8838835,17.8838835 L31.9750058,17.7823881 C32.3416647,17.3266086 32.3416647,16.6733914 31.9750058,16.2176119 L31.8838835,16.1161165 L31.7823881,16.0249942 C31.3266086,15.6583353 30.6733914,15.6583353 30.2176119,16.0249942 L30.1161165,16.1161165 L24,22.233 L17.8838835,16.1161165 L17.7823881,16.0249942 L17.8838835,16.1161165 Z"}))))),L0=be({name:"FastBackward",render(){return v("svg",{viewBox:"0 0 20 20",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},v("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},v("g",{fill:"currentColor","fill-rule":"nonzero"},v("path",{d:"M8.73171,16.7949 C9.03264,17.0795 9.50733,17.0663 9.79196,16.7654 C10.0766,16.4644 10.0634,15.9897 9.76243,15.7051 L4.52339,10.75 L17.2471,10.75 C17.6613,10.75 17.9971,10.4142 17.9971,10 C17.9971,9.58579 17.6613,9.25 17.2471,9.25 L4.52112,9.25 L9.76243,4.29275 C10.0634,4.00812 10.0766,3.53343 9.79196,3.2325 C9.50733,2.93156 9.03264,2.91834 8.73171,3.20297 L2.31449,9.27241 C2.14819,9.4297 2.04819,9.62981 2.01448,9.8386 C2.00308,9.89058 1.99707,9.94459 1.99707,10 C1.99707,10.0576 2.00356,10.1137 2.01585,10.1675 C2.05084,10.3733 2.15039,10.5702 2.31449,10.7254 L8.73171,16.7949 Z"}))))}}),F0=be({name:"FastForward",render(){return v("svg",{viewBox:"0 0 20 20",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},v("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},v("g",{fill:"currentColor","fill-rule":"nonzero"},v("path",{d:"M11.2654,3.20511 C10.9644,2.92049 10.4897,2.93371 10.2051,3.23464 C9.92049,3.53558 9.93371,4.01027 10.2346,4.29489 L15.4737,9.25 L2.75,9.25 C2.33579,9.25 2,9.58579 2,10.0000012 C2,10.4142 2.33579,10.75 2.75,10.75 L15.476,10.75 L10.2346,15.7073 C9.93371,15.9919 9.92049,16.4666 10.2051,16.7675 C10.4897,17.0684 10.9644,17.0817 11.2654,16.797 L17.6826,10.7276 C17.8489,10.5703 17.9489,10.3702 17.9826,10.1614 C17.994,10.1094 18,10.0554 18,10.0000012 C18,9.94241 17.9935,9.88633 17.9812,9.83246 C17.9462,9.62667 17.8467,9.42976 17.6826,9.27455 L11.2654,3.20511 Z"}))))}}),DN=be({name:"Filter",render(){return v("svg",{viewBox:"0 0 28 28",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},v("g",{stroke:"none","stroke-width":"1","fill-rule":"evenodd"},v("g",{"fill-rule":"nonzero"},v("path",{d:"M17,19 C17.5522847,19 18,19.4477153 18,20 C18,20.5522847 17.5522847,21 17,21 L11,21 C10.4477153,21 10,20.5522847 10,20 C10,19.4477153 10.4477153,19 11,19 L17,19 Z M21,13 C21.5522847,13 22,13.4477153 22,14 C22,14.5522847 21.5522847,15 21,15 L7,15 C6.44771525,15 6,14.5522847 6,14 C6,13.4477153 6.44771525,13 7,13 L21,13 Z M24,7 C24.5522847,7 25,7.44771525 25,8 C25,8.55228475 24.5522847,9 24,9 L4,9 C3.44771525,9 3,8.55228475 3,8 C3,7.44771525 3.44771525,7 4,7 L24,7 Z"}))))}}),B0=be({name:"Forward",render(){return v("svg",{viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},v("path",{d:"M7.73271 4.20694C8.03263 3.92125 8.50737 3.93279 8.79306 4.23271L13.7944 9.48318C14.0703 9.77285 14.0703 10.2281 13.7944 10.5178L8.79306 15.7682C8.50737 16.0681 8.03263 16.0797 7.73271 15.794C7.43279 15.5083 7.42125 15.0336 7.70694 14.7336L12.2155 10.0005L7.70694 5.26729C7.42125 4.96737 7.43279 4.49264 7.73271 4.20694Z",fill:"currentColor"}))}}),Vr=Ua("info",v("svg",{viewBox:"0 0 28 28",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},v("g",{stroke:"none","stroke-width":"1","fill-rule":"evenodd"},v("g",{"fill-rule":"nonzero"},v("path",{d:"M14,2 C20.6274,2 26,7.37258 26,14 C26,20.6274 20.6274,26 14,26 C7.37258,26 2,20.6274 2,14 C2,7.37258 7.37258,2 14,2 Z M14,11 C13.4477,11 13,11.4477 13,12 L13,12 L13,20 C13,20.5523 13.4477,21 14,21 C14.5523,21 15,20.5523 15,20 L15,20 L15,12 C15,11.4477 14.5523,11 14,11 Z M14,6.75 C13.3096,6.75 12.75,7.30964 12.75,8 C12.75,8.69036 13.3096,9.25 14,9.25 C14.6904,9.25 15.25,8.69036 15.25,8 C15.25,7.30964 14.6904,6.75 14,6.75 Z"}))))),N0=be({name:"More",render(){return v("svg",{viewBox:"0 0 16 16",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},v("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},v("g",{fill:"currentColor","fill-rule":"nonzero"},v("path",{d:"M4,7 C4.55228,7 5,7.44772 5,8 C5,8.55229 4.55228,9 4,9 C3.44772,9 3,8.55229 3,8 C3,7.44772 3.44772,7 4,7 Z M8,7 C8.55229,7 9,7.44772 9,8 C9,8.55229 8.55229,9 8,9 C7.44772,9 7,8.55229 7,8 C7,7.44772 7.44772,7 8,7 Z M12,7 C12.5523,7 13,7.44772 13,8 C13,8.55229 12.5523,9 12,9 C11.4477,9 11,8.55229 11,8 C11,7.44772 11.4477,7 12,7 Z"}))))}}),LN=be({name:"Remove",render(){return v("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},v("line",{x1:"400",y1:"256",x2:"112",y2:"256",style:` - fill: none; - stroke: currentColor; - stroke-linecap: round; - stroke-linejoin: round; - stroke-width: 32px; - `}))}}),Vi=Ua("success",v("svg",{viewBox:"0 0 48 48",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},v("g",{stroke:"none","stroke-width":"1","fill-rule":"evenodd"},v("g",{"fill-rule":"nonzero"},v("path",{d:"M24,4 C35.045695,4 44,12.954305 44,24 C44,35.045695 35.045695,44 24,44 C12.954305,44 4,35.045695 4,24 C4,12.954305 12.954305,4 24,4 Z M32.6338835,17.6161165 C32.1782718,17.1605048 31.4584514,17.1301307 30.9676119,17.5249942 L30.8661165,17.6161165 L20.75,27.732233 L17.1338835,24.1161165 C16.6457281,23.6279612 15.8542719,23.6279612 15.3661165,24.1161165 C14.9105048,24.5717282 14.8801307,25.2915486 15.2749942,25.7823881 L15.3661165,25.8838835 L19.8661165,30.3838835 C20.3217282,30.8394952 21.0415486,30.8698693 21.5323881,30.4750058 L21.6338835,30.3838835 L32.6338835,19.3838835 C33.1220388,18.8957281 33.1220388,18.1042719 32.6338835,17.6161165 Z"}))))),Wi=Ua("warning",v("svg",{viewBox:"0 0 24 24",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},v("g",{stroke:"none","stroke-width":"1","fill-rule":"evenodd"},v("g",{"fill-rule":"nonzero"},v("path",{d:"M12,2 C17.523,2 22,6.478 22,12 C22,17.522 17.523,22 12,22 C6.477,22 2,17.522 2,12 C2,6.478 6.477,2 12,2 Z M12.0018002,15.0037242 C11.450254,15.0037242 11.0031376,15.4508407 11.0031376,16.0023869 C11.0031376,16.553933 11.450254,17.0010495 12.0018002,17.0010495 C12.5533463,17.0010495 13.0004628,16.553933 13.0004628,16.0023869 C13.0004628,15.4508407 12.5533463,15.0037242 12.0018002,15.0037242 Z M11.99964,7 C11.4868042,7.00018474 11.0642719,7.38637706 11.0066858,7.8837365 L11,8.00036004 L11.0018003,13.0012393 L11.00857,13.117858 C11.0665141,13.6151758 11.4893244,14.0010638 12.0021602,14.0008793 C12.514996,14.0006946 12.9375283,13.6145023 12.9951144,13.1171428 L13.0018002,13.0005193 L13,7.99964009 L12.9932303,7.8830214 C12.9352861,7.38570354 12.5124758,6.99981552 11.99964,7 Z"}))))),j_=be({name:"ChevronDown",render(){return v("svg",{viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},v("path",{d:"M3.14645 5.64645C3.34171 5.45118 3.65829 5.45118 3.85355 5.64645L8 9.79289L12.1464 5.64645C12.3417 5.45118 12.6583 5.45118 12.8536 5.64645C13.0488 5.84171 13.0488 6.15829 12.8536 6.35355L8.35355 10.8536C8.15829 11.0488 7.84171 11.0488 7.64645 10.8536L3.14645 6.35355C2.95118 6.15829 2.95118 5.84171 3.14645 5.64645Z",fill:"currentColor"}))}}),FN=Ua("clear",v("svg",{viewBox:"0 0 16 16",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},v("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},v("g",{fill:"currentColor","fill-rule":"nonzero"},v("path",{d:"M8,2 C11.3137085,2 14,4.6862915 14,8 C14,11.3137085 11.3137085,14 8,14 C4.6862915,14 2,11.3137085 2,8 C2,4.6862915 4.6862915,2 8,2 Z M6.5343055,5.83859116 C6.33943736,5.70359511 6.07001296,5.72288026 5.89644661,5.89644661 L5.89644661,5.89644661 L5.83859116,5.9656945 C5.70359511,6.16056264 5.72288026,6.42998704 5.89644661,6.60355339 L5.89644661,6.60355339 L7.293,8 L5.89644661,9.39644661 L5.83859116,9.4656945 C5.70359511,9.66056264 5.72288026,9.92998704 5.89644661,10.1035534 L5.89644661,10.1035534 L5.9656945,10.1614088 C6.16056264,10.2964049 6.42998704,10.2771197 6.60355339,10.1035534 L6.60355339,10.1035534 L8,8.707 L9.39644661,10.1035534 L9.4656945,10.1614088 C9.66056264,10.2964049 9.92998704,10.2771197 10.1035534,10.1035534 L10.1035534,10.1035534 L10.1614088,10.0343055 C10.2964049,9.83943736 10.2771197,9.57001296 10.1035534,9.39644661 L10.1035534,9.39644661 L8.707,8 L10.1035534,6.60355339 L10.1614088,6.5343055 C10.2964049,6.33943736 10.2771197,6.07001296 10.1035534,5.89644661 L10.1035534,5.89644661 L10.0343055,5.83859116 C9.83943736,5.70359511 9.57001296,5.72288026 9.39644661,5.89644661 L9.39644661,5.89644661 L8,7.293 L6.60355339,5.89644661 Z"}))))),BN=be({name:"ChevronDownFilled",render(){return v("svg",{viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},v("path",{d:"M3.20041 5.73966C3.48226 5.43613 3.95681 5.41856 4.26034 5.70041L8 9.22652L11.7397 5.70041C12.0432 5.41856 12.5177 5.43613 12.7996 5.73966C13.0815 6.0432 13.0639 6.51775 12.7603 6.7996L8.51034 10.7996C8.22258 11.0668 7.77743 11.0668 7.48967 10.7996L3.23966 6.7996C2.93613 6.51775 2.91856 6.0432 3.20041 5.73966Z",fill:"currentColor"}))}}),Ui=be({name:"BaseIconSwitchTransition",setup(e,{slots:t}){const n=Qr();return()=>v(fn,{name:"icon-switch-transition",appear:n.value},t)}}),Ou=be({name:"FadeInExpandTransition",props:{appear:Boolean,group:Boolean,mode:String,onLeave:Function,onAfterLeave:Function,onAfterEnter:Function,width:Boolean,reverse:Boolean},setup(e,{slots:t}){function n(s){e.width?s.style.maxWidth=`${s.offsetWidth}px`:s.style.maxHeight=`${s.offsetHeight}px`,s.offsetWidth}function o(s){e.width?s.style.maxWidth="0":s.style.maxHeight="0",s.offsetWidth;const{onLeave:l}=e;l&&l()}function r(s){e.width?s.style.maxWidth="":s.style.maxHeight="";const{onAfterLeave:l}=e;l&&l()}function i(s){if(s.style.transition="none",e.width){const l=s.offsetWidth;s.style.maxWidth="0",s.offsetWidth,s.style.transition="",s.style.maxWidth=`${l}px`}else if(e.reverse)s.style.maxHeight=`${s.offsetHeight}px`,s.offsetHeight,s.style.transition="",s.style.maxHeight="0";else{const l=s.offsetHeight;s.style.maxHeight="0",s.offsetWidth,s.style.transition="",s.style.maxHeight=`${l}px`}s.offsetWidth}function a(s){var l;e.width?s.style.maxWidth="":e.reverse||(s.style.maxHeight=""),(l=e.onAfterEnter)===null||l===void 0||l.call(e)}return()=>{const{group:s,width:l,appear:c,mode:u}=e,d=s?AP:fn,f={name:l?"fade-in-width-expand-transition":"fade-in-height-expand-transition",appear:c,onEnter:i,onAfterEnter:a,onBeforeLeave:n,onLeave:o,onAfterLeave:r};return s||(f.mode=u),v(d,f,t)}}}),NN=z("base-icon",` - height: 1em; - width: 1em; - line-height: 1em; - text-align: center; - display: inline-block; - position: relative; - fill: currentColor; - transform: translateZ(0); -`,[q("svg",` - height: 1em; - width: 1em; - `)]),Ut=be({name:"BaseIcon",props:{role:String,ariaLabel:String,ariaDisabled:{type:Boolean,default:void 0},ariaHidden:{type:Boolean,default:void 0},clsPrefix:{type:String,required:!0},onClick:Function,onMousedown:Function,onMouseup:Function},setup(e){ei("-base-icon",NN,We(e,"clsPrefix"))},render(){return v("i",{class:`${this.clsPrefix}-base-icon`,onClick:this.onClick,onMousedown:this.onMousedown,onMouseup:this.onMouseup,role:this.role,"aria-label":this.ariaLabel,"aria-hidden":this.ariaHidden,"aria-disabled":this.ariaDisabled},this.$slots)}}),HN=z("base-close",` - display: flex; - align-items: center; - justify-content: center; - cursor: pointer; - background-color: transparent; - color: var(--n-close-icon-color); - border-radius: var(--n-close-border-radius); - height: var(--n-close-size); - width: var(--n-close-size); - font-size: var(--n-close-icon-size); - outline: none; - border: none; - position: relative; - padding: 0; -`,[Z("absolute",` - height: var(--n-close-icon-size); - width: var(--n-close-icon-size); - `),q("&::before",` - content: ""; - position: absolute; - width: var(--n-close-size); - height: var(--n-close-size); - left: 50%; - top: 50%; - transform: translateY(-50%) translateX(-50%); - transition: inherit; - border-radius: inherit; - `),Rt("disabled",[q("&:hover",` - color: var(--n-close-icon-color-hover); - `),q("&:hover::before",` - background-color: var(--n-close-color-hover); - `),q("&:focus::before",` - background-color: var(--n-close-color-hover); - `),q("&:active",` - color: var(--n-close-icon-color-pressed); - `),q("&:active::before",` - background-color: var(--n-close-color-pressed); - `)]),Z("disabled",` - cursor: not-allowed; - color: var(--n-close-icon-color-disabled); - background-color: transparent; - `),Z("round",[q("&::before",` - border-radius: 50%; - `)])]),qi=be({name:"BaseClose",props:{isButtonTag:{type:Boolean,default:!0},clsPrefix:{type:String,required:!0},disabled:{type:Boolean,default:void 0},focusable:{type:Boolean,default:!0},round:Boolean,onClick:Function,absolute:Boolean},setup(e){return ei("-base-close",HN,We(e,"clsPrefix")),()=>{const{clsPrefix:t,disabled:n,absolute:o,round:r,isButtonTag:i}=e;return v(i?"button":"div",{type:i?"button":void 0,tabindex:n||!e.focusable?-1:0,"aria-disabled":n,"aria-label":"close",role:i?void 0:"button",disabled:n,class:[`${t}-base-close`,o&&`${t}-base-close--absolute`,n&&`${t}-base-close--disabled`,r&&`${t}-base-close--round`],onMousedown:s=>{e.focusable||s.preventDefault()},onClick:e.onClick},v(Ut,{clsPrefix:t},{default:()=>v(IN,null)}))}}}),jN=be({props:{onFocus:Function,onBlur:Function},setup(e){return()=>v("div",{style:"width: 0; height: 0",tabindex:0,onFocus:e.onFocus,onBlur:e.onBlur})}}),{cubicBezierEaseInOut:VN}=po;function qn({originalTransform:e="",left:t=0,top:n=0,transition:o=`all .3s ${VN} !important`}={}){return[q("&.icon-switch-transition-enter-from, &.icon-switch-transition-leave-to",{transform:`${e} scale(0.75)`,left:t,top:n,opacity:0}),q("&.icon-switch-transition-enter-to, &.icon-switch-transition-leave-from",{transform:`scale(1) ${e}`,left:t,top:n,opacity:1}),q("&.icon-switch-transition-enter-active, &.icon-switch-transition-leave-active",{transformOrigin:"center",position:"absolute",left:t,top:n,transition:o})]}const WN=q([q("@keyframes rotator",` - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - }`),z("base-loading",` - position: relative; - line-height: 0; - width: 1em; - height: 1em; - `,[V("transition-wrapper",` - position: absolute; - width: 100%; - height: 100%; - `,[qn()]),V("placeholder",` - position: absolute; - left: 50%; - top: 50%; - transform: translateX(-50%) translateY(-50%); - `,[qn({left:"50%",top:"50%",originalTransform:"translateX(-50%) translateY(-50%)"})]),V("container",` - animation: rotator 3s linear infinite both; - `,[V("icon",` - height: 1em; - width: 1em; - `)])])]),Yd="1.6s",UN={strokeWidth:{type:Number,default:28},stroke:{type:String,default:void 0}},ti=be({name:"BaseLoading",props:Object.assign({clsPrefix:{type:String,required:!0},show:{type:Boolean,default:!0},scale:{type:Number,default:1},radius:{type:Number,default:100}},UN),setup(e){ei("-base-loading",WN,We(e,"clsPrefix"))},render(){const{clsPrefix:e,radius:t,strokeWidth:n,stroke:o,scale:r}=this,i=t/r;return v("div",{class:`${e}-base-loading`,role:"img","aria-label":"loading"},v(Ui,null,{default:()=>this.show?v("div",{key:"icon",class:`${e}-base-loading__transition-wrapper`},v("div",{class:`${e}-base-loading__container`},v("svg",{class:`${e}-base-loading__icon`,viewBox:`0 0 ${2*i} ${2*i}`,xmlns:"http://www.w3.org/2000/svg",style:{color:o}},v("g",null,v("animateTransform",{attributeName:"transform",type:"rotate",values:`0 ${i} ${i};270 ${i} ${i}`,begin:"0s",dur:Yd,fill:"freeze",repeatCount:"indefinite"}),v("circle",{class:`${e}-base-loading__icon`,fill:"none",stroke:"currentColor","stroke-width":n,"stroke-linecap":"round",cx:i,cy:i,r:t-n/2,"stroke-dasharray":5.67*t,"stroke-dashoffset":18.48*t},v("animateTransform",{attributeName:"transform",type:"rotate",values:`0 ${i} ${i};135 ${i} ${i};450 ${i} ${i}`,begin:"0s",dur:Yd,fill:"freeze",repeatCount:"indefinite"}),v("animate",{attributeName:"stroke-dashoffset",values:`${5.67*t};${1.42*t};${5.67*t}`,begin:"0s",dur:Yd,fill:"freeze",repeatCount:"indefinite"})))))):v("div",{key:"placeholder",class:`${e}-base-loading__placeholder`},this.$slots)}))}});function H0(e){return Array.isArray(e)?e:[e]}const Dh={STOP:"STOP"};function V_(e,t){const n=t(e);e.children!==void 0&&n!==Dh.STOP&&e.children.forEach(o=>V_(o,t))}function qN(e,t={}){const{preserveGroup:n=!1}=t,o=[],r=n?a=>{a.isLeaf||(o.push(a.key),i(a.children))}:a=>{a.isLeaf||(a.isGroup||o.push(a.key),i(a.children))};function i(a){a.forEach(r)}return i(e),o}function KN(e,t){const{isLeaf:n}=e;return n!==void 0?n:!t(e)}function GN(e){return e.children}function YN(e){return e.key}function XN(){return!1}function ZN(e,t){const{isLeaf:n}=e;return!(n===!1&&!Array.isArray(t(e)))}function JN(e){return e.disabled===!0}function QN(e,t){return e.isLeaf===!1&&!Array.isArray(t(e))}function Xd(e){var t;return e==null?[]:Array.isArray(e)?e:(t=e.checkedKeys)!==null&&t!==void 0?t:[]}function Zd(e){var t;return e==null||Array.isArray(e)?[]:(t=e.indeterminateKeys)!==null&&t!==void 0?t:[]}function eH(e,t){const n=new Set(e);return t.forEach(o=>{n.has(o)||n.add(o)}),Array.from(n)}function tH(e,t){const n=new Set(e);return t.forEach(o=>{n.has(o)&&n.delete(o)}),Array.from(n)}function nH(e){return(e==null?void 0:e.type)==="group"}function oH(e){const t=new Map;return e.forEach((n,o)=>{t.set(n.key,o)}),n=>{var o;return(o=t.get(n))!==null&&o!==void 0?o:null}}class rH extends Error{constructor(){super(),this.message="SubtreeNotLoadedError: checking a subtree whose required nodes are not fully loaded."}}function iH(e,t,n,o){return Fc(t.concat(e),n,o,!1)}function aH(e,t){const n=new Set;return e.forEach(o=>{const r=t.treeNodeMap.get(o);if(r!==void 0){let i=r.parent;for(;i!==null&&!(i.disabled||n.has(i.key));)n.add(i.key),i=i.parent}}),n}function sH(e,t,n,o){const r=Fc(t,n,o,!1),i=Fc(e,n,o,!0),a=aH(e,n),s=[];return r.forEach(l=>{(i.has(l)||a.has(l))&&s.push(l)}),s.forEach(l=>r.delete(l)),r}function Jd(e,t){const{checkedKeys:n,keysToCheck:o,keysToUncheck:r,indeterminateKeys:i,cascade:a,leafOnly:s,checkStrategy:l,allowNotLoaded:c}=e;if(!a)return o!==void 0?{checkedKeys:eH(n,o),indeterminateKeys:Array.from(i)}:r!==void 0?{checkedKeys:tH(n,r),indeterminateKeys:Array.from(i)}:{checkedKeys:Array.from(n),indeterminateKeys:Array.from(i)};const{levelTreeNodeMap:u}=t;let d;r!==void 0?d=sH(r,n,t,c):o!==void 0?d=iH(o,n,t,c):d=Fc(n,t,c,!1);const f=l==="parent",h=l==="child"||s,p=d,g=new Set,m=Math.max.apply(null,Array.from(u.keys()));for(let b=m;b>=0;b-=1){const _=b===0,C=u.get(b);for(const S of C){if(S.isLeaf)continue;const{key:w,shallowLoaded:x}=S;if(h&&x&&S.children.forEach(T=>{!T.disabled&&!T.isLeaf&&T.shallowLoaded&&p.has(T.key)&&p.delete(T.key)}),S.disabled||!x)continue;let y=!0,P=!1,k=!0;for(const T of S.children){const E=T.key;if(!T.disabled){if(k&&(k=!1),p.has(E))P=!0;else if(g.has(E)){P=!0,y=!1;break}else if(y=!1,P)break}}y&&!k?(f&&S.children.forEach(T=>{!T.disabled&&p.has(T.key)&&p.delete(T.key)}),p.add(w)):P&&g.add(w),_&&h&&p.has(w)&&p.delete(w)}}return{checkedKeys:Array.from(p),indeterminateKeys:Array.from(g)}}function Fc(e,t,n,o){const{treeNodeMap:r,getChildren:i}=t,a=new Set,s=new Set(e);return e.forEach(l=>{const c=r.get(l);c!==void 0&&V_(c,u=>{if(u.disabled)return Dh.STOP;const{key:d}=u;if(!a.has(d)&&(a.add(d),s.add(d),QN(u.rawNode,i))){if(o)return Dh.STOP;if(!n)throw new rH}})}),s}function lH(e,{includeGroup:t=!1,includeSelf:n=!0},o){var r;const i=o.treeNodeMap;let a=e==null?null:(r=i.get(e))!==null&&r!==void 0?r:null;const s={keyPath:[],treeNodePath:[],treeNode:a};if(a!=null&&a.ignored)return s.treeNode=null,s;for(;a;)!a.ignored&&(t||!a.isGroup)&&s.treeNodePath.push(a),a=a.parent;return s.treeNodePath.reverse(),n||s.treeNodePath.pop(),s.keyPath=s.treeNodePath.map(l=>l.key),s}function cH(e){if(e.length===0)return null;const t=e[0];return t.isGroup||t.ignored||t.disabled?t.getNext():t}function uH(e,t){const n=e.siblings,o=n.length,{index:r}=e;return t?n[(r+1)%o]:r===n.length-1?null:n[r+1]}function j0(e,t,{loop:n=!1,includeDisabled:o=!1}={}){const r=t==="prev"?dH:uH,i={reverse:t==="prev"};let a=!1,s=null;function l(c){if(c!==null){if(c===e){if(!a)a=!0;else if(!e.disabled&&!e.isGroup){s=e;return}}else if((!c.disabled||o)&&!c.ignored&&!c.isGroup){s=c;return}if(c.isGroup){const u=hm(c,i);u!==null?s=u:l(r(c,n))}else{const u=r(c,!1);if(u!==null)l(u);else{const d=fH(c);d!=null&&d.isGroup?l(r(d,n)):n&&l(r(c,!0))}}}}return l(e),s}function dH(e,t){const n=e.siblings,o=n.length,{index:r}=e;return t?n[(r-1+o)%o]:r===0?null:n[r-1]}function fH(e){return e.parent}function hm(e,t={}){const{reverse:n=!1}=t,{children:o}=e;if(o){const{length:r}=o,i=n?r-1:0,a=n?-1:r,s=n?-1:1;for(let l=i;l!==a;l+=s){const c=o[l];if(!c.disabled&&!c.ignored)if(c.isGroup){const u=hm(c,t);if(u!==null)return u}else return c}}return null}const hH={getChild(){return this.ignored?null:hm(this)},getParent(){const{parent:e}=this;return e!=null&&e.isGroup?e.getParent():e},getNext(e={}){return j0(this,"next",e)},getPrev(e={}){return j0(this,"prev",e)}};function pH(e,t){const n=t?new Set(t):void 0,o=[];function r(i){i.forEach(a=>{o.push(a),!(a.isLeaf||!a.children||a.ignored)&&(a.isGroup||n===void 0||n.has(a.key))&&r(a.children)})}return r(e),o}function mH(e,t){const n=e.key;for(;t;){if(t.key===n)return!0;t=t.parent}return!1}function W_(e,t,n,o,r,i=null,a=0){const s=[];return e.forEach((l,c)=>{var u;const d=Object.create(o);if(d.rawNode=l,d.siblings=s,d.level=a,d.index=c,d.isFirstChild=c===0,d.isLastChild=c+1===e.length,d.parent=i,!d.ignored){const f=r(l);Array.isArray(f)&&(d.children=W_(f,t,n,o,r,d,a+1))}s.push(d),t.set(d.key,d),n.has(a)||n.set(a,[]),(u=n.get(a))===null||u===void 0||u.push(d)}),s}function Pi(e,t={}){var n;const o=new Map,r=new Map,{getDisabled:i=JN,getIgnored:a=XN,getIsGroup:s=nH,getKey:l=YN}=t,c=(n=t.getChildren)!==null&&n!==void 0?n:GN,u=t.ignoreEmptyChildren?S=>{const w=c(S);return Array.isArray(w)?w.length?w:null:w}:c,d=Object.assign({get key(){return l(this.rawNode)},get disabled(){return i(this.rawNode)},get isGroup(){return s(this.rawNode)},get isLeaf(){return KN(this.rawNode,u)},get shallowLoaded(){return ZN(this.rawNode,u)},get ignored(){return a(this.rawNode)},contains(S){return mH(this,S)}},hH),f=W_(e,o,r,d,u);function h(S){if(S==null)return null;const w=o.get(S);return w&&!w.isGroup&&!w.ignored?w:null}function p(S){if(S==null)return null;const w=o.get(S);return w&&!w.ignored?w:null}function g(S,w){const x=p(S);return x?x.getPrev(w):null}function m(S,w){const x=p(S);return x?x.getNext(w):null}function b(S){const w=p(S);return w?w.getParent():null}function _(S){const w=p(S);return w?w.getChild():null}const C={treeNodes:f,treeNodeMap:o,levelTreeNodeMap:r,maxLevel:Math.max(...r.keys()),getChildren:u,getFlattenedNodes(S){return pH(f,S)},getNode:h,getPrev:g,getNext:m,getParent:b,getChild:_,getFirstAvailableNode(){return cH(f)},getPath(S,w={}){return lH(S,w,C)},getCheckedKeys(S,w={}){const{cascade:x=!0,leafOnly:y=!1,checkStrategy:P="all",allowNotLoaded:k=!1}=w;return Jd({checkedKeys:Xd(S),indeterminateKeys:Zd(S),cascade:x,leafOnly:y,checkStrategy:P,allowNotLoaded:k},C)},check(S,w,x={}){const{cascade:y=!0,leafOnly:P=!1,checkStrategy:k="all",allowNotLoaded:T=!1}=x;return Jd({checkedKeys:Xd(w),indeterminateKeys:Zd(w),keysToCheck:S==null?[]:H0(S),cascade:y,leafOnly:P,checkStrategy:k,allowNotLoaded:T},C)},uncheck(S,w,x={}){const{cascade:y=!0,leafOnly:P=!1,checkStrategy:k="all",allowNotLoaded:T=!1}=x;return Jd({checkedKeys:Xd(w),indeterminateKeys:Zd(w),keysToUncheck:S==null?[]:H0(S),cascade:y,leafOnly:P,checkStrategy:k,allowNotLoaded:T},C)},getNonLeafKeys(S={}){return qN(f,S)}};return C}const Xe={neutralBase:"#000",neutralInvertBase:"#fff",neutralTextBase:"#fff",neutralPopover:"rgb(72, 72, 78)",neutralCard:"rgb(24, 24, 28)",neutralModal:"rgb(44, 44, 50)",neutralBody:"rgb(16, 16, 20)",alpha1:"0.9",alpha2:"0.82",alpha3:"0.52",alpha4:"0.38",alpha5:"0.28",alphaClose:"0.52",alphaDisabled:"0.38",alphaDisabledInput:"0.06",alphaPending:"0.09",alphaTablePending:"0.06",alphaTableStriped:"0.05",alphaPressed:"0.05",alphaAvatar:"0.18",alphaRail:"0.2",alphaProgressRail:"0.12",alphaBorder:"0.24",alphaDivider:"0.09",alphaInput:"0.1",alphaAction:"0.06",alphaTab:"0.04",alphaScrollbar:"0.2",alphaScrollbarHover:"0.3",alphaCode:"0.12",alphaTag:"0.2",primaryHover:"#7fe7c4",primaryDefault:"#63e2b7",primaryActive:"#5acea7",primarySuppl:"rgb(42, 148, 125)",infoHover:"#8acbec",infoDefault:"#70c0e8",infoActive:"#66afd3",infoSuppl:"rgb(56, 137, 197)",errorHover:"#e98b8b",errorDefault:"#e88080",errorActive:"#e57272",errorSuppl:"rgb(208, 58, 82)",warningHover:"#f5d599",warningDefault:"#f2c97d",warningActive:"#e6c260",warningSuppl:"rgb(240, 138, 0)",successHover:"#7fe7c4",successDefault:"#63e2b7",successActive:"#5acea7",successSuppl:"rgb(42, 148, 125)"},gH=Uo(Xe.neutralBase),U_=Uo(Xe.neutralInvertBase),vH=`rgba(${U_.slice(0,3).join(", ")}, `;function Ot(e){return`${vH+String(e)})`}function bH(e){const t=Array.from(U_);return t[3]=Number(e),Ge(gH,t)}const yH=Object.assign(Object.assign({name:"common"},po),{baseColor:Xe.neutralBase,primaryColor:Xe.primaryDefault,primaryColorHover:Xe.primaryHover,primaryColorPressed:Xe.primaryActive,primaryColorSuppl:Xe.primarySuppl,infoColor:Xe.infoDefault,infoColorHover:Xe.infoHover,infoColorPressed:Xe.infoActive,infoColorSuppl:Xe.infoSuppl,successColor:Xe.successDefault,successColorHover:Xe.successHover,successColorPressed:Xe.successActive,successColorSuppl:Xe.successSuppl,warningColor:Xe.warningDefault,warningColorHover:Xe.warningHover,warningColorPressed:Xe.warningActive,warningColorSuppl:Xe.warningSuppl,errorColor:Xe.errorDefault,errorColorHover:Xe.errorHover,errorColorPressed:Xe.errorActive,errorColorSuppl:Xe.errorSuppl,textColorBase:Xe.neutralTextBase,textColor1:Ot(Xe.alpha1),textColor2:Ot(Xe.alpha2),textColor3:Ot(Xe.alpha3),textColorDisabled:Ot(Xe.alpha4),placeholderColor:Ot(Xe.alpha4),placeholderColorDisabled:Ot(Xe.alpha5),iconColor:Ot(Xe.alpha4),iconColorDisabled:Ot(Xe.alpha5),iconColorHover:Ot(Number(Xe.alpha4)*1.25),iconColorPressed:Ot(Number(Xe.alpha4)*.8),opacity1:Xe.alpha1,opacity2:Xe.alpha2,opacity3:Xe.alpha3,opacity4:Xe.alpha4,opacity5:Xe.alpha5,dividerColor:Ot(Xe.alphaDivider),borderColor:Ot(Xe.alphaBorder),closeIconColorHover:Ot(Number(Xe.alphaClose)),closeIconColor:Ot(Number(Xe.alphaClose)),closeIconColorPressed:Ot(Number(Xe.alphaClose)),closeColorHover:"rgba(255, 255, 255, .12)",closeColorPressed:"rgba(255, 255, 255, .08)",clearColor:Ot(Xe.alpha4),clearColorHover:un(Ot(Xe.alpha4),{alpha:1.25}),clearColorPressed:un(Ot(Xe.alpha4),{alpha:.8}),scrollbarColor:Ot(Xe.alphaScrollbar),scrollbarColorHover:Ot(Xe.alphaScrollbarHover),scrollbarWidth:"5px",scrollbarHeight:"5px",scrollbarBorderRadius:"5px",progressRailColor:Ot(Xe.alphaProgressRail),railColor:Ot(Xe.alphaRail),popoverColor:Xe.neutralPopover,tableColor:Xe.neutralCard,cardColor:Xe.neutralCard,modalColor:Xe.neutralModal,bodyColor:Xe.neutralBody,tagColor:bH(Xe.alphaTag),avatarColor:Ot(Xe.alphaAvatar),invertedColor:Xe.neutralBase,inputColor:Ot(Xe.alphaInput),codeColor:Ot(Xe.alphaCode),tabColor:Ot(Xe.alphaTab),actionColor:Ot(Xe.alphaAction),tableHeaderColor:Ot(Xe.alphaAction),hoverColor:Ot(Xe.alphaPending),tableColorHover:Ot(Xe.alphaTablePending),tableColorStriped:Ot(Xe.alphaTableStriped),pressedColor:Ot(Xe.alphaPressed),opacityDisabled:Xe.alphaDisabled,inputColorDisabled:Ot(Xe.alphaDisabledInput),buttonColor2:"rgba(255, 255, 255, .08)",buttonColor2Hover:"rgba(255, 255, 255, .12)",buttonColor2Pressed:"rgba(255, 255, 255, .08)",boxShadow1:"0 1px 2px -2px rgba(0, 0, 0, .24), 0 3px 6px 0 rgba(0, 0, 0, .18), 0 5px 12px 4px rgba(0, 0, 0, .12)",boxShadow2:"0 3px 6px -4px rgba(0, 0, 0, .24), 0 6px 12px 0 rgba(0, 0, 0, .16), 0 9px 18px 8px rgba(0, 0, 0, .10)",boxShadow3:"0 6px 16px -9px rgba(0, 0, 0, .08), 0 9px 28px 0 rgba(0, 0, 0, .05), 0 12px 48px 16px rgba(0, 0, 0, .03)"}),je=yH,lt={neutralBase:"#FFF",neutralInvertBase:"#000",neutralTextBase:"#000",neutralPopover:"#fff",neutralCard:"#fff",neutralModal:"#fff",neutralBody:"#fff",alpha1:"0.82",alpha2:"0.72",alpha3:"0.38",alpha4:"0.24",alpha5:"0.18",alphaClose:"0.6",alphaDisabled:"0.5",alphaDisabledInput:"0.02",alphaPending:"0.05",alphaTablePending:"0.02",alphaPressed:"0.07",alphaAvatar:"0.2",alphaRail:"0.14",alphaProgressRail:".08",alphaBorder:"0.12",alphaDivider:"0.06",alphaInput:"0",alphaAction:"0.02",alphaTab:"0.04",alphaScrollbar:"0.25",alphaScrollbarHover:"0.4",alphaCode:"0.05",alphaTag:"0.02",primaryHover:"#36ad6a",primaryDefault:"#18a058",primaryActive:"#0c7a43",primarySuppl:"#36ad6a",infoHover:"#4098fc",infoDefault:"#2080f0",infoActive:"#1060c9",infoSuppl:"#4098fc",errorHover:"#de576d",errorDefault:"#d03050",errorActive:"#ab1f3f",errorSuppl:"#de576d",warningHover:"#fcb040",warningDefault:"#f0a020",warningActive:"#c97c10",warningSuppl:"#fcb040",successHover:"#36ad6a",successDefault:"#18a058",successActive:"#0c7a43",successSuppl:"#36ad6a"},xH=Uo(lt.neutralBase),q_=Uo(lt.neutralInvertBase),CH=`rgba(${q_.slice(0,3).join(", ")}, `;function V0(e){return`${CH+String(e)})`}function Rn(e){const t=Array.from(q_);return t[3]=Number(e),Ge(xH,t)}const wH=Object.assign(Object.assign({name:"common"},po),{baseColor:lt.neutralBase,primaryColor:lt.primaryDefault,primaryColorHover:lt.primaryHover,primaryColorPressed:lt.primaryActive,primaryColorSuppl:lt.primarySuppl,infoColor:lt.infoDefault,infoColorHover:lt.infoHover,infoColorPressed:lt.infoActive,infoColorSuppl:lt.infoSuppl,successColor:lt.successDefault,successColorHover:lt.successHover,successColorPressed:lt.successActive,successColorSuppl:lt.successSuppl,warningColor:lt.warningDefault,warningColorHover:lt.warningHover,warningColorPressed:lt.warningActive,warningColorSuppl:lt.warningSuppl,errorColor:lt.errorDefault,errorColorHover:lt.errorHover,errorColorPressed:lt.errorActive,errorColorSuppl:lt.errorSuppl,textColorBase:lt.neutralTextBase,textColor1:"rgb(31, 34, 37)",textColor2:"rgb(51, 54, 57)",textColor3:"rgb(118, 124, 130)",textColorDisabled:Rn(lt.alpha4),placeholderColor:Rn(lt.alpha4),placeholderColorDisabled:Rn(lt.alpha5),iconColor:Rn(lt.alpha4),iconColorHover:un(Rn(lt.alpha4),{lightness:.75}),iconColorPressed:un(Rn(lt.alpha4),{lightness:.9}),iconColorDisabled:Rn(lt.alpha5),opacity1:lt.alpha1,opacity2:lt.alpha2,opacity3:lt.alpha3,opacity4:lt.alpha4,opacity5:lt.alpha5,dividerColor:"rgb(239, 239, 245)",borderColor:"rgb(224, 224, 230)",closeIconColor:Rn(Number(lt.alphaClose)),closeIconColorHover:Rn(Number(lt.alphaClose)),closeIconColorPressed:Rn(Number(lt.alphaClose)),closeColorHover:"rgba(0, 0, 0, .09)",closeColorPressed:"rgba(0, 0, 0, .13)",clearColor:Rn(lt.alpha4),clearColorHover:un(Rn(lt.alpha4),{lightness:.75}),clearColorPressed:un(Rn(lt.alpha4),{lightness:.9}),scrollbarColor:V0(lt.alphaScrollbar),scrollbarColorHover:V0(lt.alphaScrollbarHover),scrollbarWidth:"5px",scrollbarHeight:"5px",scrollbarBorderRadius:"5px",progressRailColor:Rn(lt.alphaProgressRail),railColor:"rgb(219, 219, 223)",popoverColor:lt.neutralPopover,tableColor:lt.neutralCard,cardColor:lt.neutralCard,modalColor:lt.neutralModal,bodyColor:lt.neutralBody,tagColor:"#eee",avatarColor:Rn(lt.alphaAvatar),invertedColor:"rgb(0, 20, 40)",inputColor:Rn(lt.alphaInput),codeColor:"rgb(244, 244, 248)",tabColor:"rgb(247, 247, 250)",actionColor:"rgb(250, 250, 252)",tableHeaderColor:"rgb(250, 250, 252)",hoverColor:"rgb(243, 243, 245)",tableColorHover:"rgba(0, 0, 100, 0.03)",tableColorStriped:"rgba(0, 0, 100, 0.02)",pressedColor:"rgb(237, 237, 239)",opacityDisabled:lt.alphaDisabled,inputColorDisabled:"rgb(250, 250, 252)",buttonColor2:"rgba(46, 51, 56, .05)",buttonColor2Hover:"rgba(46, 51, 56, .09)",buttonColor2Pressed:"rgba(46, 51, 56, .13)",boxShadow1:"0 1px 2px -2px rgba(0, 0, 0, .08), 0 3px 6px 0 rgba(0, 0, 0, .06), 0 5px 12px 4px rgba(0, 0, 0, .04)",boxShadow2:"0 3px 6px -4px rgba(0, 0, 0, .12), 0 6px 16px 0 rgba(0, 0, 0, .08), 0 9px 28px 8px rgba(0, 0, 0, .05)",boxShadow3:"0 6px 16px -9px rgba(0, 0, 0, .08), 0 9px 28px 0 rgba(0, 0, 0, .05), 0 12px 48px 16px rgba(0, 0, 0, .03)"}),xt=wH,_H={iconSizeSmall:"34px",iconSizeMedium:"40px",iconSizeLarge:"46px",iconSizeHuge:"52px"};function K_(e){const{textColorDisabled:t,iconColor:n,textColor2:o,fontSizeSmall:r,fontSizeMedium:i,fontSizeLarge:a,fontSizeHuge:s}=e;return Object.assign(Object.assign({},_H),{fontSizeSmall:r,fontSizeMedium:i,fontSizeLarge:a,fontSizeHuge:s,textColor:t,iconColor:n,extraTextColor:o})}const SH={name:"Empty",common:xt,self:K_},Mu=SH,kH={name:"Empty",common:je,self:K_},Ki=kH,PH=z("empty",` - display: flex; - flex-direction: column; - align-items: center; - font-size: var(--n-font-size); -`,[V("icon",` - width: var(--n-icon-size); - height: var(--n-icon-size); - font-size: var(--n-icon-size); - line-height: var(--n-icon-size); - color: var(--n-icon-color); - transition: - color .3s var(--n-bezier); - `,[q("+",[V("description",` - margin-top: 8px; - `)])]),V("description",` - transition: color .3s var(--n-bezier); - color: var(--n-text-color); - `),V("extra",` - text-align: center; - transition: color .3s var(--n-bezier); - margin-top: 12px; - color: var(--n-extra-text-color); - `)]),TH=Object.assign(Object.assign({},Be.props),{description:String,showDescription:{type:Boolean,default:!0},showIcon:{type:Boolean,default:!0},size:{type:String,default:"medium"},renderIcon:Function}),G_=be({name:"Empty",props:TH,setup(e){const{mergedClsPrefixRef:t,inlineThemeDisabled:n}=st(e),o=Be("Empty","-empty",PH,Mu,e,t),{localeRef:r}=Hi("Empty"),i=Ue(Eo,null),a=F(()=>{var u,d,f;return(u=e.description)!==null&&u!==void 0?u:(f=(d=i==null?void 0:i.mergedComponentPropsRef.value)===null||d===void 0?void 0:d.Empty)===null||f===void 0?void 0:f.description}),s=F(()=>{var u,d;return((d=(u=i==null?void 0:i.mergedComponentPropsRef.value)===null||u===void 0?void 0:u.Empty)===null||d===void 0?void 0:d.renderIcon)||(()=>v(zN,null))}),l=F(()=>{const{size:u}=e,{common:{cubicBezierEaseInOut:d},self:{[Re("iconSize",u)]:f,[Re("fontSize",u)]:h,textColor:p,iconColor:g,extraTextColor:m}}=o.value;return{"--n-icon-size":f,"--n-font-size":h,"--n-bezier":d,"--n-text-color":p,"--n-icon-color":g,"--n-extra-text-color":m}}),c=n?Pt("empty",F(()=>{let u="";const{size:d}=e;return u+=d[0],u}),l,e):void 0;return{mergedClsPrefix:t,mergedRenderIcon:s,localizedDescription:F(()=>a.value||r.value.description),cssVars:n?void 0:l,themeClass:c==null?void 0:c.themeClass,onRender:c==null?void 0:c.onRender}},render(){const{$slots:e,mergedClsPrefix:t,onRender:n}=this;return n==null||n(),v("div",{class:[`${t}-empty`,this.themeClass],style:this.cssVars},this.showIcon?v("div",{class:`${t}-empty__icon`},e.icon?e.icon():v(Ut,{clsPrefix:t},{default:this.mergedRenderIcon})):null,this.showDescription?v("div",{class:`${t}-empty__description`},e.default?e.default():this.localizedDescription):null,e.extra?v("div",{class:`${t}-empty__extra`},e.extra()):null)}}),RH={railInsetHorizontal:"auto 2px 4px 2px",railInsetVertical:"2px 4px 2px auto",railColor:"transparent"};function Y_(e){const{scrollbarColor:t,scrollbarColorHover:n,scrollbarHeight:o,scrollbarWidth:r,scrollbarBorderRadius:i}=e;return Object.assign(Object.assign({},RH),{height:o,width:r,borderRadius:i,color:t,colorHover:n})}const EH={name:"Scrollbar",common:xt,self:Y_},Gi=EH,$H={name:"Scrollbar",common:je,self:Y_},Vn=$H,{cubicBezierEaseInOut:W0}=po;function dl({name:e="fade-in",enterDuration:t="0.2s",leaveDuration:n="0.2s",enterCubicBezier:o=W0,leaveCubicBezier:r=W0}={}){return[q(`&.${e}-transition-enter-active`,{transition:`all ${t} ${o}!important`}),q(`&.${e}-transition-leave-active`,{transition:`all ${n} ${r}!important`}),q(`&.${e}-transition-enter-from, &.${e}-transition-leave-to`,{opacity:0}),q(`&.${e}-transition-leave-from, &.${e}-transition-enter-to`,{opacity:1})]}const AH=z("scrollbar",` - overflow: hidden; - position: relative; - z-index: auto; - height: 100%; - width: 100%; -`,[q(">",[z("scrollbar-container",` - width: 100%; - overflow: scroll; - height: 100%; - min-height: inherit; - max-height: inherit; - scrollbar-width: none; - `,[q("&::-webkit-scrollbar, &::-webkit-scrollbar-track-piece, &::-webkit-scrollbar-thumb",` - width: 0; - height: 0; - display: none; - `),q(">",[z("scrollbar-content",` - box-sizing: border-box; - min-width: 100%; - `)])])]),q(">, +",[z("scrollbar-rail",` - position: absolute; - pointer-events: none; - user-select: none; - background: var(--n-scrollbar-rail-color); - -webkit-user-select: none; - `,[Z("horizontal",` - inset: var(--n-scrollbar-rail-inset-horizontal); - height: var(--n-scrollbar-height); - `,[q(">",[V("scrollbar",` - height: var(--n-scrollbar-height); - border-radius: var(--n-scrollbar-border-radius); - right: 0; - `)])]),Z("vertical",` - inset: var(--n-scrollbar-rail-inset-vertical); - width: var(--n-scrollbar-width); - `,[q(">",[V("scrollbar",` - width: var(--n-scrollbar-width); - border-radius: var(--n-scrollbar-border-radius); - bottom: 0; - `)])]),Z("disabled",[q(">",[V("scrollbar","pointer-events: none;")])]),q(">",[V("scrollbar",` - z-index: 1; - position: absolute; - cursor: pointer; - pointer-events: all; - background-color: var(--n-scrollbar-color); - transition: background-color .2s var(--n-scrollbar-bezier); - `,[dl(),q("&:hover","background-color: var(--n-scrollbar-color-hover);")])])])])]),IH=Object.assign(Object.assign({},Be.props),{duration:{type:Number,default:0},scrollable:{type:Boolean,default:!0},xScrollable:Boolean,trigger:{type:String,default:"hover"},useUnifiedContainer:Boolean,triggerDisplayManually:Boolean,container:Function,content:Function,containerClass:String,containerStyle:[String,Object],contentClass:[String,Array],contentStyle:[String,Object],horizontalRailStyle:[String,Object],verticalRailStyle:[String,Object],onScroll:Function,onWheel:Function,onResize:Function,internalOnUpdateScrollLeft:Function,internalHoistYRail:Boolean}),X_=be({name:"Scrollbar",props:IH,inheritAttrs:!1,setup(e){const{mergedClsPrefixRef:t,inlineThemeDisabled:n,mergedRtlRef:o}=st(e),r=pn("Scrollbar",o,t),i=W(null),a=W(null),s=W(null),l=W(null),c=W(null),u=W(null),d=W(null),f=W(null),h=W(null),p=W(null),g=W(null),m=W(0),b=W(0),_=W(!1),C=W(!1);let S=!1,w=!1,x,y,P=0,k=0,T=0,E=0;const R=A8(),K=Be("Scrollbar","-scrollbar",AH,Gi,e,t),N=F(()=>{const{value:X}=f,{value:ve}=u,{value:Ae}=p;return X===null||ve===null||Ae===null?0:Math.min(X,Ae*X/ve+bn(K.value.self.width)*1.5)}),D=F(()=>`${N.value}px`),M=F(()=>{const{value:X}=h,{value:ve}=d,{value:Ae}=g;return X===null||ve===null||Ae===null?0:Ae*X/ve+bn(K.value.self.height)*1.5}),G=F(()=>`${M.value}px`),J=F(()=>{const{value:X}=f,{value:ve}=m,{value:Ae}=u,{value:Ke}=p;if(X===null||Ae===null||Ke===null)return 0;{const Ze=Ae-X;return Ze?ve/Ze*(Ke-N.value):0}}),he=F(()=>`${J.value}px`),pe=F(()=>{const{value:X}=h,{value:ve}=b,{value:Ae}=d,{value:Ke}=g;if(X===null||Ae===null||Ke===null)return 0;{const Ze=Ae-X;return Ze?ve/Ze*(Ke-M.value):0}}),B=F(()=>`${pe.value}px`),$=F(()=>{const{value:X}=f,{value:ve}=u;return X!==null&&ve!==null&&ve>X}),A=F(()=>{const{value:X}=h,{value:ve}=d;return X!==null&&ve!==null&&ve>X}),Y=F(()=>{const{trigger:X}=e;return X==="none"||_.value}),ne=F(()=>{const{trigger:X}=e;return X==="none"||C.value}),fe=F(()=>{const{container:X}=e;return X?X():a.value}),Q=F(()=>{const{content:X}=e;return X?X():s.value}),xe=(X,ve)=>{if(!e.scrollable)return;if(typeof X=="number"){L(X,ve??0,0,!1,"auto");return}const{left:Ae,top:Ke,index:Ze,elSize:Je,position:tt,behavior:rt,el:vt,debounce:sn=!0}=X;(Ae!==void 0||Ke!==void 0)&&L(Ae??0,Ke??0,0,!1,rt),vt!==void 0?L(0,vt.offsetTop,vt.offsetHeight,sn,rt):Ze!==void 0&&Je!==void 0?L(0,Ze*Je,Je,sn,rt):tt==="bottom"?L(0,Number.MAX_SAFE_INTEGER,0,!1,rt):tt==="top"&&L(0,0,0,!1,rt)},H=Qp(()=>{e.container||xe({top:m.value,left:b.value})}),ye=()=>{H.isDeactivated||le()},Oe=X=>{if(H.isDeactivated)return;const{onResize:ve}=e;ve&&ve(X),le()},Ne=(X,ve)=>{if(!e.scrollable)return;const{value:Ae}=fe;Ae&&(typeof X=="object"?Ae.scrollBy(X):Ae.scrollBy(X,ve||0))};function L(X,ve,Ae,Ke,Ze){const{value:Je}=fe;if(Je){if(Ke){const{scrollTop:tt,offsetHeight:rt}=Je;if(ve>tt){ve+Ae<=tt+rt||Je.scrollTo({left:X,top:ve+Ae-rt,behavior:Ze});return}}Je.scrollTo({left:X,top:ve,behavior:Ze})}}function O(){ke(),I(),le()}function oe(){_e()}function _e(){te(),ge()}function te(){y!==void 0&&window.clearTimeout(y),y=window.setTimeout(()=>{C.value=!1},e.duration)}function ge(){x!==void 0&&window.clearTimeout(x),x=window.setTimeout(()=>{_.value=!1},e.duration)}function ke(){x!==void 0&&window.clearTimeout(x),_.value=!0}function I(){y!==void 0&&window.clearTimeout(y),C.value=!0}function j(X){const{onScroll:ve}=e;ve&&ve(X),ee()}function ee(){const{value:X}=fe;X&&(m.value=X.scrollTop,b.value=X.scrollLeft*(r!=null&&r.value?-1:1))}function Ce(){const{value:X}=Q;X&&(u.value=X.offsetHeight,d.value=X.offsetWidth);const{value:ve}=fe;ve&&(f.value=ve.offsetHeight,h.value=ve.offsetWidth);const{value:Ae}=c,{value:Ke}=l;Ae&&(g.value=Ae.offsetWidth),Ke&&(p.value=Ke.offsetHeight)}function ce(){const{value:X}=fe;X&&(m.value=X.scrollTop,b.value=X.scrollLeft*(r!=null&&r.value?-1:1),f.value=X.offsetHeight,h.value=X.offsetWidth,u.value=X.scrollHeight,d.value=X.scrollWidth);const{value:ve}=c,{value:Ae}=l;ve&&(g.value=ve.offsetWidth),Ae&&(p.value=Ae.offsetHeight)}function le(){e.scrollable&&(e.useUnifiedContainer?ce():(Ce(),ee()))}function re(X){var ve;return!(!((ve=i.value)===null||ve===void 0)&&ve.contains(Ai(X)))}function de(X){X.preventDefault(),X.stopPropagation(),w=!0,At("mousemove",window,De,!0),At("mouseup",window,Le,!0),k=b.value,T=r!=null&&r.value?window.innerWidth-X.clientX:X.clientX}function De(X){if(!w)return;x!==void 0&&window.clearTimeout(x),y!==void 0&&window.clearTimeout(y);const{value:ve}=h,{value:Ae}=d,{value:Ke}=M;if(ve===null||Ae===null)return;const Je=(r!=null&&r.value?window.innerWidth-X.clientX-T:X.clientX-T)*(Ae-ve)/(ve-Ke),tt=Ae-ve;let rt=k+Je;rt=Math.min(tt,rt),rt=Math.max(rt,0);const{value:vt}=fe;if(vt){vt.scrollLeft=rt*(r!=null&&r.value?-1:1);const{internalOnUpdateScrollLeft:sn}=e;sn&&sn(rt)}}function Le(X){X.preventDefault(),X.stopPropagation(),Tt("mousemove",window,De,!0),Tt("mouseup",window,Le,!0),w=!1,le(),re(X)&&_e()}function Pe(X){X.preventDefault(),X.stopPropagation(),S=!0,At("mousemove",window,Fe,!0),At("mouseup",window,He,!0),P=m.value,E=X.clientY}function Fe(X){if(!S)return;x!==void 0&&window.clearTimeout(x),y!==void 0&&window.clearTimeout(y);const{value:ve}=f,{value:Ae}=u,{value:Ke}=N;if(ve===null||Ae===null)return;const Je=(X.clientY-E)*(Ae-ve)/(ve-Ke),tt=Ae-ve;let rt=P+Je;rt=Math.min(tt,rt),rt=Math.max(rt,0);const{value:vt}=fe;vt&&(vt.scrollTop=rt)}function He(X){X.preventDefault(),X.stopPropagation(),Tt("mousemove",window,Fe,!0),Tt("mouseup",window,He,!0),S=!1,le(),re(X)&&_e()}Xt(()=>{const{value:X}=A,{value:ve}=$,{value:Ae}=t,{value:Ke}=c,{value:Ze}=l;Ke&&(X?Ke.classList.remove(`${Ae}-scrollbar-rail--disabled`):Ke.classList.add(`${Ae}-scrollbar-rail--disabled`)),Ze&&(ve?Ze.classList.remove(`${Ae}-scrollbar-rail--disabled`):Ze.classList.add(`${Ae}-scrollbar-rail--disabled`))}),jt(()=>{e.container||le()}),on(()=>{x!==void 0&&window.clearTimeout(x),y!==void 0&&window.clearTimeout(y),Tt("mousemove",window,Fe,!0),Tt("mouseup",window,He,!0)});const Ie=F(()=>{const{common:{cubicBezierEaseInOut:X},self:{color:ve,colorHover:Ae,height:Ke,width:Ze,borderRadius:Je,railInsetHorizontal:tt,railInsetVertical:rt,railColor:vt}}=K.value;return{"--n-scrollbar-bezier":X,"--n-scrollbar-color":ve,"--n-scrollbar-color-hover":Ae,"--n-scrollbar-border-radius":Je,"--n-scrollbar-width":Ze,"--n-scrollbar-height":Ke,"--n-scrollbar-rail-inset-horizontal":tt,"--n-scrollbar-rail-inset-vertical":r!=null&&r.value?X6(rt):rt,"--n-scrollbar-rail-color":vt}}),Qe=n?Pt("scrollbar",void 0,Ie,e):void 0;return Object.assign(Object.assign({},{scrollTo:xe,scrollBy:Ne,sync:le,syncUnifiedContainer:ce,handleMouseEnterWrapper:O,handleMouseLeaveWrapper:oe}),{mergedClsPrefix:t,rtlEnabled:r,containerScrollTop:m,wrapperRef:i,containerRef:a,contentRef:s,yRailRef:l,xRailRef:c,needYBar:$,needXBar:A,yBarSizePx:D,xBarSizePx:G,yBarTopPx:he,xBarLeftPx:B,isShowXBar:Y,isShowYBar:ne,isIos:R,handleScroll:j,handleContentResize:ye,handleContainerResize:Oe,handleYScrollMouseDown:Pe,handleXScrollMouseDown:de,cssVars:n?void 0:Ie,themeClass:Qe==null?void 0:Qe.themeClass,onRender:Qe==null?void 0:Qe.onRender})},render(){var e;const{$slots:t,mergedClsPrefix:n,triggerDisplayManually:o,rtlEnabled:r,internalHoistYRail:i}=this;if(!this.scrollable)return(e=t.default)===null||e===void 0?void 0:e.call(t);const a=this.trigger==="none",s=(u,d)=>v("div",{ref:"yRailRef",class:[`${n}-scrollbar-rail`,`${n}-scrollbar-rail--vertical`,u],"data-scrollbar-rail":!0,style:[d||"",this.verticalRailStyle],"aria-hidden":!0},v(a?yh:fn,a?null:{name:"fade-in-transition"},{default:()=>this.needYBar&&this.isShowYBar&&!this.isIos?v("div",{class:`${n}-scrollbar-rail__scrollbar`,style:{height:this.yBarSizePx,top:this.yBarTopPx},onMousedown:this.handleYScrollMouseDown}):null})),l=()=>{var u,d;return(u=this.onRender)===null||u===void 0||u.call(this),v("div",Ln(this.$attrs,{role:"none",ref:"wrapperRef",class:[`${n}-scrollbar`,this.themeClass,r&&`${n}-scrollbar--rtl`],style:this.cssVars,onMouseenter:o?void 0:this.handleMouseEnterWrapper,onMouseleave:o?void 0:this.handleMouseLeaveWrapper}),[this.container?(d=t.default)===null||d===void 0?void 0:d.call(t):v("div",{role:"none",ref:"containerRef",class:[`${n}-scrollbar-container`,this.containerClass],style:this.containerStyle,onScroll:this.handleScroll,onWheel:this.onWheel},v(cr,{onResize:this.handleContentResize},{default:()=>v("div",{ref:"contentRef",role:"none",style:[{width:this.xScrollable?"fit-content":null},this.contentStyle],class:[`${n}-scrollbar-content`,this.contentClass]},t)})),i?null:s(void 0,void 0),this.xScrollable&&v("div",{ref:"xRailRef",class:[`${n}-scrollbar-rail`,`${n}-scrollbar-rail--horizontal`],style:this.horizontalRailStyle,"data-scrollbar-rail":!0,"aria-hidden":!0},v(a?yh:fn,a?null:{name:"fade-in-transition"},{default:()=>this.needXBar&&this.isShowXBar&&!this.isIos?v("div",{class:`${n}-scrollbar-rail__scrollbar`,style:{width:this.xBarSizePx,right:r?this.xBarLeftPx:void 0,left:r?void 0:this.xBarLeftPx},onMousedown:this.handleXScrollMouseDown}):null}))])},c=this.container?l():v(cr,{onResize:this.handleContainerResize},{default:l});return i?v(it,null,c,s(this.themeClass,this.cssVars)):c}}),Io=X_,Z_=X_,OH={height:"calc(var(--n-option-height) * 7.6)",paddingSmall:"4px 0",paddingMedium:"4px 0",paddingLarge:"4px 0",paddingHuge:"4px 0",optionPaddingSmall:"0 12px",optionPaddingMedium:"0 12px",optionPaddingLarge:"0 12px",optionPaddingHuge:"0 12px",loadingSize:"18px"};function J_(e){const{borderRadius:t,popoverColor:n,textColor3:o,dividerColor:r,textColor2:i,primaryColorPressed:a,textColorDisabled:s,primaryColor:l,opacityDisabled:c,hoverColor:u,fontSizeSmall:d,fontSizeMedium:f,fontSizeLarge:h,fontSizeHuge:p,heightSmall:g,heightMedium:m,heightLarge:b,heightHuge:_}=e;return Object.assign(Object.assign({},OH),{optionFontSizeSmall:d,optionFontSizeMedium:f,optionFontSizeLarge:h,optionFontSizeHuge:p,optionHeightSmall:g,optionHeightMedium:m,optionHeightLarge:b,optionHeightHuge:_,borderRadius:t,color:n,groupHeaderTextColor:o,actionDividerColor:r,optionTextColor:i,optionTextColorPressed:a,optionTextColorDisabled:s,optionTextColorActive:l,optionOpacityDisabled:c,optionCheckColor:l,optionColorPending:u,optionColorActive:"rgba(0, 0, 0, 0)",optionColorActivePending:u,actionTextColor:i,loadingColor:l})}const MH={name:"InternalSelectMenu",common:xt,peers:{Scrollbar:Gi,Empty:Mu},self:J_},pm=MH,zH={name:"InternalSelectMenu",common:je,peers:{Scrollbar:Vn,Empty:Ki},self:J_},fl=zH;function DH(e,t){return v(fn,{name:"fade-in-scale-up-transition"},{default:()=>e?v(Ut,{clsPrefix:t,class:`${t}-base-select-option__check`},{default:()=>v(AN)}):null})}const U0=be({name:"NBaseSelectOption",props:{clsPrefix:{type:String,required:!0},tmNode:{type:Object,required:!0}},setup(e){const{valueRef:t,pendingTmNodeRef:n,multipleRef:o,valueSetRef:r,renderLabelRef:i,renderOptionRef:a,labelFieldRef:s,valueFieldRef:l,showCheckmarkRef:c,nodePropsRef:u,handleOptionClick:d,handleOptionMouseEnter:f}=Ue(Wp),h=kt(()=>{const{value:b}=n;return b?e.tmNode.key===b.key:!1});function p(b){const{tmNode:_}=e;_.disabled||d(b,_)}function g(b){const{tmNode:_}=e;_.disabled||f(b,_)}function m(b){const{tmNode:_}=e,{value:C}=h;_.disabled||C||f(b,_)}return{multiple:o,isGrouped:kt(()=>{const{tmNode:b}=e,{parent:_}=b;return _&&_.rawNode.type==="group"}),showCheckmark:c,nodeProps:u,isPending:h,isSelected:kt(()=>{const{value:b}=t,{value:_}=o;if(b===null)return!1;const C=e.tmNode.rawNode[l.value];if(_){const{value:S}=r;return S.has(C)}else return b===C}),labelField:s,renderLabel:i,renderOption:a,handleMouseMove:m,handleMouseEnter:g,handleClick:p}},render(){const{clsPrefix:e,tmNode:{rawNode:t},isSelected:n,isPending:o,isGrouped:r,showCheckmark:i,nodeProps:a,renderOption:s,renderLabel:l,handleClick:c,handleMouseEnter:u,handleMouseMove:d}=this,f=DH(n,e),h=l?[l(t,n),i&&f]:[Wt(t[this.labelField],t,n),i&&f],p=a==null?void 0:a(t),g=v("div",Object.assign({},p,{class:[`${e}-base-select-option`,t.class,p==null?void 0:p.class,{[`${e}-base-select-option--disabled`]:t.disabled,[`${e}-base-select-option--selected`]:n,[`${e}-base-select-option--grouped`]:r,[`${e}-base-select-option--pending`]:o,[`${e}-base-select-option--show-checkmark`]:i}],style:[(p==null?void 0:p.style)||"",t.style||""],onClick:Es([c,p==null?void 0:p.onClick]),onMouseenter:Es([u,p==null?void 0:p.onMouseenter]),onMousemove:Es([d,p==null?void 0:p.onMousemove])}),v("div",{class:`${e}-base-select-option__content`},h));return t.render?t.render({node:g,option:t,selected:n}):s?s({node:g,option:t,selected:n}):g}}),q0=be({name:"NBaseSelectGroupHeader",props:{clsPrefix:{type:String,required:!0},tmNode:{type:Object,required:!0}},setup(){const{renderLabelRef:e,renderOptionRef:t,labelFieldRef:n,nodePropsRef:o}=Ue(Wp);return{labelField:n,nodeProps:o,renderLabel:e,renderOption:t}},render(){const{clsPrefix:e,renderLabel:t,renderOption:n,nodeProps:o,tmNode:{rawNode:r}}=this,i=o==null?void 0:o(r),a=t?t(r,!1):Wt(r[this.labelField],r,!1),s=v("div",Object.assign({},i,{class:[`${e}-base-select-group-header`,i==null?void 0:i.class]}),a);return r.render?r.render({node:s,option:r}):n?n({node:s,option:r,selected:!1}):s}}),{cubicBezierEaseIn:K0,cubicBezierEaseOut:G0}=po;function qa({transformOrigin:e="inherit",duration:t=".2s",enterScale:n=".9",originalTransform:o="",originalTransition:r=""}={}){return[q("&.fade-in-scale-up-transition-leave-active",{transformOrigin:e,transition:`opacity ${t} ${K0}, transform ${t} ${K0} ${r&&`,${r}`}`}),q("&.fade-in-scale-up-transition-enter-active",{transformOrigin:e,transition:`opacity ${t} ${G0}, transform ${t} ${G0} ${r&&`,${r}`}`}),q("&.fade-in-scale-up-transition-enter-from, &.fade-in-scale-up-transition-leave-to",{opacity:0,transform:`${o} scale(${n})`}),q("&.fade-in-scale-up-transition-leave-from, &.fade-in-scale-up-transition-enter-to",{opacity:1,transform:`${o} scale(1)`})]}const LH=z("base-select-menu",` - line-height: 1.5; - outline: none; - z-index: 0; - position: relative; - border-radius: var(--n-border-radius); - transition: - background-color .3s var(--n-bezier), - box-shadow .3s var(--n-bezier); - background-color: var(--n-color); -`,[z("scrollbar",` - max-height: var(--n-height); - `),z("virtual-list",` - max-height: var(--n-height); - `),z("base-select-option",` - min-height: var(--n-option-height); - font-size: var(--n-option-font-size); - display: flex; - align-items: center; - `,[V("content",` - z-index: 1; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; - `)]),z("base-select-group-header",` - min-height: var(--n-option-height); - font-size: .93em; - display: flex; - align-items: center; - `),z("base-select-menu-option-wrapper",` - position: relative; - width: 100%; - `),V("loading, empty",` - display: flex; - padding: 12px 32px; - flex: 1; - justify-content: center; - `),V("loading",` - color: var(--n-loading-color); - font-size: var(--n-loading-size); - `),V("header",` - padding: 8px var(--n-option-padding-left); - font-size: var(--n-option-font-size); - transition: - color .3s var(--n-bezier), - border-color .3s var(--n-bezier); - border-bottom: 1px solid var(--n-action-divider-color); - color: var(--n-action-text-color); - `),V("action",` - padding: 8px var(--n-option-padding-left); - font-size: var(--n-option-font-size); - transition: - color .3s var(--n-bezier), - border-color .3s var(--n-bezier); - border-top: 1px solid var(--n-action-divider-color); - color: var(--n-action-text-color); - `),z("base-select-group-header",` - position: relative; - cursor: default; - padding: var(--n-option-padding); - color: var(--n-group-header-text-color); - `),z("base-select-option",` - cursor: pointer; - position: relative; - padding: var(--n-option-padding); - transition: - color .3s var(--n-bezier), - opacity .3s var(--n-bezier); - box-sizing: border-box; - color: var(--n-option-text-color); - opacity: 1; - `,[Z("show-checkmark",` - padding-right: calc(var(--n-option-padding-right) + 20px); - `),q("&::before",` - content: ""; - position: absolute; - left: 4px; - right: 4px; - top: 0; - bottom: 0; - border-radius: var(--n-border-radius); - transition: background-color .3s var(--n-bezier); - `),q("&:active",` - color: var(--n-option-text-color-pressed); - `),Z("grouped",` - padding-left: calc(var(--n-option-padding-left) * 1.5); - `),Z("pending",[q("&::before",` - background-color: var(--n-option-color-pending); - `)]),Z("selected",` - color: var(--n-option-text-color-active); - `,[q("&::before",` - background-color: var(--n-option-color-active); - `),Z("pending",[q("&::before",` - background-color: var(--n-option-color-active-pending); - `)])]),Z("disabled",` - cursor: not-allowed; - `,[Rt("selected",` - color: var(--n-option-text-color-disabled); - `),Z("selected",` - opacity: var(--n-option-opacity-disabled); - `)]),V("check",` - font-size: 16px; - position: absolute; - right: calc(var(--n-option-padding-right) - 4px); - top: calc(50% - 7px); - color: var(--n-option-check-color); - transition: color .3s var(--n-bezier); - `,[qa({enterScale:"0.5"})])])]),Q_=be({name:"InternalSelectMenu",props:Object.assign(Object.assign({},Be.props),{clsPrefix:{type:String,required:!0},scrollable:{type:Boolean,default:!0},treeMate:{type:Object,required:!0},multiple:Boolean,size:{type:String,default:"medium"},value:{type:[String,Number,Array],default:null},autoPending:Boolean,virtualScroll:{type:Boolean,default:!0},show:{type:Boolean,default:!0},labelField:{type:String,default:"label"},valueField:{type:String,default:"value"},loading:Boolean,focusable:Boolean,renderLabel:Function,renderOption:Function,nodeProps:Function,showCheckmark:{type:Boolean,default:!0},onMousedown:Function,onScroll:Function,onFocus:Function,onBlur:Function,onKeyup:Function,onKeydown:Function,onTabOut:Function,onMouseenter:Function,onMouseleave:Function,onResize:Function,resetMenuOnOptionsChange:{type:Boolean,default:!0},inlineThemeDisabled:Boolean,onToggle:Function}),setup(e){const{mergedClsPrefixRef:t,mergedRtlRef:n}=st(e),o=pn("InternalSelectMenu",n,t),r=Be("InternalSelectMenu","-internal-select-menu",LH,pm,e,We(e,"clsPrefix")),i=W(null),a=W(null),s=W(null),l=F(()=>e.treeMate.getFlattenedNodes()),c=F(()=>oH(l.value)),u=W(null);function d(){const{treeMate:$}=e;let A=null;const{value:Y}=e;Y===null?A=$.getFirstAvailableNode():(e.multiple?A=$.getNode((Y||[])[(Y||[]).length-1]):A=$.getNode(Y),(!A||A.disabled)&&(A=$.getFirstAvailableNode())),N(A||null)}function f(){const{value:$}=u;$&&!e.treeMate.getNode($.key)&&(u.value=null)}let h;ft(()=>e.show,$=>{$?h=ft(()=>e.treeMate,()=>{e.resetMenuOnOptionsChange?(e.autoPending?d():f(),Ht(D)):f()},{immediate:!0}):h==null||h()},{immediate:!0}),on(()=>{h==null||h()});const p=F(()=>bn(r.value.self[Re("optionHeight",e.size)])),g=F(()=>lo(r.value.self[Re("padding",e.size)])),m=F(()=>e.multiple&&Array.isArray(e.value)?new Set(e.value):new Set),b=F(()=>{const $=l.value;return $&&$.length===0});function _($){const{onToggle:A}=e;A&&A($)}function C($){const{onScroll:A}=e;A&&A($)}function S($){var A;(A=s.value)===null||A===void 0||A.sync(),C($)}function w(){var $;($=s.value)===null||$===void 0||$.sync()}function x(){const{value:$}=u;return $||null}function y($,A){A.disabled||N(A,!1)}function P($,A){A.disabled||_(A)}function k($){var A;so($,"action")||(A=e.onKeyup)===null||A===void 0||A.call(e,$)}function T($){var A;so($,"action")||(A=e.onKeydown)===null||A===void 0||A.call(e,$)}function E($){var A;(A=e.onMousedown)===null||A===void 0||A.call(e,$),!e.focusable&&$.preventDefault()}function R(){const{value:$}=u;$&&N($.getNext({loop:!0}),!0)}function K(){const{value:$}=u;$&&N($.getPrev({loop:!0}),!0)}function N($,A=!1){u.value=$,A&&D()}function D(){var $,A;const Y=u.value;if(!Y)return;const ne=c.value(Y.key);ne!==null&&(e.virtualScroll?($=a.value)===null||$===void 0||$.scrollTo({index:ne}):(A=s.value)===null||A===void 0||A.scrollTo({index:ne,elSize:p.value}))}function M($){var A,Y;!((A=i.value)===null||A===void 0)&&A.contains($.target)&&((Y=e.onFocus)===null||Y===void 0||Y.call(e,$))}function G($){var A,Y;!((A=i.value)===null||A===void 0)&&A.contains($.relatedTarget)||(Y=e.onBlur)===null||Y===void 0||Y.call(e,$)}at(Wp,{handleOptionMouseEnter:y,handleOptionClick:P,valueSetRef:m,pendingTmNodeRef:u,nodePropsRef:We(e,"nodeProps"),showCheckmarkRef:We(e,"showCheckmark"),multipleRef:We(e,"multiple"),valueRef:We(e,"value"),renderLabelRef:We(e,"renderLabel"),renderOptionRef:We(e,"renderOption"),labelFieldRef:We(e,"labelField"),valueFieldRef:We(e,"valueField")}),at(Rw,i),jt(()=>{const{value:$}=s;$&&$.sync()});const J=F(()=>{const{size:$}=e,{common:{cubicBezierEaseInOut:A},self:{height:Y,borderRadius:ne,color:fe,groupHeaderTextColor:Q,actionDividerColor:xe,optionTextColorPressed:H,optionTextColor:ye,optionTextColorDisabled:Oe,optionTextColorActive:Ne,optionOpacityDisabled:L,optionCheckColor:O,actionTextColor:oe,optionColorPending:_e,optionColorActive:te,loadingColor:ge,loadingSize:ke,optionColorActivePending:I,[Re("optionFontSize",$)]:j,[Re("optionHeight",$)]:ee,[Re("optionPadding",$)]:Ce}}=r.value;return{"--n-height":Y,"--n-action-divider-color":xe,"--n-action-text-color":oe,"--n-bezier":A,"--n-border-radius":ne,"--n-color":fe,"--n-option-font-size":j,"--n-group-header-text-color":Q,"--n-option-check-color":O,"--n-option-color-pending":_e,"--n-option-color-active":te,"--n-option-color-active-pending":I,"--n-option-height":ee,"--n-option-opacity-disabled":L,"--n-option-text-color":ye,"--n-option-text-color-active":Ne,"--n-option-text-color-disabled":Oe,"--n-option-text-color-pressed":H,"--n-option-padding":Ce,"--n-option-padding-left":lo(Ce,"left"),"--n-option-padding-right":lo(Ce,"right"),"--n-loading-color":ge,"--n-loading-size":ke}}),{inlineThemeDisabled:he}=e,pe=he?Pt("internal-select-menu",F(()=>e.size[0]),J,e):void 0,B={selfRef:i,next:R,prev:K,getPendingTmNode:x};return Uw(i,e.onResize),Object.assign({mergedTheme:r,mergedClsPrefix:t,rtlEnabled:o,virtualListRef:a,scrollbarRef:s,itemSize:p,padding:g,flattenedNodes:l,empty:b,virtualListContainer(){const{value:$}=a;return $==null?void 0:$.listElRef},virtualListContent(){const{value:$}=a;return $==null?void 0:$.itemsElRef},doScroll:C,handleFocusin:M,handleFocusout:G,handleKeyUp:k,handleKeyDown:T,handleMouseDown:E,handleVirtualListResize:w,handleVirtualListScroll:S,cssVars:he?void 0:J,themeClass:pe==null?void 0:pe.themeClass,onRender:pe==null?void 0:pe.onRender},B)},render(){const{$slots:e,virtualScroll:t,clsPrefix:n,mergedTheme:o,themeClass:r,onRender:i}=this;return i==null||i(),v("div",{ref:"selfRef",tabindex:this.focusable?0:-1,class:[`${n}-base-select-menu`,this.rtlEnabled&&`${n}-base-select-menu--rtl`,r,this.multiple&&`${n}-base-select-menu--multiple`],style:this.cssVars,onFocusin:this.handleFocusin,onFocusout:this.handleFocusout,onKeyup:this.handleKeyUp,onKeydown:this.handleKeyDown,onMousedown:this.handleMouseDown,onMouseenter:this.onMouseenter,onMouseleave:this.onMouseleave},$t(e.header,a=>a&&v("div",{class:`${n}-base-select-menu__header`,"data-header":!0,key:"header"},a)),this.loading?v("div",{class:`${n}-base-select-menu__loading`},v(ti,{clsPrefix:n,strokeWidth:20})):this.empty?v("div",{class:`${n}-base-select-menu__empty`,"data-empty":!0},An(e.empty,()=>[v(G_,{theme:o.peers.Empty,themeOverrides:o.peerOverrides.Empty})])):v(Io,{ref:"scrollbarRef",theme:o.peers.Scrollbar,themeOverrides:o.peerOverrides.Scrollbar,scrollable:this.scrollable,container:t?this.virtualListContainer:void 0,content:t?this.virtualListContent:void 0,onScroll:t?void 0:this.doScroll},{default:()=>t?v(Nw,{ref:"virtualListRef",class:`${n}-virtual-list`,items:this.flattenedNodes,itemSize:this.itemSize,showScrollbar:!1,paddingTop:this.padding.top,paddingBottom:this.padding.bottom,onResize:this.handleVirtualListResize,onScroll:this.handleVirtualListScroll,itemResizable:!0},{default:({item:a})=>a.isGroup?v(q0,{key:a.key,clsPrefix:n,tmNode:a}):a.ignored?null:v(U0,{clsPrefix:n,key:a.key,tmNode:a})}):v("div",{class:`${n}-base-select-menu-option-wrapper`,style:{paddingTop:this.padding.top,paddingBottom:this.padding.bottom}},this.flattenedNodes.map(a=>a.isGroup?v(q0,{key:a.key,clsPrefix:n,tmNode:a}):v(U0,{clsPrefix:n,key:a.key,tmNode:a})))}),$t(e.action,a=>a&&[v("div",{class:`${n}-base-select-menu__action`,"data-action":!0,key:"action"},a),v(jN,{onFocus:this.onTabOut,key:"focus-detector"})]))}}),FH=z("base-wave",` - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - border-radius: inherit; -`),BH=be({name:"BaseWave",props:{clsPrefix:{type:String,required:!0}},setup(e){ei("-base-wave",FH,We(e,"clsPrefix"));const t=W(null),n=W(!1);let o=null;return on(()=>{o!==null&&window.clearTimeout(o)}),{active:n,selfRef:t,play(){o!==null&&(window.clearTimeout(o),n.value=!1,o=null),Ht(()=>{var r;(r=t.value)===null||r===void 0||r.offsetHeight,n.value=!0,o=window.setTimeout(()=>{n.value=!1,o=null},1e3)})}}},render(){const{clsPrefix:e}=this;return v("div",{ref:"selfRef","aria-hidden":!0,class:[`${e}-base-wave`,this.active&&`${e}-base-wave--active`]})}}),NH={space:"6px",spaceArrow:"10px",arrowOffset:"10px",arrowOffsetVertical:"10px",arrowHeight:"6px",padding:"8px 14px"};function e2(e){const{boxShadow2:t,popoverColor:n,textColor2:o,borderRadius:r,fontSize:i,dividerColor:a}=e;return Object.assign(Object.assign({},NH),{fontSize:i,borderRadius:r,color:n,dividerColor:a,textColor:o,boxShadow:t})}const HH={name:"Popover",common:xt,self:e2},Ka=HH,jH={name:"Popover",common:je,self:e2},Yi=jH,Qd={top:"bottom",bottom:"top",left:"right",right:"left"},vn="var(--n-arrow-height) * 1.414",VH=q([z("popover",` - transition: - box-shadow .3s var(--n-bezier), - background-color .3s var(--n-bezier), - color .3s var(--n-bezier); - position: relative; - font-size: var(--n-font-size); - color: var(--n-text-color); - box-shadow: var(--n-box-shadow); - word-break: break-word; - `,[q(">",[z("scrollbar",` - height: inherit; - max-height: inherit; - `)]),Rt("raw",` - background-color: var(--n-color); - border-radius: var(--n-border-radius); - `,[Rt("scrollable",[Rt("show-header-or-footer","padding: var(--n-padding);")])]),V("header",` - padding: var(--n-padding); - border-bottom: 1px solid var(--n-divider-color); - transition: border-color .3s var(--n-bezier); - `),V("footer",` - padding: var(--n-padding); - border-top: 1px solid var(--n-divider-color); - transition: border-color .3s var(--n-bezier); - `),Z("scrollable, show-header-or-footer",[V("content",` - padding: var(--n-padding); - `)])]),z("popover-shared",` - transform-origin: inherit; - `,[z("popover-arrow-wrapper",` - position: absolute; - overflow: hidden; - pointer-events: none; - `,[z("popover-arrow",` - transition: background-color .3s var(--n-bezier); - position: absolute; - display: block; - width: calc(${vn}); - height: calc(${vn}); - box-shadow: 0 0 8px 0 rgba(0, 0, 0, .12); - transform: rotate(45deg); - background-color: var(--n-color); - pointer-events: all; - `)]),q("&.popover-transition-enter-from, &.popover-transition-leave-to",` - opacity: 0; - transform: scale(.85); - `),q("&.popover-transition-enter-to, &.popover-transition-leave-from",` - transform: scale(1); - opacity: 1; - `),q("&.popover-transition-enter-active",` - transition: - box-shadow .3s var(--n-bezier), - background-color .3s var(--n-bezier), - color .3s var(--n-bezier), - opacity .15s var(--n-bezier-ease-out), - transform .15s var(--n-bezier-ease-out); - `),q("&.popover-transition-leave-active",` - transition: - box-shadow .3s var(--n-bezier), - background-color .3s var(--n-bezier), - color .3s var(--n-bezier), - opacity .15s var(--n-bezier-ease-in), - transform .15s var(--n-bezier-ease-in); - `)]),ro("top-start",` - top: calc(${vn} / -2); - left: calc(${nr("top-start")} - var(--v-offset-left)); - `),ro("top",` - top: calc(${vn} / -2); - transform: translateX(calc(${vn} / -2)) rotate(45deg); - left: 50%; - `),ro("top-end",` - top: calc(${vn} / -2); - right: calc(${nr("top-end")} + var(--v-offset-left)); - `),ro("bottom-start",` - bottom: calc(${vn} / -2); - left: calc(${nr("bottom-start")} - var(--v-offset-left)); - `),ro("bottom",` - bottom: calc(${vn} / -2); - transform: translateX(calc(${vn} / -2)) rotate(45deg); - left: 50%; - `),ro("bottom-end",` - bottom: calc(${vn} / -2); - right: calc(${nr("bottom-end")} + var(--v-offset-left)); - `),ro("left-start",` - left: calc(${vn} / -2); - top: calc(${nr("left-start")} - var(--v-offset-top)); - `),ro("left",` - left: calc(${vn} / -2); - transform: translateY(calc(${vn} / -2)) rotate(45deg); - top: 50%; - `),ro("left-end",` - left: calc(${vn} / -2); - bottom: calc(${nr("left-end")} + var(--v-offset-top)); - `),ro("right-start",` - right: calc(${vn} / -2); - top: calc(${nr("right-start")} - var(--v-offset-top)); - `),ro("right",` - right: calc(${vn} / -2); - transform: translateY(calc(${vn} / -2)) rotate(45deg); - top: 50%; - `),ro("right-end",` - right: calc(${vn} / -2); - bottom: calc(${nr("right-end")} + var(--v-offset-top)); - `),...kF({top:["right-start","left-start"],right:["top-end","bottom-end"],bottom:["right-end","left-end"],left:["top-start","bottom-start"]},(e,t)=>{const n=["right","left"].includes(t),o=n?"width":"height";return e.map(r=>{const i=r.split("-")[1]==="end",s=`calc((${`var(--v-target-${o}, 0px)`} - ${vn}) / 2)`,l=nr(r);return q(`[v-placement="${r}"] >`,[z("popover-shared",[Z("center-arrow",[z("popover-arrow",`${t}: calc(max(${s}, ${l}) ${i?"+":"-"} var(--v-offset-${n?"left":"top"}));`)])])])})})]);function nr(e){return["top","bottom"].includes(e.split("-")[0])?"var(--n-arrow-offset)":"var(--n-arrow-offset-vertical)"}function ro(e,t){const n=e.split("-")[0],o=["top","bottom"].includes(n)?"height: var(--n-space-arrow);":"width: var(--n-space-arrow);";return q(`[v-placement="${e}"] >`,[z("popover-shared",` - margin-${Qd[n]}: var(--n-space); - `,[Z("show-arrow",` - margin-${Qd[n]}: var(--n-space-arrow); - `),Z("overlap",` - margin: 0; - `),v8("popover-arrow-wrapper",` - right: 0; - left: 0; - top: 0; - bottom: 0; - ${n}: 100%; - ${Qd[n]}: auto; - ${o} - `,[z("popover-arrow",t)])])])}const t2=Object.assign(Object.assign({},Be.props),{to:qo.propTo,show:Boolean,trigger:String,showArrow:Boolean,delay:Number,duration:Number,raw:Boolean,arrowPointToCenter:Boolean,arrowClass:String,arrowStyle:[String,Object],arrowWrapperClass:String,arrowWrapperStyle:[String,Object],displayDirective:String,x:Number,y:Number,flip:Boolean,overlap:Boolean,placement:String,width:[Number,String],keepAliveOnHover:Boolean,scrollable:Boolean,contentClass:String,contentStyle:[Object,String],headerClass:String,headerStyle:[Object,String],footerClass:String,footerStyle:[Object,String],internalDeactivateImmediately:Boolean,animated:Boolean,onClickoutside:Function,internalTrapFocus:Boolean,internalOnAfterLeave:Function,minWidth:Number,maxWidth:Number});function n2({arrowClass:e,arrowStyle:t,arrowWrapperClass:n,arrowWrapperStyle:o,clsPrefix:r}){return v("div",{key:"__popover-arrow__",style:o,class:[`${r}-popover-arrow-wrapper`,n]},v("div",{class:[`${r}-popover-arrow`,e],style:t}))}const WH=be({name:"PopoverBody",inheritAttrs:!1,props:t2,setup(e,{slots:t,attrs:n}){const{namespaceRef:o,mergedClsPrefixRef:r,inlineThemeDisabled:i}=st(e),a=Be("Popover","-popover",VH,Ka,e,r),s=W(null),l=Ue("NPopover"),c=W(null),u=W(e.show),d=W(!1);Xt(()=>{const{show:y}=e;y&&!b8()&&!e.internalDeactivateImmediately&&(d.value=!0)});const f=F(()=>{const{trigger:y,onClickoutside:P}=e,k=[],{positionManuallyRef:{value:T}}=l;return T||(y==="click"&&!P&&k.push([Ea,S,void 0,{capture:!0}]),y==="hover"&&k.push([B8,C])),P&&k.push([Ea,S,void 0,{capture:!0}]),(e.displayDirective==="show"||e.animated&&d.value)&&k.push([Mn,e.show]),k}),h=F(()=>{const{common:{cubicBezierEaseInOut:y,cubicBezierEaseIn:P,cubicBezierEaseOut:k},self:{space:T,spaceArrow:E,padding:R,fontSize:K,textColor:N,dividerColor:D,color:M,boxShadow:G,borderRadius:J,arrowHeight:he,arrowOffset:pe,arrowOffsetVertical:B}}=a.value;return{"--n-box-shadow":G,"--n-bezier":y,"--n-bezier-ease-in":P,"--n-bezier-ease-out":k,"--n-font-size":K,"--n-text-color":N,"--n-color":M,"--n-divider-color":D,"--n-border-radius":J,"--n-arrow-height":he,"--n-arrow-offset":pe,"--n-arrow-offset-vertical":B,"--n-padding":R,"--n-space":T,"--n-space-arrow":E}}),p=F(()=>{const y=e.width==="trigger"?void 0:qt(e.width),P=[];y&&P.push({width:y});const{maxWidth:k,minWidth:T}=e;return k&&P.push({maxWidth:qt(k)}),T&&P.push({maxWidth:qt(T)}),i||P.push(h.value),P}),g=i?Pt("popover",void 0,h,e):void 0;l.setBodyInstance({syncPosition:m}),on(()=>{l.setBodyInstance(null)}),ft(We(e,"show"),y=>{e.animated||(y?u.value=!0:u.value=!1)});function m(){var y;(y=s.value)===null||y===void 0||y.syncPosition()}function b(y){e.trigger==="hover"&&e.keepAliveOnHover&&e.show&&l.handleMouseEnter(y)}function _(y){e.trigger==="hover"&&e.keepAliveOnHover&&l.handleMouseLeave(y)}function C(y){e.trigger==="hover"&&!w().contains(Ai(y))&&l.handleMouseMoveOutside(y)}function S(y){(e.trigger==="click"&&!w().contains(Ai(y))||e.onClickoutside)&&l.handleClickOutside(y)}function w(){return l.getTriggerElement()}at(Va,c),at(ll,null),at(sl,null);function x(){if(g==null||g.onRender(),!(e.displayDirective==="show"||e.show||e.animated&&d.value))return null;let P;const k=l.internalRenderBodyRef.value,{value:T}=r;if(k)P=k([`${T}-popover-shared`,g==null?void 0:g.themeClass.value,e.overlap&&`${T}-popover-shared--overlap`,e.showArrow&&`${T}-popover-shared--show-arrow`,e.arrowPointToCenter&&`${T}-popover-shared--center-arrow`],c,p.value,b,_);else{const{value:E}=l.extraClassRef,{internalTrapFocus:R}=e,K=!ga(t.header)||!ga(t.footer),N=()=>{var D,M;const G=K?v(it,null,$t(t.header,pe=>pe?v("div",{class:[`${T}-popover__header`,e.headerClass],style:e.headerStyle},pe):null),$t(t.default,pe=>pe?v("div",{class:[`${T}-popover__content`,e.contentClass],style:e.contentStyle},t):null),$t(t.footer,pe=>pe?v("div",{class:[`${T}-popover__footer`,e.footerClass],style:e.footerStyle},pe):null)):e.scrollable?(D=t.default)===null||D===void 0?void 0:D.call(t):v("div",{class:[`${T}-popover__content`,e.contentClass],style:e.contentStyle},t),J=e.scrollable?v(Z_,{contentClass:K?void 0:`${T}-popover__content ${(M=e.contentClass)!==null&&M!==void 0?M:""}`,contentStyle:K?void 0:e.contentStyle},{default:()=>G}):G,he=e.showArrow?n2({arrowClass:e.arrowClass,arrowStyle:e.arrowStyle,arrowWrapperClass:e.arrowWrapperClass,arrowWrapperStyle:e.arrowWrapperStyle,clsPrefix:T}):null;return[J,he]};P=v("div",Ln({class:[`${T}-popover`,`${T}-popover-shared`,g==null?void 0:g.themeClass.value,E.map(D=>`${T}-${D}`),{[`${T}-popover--scrollable`]:e.scrollable,[`${T}-popover--show-header-or-footer`]:K,[`${T}-popover--raw`]:e.raw,[`${T}-popover-shared--overlap`]:e.overlap,[`${T}-popover-shared--show-arrow`]:e.showArrow,[`${T}-popover-shared--center-arrow`]:e.arrowPointToCenter}],ref:c,style:p.value,onKeydown:l.handleKeydown,onMouseenter:b,onMouseleave:_},n),R?v(Zp,{active:e.show,autoFocus:!0},{default:N}):N())}return dn(P,f.value)}return{displayed:d,namespace:o,isMounted:l.isMountedRef,zIndex:l.zIndexRef,followerRef:s,adjustedTo:qo(e),followerEnabled:u,renderContentNode:x}},render(){return v(Yp,{ref:"followerRef",zIndex:this.zIndex,show:this.show,enabled:this.followerEnabled,to:this.adjustedTo,x:this.x,y:this.y,flip:this.flip,placement:this.placement,containerClass:this.namespace,overlap:this.overlap,width:this.width==="trigger"?"target":void 0,teleportDisabled:this.adjustedTo===qo.tdkey},{default:()=>this.animated?v(fn,{name:"popover-transition",appear:this.isMounted,onEnter:()=>{this.followerEnabled=!0},onAfterLeave:()=>{var e;(e=this.internalOnAfterLeave)===null||e===void 0||e.call(this),this.followerEnabled=!1,this.displayed=!1}},{default:this.renderContentNode}):this.renderContentNode()})}}),UH=Object.keys(t2),qH={focus:["onFocus","onBlur"],click:["onClick"],hover:["onMouseenter","onMouseleave"],manual:[],nested:["onFocus","onBlur","onMouseenter","onMouseleave","onClick"]};function KH(e,t,n){qH[t].forEach(o=>{e.props?e.props=Object.assign({},e.props):e.props={};const r=e.props[o],i=n[o];r?e.props[o]=(...a)=>{r(...a),i(...a)}:e.props[o]=i})}const Aa={show:{type:Boolean,default:void 0},defaultShow:Boolean,showArrow:{type:Boolean,default:!0},trigger:{type:String,default:"hover"},delay:{type:Number,default:100},duration:{type:Number,default:100},raw:Boolean,placement:{type:String,default:"top"},x:Number,y:Number,arrowPointToCenter:Boolean,disabled:Boolean,getDisabled:Function,displayDirective:{type:String,default:"if"},arrowClass:String,arrowStyle:[String,Object],arrowWrapperClass:String,arrowWrapperStyle:[String,Object],flip:{type:Boolean,default:!0},animated:{type:Boolean,default:!0},width:{type:[Number,String],default:void 0},overlap:Boolean,keepAliveOnHover:{type:Boolean,default:!0},zIndex:Number,to:qo.propTo,scrollable:Boolean,contentClass:String,contentStyle:[Object,String],headerClass:String,headerStyle:[Object,String],footerClass:String,footerStyle:[Object,String],onClickoutside:Function,"onUpdate:show":[Function,Array],onUpdateShow:[Function,Array],internalDeactivateImmediately:Boolean,internalSyncTargetWithParent:Boolean,internalInheritedEventHandlers:{type:Array,default:()=>[]},internalTrapFocus:Boolean,internalExtraClass:{type:Array,default:()=>[]},onShow:[Function,Array],onHide:[Function,Array],arrow:{type:Boolean,default:void 0},minWidth:Number,maxWidth:Number},GH=Object.assign(Object.assign(Object.assign({},Be.props),Aa),{internalOnAfterLeave:Function,internalRenderBody:Function}),hl=be({name:"Popover",inheritAttrs:!1,props:GH,__popover__:!0,setup(e){const t=Qr(),n=W(null),o=F(()=>e.show),r=W(e.defaultShow),i=an(o,r),a=kt(()=>e.disabled?!1:i.value),s=()=>{if(e.disabled)return!0;const{getDisabled:D}=e;return!!(D!=null&&D())},l=()=>s()?!1:i.value,c=Pu(e,["arrow","showArrow"]),u=F(()=>e.overlap?!1:c.value);let d=null;const f=W(null),h=W(null),p=kt(()=>e.x!==void 0&&e.y!==void 0);function g(D){const{"onUpdate:show":M,onUpdateShow:G,onShow:J,onHide:he}=e;r.value=D,M&&$e(M,D),G&&$e(G,D),D&&J&&$e(J,!0),D&&he&&$e(he,!1)}function m(){d&&d.syncPosition()}function b(){const{value:D}=f;D&&(window.clearTimeout(D),f.value=null)}function _(){const{value:D}=h;D&&(window.clearTimeout(D),h.value=null)}function C(){const D=s();if(e.trigger==="focus"&&!D){if(l())return;g(!0)}}function S(){const D=s();if(e.trigger==="focus"&&!D){if(!l())return;g(!1)}}function w(){const D=s();if(e.trigger==="hover"&&!D){if(_(),f.value!==null||l())return;const M=()=>{g(!0),f.value=null},{delay:G}=e;G===0?M():f.value=window.setTimeout(M,G)}}function x(){const D=s();if(e.trigger==="hover"&&!D){if(b(),h.value!==null||!l())return;const M=()=>{g(!1),h.value=null},{duration:G}=e;G===0?M():h.value=window.setTimeout(M,G)}}function y(){x()}function P(D){var M;l()&&(e.trigger==="click"&&(b(),_(),g(!1)),(M=e.onClickoutside)===null||M===void 0||M.call(e,D))}function k(){if(e.trigger==="click"&&!s()){b(),_();const D=!l();g(D)}}function T(D){e.internalTrapFocus&&D.key==="Escape"&&(b(),_(),g(!1))}function E(D){r.value=D}function R(){var D;return(D=n.value)===null||D===void 0?void 0:D.targetRef}function K(D){d=D}return at("NPopover",{getTriggerElement:R,handleKeydown:T,handleMouseEnter:w,handleMouseLeave:x,handleClickOutside:P,handleMouseMoveOutside:y,setBodyInstance:K,positionManuallyRef:p,isMountedRef:t,zIndexRef:We(e,"zIndex"),extraClassRef:We(e,"internalExtraClass"),internalRenderBodyRef:We(e,"internalRenderBody")}),Xt(()=>{i.value&&s()&&g(!1)}),{binderInstRef:n,positionManually:p,mergedShowConsideringDisabledProp:a,uncontrolledShow:r,mergedShowArrow:u,getMergedShow:l,setShow:E,handleClick:k,handleMouseEnter:w,handleMouseLeave:x,handleFocus:C,handleBlur:S,syncPosition:m}},render(){var e;const{positionManually:t,$slots:n}=this;let o,r=!1;if(!t&&(n.activator?o=vh(n,"activator"):o=vh(n,"trigger"),o)){o=uo(o),o=o.type===za?v("span",[o]):o;const i={onClick:this.handleClick,onMouseenter:this.handleMouseEnter,onMouseleave:this.handleMouseLeave,onFocus:this.handleFocus,onBlur:this.handleBlur};if(!((e=o.type)===null||e===void 0)&&e.__popover__)r=!0,o.props||(o.props={internalSyncTargetWithParent:!0,internalInheritedEventHandlers:[]}),o.props.internalSyncTargetWithParent=!0,o.props.internalInheritedEventHandlers?o.props.internalInheritedEventHandlers=[i,...o.props.internalInheritedEventHandlers]:o.props.internalInheritedEventHandlers=[i];else{const{internalInheritedEventHandlers:a}=this,s=[i,...a],l={onBlur:c=>{s.forEach(u=>{u.onBlur(c)})},onFocus:c=>{s.forEach(u=>{u.onFocus(c)})},onClick:c=>{s.forEach(u=>{u.onClick(c)})},onMouseenter:c=>{s.forEach(u=>{u.onMouseenter(c)})},onMouseleave:c=>{s.forEach(u=>{u.onMouseleave(c)})}};KH(o,a?"nested":t?"manual":this.trigger,l)}}return v(qp,{ref:"binderInstRef",syncTarget:!r,syncTargetWithParent:this.internalSyncTargetWithParent},{default:()=>{this.mergedShowConsideringDisabledProp;const i=this.getMergedShow();return[this.internalTrapFocus&&i?dn(v("div",{style:{position:"fixed",inset:0}}),[[Tu,{enabled:i,zIndex:this.zIndex}]]):null,t?null:v(Kp,null,{default:()=>o}),v(WH,Qn(this.$props,UH,Object.assign(Object.assign({},this.$attrs),{showArrow:this.mergedShowArrow,show:i})),{default:()=>{var a,s;return(s=(a=this.$slots).default)===null||s===void 0?void 0:s.call(a)},header:()=>{var a,s;return(s=(a=this.$slots).header)===null||s===void 0?void 0:s.call(a)},footer:()=>{var a,s;return(s=(a=this.$slots).footer)===null||s===void 0?void 0:s.call(a)}})]}})}}),o2={closeIconSizeTiny:"12px",closeIconSizeSmall:"12px",closeIconSizeMedium:"14px",closeIconSizeLarge:"14px",closeSizeTiny:"16px",closeSizeSmall:"16px",closeSizeMedium:"18px",closeSizeLarge:"18px",padding:"0 7px",closeMargin:"0 0 0 4px"},YH={name:"Tag",common:je,self(e){const{textColor2:t,primaryColorHover:n,primaryColorPressed:o,primaryColor:r,infoColor:i,successColor:a,warningColor:s,errorColor:l,baseColor:c,borderColor:u,tagColor:d,opacityDisabled:f,closeIconColor:h,closeIconColorHover:p,closeIconColorPressed:g,closeColorHover:m,closeColorPressed:b,borderRadiusSmall:_,fontSizeMini:C,fontSizeTiny:S,fontSizeSmall:w,fontSizeMedium:x,heightMini:y,heightTiny:P,heightSmall:k,heightMedium:T,buttonColor2Hover:E,buttonColor2Pressed:R,fontWeightStrong:K}=e;return Object.assign(Object.assign({},o2),{closeBorderRadius:_,heightTiny:y,heightSmall:P,heightMedium:k,heightLarge:T,borderRadius:_,opacityDisabled:f,fontSizeTiny:C,fontSizeSmall:S,fontSizeMedium:w,fontSizeLarge:x,fontWeightStrong:K,textColorCheckable:t,textColorHoverCheckable:t,textColorPressedCheckable:t,textColorChecked:c,colorCheckable:"#0000",colorHoverCheckable:E,colorPressedCheckable:R,colorChecked:r,colorCheckedHover:n,colorCheckedPressed:o,border:`1px solid ${u}`,textColor:t,color:d,colorBordered:"#0000",closeIconColor:h,closeIconColorHover:p,closeIconColorPressed:g,closeColorHover:m,closeColorPressed:b,borderPrimary:`1px solid ${Me(r,{alpha:.3})}`,textColorPrimary:r,colorPrimary:Me(r,{alpha:.16}),colorBorderedPrimary:"#0000",closeIconColorPrimary:un(r,{lightness:.7}),closeIconColorHoverPrimary:un(r,{lightness:.7}),closeIconColorPressedPrimary:un(r,{lightness:.7}),closeColorHoverPrimary:Me(r,{alpha:.16}),closeColorPressedPrimary:Me(r,{alpha:.12}),borderInfo:`1px solid ${Me(i,{alpha:.3})}`,textColorInfo:i,colorInfo:Me(i,{alpha:.16}),colorBorderedInfo:"#0000",closeIconColorInfo:un(i,{alpha:.7}),closeIconColorHoverInfo:un(i,{alpha:.7}),closeIconColorPressedInfo:un(i,{alpha:.7}),closeColorHoverInfo:Me(i,{alpha:.16}),closeColorPressedInfo:Me(i,{alpha:.12}),borderSuccess:`1px solid ${Me(a,{alpha:.3})}`,textColorSuccess:a,colorSuccess:Me(a,{alpha:.16}),colorBorderedSuccess:"#0000",closeIconColorSuccess:un(a,{alpha:.7}),closeIconColorHoverSuccess:un(a,{alpha:.7}),closeIconColorPressedSuccess:un(a,{alpha:.7}),closeColorHoverSuccess:Me(a,{alpha:.16}),closeColorPressedSuccess:Me(a,{alpha:.12}),borderWarning:`1px solid ${Me(s,{alpha:.3})}`,textColorWarning:s,colorWarning:Me(s,{alpha:.16}),colorBorderedWarning:"#0000",closeIconColorWarning:un(s,{alpha:.7}),closeIconColorHoverWarning:un(s,{alpha:.7}),closeIconColorPressedWarning:un(s,{alpha:.7}),closeColorHoverWarning:Me(s,{alpha:.16}),closeColorPressedWarning:Me(s,{alpha:.11}),borderError:`1px solid ${Me(l,{alpha:.3})}`,textColorError:l,colorError:Me(l,{alpha:.16}),colorBorderedError:"#0000",closeIconColorError:un(l,{alpha:.7}),closeIconColorHoverError:un(l,{alpha:.7}),closeIconColorPressedError:un(l,{alpha:.7}),closeColorHoverError:Me(l,{alpha:.16}),closeColorPressedError:Me(l,{alpha:.12})})}},r2=YH;function XH(e){const{textColor2:t,primaryColorHover:n,primaryColorPressed:o,primaryColor:r,infoColor:i,successColor:a,warningColor:s,errorColor:l,baseColor:c,borderColor:u,opacityDisabled:d,tagColor:f,closeIconColor:h,closeIconColorHover:p,closeIconColorPressed:g,borderRadiusSmall:m,fontSizeMini:b,fontSizeTiny:_,fontSizeSmall:C,fontSizeMedium:S,heightMini:w,heightTiny:x,heightSmall:y,heightMedium:P,closeColorHover:k,closeColorPressed:T,buttonColor2Hover:E,buttonColor2Pressed:R,fontWeightStrong:K}=e;return Object.assign(Object.assign({},o2),{closeBorderRadius:m,heightTiny:w,heightSmall:x,heightMedium:y,heightLarge:P,borderRadius:m,opacityDisabled:d,fontSizeTiny:b,fontSizeSmall:_,fontSizeMedium:C,fontSizeLarge:S,fontWeightStrong:K,textColorCheckable:t,textColorHoverCheckable:t,textColorPressedCheckable:t,textColorChecked:c,colorCheckable:"#0000",colorHoverCheckable:E,colorPressedCheckable:R,colorChecked:r,colorCheckedHover:n,colorCheckedPressed:o,border:`1px solid ${u}`,textColor:t,color:f,colorBordered:"rgb(250, 250, 252)",closeIconColor:h,closeIconColorHover:p,closeIconColorPressed:g,closeColorHover:k,closeColorPressed:T,borderPrimary:`1px solid ${Me(r,{alpha:.3})}`,textColorPrimary:r,colorPrimary:Me(r,{alpha:.12}),colorBorderedPrimary:Me(r,{alpha:.1}),closeIconColorPrimary:r,closeIconColorHoverPrimary:r,closeIconColorPressedPrimary:r,closeColorHoverPrimary:Me(r,{alpha:.12}),closeColorPressedPrimary:Me(r,{alpha:.18}),borderInfo:`1px solid ${Me(i,{alpha:.3})}`,textColorInfo:i,colorInfo:Me(i,{alpha:.12}),colorBorderedInfo:Me(i,{alpha:.1}),closeIconColorInfo:i,closeIconColorHoverInfo:i,closeIconColorPressedInfo:i,closeColorHoverInfo:Me(i,{alpha:.12}),closeColorPressedInfo:Me(i,{alpha:.18}),borderSuccess:`1px solid ${Me(a,{alpha:.3})}`,textColorSuccess:a,colorSuccess:Me(a,{alpha:.12}),colorBorderedSuccess:Me(a,{alpha:.1}),closeIconColorSuccess:a,closeIconColorHoverSuccess:a,closeIconColorPressedSuccess:a,closeColorHoverSuccess:Me(a,{alpha:.12}),closeColorPressedSuccess:Me(a,{alpha:.18}),borderWarning:`1px solid ${Me(s,{alpha:.35})}`,textColorWarning:s,colorWarning:Me(s,{alpha:.15}),colorBorderedWarning:Me(s,{alpha:.12}),closeIconColorWarning:s,closeIconColorHoverWarning:s,closeIconColorPressedWarning:s,closeColorHoverWarning:Me(s,{alpha:.12}),closeColorPressedWarning:Me(s,{alpha:.18}),borderError:`1px solid ${Me(l,{alpha:.23})}`,textColorError:l,colorError:Me(l,{alpha:.1}),colorBorderedError:Me(l,{alpha:.08}),closeIconColorError:l,closeIconColorHoverError:l,closeIconColorPressedError:l,closeColorHoverError:Me(l,{alpha:.12}),closeColorPressedError:Me(l,{alpha:.18})})}const ZH={name:"Tag",common:xt,self:XH},JH=ZH,QH={color:Object,type:{type:String,default:"default"},round:Boolean,size:{type:String,default:"medium"},closable:Boolean,disabled:{type:Boolean,default:void 0}},ej=z("tag",` - --n-close-margin: var(--n-close-margin-top) var(--n-close-margin-right) var(--n-close-margin-bottom) var(--n-close-margin-left); - white-space: nowrap; - position: relative; - box-sizing: border-box; - cursor: default; - display: inline-flex; - align-items: center; - flex-wrap: nowrap; - padding: var(--n-padding); - border-radius: var(--n-border-radius); - color: var(--n-text-color); - background-color: var(--n-color); - transition: - border-color .3s var(--n-bezier), - background-color .3s var(--n-bezier), - color .3s var(--n-bezier), - box-shadow .3s var(--n-bezier), - opacity .3s var(--n-bezier); - line-height: 1; - height: var(--n-height); - font-size: var(--n-font-size); -`,[Z("strong",` - font-weight: var(--n-font-weight-strong); - `),V("border",` - pointer-events: none; - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - border-radius: inherit; - border: var(--n-border); - transition: border-color .3s var(--n-bezier); - `),V("icon",` - display: flex; - margin: 0 4px 0 0; - color: var(--n-text-color); - transition: color .3s var(--n-bezier); - font-size: var(--n-avatar-size-override); - `),V("avatar",` - display: flex; - margin: 0 6px 0 0; - `),V("close",` - margin: var(--n-close-margin); - transition: - background-color .3s var(--n-bezier), - color .3s var(--n-bezier); - `),Z("round",` - padding: 0 calc(var(--n-height) / 3); - border-radius: calc(var(--n-height) / 2); - `,[V("icon",` - margin: 0 4px 0 calc((var(--n-height) - 8px) / -2); - `),V("avatar",` - margin: 0 6px 0 calc((var(--n-height) - 8px) / -2); - `),Z("closable",` - padding: 0 calc(var(--n-height) / 4) 0 calc(var(--n-height) / 3); - `)]),Z("icon, avatar",[Z("round",` - padding: 0 calc(var(--n-height) / 3) 0 calc(var(--n-height) / 2); - `)]),Z("disabled",` - cursor: not-allowed !important; - opacity: var(--n-opacity-disabled); - `),Z("checkable",` - cursor: pointer; - box-shadow: none; - color: var(--n-text-color-checkable); - background-color: var(--n-color-checkable); - `,[Rt("disabled",[q("&:hover","background-color: var(--n-color-hover-checkable);",[Rt("checked","color: var(--n-text-color-hover-checkable);")]),q("&:active","background-color: var(--n-color-pressed-checkable);",[Rt("checked","color: var(--n-text-color-pressed-checkable);")])]),Z("checked",` - color: var(--n-text-color-checked); - background-color: var(--n-color-checked); - `,[Rt("disabled",[q("&:hover","background-color: var(--n-color-checked-hover);"),q("&:active","background-color: var(--n-color-checked-pressed);")])])])]),tj=Object.assign(Object.assign(Object.assign({},Be.props),QH),{bordered:{type:Boolean,default:void 0},checked:Boolean,checkable:Boolean,strong:Boolean,triggerClickOnClose:Boolean,onClose:[Array,Function],onMouseenter:Function,onMouseleave:Function,"onUpdate:checked":Function,onUpdateChecked:Function,internalCloseFocusable:{type:Boolean,default:!0},internalCloseIsButtonTag:{type:Boolean,default:!0},onCheckedChange:Function}),nj="n-tag",Ti=be({name:"Tag",props:tj,setup(e){const t=W(null),{mergedBorderedRef:n,mergedClsPrefixRef:o,inlineThemeDisabled:r,mergedRtlRef:i}=st(e),a=Be("Tag","-tag",ej,JH,e,o);at(nj,{roundRef:We(e,"round")});function s(){if(!e.disabled&&e.checkable){const{checked:h,onCheckedChange:p,onUpdateChecked:g,"onUpdate:checked":m}=e;g&&g(!h),m&&m(!h),p&&p(!h)}}function l(h){if(e.triggerClickOnClose||h.stopPropagation(),!e.disabled){const{onClose:p}=e;p&&$e(p,h)}}const c={setTextContent(h){const{value:p}=t;p&&(p.textContent=h)}},u=pn("Tag",i,o),d=F(()=>{const{type:h,size:p,color:{color:g,textColor:m}={}}=e,{common:{cubicBezierEaseInOut:b},self:{padding:_,closeMargin:C,borderRadius:S,opacityDisabled:w,textColorCheckable:x,textColorHoverCheckable:y,textColorPressedCheckable:P,textColorChecked:k,colorCheckable:T,colorHoverCheckable:E,colorPressedCheckable:R,colorChecked:K,colorCheckedHover:N,colorCheckedPressed:D,closeBorderRadius:M,fontWeightStrong:G,[Re("colorBordered",h)]:J,[Re("closeSize",p)]:he,[Re("closeIconSize",p)]:pe,[Re("fontSize",p)]:B,[Re("height",p)]:$,[Re("color",h)]:A,[Re("textColor",h)]:Y,[Re("border",h)]:ne,[Re("closeIconColor",h)]:fe,[Re("closeIconColorHover",h)]:Q,[Re("closeIconColorPressed",h)]:xe,[Re("closeColorHover",h)]:H,[Re("closeColorPressed",h)]:ye}}=a.value,Oe=lo(C);return{"--n-font-weight-strong":G,"--n-avatar-size-override":`calc(${$} - 8px)`,"--n-bezier":b,"--n-border-radius":S,"--n-border":ne,"--n-close-icon-size":pe,"--n-close-color-pressed":ye,"--n-close-color-hover":H,"--n-close-border-radius":M,"--n-close-icon-color":fe,"--n-close-icon-color-hover":Q,"--n-close-icon-color-pressed":xe,"--n-close-icon-color-disabled":fe,"--n-close-margin-top":Oe.top,"--n-close-margin-right":Oe.right,"--n-close-margin-bottom":Oe.bottom,"--n-close-margin-left":Oe.left,"--n-close-size":he,"--n-color":g||(n.value?J:A),"--n-color-checkable":T,"--n-color-checked":K,"--n-color-checked-hover":N,"--n-color-checked-pressed":D,"--n-color-hover-checkable":E,"--n-color-pressed-checkable":R,"--n-font-size":B,"--n-height":$,"--n-opacity-disabled":w,"--n-padding":_,"--n-text-color":m||Y,"--n-text-color-checkable":x,"--n-text-color-checked":k,"--n-text-color-hover-checkable":y,"--n-text-color-pressed-checkable":P}}),f=r?Pt("tag",F(()=>{let h="";const{type:p,size:g,color:{color:m,textColor:b}={}}=e;return h+=p[0],h+=g[0],m&&(h+=`a${Ec(m)}`),b&&(h+=`b${Ec(b)}`),n.value&&(h+="c"),h}),d,e):void 0;return Object.assign(Object.assign({},c),{rtlEnabled:u,mergedClsPrefix:o,contentRef:t,mergedBordered:n,handleClick:s,handleCloseClick:l,cssVars:r?void 0:d,themeClass:f==null?void 0:f.themeClass,onRender:f==null?void 0:f.onRender})},render(){var e,t;const{mergedClsPrefix:n,rtlEnabled:o,closable:r,color:{borderColor:i}={},round:a,onRender:s,$slots:l}=this;s==null||s();const c=$t(l.avatar,d=>d&&v("div",{class:`${n}-tag__avatar`},d)),u=$t(l.icon,d=>d&&v("div",{class:`${n}-tag__icon`},d));return v("div",{class:[`${n}-tag`,this.themeClass,{[`${n}-tag--rtl`]:o,[`${n}-tag--strong`]:this.strong,[`${n}-tag--disabled`]:this.disabled,[`${n}-tag--checkable`]:this.checkable,[`${n}-tag--checked`]:this.checkable&&this.checked,[`${n}-tag--round`]:a,[`${n}-tag--avatar`]:c,[`${n}-tag--icon`]:u,[`${n}-tag--closable`]:r}],style:this.cssVars,onClick:this.handleClick,onMouseenter:this.onMouseenter,onMouseleave:this.onMouseleave},u||c,v("span",{class:`${n}-tag__content`,ref:"contentRef"},(t=(e=this.$slots).default)===null||t===void 0?void 0:t.call(e)),!this.checkable&&r?v(qi,{clsPrefix:n,class:`${n}-tag__close`,disabled:this.disabled,onClick:this.handleCloseClick,focusable:this.internalCloseFocusable,round:a,isButtonTag:this.internalCloseIsButtonTag,absolute:!0}):null,!this.checkable&&this.mergedBordered?v("div",{class:`${n}-tag__border`,style:{borderColor:i}}):null)}}),oj=z("base-clear",` - flex-shrink: 0; - height: 1em; - width: 1em; - position: relative; -`,[q(">",[V("clear",` - font-size: var(--n-clear-size); - height: 1em; - width: 1em; - cursor: pointer; - color: var(--n-clear-color); - transition: color .3s var(--n-bezier); - display: flex; - `,[q("&:hover",` - color: var(--n-clear-color-hover)!important; - `),q("&:active",` - color: var(--n-clear-color-pressed)!important; - `)]),V("placeholder",` - display: flex; - `),V("clear, placeholder",` - position: absolute; - left: 50%; - top: 50%; - transform: translateX(-50%) translateY(-50%); - `,[qn({originalTransform:"translateX(-50%) translateY(-50%)",left:"50%",top:"50%"})])])]),Lh=be({name:"BaseClear",props:{clsPrefix:{type:String,required:!0},show:Boolean,onClear:Function},setup(e){return ei("-base-clear",oj,We(e,"clsPrefix")),{handleMouseDown(t){t.preventDefault()}}},render(){const{clsPrefix:e}=this;return v("div",{class:`${e}-base-clear`},v(Ui,null,{default:()=>{var t,n;return this.show?v("div",{key:"dismiss",class:`${e}-base-clear__clear`,onClick:this.onClear,onMousedown:this.handleMouseDown,"data-clear":!0},An(this.$slots.icon,()=>[v(Ut,{clsPrefix:e},{default:()=>v(FN,null)})])):v("div",{key:"icon",class:`${e}-base-clear__placeholder`},(n=(t=this.$slots).placeholder)===null||n===void 0?void 0:n.call(t))}}))}}),i2=be({name:"InternalSelectionSuffix",props:{clsPrefix:{type:String,required:!0},showArrow:{type:Boolean,default:void 0},showClear:{type:Boolean,default:void 0},loading:{type:Boolean,default:!1},onClear:Function},setup(e,{slots:t}){return()=>{const{clsPrefix:n}=e;return v(ti,{clsPrefix:n,class:`${n}-base-suffix`,strokeWidth:24,scale:.85,show:e.loading},{default:()=>e.showArrow?v(Lh,{clsPrefix:n,show:e.showClear,onClear:e.onClear},{placeholder:()=>v(Ut,{clsPrefix:n,class:`${n}-base-suffix__arrow`},{default:()=>An(t.default,()=>[v(j_,null)])})}):null})}}}),a2={paddingSingle:"0 26px 0 12px",paddingMultiple:"3px 26px 0 12px",clearSize:"16px",arrowSize:"16px"};function rj(e){const{borderRadius:t,textColor2:n,textColorDisabled:o,inputColor:r,inputColorDisabled:i,primaryColor:a,primaryColorHover:s,warningColor:l,warningColorHover:c,errorColor:u,errorColorHover:d,borderColor:f,iconColor:h,iconColorDisabled:p,clearColor:g,clearColorHover:m,clearColorPressed:b,placeholderColor:_,placeholderColorDisabled:C,fontSizeTiny:S,fontSizeSmall:w,fontSizeMedium:x,fontSizeLarge:y,heightTiny:P,heightSmall:k,heightMedium:T,heightLarge:E}=e;return Object.assign(Object.assign({},a2),{fontSizeTiny:S,fontSizeSmall:w,fontSizeMedium:x,fontSizeLarge:y,heightTiny:P,heightSmall:k,heightMedium:T,heightLarge:E,borderRadius:t,textColor:n,textColorDisabled:o,placeholderColor:_,placeholderColorDisabled:C,color:r,colorDisabled:i,colorActive:r,border:`1px solid ${f}`,borderHover:`1px solid ${s}`,borderActive:`1px solid ${a}`,borderFocus:`1px solid ${s}`,boxShadowHover:"none",boxShadowActive:`0 0 0 2px ${Me(a,{alpha:.2})}`,boxShadowFocus:`0 0 0 2px ${Me(a,{alpha:.2})}`,caretColor:a,arrowColor:h,arrowColorDisabled:p,loadingColor:a,borderWarning:`1px solid ${l}`,borderHoverWarning:`1px solid ${c}`,borderActiveWarning:`1px solid ${l}`,borderFocusWarning:`1px solid ${c}`,boxShadowHoverWarning:"none",boxShadowActiveWarning:`0 0 0 2px ${Me(l,{alpha:.2})}`,boxShadowFocusWarning:`0 0 0 2px ${Me(l,{alpha:.2})}`,colorActiveWarning:r,caretColorWarning:l,borderError:`1px solid ${u}`,borderHoverError:`1px solid ${d}`,borderActiveError:`1px solid ${u}`,borderFocusError:`1px solid ${d}`,boxShadowHoverError:"none",boxShadowActiveError:`0 0 0 2px ${Me(u,{alpha:.2})}`,boxShadowFocusError:`0 0 0 2px ${Me(u,{alpha:.2})}`,colorActiveError:r,caretColorError:u,clearColor:g,clearColorHover:m,clearColorPressed:b})}const ij={name:"InternalSelection",common:xt,peers:{Popover:Ka},self:rj},s2=ij,aj={name:"InternalSelection",common:je,peers:{Popover:Yi},self(e){const{borderRadius:t,textColor2:n,textColorDisabled:o,inputColor:r,inputColorDisabled:i,primaryColor:a,primaryColorHover:s,warningColor:l,warningColorHover:c,errorColor:u,errorColorHover:d,iconColor:f,iconColorDisabled:h,clearColor:p,clearColorHover:g,clearColorPressed:m,placeholderColor:b,placeholderColorDisabled:_,fontSizeTiny:C,fontSizeSmall:S,fontSizeMedium:w,fontSizeLarge:x,heightTiny:y,heightSmall:P,heightMedium:k,heightLarge:T}=e;return Object.assign(Object.assign({},a2),{fontSizeTiny:C,fontSizeSmall:S,fontSizeMedium:w,fontSizeLarge:x,heightTiny:y,heightSmall:P,heightMedium:k,heightLarge:T,borderRadius:t,textColor:n,textColorDisabled:o,placeholderColor:b,placeholderColorDisabled:_,color:r,colorDisabled:i,colorActive:Me(a,{alpha:.1}),border:"1px solid #0000",borderHover:`1px solid ${s}`,borderActive:`1px solid ${a}`,borderFocus:`1px solid ${s}`,boxShadowHover:"none",boxShadowActive:`0 0 8px 0 ${Me(a,{alpha:.4})}`,boxShadowFocus:`0 0 8px 0 ${Me(a,{alpha:.4})}`,caretColor:a,arrowColor:f,arrowColorDisabled:h,loadingColor:a,borderWarning:`1px solid ${l}`,borderHoverWarning:`1px solid ${c}`,borderActiveWarning:`1px solid ${l}`,borderFocusWarning:`1px solid ${c}`,boxShadowHoverWarning:"none",boxShadowActiveWarning:`0 0 8px 0 ${Me(l,{alpha:.4})}`,boxShadowFocusWarning:`0 0 8px 0 ${Me(l,{alpha:.4})}`,colorActiveWarning:Me(l,{alpha:.1}),caretColorWarning:l,borderError:`1px solid ${u}`,borderHoverError:`1px solid ${d}`,borderActiveError:`1px solid ${u}`,borderFocusError:`1px solid ${d}`,boxShadowHoverError:"none",boxShadowActiveError:`0 0 8px 0 ${Me(u,{alpha:.4})}`,boxShadowFocusError:`0 0 8px 0 ${Me(u,{alpha:.4})}`,colorActiveError:Me(u,{alpha:.1}),caretColorError:u,clearColor:p,clearColorHover:g,clearColorPressed:m})}},mm=aj,sj=q([z("base-selection",` - --n-padding-single: var(--n-padding-single-top) var(--n-padding-single-right) var(--n-padding-single-bottom) var(--n-padding-single-left); - --n-padding-multiple: var(--n-padding-multiple-top) var(--n-padding-multiple-right) var(--n-padding-multiple-bottom) var(--n-padding-multiple-left); - position: relative; - z-index: auto; - box-shadow: none; - width: 100%; - max-width: 100%; - display: inline-block; - vertical-align: bottom; - border-radius: var(--n-border-radius); - min-height: var(--n-height); - line-height: 1.5; - font-size: var(--n-font-size); - `,[z("base-loading",` - color: var(--n-loading-color); - `),z("base-selection-tags","min-height: var(--n-height);"),V("border, state-border",` - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - pointer-events: none; - border: var(--n-border); - border-radius: inherit; - transition: - box-shadow .3s var(--n-bezier), - border-color .3s var(--n-bezier); - `),V("state-border",` - z-index: 1; - border-color: #0000; - `),z("base-suffix",` - cursor: pointer; - position: absolute; - top: 50%; - transform: translateY(-50%); - right: 10px; - `,[V("arrow",` - font-size: var(--n-arrow-size); - color: var(--n-arrow-color); - transition: color .3s var(--n-bezier); - `)]),z("base-selection-overlay",` - display: flex; - align-items: center; - white-space: nowrap; - pointer-events: none; - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - padding: var(--n-padding-single); - transition: color .3s var(--n-bezier); - `,[V("wrapper",` - flex-basis: 0; - flex-grow: 1; - overflow: hidden; - text-overflow: ellipsis; - `)]),z("base-selection-placeholder",` - color: var(--n-placeholder-color); - `,[V("inner",` - max-width: 100%; - overflow: hidden; - `)]),z("base-selection-tags",` - cursor: pointer; - outline: none; - box-sizing: border-box; - position: relative; - z-index: auto; - display: flex; - padding: var(--n-padding-multiple); - flex-wrap: wrap; - align-items: center; - width: 100%; - vertical-align: bottom; - background-color: var(--n-color); - border-radius: inherit; - transition: - color .3s var(--n-bezier), - box-shadow .3s var(--n-bezier), - background-color .3s var(--n-bezier); - `),z("base-selection-label",` - height: var(--n-height); - display: inline-flex; - width: 100%; - vertical-align: bottom; - cursor: pointer; - outline: none; - z-index: auto; - box-sizing: border-box; - position: relative; - transition: - color .3s var(--n-bezier), - box-shadow .3s var(--n-bezier), - background-color .3s var(--n-bezier); - border-radius: inherit; - background-color: var(--n-color); - align-items: center; - `,[z("base-selection-input",` - font-size: inherit; - line-height: inherit; - outline: none; - cursor: pointer; - box-sizing: border-box; - border:none; - width: 100%; - padding: var(--n-padding-single); - background-color: #0000; - color: var(--n-text-color); - transition: color .3s var(--n-bezier); - caret-color: var(--n-caret-color); - `,[V("content",` - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; - `)]),V("render-label",` - color: var(--n-text-color); - `)]),Rt("disabled",[q("&:hover",[V("state-border",` - box-shadow: var(--n-box-shadow-hover); - border: var(--n-border-hover); - `)]),Z("focus",[V("state-border",` - box-shadow: var(--n-box-shadow-focus); - border: var(--n-border-focus); - `)]),Z("active",[V("state-border",` - box-shadow: var(--n-box-shadow-active); - border: var(--n-border-active); - `),z("base-selection-label","background-color: var(--n-color-active);"),z("base-selection-tags","background-color: var(--n-color-active);")])]),Z("disabled","cursor: not-allowed;",[V("arrow",` - color: var(--n-arrow-color-disabled); - `),z("base-selection-label",` - cursor: not-allowed; - background-color: var(--n-color-disabled); - `,[z("base-selection-input",` - cursor: not-allowed; - color: var(--n-text-color-disabled); - `),V("render-label",` - color: var(--n-text-color-disabled); - `)]),z("base-selection-tags",` - cursor: not-allowed; - background-color: var(--n-color-disabled); - `),z("base-selection-placeholder",` - cursor: not-allowed; - color: var(--n-placeholder-color-disabled); - `)]),z("base-selection-input-tag",` - height: calc(var(--n-height) - 6px); - line-height: calc(var(--n-height) - 6px); - outline: none; - display: none; - position: relative; - margin-bottom: 3px; - max-width: 100%; - vertical-align: bottom; - `,[V("input",` - font-size: inherit; - font-family: inherit; - min-width: 1px; - padding: 0; - background-color: #0000; - outline: none; - border: none; - max-width: 100%; - overflow: hidden; - width: 1em; - line-height: inherit; - cursor: pointer; - color: var(--n-text-color); - caret-color: var(--n-caret-color); - `),V("mirror",` - position: absolute; - left: 0; - top: 0; - white-space: pre; - visibility: hidden; - user-select: none; - -webkit-user-select: none; - opacity: 0; - `)]),["warning","error"].map(e=>Z(`${e}-status`,[V("state-border",`border: var(--n-border-${e});`),Rt("disabled",[q("&:hover",[V("state-border",` - box-shadow: var(--n-box-shadow-hover-${e}); - border: var(--n-border-hover-${e}); - `)]),Z("active",[V("state-border",` - box-shadow: var(--n-box-shadow-active-${e}); - border: var(--n-border-active-${e}); - `),z("base-selection-label",`background-color: var(--n-color-active-${e});`),z("base-selection-tags",`background-color: var(--n-color-active-${e});`)]),Z("focus",[V("state-border",` - box-shadow: var(--n-box-shadow-focus-${e}); - border: var(--n-border-focus-${e}); - `)])])]))]),z("base-selection-popover",` - margin-bottom: -3px; - display: flex; - flex-wrap: wrap; - margin-right: -8px; - `),z("base-selection-tag-wrapper",` - max-width: 100%; - display: inline-flex; - padding: 0 7px 3px 0; - `,[q("&:last-child","padding-right: 0;"),z("tag",` - font-size: 14px; - max-width: 100%; - `,[V("content",` - line-height: 1.25; - text-overflow: ellipsis; - overflow: hidden; - `)])])]),lj=be({name:"InternalSelection",props:Object.assign(Object.assign({},Be.props),{clsPrefix:{type:String,required:!0},bordered:{type:Boolean,default:void 0},active:Boolean,pattern:{type:String,default:""},placeholder:String,selectedOption:{type:Object,default:null},selectedOptions:{type:Array,default:null},labelField:{type:String,default:"label"},valueField:{type:String,default:"value"},multiple:Boolean,filterable:Boolean,clearable:Boolean,disabled:Boolean,size:{type:String,default:"medium"},loading:Boolean,autofocus:Boolean,showArrow:{type:Boolean,default:!0},inputProps:Object,focused:Boolean,renderTag:Function,onKeydown:Function,onClick:Function,onBlur:Function,onFocus:Function,onDeleteOption:Function,maxTagCount:[String,Number],ellipsisTagPopoverProps:Object,onClear:Function,onPatternInput:Function,onPatternFocus:Function,onPatternBlur:Function,renderLabel:Function,status:String,inlineThemeDisabled:Boolean,ignoreComposition:{type:Boolean,default:!0},onResize:Function}),setup(e){const{mergedClsPrefixRef:t,mergedRtlRef:n}=st(e),o=pn("InternalSelection",n,t),r=W(null),i=W(null),a=W(null),s=W(null),l=W(null),c=W(null),u=W(null),d=W(null),f=W(null),h=W(null),p=W(!1),g=W(!1),m=W(!1),b=Be("InternalSelection","-internal-selection",sj,s2,e,We(e,"clsPrefix")),_=F(()=>e.clearable&&!e.disabled&&(m.value||e.active)),C=F(()=>e.selectedOption?e.renderTag?e.renderTag({option:e.selectedOption,handleClose:()=>{}}):e.renderLabel?e.renderLabel(e.selectedOption,!0):Wt(e.selectedOption[e.labelField],e.selectedOption,!0):e.placeholder),S=F(()=>{const ce=e.selectedOption;if(ce)return ce[e.labelField]}),w=F(()=>e.multiple?!!(Array.isArray(e.selectedOptions)&&e.selectedOptions.length):e.selectedOption!==null);function x(){var ce;const{value:le}=r;if(le){const{value:re}=i;re&&(re.style.width=`${le.offsetWidth}px`,e.maxTagCount!=="responsive"&&((ce=f.value)===null||ce===void 0||ce.sync({showAllItemsBeforeCalculate:!1})))}}function y(){const{value:ce}=h;ce&&(ce.style.display="none")}function P(){const{value:ce}=h;ce&&(ce.style.display="inline-block")}ft(We(e,"active"),ce=>{ce||y()}),ft(We(e,"pattern"),()=>{e.multiple&&Ht(x)});function k(ce){const{onFocus:le}=e;le&&le(ce)}function T(ce){const{onBlur:le}=e;le&&le(ce)}function E(ce){const{onDeleteOption:le}=e;le&&le(ce)}function R(ce){const{onClear:le}=e;le&&le(ce)}function K(ce){const{onPatternInput:le}=e;le&&le(ce)}function N(ce){var le;(!ce.relatedTarget||!(!((le=a.value)===null||le===void 0)&&le.contains(ce.relatedTarget)))&&k(ce)}function D(ce){var le;!((le=a.value)===null||le===void 0)&&le.contains(ce.relatedTarget)||T(ce)}function M(ce){R(ce)}function G(){m.value=!0}function J(){m.value=!1}function he(ce){!e.active||!e.filterable||ce.target!==i.value&&ce.preventDefault()}function pe(ce){E(ce)}const B=W(!1);function $(ce){if(ce.key==="Backspace"&&!B.value&&!e.pattern.length){const{selectedOptions:le}=e;le!=null&&le.length&&pe(le[le.length-1])}}let A=null;function Y(ce){const{value:le}=r;if(le){const re=ce.target.value;le.textContent=re,x()}e.ignoreComposition&&B.value?A=ce:K(ce)}function ne(){B.value=!0}function fe(){B.value=!1,e.ignoreComposition&&K(A),A=null}function Q(ce){var le;g.value=!0,(le=e.onPatternFocus)===null||le===void 0||le.call(e,ce)}function xe(ce){var le;g.value=!1,(le=e.onPatternBlur)===null||le===void 0||le.call(e,ce)}function H(){var ce,le;if(e.filterable)g.value=!1,(ce=c.value)===null||ce===void 0||ce.blur(),(le=i.value)===null||le===void 0||le.blur();else if(e.multiple){const{value:re}=s;re==null||re.blur()}else{const{value:re}=l;re==null||re.blur()}}function ye(){var ce,le,re;e.filterable?(g.value=!1,(ce=c.value)===null||ce===void 0||ce.focus()):e.multiple?(le=s.value)===null||le===void 0||le.focus():(re=l.value)===null||re===void 0||re.focus()}function Oe(){const{value:ce}=i;ce&&(P(),ce.focus())}function Ne(){const{value:ce}=i;ce&&ce.blur()}function L(ce){const{value:le}=u;le&&le.setTextContent(`+${ce}`)}function O(){const{value:ce}=d;return ce}function oe(){return i.value}let _e=null;function te(){_e!==null&&window.clearTimeout(_e)}function ge(){e.active||(te(),_e=window.setTimeout(()=>{w.value&&(p.value=!0)},100))}function ke(){te()}function I(ce){ce||(te(),p.value=!1)}ft(w,ce=>{ce||(p.value=!1)}),jt(()=>{Xt(()=>{const ce=c.value;ce&&(e.disabled?ce.removeAttribute("tabindex"):ce.tabIndex=g.value?-1:0)})}),Uw(a,e.onResize);const{inlineThemeDisabled:j}=e,ee=F(()=>{const{size:ce}=e,{common:{cubicBezierEaseInOut:le},self:{borderRadius:re,color:de,placeholderColor:De,textColor:Le,paddingSingle:Pe,paddingMultiple:Fe,caretColor:He,colorDisabled:Ie,textColorDisabled:Qe,placeholderColorDisabled:Ct,colorActive:X,boxShadowFocus:ve,boxShadowActive:Ae,boxShadowHover:Ke,border:Ze,borderFocus:Je,borderHover:tt,borderActive:rt,arrowColor:vt,arrowColorDisabled:sn,loadingColor:Dt,colorActiveWarning:Se,boxShadowFocusWarning:Ve,boxShadowActiveWarning:et,boxShadowHoverWarning:ht,borderWarning:bt,borderFocusWarning:ut,borderHoverWarning:Et,borderActiveWarning:ae,colorActiveError:Ee,boxShadowFocusError:ot,boxShadowActiveError:Bt,boxShadowHoverError:Kt,borderError:Lt,borderFocusError:bo,borderHoverError:yo,borderActiveError:xo,clearColor:Xo,clearColorHover:Zo,clearColorPressed:oi,clearSize:Ja,arrowSize:Qa,[Re("height",ce)]:es,[Re("fontSize",ce)]:ts}}=b.value,yr=lo(Pe),xr=lo(Fe);return{"--n-bezier":le,"--n-border":Ze,"--n-border-active":rt,"--n-border-focus":Je,"--n-border-hover":tt,"--n-border-radius":re,"--n-box-shadow-active":Ae,"--n-box-shadow-focus":ve,"--n-box-shadow-hover":Ke,"--n-caret-color":He,"--n-color":de,"--n-color-active":X,"--n-color-disabled":Ie,"--n-font-size":ts,"--n-height":es,"--n-padding-single-top":yr.top,"--n-padding-multiple-top":xr.top,"--n-padding-single-right":yr.right,"--n-padding-multiple-right":xr.right,"--n-padding-single-left":yr.left,"--n-padding-multiple-left":xr.left,"--n-padding-single-bottom":yr.bottom,"--n-padding-multiple-bottom":xr.bottom,"--n-placeholder-color":De,"--n-placeholder-color-disabled":Ct,"--n-text-color":Le,"--n-text-color-disabled":Qe,"--n-arrow-color":vt,"--n-arrow-color-disabled":sn,"--n-loading-color":Dt,"--n-color-active-warning":Se,"--n-box-shadow-focus-warning":Ve,"--n-box-shadow-active-warning":et,"--n-box-shadow-hover-warning":ht,"--n-border-warning":bt,"--n-border-focus-warning":ut,"--n-border-hover-warning":Et,"--n-border-active-warning":ae,"--n-color-active-error":Ee,"--n-box-shadow-focus-error":ot,"--n-box-shadow-active-error":Bt,"--n-box-shadow-hover-error":Kt,"--n-border-error":Lt,"--n-border-focus-error":bo,"--n-border-hover-error":yo,"--n-border-active-error":xo,"--n-clear-size":Ja,"--n-clear-color":Xo,"--n-clear-color-hover":Zo,"--n-clear-color-pressed":oi,"--n-arrow-size":Qa}}),Ce=j?Pt("internal-selection",F(()=>e.size[0]),ee,e):void 0;return{mergedTheme:b,mergedClearable:_,mergedClsPrefix:t,rtlEnabled:o,patternInputFocused:g,filterablePlaceholder:C,label:S,selected:w,showTagsPanel:p,isComposing:B,counterRef:u,counterWrapperRef:d,patternInputMirrorRef:r,patternInputRef:i,selfRef:a,multipleElRef:s,singleElRef:l,patternInputWrapperRef:c,overflowRef:f,inputTagElRef:h,handleMouseDown:he,handleFocusin:N,handleClear:M,handleMouseEnter:G,handleMouseLeave:J,handleDeleteOption:pe,handlePatternKeyDown:$,handlePatternInputInput:Y,handlePatternInputBlur:xe,handlePatternInputFocus:Q,handleMouseEnterCounter:ge,handleMouseLeaveCounter:ke,handleFocusout:D,handleCompositionEnd:fe,handleCompositionStart:ne,onPopoverUpdateShow:I,focus:ye,focusInput:Oe,blur:H,blurInput:Ne,updateCounter:L,getCounter:O,getTail:oe,renderLabel:e.renderLabel,cssVars:j?void 0:ee,themeClass:Ce==null?void 0:Ce.themeClass,onRender:Ce==null?void 0:Ce.onRender}},render(){const{status:e,multiple:t,size:n,disabled:o,filterable:r,maxTagCount:i,bordered:a,clsPrefix:s,ellipsisTagPopoverProps:l,onRender:c,renderTag:u,renderLabel:d}=this;c==null||c();const f=i==="responsive",h=typeof i=="number",p=f||h,g=v(yh,null,{default:()=>v(i2,{clsPrefix:s,loading:this.loading,showArrow:this.showArrow,showClear:this.mergedClearable&&this.selected,onClear:this.handleClear},{default:()=>{var b,_;return(_=(b=this.$slots).arrow)===null||_===void 0?void 0:_.call(b)}})});let m;if(t){const{labelField:b}=this,_=K=>v("div",{class:`${s}-base-selection-tag-wrapper`,key:K.value},u?u({option:K,handleClose:()=>{this.handleDeleteOption(K)}}):v(Ti,{size:n,closable:!K.disabled,disabled:o,onClose:()=>{this.handleDeleteOption(K)},internalCloseIsButtonTag:!1,internalCloseFocusable:!1},{default:()=>d?d(K,!0):Wt(K[b],K,!0)})),C=()=>(h?this.selectedOptions.slice(0,i):this.selectedOptions).map(_),S=r?v("div",{class:`${s}-base-selection-input-tag`,ref:"inputTagElRef",key:"__input-tag__"},v("input",Object.assign({},this.inputProps,{ref:"patternInputRef",tabindex:-1,disabled:o,value:this.pattern,autofocus:this.autofocus,class:`${s}-base-selection-input-tag__input`,onBlur:this.handlePatternInputBlur,onFocus:this.handlePatternInputFocus,onKeydown:this.handlePatternKeyDown,onInput:this.handlePatternInputInput,onCompositionstart:this.handleCompositionStart,onCompositionend:this.handleCompositionEnd})),v("span",{ref:"patternInputMirrorRef",class:`${s}-base-selection-input-tag__mirror`},this.pattern)):null,w=f?()=>v("div",{class:`${s}-base-selection-tag-wrapper`,ref:"counterWrapperRef"},v(Ti,{size:n,ref:"counterRef",onMouseenter:this.handleMouseEnterCounter,onMouseleave:this.handleMouseLeaveCounter,disabled:o})):void 0;let x;if(h){const K=this.selectedOptions.length-i;K>0&&(x=v("div",{class:`${s}-base-selection-tag-wrapper`,key:"__counter__"},v(Ti,{size:n,ref:"counterRef",onMouseenter:this.handleMouseEnterCounter,disabled:o},{default:()=>`+${K}`})))}const y=f?r?v(Sh,{ref:"overflowRef",updateCounter:this.updateCounter,getCounter:this.getCounter,getTail:this.getTail,style:{width:"100%",display:"flex",overflow:"hidden"}},{default:C,counter:w,tail:()=>S}):v(Sh,{ref:"overflowRef",updateCounter:this.updateCounter,getCounter:this.getCounter,style:{width:"100%",display:"flex",overflow:"hidden"}},{default:C,counter:w}):h&&x?C().concat(x):C(),P=p?()=>v("div",{class:`${s}-base-selection-popover`},f?C():this.selectedOptions.map(_)):void 0,k=p?Object.assign({show:this.showTagsPanel,trigger:"hover",overlap:!0,placement:"top",width:"trigger",onUpdateShow:this.onPopoverUpdateShow,theme:this.mergedTheme.peers.Popover,themeOverrides:this.mergedTheme.peerOverrides.Popover},l):null,E=(this.selected?!1:this.active?!this.pattern&&!this.isComposing:!0)?v("div",{class:`${s}-base-selection-placeholder ${s}-base-selection-overlay`},v("div",{class:`${s}-base-selection-placeholder__inner`},this.placeholder)):null,R=r?v("div",{ref:"patternInputWrapperRef",class:`${s}-base-selection-tags`},y,f?null:S,g):v("div",{ref:"multipleElRef",class:`${s}-base-selection-tags`,tabindex:o?void 0:0},y,g);m=v(it,null,p?v(hl,Object.assign({},k,{scrollable:!0,style:"max-height: calc(var(--v-target-height) * 6.6);"}),{trigger:()=>R,default:P}):R,E)}else if(r){const b=this.pattern||this.isComposing,_=this.active?!b:!this.selected,C=this.active?!1:this.selected;m=v("div",{ref:"patternInputWrapperRef",class:`${s}-base-selection-label`,title:this.patternInputFocused?void 0:yb(this.label)},v("input",Object.assign({},this.inputProps,{ref:"patternInputRef",class:`${s}-base-selection-input`,value:this.active?this.pattern:"",placeholder:"",readonly:o,disabled:o,tabindex:-1,autofocus:this.autofocus,onFocus:this.handlePatternInputFocus,onBlur:this.handlePatternInputBlur,onInput:this.handlePatternInputInput,onCompositionstart:this.handleCompositionStart,onCompositionend:this.handleCompositionEnd})),C?v("div",{class:`${s}-base-selection-label__render-label ${s}-base-selection-overlay`,key:"input"},v("div",{class:`${s}-base-selection-overlay__wrapper`},u?u({option:this.selectedOption,handleClose:()=>{}}):d?d(this.selectedOption,!0):Wt(this.label,this.selectedOption,!0))):null,_?v("div",{class:`${s}-base-selection-placeholder ${s}-base-selection-overlay`,key:"placeholder"},v("div",{class:`${s}-base-selection-overlay__wrapper`},this.filterablePlaceholder)):null,g)}else m=v("div",{ref:"singleElRef",class:`${s}-base-selection-label`,tabindex:this.disabled?void 0:0},this.label!==void 0?v("div",{class:`${s}-base-selection-input`,title:yb(this.label),key:"input"},v("div",{class:`${s}-base-selection-input__content`},u?u({option:this.selectedOption,handleClose:()=>{}}):d?d(this.selectedOption,!0):Wt(this.label,this.selectedOption,!0))):v("div",{class:`${s}-base-selection-placeholder ${s}-base-selection-overlay`,key:"placeholder"},v("div",{class:`${s}-base-selection-placeholder__inner`},this.placeholder)),g);return v("div",{ref:"selfRef",class:[`${s}-base-selection`,this.rtlEnabled&&`${s}-base-selection--rtl`,this.themeClass,e&&`${s}-base-selection--${e}-status`,{[`${s}-base-selection--active`]:this.active,[`${s}-base-selection--selected`]:this.selected||this.active&&this.pattern,[`${s}-base-selection--disabled`]:this.disabled,[`${s}-base-selection--multiple`]:this.multiple,[`${s}-base-selection--focus`]:this.focused}],style:this.cssVars,onClick:this.onClick,onMouseenter:this.handleMouseEnter,onMouseleave:this.handleMouseLeave,onKeydown:this.onKeydown,onFocusin:this.handleFocusin,onFocusout:this.handleFocusout,onMousedown:this.handleMouseDown},m,a?v("div",{class:`${s}-base-selection__border`}):null,a?v("div",{class:`${s}-base-selection__state-border`}):null)}}),{cubicBezierEaseInOut:Tr}=po;function cj({duration:e=".2s",delay:t=".1s"}={}){return[q("&.fade-in-width-expand-transition-leave-from, &.fade-in-width-expand-transition-enter-to",{opacity:1}),q("&.fade-in-width-expand-transition-leave-to, &.fade-in-width-expand-transition-enter-from",` - opacity: 0!important; - margin-left: 0!important; - margin-right: 0!important; - `),q("&.fade-in-width-expand-transition-leave-active",` - overflow: hidden; - transition: - opacity ${e} ${Tr}, - max-width ${e} ${Tr} ${t}, - margin-left ${e} ${Tr} ${t}, - margin-right ${e} ${Tr} ${t}; - `),q("&.fade-in-width-expand-transition-enter-active",` - overflow: hidden; - transition: - opacity ${e} ${Tr} ${t}, - max-width ${e} ${Tr}, - margin-left ${e} ${Tr}, - margin-right ${e} ${Tr}; - `)]}const l2={iconMargin:"11px 8px 0 12px",iconMarginRtl:"11px 12px 0 8px",iconSize:"24px",closeIconSize:"16px",closeSize:"20px",closeMargin:"13px 14px 0 0",closeMarginRtl:"13px 0 0 14px",padding:"13px"},uj={name:"Alert",common:je,self(e){const{lineHeight:t,borderRadius:n,fontWeightStrong:o,dividerColor:r,inputColor:i,textColor1:a,textColor2:s,closeColorHover:l,closeColorPressed:c,closeIconColor:u,closeIconColorHover:d,closeIconColorPressed:f,infoColorSuppl:h,successColorSuppl:p,warningColorSuppl:g,errorColorSuppl:m,fontSize:b}=e;return Object.assign(Object.assign({},l2),{fontSize:b,lineHeight:t,titleFontWeight:o,borderRadius:n,border:`1px solid ${r}`,color:i,titleTextColor:a,iconColor:s,contentTextColor:s,closeBorderRadius:n,closeColorHover:l,closeColorPressed:c,closeIconColor:u,closeIconColorHover:d,closeIconColorPressed:f,borderInfo:`1px solid ${Me(h,{alpha:.35})}`,colorInfo:Me(h,{alpha:.25}),titleTextColorInfo:a,iconColorInfo:h,contentTextColorInfo:s,closeColorHoverInfo:l,closeColorPressedInfo:c,closeIconColorInfo:u,closeIconColorHoverInfo:d,closeIconColorPressedInfo:f,borderSuccess:`1px solid ${Me(p,{alpha:.35})}`,colorSuccess:Me(p,{alpha:.25}),titleTextColorSuccess:a,iconColorSuccess:p,contentTextColorSuccess:s,closeColorHoverSuccess:l,closeColorPressedSuccess:c,closeIconColorSuccess:u,closeIconColorHoverSuccess:d,closeIconColorPressedSuccess:f,borderWarning:`1px solid ${Me(g,{alpha:.35})}`,colorWarning:Me(g,{alpha:.25}),titleTextColorWarning:a,iconColorWarning:g,contentTextColorWarning:s,closeColorHoverWarning:l,closeColorPressedWarning:c,closeIconColorWarning:u,closeIconColorHoverWarning:d,closeIconColorPressedWarning:f,borderError:`1px solid ${Me(m,{alpha:.35})}`,colorError:Me(m,{alpha:.25}),titleTextColorError:a,iconColorError:m,contentTextColorError:s,closeColorHoverError:l,closeColorPressedError:c,closeIconColorError:u,closeIconColorHoverError:d,closeIconColorPressedError:f})}},dj=uj;function fj(e){const{lineHeight:t,borderRadius:n,fontWeightStrong:o,baseColor:r,dividerColor:i,actionColor:a,textColor1:s,textColor2:l,closeColorHover:c,closeColorPressed:u,closeIconColor:d,closeIconColorHover:f,closeIconColorPressed:h,infoColor:p,successColor:g,warningColor:m,errorColor:b,fontSize:_}=e;return Object.assign(Object.assign({},l2),{fontSize:_,lineHeight:t,titleFontWeight:o,borderRadius:n,border:`1px solid ${i}`,color:a,titleTextColor:s,iconColor:l,contentTextColor:l,closeBorderRadius:n,closeColorHover:c,closeColorPressed:u,closeIconColor:d,closeIconColorHover:f,closeIconColorPressed:h,borderInfo:`1px solid ${Ge(r,Me(p,{alpha:.25}))}`,colorInfo:Ge(r,Me(p,{alpha:.08})),titleTextColorInfo:s,iconColorInfo:p,contentTextColorInfo:l,closeColorHoverInfo:c,closeColorPressedInfo:u,closeIconColorInfo:d,closeIconColorHoverInfo:f,closeIconColorPressedInfo:h,borderSuccess:`1px solid ${Ge(r,Me(g,{alpha:.25}))}`,colorSuccess:Ge(r,Me(g,{alpha:.08})),titleTextColorSuccess:s,iconColorSuccess:g,contentTextColorSuccess:l,closeColorHoverSuccess:c,closeColorPressedSuccess:u,closeIconColorSuccess:d,closeIconColorHoverSuccess:f,closeIconColorPressedSuccess:h,borderWarning:`1px solid ${Ge(r,Me(m,{alpha:.33}))}`,colorWarning:Ge(r,Me(m,{alpha:.08})),titleTextColorWarning:s,iconColorWarning:m,contentTextColorWarning:l,closeColorHoverWarning:c,closeColorPressedWarning:u,closeIconColorWarning:d,closeIconColorHoverWarning:f,closeIconColorPressedWarning:h,borderError:`1px solid ${Ge(r,Me(b,{alpha:.25}))}`,colorError:Ge(r,Me(b,{alpha:.08})),titleTextColorError:s,iconColorError:b,contentTextColorError:l,closeColorHoverError:c,closeColorPressedError:u,closeIconColorError:d,closeIconColorHoverError:f,closeIconColorPressedError:h})}const hj={name:"Alert",common:xt,self:fj},pj=hj,{cubicBezierEaseInOut:Lo,cubicBezierEaseOut:mj,cubicBezierEaseIn:gj}=po;function gm({overflow:e="hidden",duration:t=".3s",originalTransition:n="",leavingDelay:o="0s",foldPadding:r=!1,enterToProps:i=void 0,leaveToProps:a=void 0,reverse:s=!1}={}){const l=s?"leave":"enter",c=s?"enter":"leave";return[q(`&.fade-in-height-expand-transition-${c}-from, - &.fade-in-height-expand-transition-${l}-to`,Object.assign(Object.assign({},i),{opacity:1})),q(`&.fade-in-height-expand-transition-${c}-to, - &.fade-in-height-expand-transition-${l}-from`,Object.assign(Object.assign({},a),{opacity:0,marginTop:"0 !important",marginBottom:"0 !important",paddingTop:r?"0 !important":void 0,paddingBottom:r?"0 !important":void 0})),q(`&.fade-in-height-expand-transition-${c}-active`,` - overflow: ${e}; - transition: - max-height ${t} ${Lo} ${o}, - opacity ${t} ${mj} ${o}, - margin-top ${t} ${Lo} ${o}, - margin-bottom ${t} ${Lo} ${o}, - padding-top ${t} ${Lo} ${o}, - padding-bottom ${t} ${Lo} ${o} - ${n?`,${n}`:""} - `),q(`&.fade-in-height-expand-transition-${l}-active`,` - overflow: ${e}; - transition: - max-height ${t} ${Lo}, - opacity ${t} ${gj}, - margin-top ${t} ${Lo}, - margin-bottom ${t} ${Lo}, - padding-top ${t} ${Lo}, - padding-bottom ${t} ${Lo} - ${n?`,${n}`:""} - `)]}const vj=z("alert",` - line-height: var(--n-line-height); - border-radius: var(--n-border-radius); - position: relative; - transition: background-color .3s var(--n-bezier); - background-color: var(--n-color); - text-align: start; - word-break: break-word; -`,[V("border",` - border-radius: inherit; - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - transition: border-color .3s var(--n-bezier); - border: var(--n-border); - pointer-events: none; - `),Z("closable",[z("alert-body",[V("title",` - padding-right: 24px; - `)])]),V("icon",{color:"var(--n-icon-color)"}),z("alert-body",{padding:"var(--n-padding)"},[V("title",{color:"var(--n-title-text-color)"}),V("content",{color:"var(--n-content-text-color)"})]),gm({originalTransition:"transform .3s var(--n-bezier)",enterToProps:{transform:"scale(1)"},leaveToProps:{transform:"scale(0.9)"}}),V("icon",` - position: absolute; - left: 0; - top: 0; - align-items: center; - justify-content: center; - display: flex; - width: var(--n-icon-size); - height: var(--n-icon-size); - font-size: var(--n-icon-size); - margin: var(--n-icon-margin); - `),V("close",` - transition: - color .3s var(--n-bezier), - background-color .3s var(--n-bezier); - position: absolute; - right: 0; - top: 0; - margin: var(--n-close-margin); - `),Z("show-icon",[z("alert-body",{paddingLeft:"calc(var(--n-icon-margin-left) + var(--n-icon-size) + var(--n-icon-margin-right))"})]),Z("right-adjust",[z("alert-body",{paddingRight:"calc(var(--n-close-size) + var(--n-padding) + 2px)"})]),z("alert-body",` - border-radius: var(--n-border-radius); - transition: border-color .3s var(--n-bezier); - `,[V("title",` - transition: color .3s var(--n-bezier); - font-size: 16px; - line-height: 19px; - font-weight: var(--n-title-font-weight); - `,[q("& +",[V("content",{marginTop:"9px"})])]),V("content",{transition:"color .3s var(--n-bezier)",fontSize:"var(--n-font-size)"})]),V("icon",{transition:"color .3s var(--n-bezier)"})]),bj=Object.assign(Object.assign({},Be.props),{title:String,showIcon:{type:Boolean,default:!0},type:{type:String,default:"default"},bordered:{type:Boolean,default:!0},closable:Boolean,onClose:Function,onAfterLeave:Function,onAfterHide:Function}),pl=be({name:"Alert",inheritAttrs:!1,props:bj,setup(e){const{mergedClsPrefixRef:t,mergedBorderedRef:n,inlineThemeDisabled:o,mergedRtlRef:r}=st(e),i=Be("Alert","-alert",vj,pj,e,t),a=pn("Alert",r,t),s=F(()=>{const{common:{cubicBezierEaseInOut:h},self:p}=i.value,{fontSize:g,borderRadius:m,titleFontWeight:b,lineHeight:_,iconSize:C,iconMargin:S,iconMarginRtl:w,closeIconSize:x,closeBorderRadius:y,closeSize:P,closeMargin:k,closeMarginRtl:T,padding:E}=p,{type:R}=e,{left:K,right:N}=lo(S);return{"--n-bezier":h,"--n-color":p[Re("color",R)],"--n-close-icon-size":x,"--n-close-border-radius":y,"--n-close-color-hover":p[Re("closeColorHover",R)],"--n-close-color-pressed":p[Re("closeColorPressed",R)],"--n-close-icon-color":p[Re("closeIconColor",R)],"--n-close-icon-color-hover":p[Re("closeIconColorHover",R)],"--n-close-icon-color-pressed":p[Re("closeIconColorPressed",R)],"--n-icon-color":p[Re("iconColor",R)],"--n-border":p[Re("border",R)],"--n-title-text-color":p[Re("titleTextColor",R)],"--n-content-text-color":p[Re("contentTextColor",R)],"--n-line-height":_,"--n-border-radius":m,"--n-font-size":g,"--n-title-font-weight":b,"--n-icon-size":C,"--n-icon-margin":S,"--n-icon-margin-rtl":w,"--n-close-size":P,"--n-close-margin":k,"--n-close-margin-rtl":T,"--n-padding":E,"--n-icon-margin-left":K,"--n-icon-margin-right":N}}),l=o?Pt("alert",F(()=>e.type[0]),s,e):void 0,c=W(!0),u=()=>{const{onAfterLeave:h,onAfterHide:p}=e;h&&h(),p&&p()};return{rtlEnabled:a,mergedClsPrefix:t,mergedBordered:n,visible:c,handleCloseClick:()=>{var h;Promise.resolve((h=e.onClose)===null||h===void 0?void 0:h.call(e)).then(p=>{p!==!1&&(c.value=!1)})},handleAfterLeave:()=>{u()},mergedTheme:i,cssVars:o?void 0:s,themeClass:l==null?void 0:l.themeClass,onRender:l==null?void 0:l.onRender}},render(){var e;return(e=this.onRender)===null||e===void 0||e.call(this),v(Ou,{onAfterLeave:this.handleAfterLeave},{default:()=>{const{mergedClsPrefix:t,$slots:n}=this,o={class:[`${t}-alert`,this.themeClass,this.closable&&`${t}-alert--closable`,this.showIcon&&`${t}-alert--show-icon`,!this.title&&this.closable&&`${t}-alert--right-adjust`,this.rtlEnabled&&`${t}-alert--rtl`],style:this.cssVars,role:"alert"};return this.visible?v("div",Object.assign({},Ln(this.$attrs,o)),this.closable&&v(qi,{clsPrefix:t,class:`${t}-alert__close`,onClick:this.handleCloseClick}),this.bordered&&v("div",{class:`${t}-alert__border`}),this.showIcon&&v("div",{class:`${t}-alert__icon`,"aria-hidden":"true"},An(n.icon,()=>[v(Ut,{clsPrefix:t},{default:()=>{switch(this.type){case"success":return v(Vi,null);case"info":return v(Vr,null);case"warning":return v(Wi,null);case"error":return v(ji,null);default:return null}}})])),v("div",{class:[`${t}-alert-body`,this.mergedBordered&&`${t}-alert-body--bordered`]},$t(n.header,r=>{const i=r||this.title;return i?v("div",{class:`${t}-alert-body__title`},i):null}),n.default&&v("div",{class:`${t}-alert-body__content`},n))):null}})}}),yj={linkFontSize:"13px",linkPadding:"0 0 0 16px",railWidth:"4px"};function xj(e){const{borderRadius:t,railColor:n,primaryColor:o,primaryColorHover:r,primaryColorPressed:i,textColor2:a}=e;return Object.assign(Object.assign({},yj),{borderRadius:t,railColor:n,railColorActive:o,linkColor:Me(o,{alpha:.15}),linkTextColor:a,linkTextColorHover:r,linkTextColorPressed:i,linkTextColorActive:o})}const Cj={name:"Anchor",common:je,self:xj},wj=Cj;function Bc(e){return e.type==="group"}function c2(e){return e.type==="ignored"}function ef(e,t){try{return!!(1+t.toString().toLowerCase().indexOf(e.trim().toLowerCase()))}catch{return!1}}function u2(e,t){return{getIsGroup:Bc,getIgnored:c2,getKey(o){return Bc(o)?o.name||o.key||"key-required":o[e]},getChildren(o){return o[t]}}}function _j(e,t,n,o){if(!t)return e;function r(i){if(!Array.isArray(i))return[];const a=[];for(const s of i)if(Bc(s)){const l=r(s[o]);l.length&&a.push(Object.assign({},s,{[o]:l}))}else{if(c2(s))continue;t(n,s)&&a.push(s)}return a}return r(e)}function Sj(e,t,n){const o=new Map;return e.forEach(r=>{Bc(r)?r[n].forEach(i=>{o.set(i[t],i)}):o.set(r[t],r)}),o}const kj=hr&&"chrome"in window;hr&&navigator.userAgent.includes("Firefox");const d2=hr&&navigator.userAgent.includes("Safari")&&!kj,f2={paddingTiny:"0 8px",paddingSmall:"0 10px",paddingMedium:"0 12px",paddingLarge:"0 14px",clearSize:"16px"},Pj={name:"Input",common:je,self(e){const{textColor2:t,textColor3:n,textColorDisabled:o,primaryColor:r,primaryColorHover:i,inputColor:a,inputColorDisabled:s,warningColor:l,warningColorHover:c,errorColor:u,errorColorHover:d,borderRadius:f,lineHeight:h,fontSizeTiny:p,fontSizeSmall:g,fontSizeMedium:m,fontSizeLarge:b,heightTiny:_,heightSmall:C,heightMedium:S,heightLarge:w,clearColor:x,clearColorHover:y,clearColorPressed:P,placeholderColor:k,placeholderColorDisabled:T,iconColor:E,iconColorDisabled:R,iconColorHover:K,iconColorPressed:N}=e;return Object.assign(Object.assign({},f2),{countTextColorDisabled:o,countTextColor:n,heightTiny:_,heightSmall:C,heightMedium:S,heightLarge:w,fontSizeTiny:p,fontSizeSmall:g,fontSizeMedium:m,fontSizeLarge:b,lineHeight:h,lineHeightTextarea:h,borderRadius:f,iconSize:"16px",groupLabelColor:a,textColor:t,textColorDisabled:o,textDecorationColor:t,groupLabelTextColor:t,caretColor:r,placeholderColor:k,placeholderColorDisabled:T,color:a,colorDisabled:s,colorFocus:Me(r,{alpha:.1}),groupLabelBorder:"1px solid #0000",border:"1px solid #0000",borderHover:`1px solid ${i}`,borderDisabled:"1px solid #0000",borderFocus:`1px solid ${i}`,boxShadowFocus:`0 0 8px 0 ${Me(r,{alpha:.3})}`,loadingColor:r,loadingColorWarning:l,borderWarning:`1px solid ${l}`,borderHoverWarning:`1px solid ${c}`,colorFocusWarning:Me(l,{alpha:.1}),borderFocusWarning:`1px solid ${c}`,boxShadowFocusWarning:`0 0 8px 0 ${Me(l,{alpha:.3})}`,caretColorWarning:l,loadingColorError:u,borderError:`1px solid ${u}`,borderHoverError:`1px solid ${d}`,colorFocusError:Me(u,{alpha:.1}),borderFocusError:`1px solid ${d}`,boxShadowFocusError:`0 0 8px 0 ${Me(u,{alpha:.3})}`,caretColorError:u,clearColor:x,clearColorHover:y,clearColorPressed:P,iconColor:E,iconColorDisabled:R,iconColorHover:K,iconColorPressed:N,suffixTextColor:t})}},mo=Pj;function Tj(e){const{textColor2:t,textColor3:n,textColorDisabled:o,primaryColor:r,primaryColorHover:i,inputColor:a,inputColorDisabled:s,borderColor:l,warningColor:c,warningColorHover:u,errorColor:d,errorColorHover:f,borderRadius:h,lineHeight:p,fontSizeTiny:g,fontSizeSmall:m,fontSizeMedium:b,fontSizeLarge:_,heightTiny:C,heightSmall:S,heightMedium:w,heightLarge:x,actionColor:y,clearColor:P,clearColorHover:k,clearColorPressed:T,placeholderColor:E,placeholderColorDisabled:R,iconColor:K,iconColorDisabled:N,iconColorHover:D,iconColorPressed:M}=e;return Object.assign(Object.assign({},f2),{countTextColorDisabled:o,countTextColor:n,heightTiny:C,heightSmall:S,heightMedium:w,heightLarge:x,fontSizeTiny:g,fontSizeSmall:m,fontSizeMedium:b,fontSizeLarge:_,lineHeight:p,lineHeightTextarea:p,borderRadius:h,iconSize:"16px",groupLabelColor:y,groupLabelTextColor:t,textColor:t,textColorDisabled:o,textDecorationColor:t,caretColor:r,placeholderColor:E,placeholderColorDisabled:R,color:a,colorDisabled:s,colorFocus:a,groupLabelBorder:`1px solid ${l}`,border:`1px solid ${l}`,borderHover:`1px solid ${i}`,borderDisabled:`1px solid ${l}`,borderFocus:`1px solid ${i}`,boxShadowFocus:`0 0 0 2px ${Me(r,{alpha:.2})}`,loadingColor:r,loadingColorWarning:c,borderWarning:`1px solid ${c}`,borderHoverWarning:`1px solid ${u}`,colorFocusWarning:a,borderFocusWarning:`1px solid ${u}`,boxShadowFocusWarning:`0 0 0 2px ${Me(c,{alpha:.2})}`,caretColorWarning:c,loadingColorError:d,borderError:`1px solid ${d}`,borderHoverError:`1px solid ${f}`,colorFocusError:a,borderFocusError:`1px solid ${f}`,boxShadowFocusError:`0 0 0 2px ${Me(d,{alpha:.2})}`,caretColorError:d,clearColor:P,clearColorHover:k,clearColorPressed:T,iconColor:K,iconColorDisabled:N,iconColorHover:D,iconColorPressed:M,suffixTextColor:t})}const Rj={name:"Input",common:xt,self:Tj},vm=Rj,h2="n-input";function Ej(e){let t=0;for(const n of e)t++;return t}function Nl(e){return e===""||e==null}function $j(e){const t=W(null);function n(){const{value:i}=e;if(!(i!=null&&i.focus)){r();return}const{selectionStart:a,selectionEnd:s,value:l}=i;if(a==null||s==null){r();return}t.value={start:a,end:s,beforeText:l.slice(0,a),afterText:l.slice(s)}}function o(){var i;const{value:a}=t,{value:s}=e;if(!a||!s)return;const{value:l}=s,{start:c,beforeText:u,afterText:d}=a;let f=l.length;if(l.endsWith(d))f=l.length-d.length;else if(l.startsWith(u))f=u.length;else{const h=u[c-1],p=l.indexOf(h,c-1);p!==-1&&(f=p+1)}(i=s.setSelectionRange)===null||i===void 0||i.call(s,f,f)}function r(){t.value=null}return ft(e,r),{recordCursor:n,restoreCursor:o}}const Y0=be({name:"InputWordCount",setup(e,{slots:t}){const{mergedValueRef:n,maxlengthRef:o,mergedClsPrefixRef:r,countGraphemesRef:i}=Ue(h2),a=F(()=>{const{value:s}=n;return s===null||Array.isArray(s)?0:(i.value||Ej)(s)});return()=>{const{value:s}=o,{value:l}=n;return v("span",{class:`${r.value}-input-word-count`},bh(t.default,{value:l===null||Array.isArray(l)?"":l},()=>[s===void 0?a.value:`${a.value} / ${s}`]))}}}),Aj=z("input",` - max-width: 100%; - cursor: text; - line-height: 1.5; - z-index: auto; - outline: none; - box-sizing: border-box; - position: relative; - display: inline-flex; - border-radius: var(--n-border-radius); - background-color: var(--n-color); - transition: background-color .3s var(--n-bezier); - font-size: var(--n-font-size); - --n-padding-vertical: calc((var(--n-height) - 1.5 * var(--n-font-size)) / 2); -`,[V("input, textarea",` - overflow: hidden; - flex-grow: 1; - position: relative; - `),V("input-el, textarea-el, input-mirror, textarea-mirror, separator, placeholder",` - box-sizing: border-box; - font-size: inherit; - line-height: 1.5; - font-family: inherit; - border: none; - outline: none; - background-color: #0000; - text-align: inherit; - transition: - -webkit-text-fill-color .3s var(--n-bezier), - caret-color .3s var(--n-bezier), - color .3s var(--n-bezier), - text-decoration-color .3s var(--n-bezier); - `),V("input-el, textarea-el",` - -webkit-appearance: none; - scrollbar-width: none; - width: 100%; - min-width: 0; - text-decoration-color: var(--n-text-decoration-color); - color: var(--n-text-color); - caret-color: var(--n-caret-color); - background-color: transparent; - `,[q("&::-webkit-scrollbar, &::-webkit-scrollbar-track-piece, &::-webkit-scrollbar-thumb",` - width: 0; - height: 0; - display: none; - `),q("&::placeholder",` - color: #0000; - -webkit-text-fill-color: transparent !important; - `),q("&:-webkit-autofill ~",[V("placeholder","display: none;")])]),Z("round",[Rt("textarea","border-radius: calc(var(--n-height) / 2);")]),V("placeholder",` - pointer-events: none; - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - overflow: hidden; - color: var(--n-placeholder-color); - `,[q("span",` - width: 100%; - display: inline-block; - `)]),Z("textarea",[V("placeholder","overflow: visible;")]),Rt("autosize","width: 100%;"),Z("autosize",[V("textarea-el, input-el",` - position: absolute; - top: 0; - left: 0; - height: 100%; - `)]),z("input-wrapper",` - overflow: hidden; - display: inline-flex; - flex-grow: 1; - position: relative; - padding-left: var(--n-padding-left); - padding-right: var(--n-padding-right); - `),V("input-mirror",` - padding: 0; - height: var(--n-height); - line-height: var(--n-height); - overflow: hidden; - visibility: hidden; - position: static; - white-space: pre; - pointer-events: none; - `),V("input-el",` - padding: 0; - height: var(--n-height); - line-height: var(--n-height); - `,[q("&[type=password]::-ms-reveal","display: none;"),q("+",[V("placeholder",` - display: flex; - align-items: center; - `)])]),Rt("textarea",[V("placeholder","white-space: nowrap;")]),V("eye",` - display: flex; - align-items: center; - justify-content: center; - transition: color .3s var(--n-bezier); - `),Z("textarea","width: 100%;",[z("input-word-count",` - position: absolute; - right: var(--n-padding-right); - bottom: var(--n-padding-vertical); - `),Z("resizable",[z("input-wrapper",` - resize: vertical; - min-height: var(--n-height); - `)]),V("textarea-el, textarea-mirror, placeholder",` - height: 100%; - padding-left: 0; - padding-right: 0; - padding-top: var(--n-padding-vertical); - padding-bottom: var(--n-padding-vertical); - word-break: break-word; - display: inline-block; - vertical-align: bottom; - box-sizing: border-box; - line-height: var(--n-line-height-textarea); - margin: 0; - resize: none; - white-space: pre-wrap; - scroll-padding-block-end: var(--n-padding-vertical); - `),V("textarea-mirror",` - width: 100%; - pointer-events: none; - overflow: hidden; - visibility: hidden; - position: static; - white-space: pre-wrap; - overflow-wrap: break-word; - `)]),Z("pair",[V("input-el, placeholder","text-align: center;"),V("separator",` - display: flex; - align-items: center; - transition: color .3s var(--n-bezier); - color: var(--n-text-color); - white-space: nowrap; - `,[z("icon",` - color: var(--n-icon-color); - `),z("base-icon",` - color: var(--n-icon-color); - `)])]),Z("disabled",` - cursor: not-allowed; - background-color: var(--n-color-disabled); - `,[V("border","border: var(--n-border-disabled);"),V("input-el, textarea-el",` - cursor: not-allowed; - color: var(--n-text-color-disabled); - text-decoration-color: var(--n-text-color-disabled); - `),V("placeholder","color: var(--n-placeholder-color-disabled);"),V("separator","color: var(--n-text-color-disabled);",[z("icon",` - color: var(--n-icon-color-disabled); - `),z("base-icon",` - color: var(--n-icon-color-disabled); - `)]),z("input-word-count",` - color: var(--n-count-text-color-disabled); - `),V("suffix, prefix","color: var(--n-text-color-disabled);",[z("icon",` - color: var(--n-icon-color-disabled); - `),z("internal-icon",` - color: var(--n-icon-color-disabled); - `)])]),Rt("disabled",[V("eye",` - color: var(--n-icon-color); - cursor: pointer; - `,[q("&:hover",` - color: var(--n-icon-color-hover); - `),q("&:active",` - color: var(--n-icon-color-pressed); - `)]),q("&:hover",[V("state-border","border: var(--n-border-hover);")]),Z("focus","background-color: var(--n-color-focus);",[V("state-border",` - border: var(--n-border-focus); - box-shadow: var(--n-box-shadow-focus); - `)])]),V("border, state-border",` - box-sizing: border-box; - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - pointer-events: none; - border-radius: inherit; - border: var(--n-border); - transition: - box-shadow .3s var(--n-bezier), - border-color .3s var(--n-bezier); - `),V("state-border",` - border-color: #0000; - z-index: 1; - `),V("prefix","margin-right: 4px;"),V("suffix",` - margin-left: 4px; - `),V("suffix, prefix",` - transition: color .3s var(--n-bezier); - flex-wrap: nowrap; - flex-shrink: 0; - line-height: var(--n-height); - white-space: nowrap; - display: inline-flex; - align-items: center; - justify-content: center; - color: var(--n-suffix-text-color); - `,[z("base-loading",` - font-size: var(--n-icon-size); - margin: 0 2px; - color: var(--n-loading-color); - `),z("base-clear",` - font-size: var(--n-icon-size); - `,[V("placeholder",[z("base-icon",` - transition: color .3s var(--n-bezier); - color: var(--n-icon-color); - font-size: var(--n-icon-size); - `)])]),q(">",[z("icon",` - transition: color .3s var(--n-bezier); - color: var(--n-icon-color); - font-size: var(--n-icon-size); - `)]),z("base-icon",` - font-size: var(--n-icon-size); - `)]),z("input-word-count",` - pointer-events: none; - line-height: 1.5; - font-size: .85em; - color: var(--n-count-text-color); - transition: color .3s var(--n-bezier); - margin-left: 4px; - font-variant: tabular-nums; - `),["warning","error"].map(e=>Z(`${e}-status`,[Rt("disabled",[z("base-loading",` - color: var(--n-loading-color-${e}) - `),V("input-el, textarea-el",` - caret-color: var(--n-caret-color-${e}); - `),V("state-border",` - border: var(--n-border-${e}); - `),q("&:hover",[V("state-border",` - border: var(--n-border-hover-${e}); - `)]),q("&:focus",` - background-color: var(--n-color-focus-${e}); - `,[V("state-border",` - box-shadow: var(--n-box-shadow-focus-${e}); - border: var(--n-border-focus-${e}); - `)]),Z("focus",` - background-color: var(--n-color-focus-${e}); - `,[V("state-border",` - box-shadow: var(--n-box-shadow-focus-${e}); - border: var(--n-border-focus-${e}); - `)])])]))]),Ij=z("input",[Z("disabled",[V("input-el, textarea-el",` - -webkit-text-fill-color: var(--n-text-color-disabled); - `)])]),Oj=Object.assign(Object.assign({},Be.props),{bordered:{type:Boolean,default:void 0},type:{type:String,default:"text"},placeholder:[Array,String],defaultValue:{type:[String,Array],default:null},value:[String,Array],disabled:{type:Boolean,default:void 0},size:String,rows:{type:[Number,String],default:3},round:Boolean,minlength:[String,Number],maxlength:[String,Number],clearable:Boolean,autosize:{type:[Boolean,Object],default:!1},pair:Boolean,separator:String,readonly:{type:[String,Boolean],default:!1},passivelyActivated:Boolean,showPasswordOn:String,stateful:{type:Boolean,default:!0},autofocus:Boolean,inputProps:Object,resizable:{type:Boolean,default:!0},showCount:Boolean,loading:{type:Boolean,default:void 0},allowInput:Function,renderCount:Function,onMousedown:Function,onKeydown:Function,onKeyup:[Function,Array],onInput:[Function,Array],onFocus:[Function,Array],onBlur:[Function,Array],onClick:[Function,Array],onChange:[Function,Array],onClear:[Function,Array],countGraphemes:Function,status:String,"onUpdate:value":[Function,Array],onUpdateValue:[Function,Array],textDecoration:[String,Array],attrSize:{type:Number,default:20},onInputBlur:[Function,Array],onInputFocus:[Function,Array],onDeactivate:[Function,Array],onActivate:[Function,Array],onWrapperFocus:[Function,Array],onWrapperBlur:[Function,Array],internalDeactivateOnEnter:Boolean,internalForceFocus:Boolean,internalLoadingBeforeSuffix:{type:Boolean,default:!0},showPasswordToggle:Boolean}),ur=be({name:"Input",props:Oj,setup(e){const{mergedClsPrefixRef:t,mergedBorderedRef:n,inlineThemeDisabled:o,mergedRtlRef:r}=st(e),i=Be("Input","-input",Aj,vm,e,t);d2&&ei("-input-safari",Ij,t);const a=W(null),s=W(null),l=W(null),c=W(null),u=W(null),d=W(null),f=W(null),h=$j(f),p=W(null),{localeRef:g}=Hi("Input"),m=W(e.defaultValue),b=We(e,"value"),_=an(b,m),C=pr(e),{mergedSizeRef:S,mergedDisabledRef:w,mergedStatusRef:x}=C,y=W(!1),P=W(!1),k=W(!1),T=W(!1);let E=null;const R=F(()=>{const{placeholder:ae,pair:Ee}=e;return Ee?Array.isArray(ae)?ae:ae===void 0?["",""]:[ae,ae]:ae===void 0?[g.value.placeholder]:[ae]}),K=F(()=>{const{value:ae}=k,{value:Ee}=_,{value:ot}=R;return!ae&&(Nl(Ee)||Array.isArray(Ee)&&Nl(Ee[0]))&&ot[0]}),N=F(()=>{const{value:ae}=k,{value:Ee}=_,{value:ot}=R;return!ae&&ot[1]&&(Nl(Ee)||Array.isArray(Ee)&&Nl(Ee[1]))}),D=kt(()=>e.internalForceFocus||y.value),M=kt(()=>{if(w.value||e.readonly||!e.clearable||!D.value&&!P.value)return!1;const{value:ae}=_,{value:Ee}=D;return e.pair?!!(Array.isArray(ae)&&(ae[0]||ae[1]))&&(P.value||Ee):!!ae&&(P.value||Ee)}),G=F(()=>{const{showPasswordOn:ae}=e;if(ae)return ae;if(e.showPasswordToggle)return"click"}),J=W(!1),he=F(()=>{const{textDecoration:ae}=e;return ae?Array.isArray(ae)?ae.map(Ee=>({textDecoration:Ee})):[{textDecoration:ae}]:["",""]}),pe=W(void 0),B=()=>{var ae,Ee;if(e.type==="textarea"){const{autosize:ot}=e;if(ot&&(pe.value=(Ee=(ae=p.value)===null||ae===void 0?void 0:ae.$el)===null||Ee===void 0?void 0:Ee.offsetWidth),!s.value||typeof ot=="boolean")return;const{paddingTop:Bt,paddingBottom:Kt,lineHeight:Lt}=window.getComputedStyle(s.value),bo=Number(Bt.slice(0,-2)),yo=Number(Kt.slice(0,-2)),xo=Number(Lt.slice(0,-2)),{value:Xo}=l;if(!Xo)return;if(ot.minRows){const Zo=Math.max(ot.minRows,1),oi=`${bo+yo+xo*Zo}px`;Xo.style.minHeight=oi}if(ot.maxRows){const Zo=`${bo+yo+xo*ot.maxRows}px`;Xo.style.maxHeight=Zo}}},$=F(()=>{const{maxlength:ae}=e;return ae===void 0?void 0:Number(ae)});jt(()=>{const{value:ae}=_;Array.isArray(ae)||vt(ae)});const A=to().proxy;function Y(ae,Ee){const{onUpdateValue:ot,"onUpdate:value":Bt,onInput:Kt}=e,{nTriggerFormInput:Lt}=C;ot&&$e(ot,ae,Ee),Bt&&$e(Bt,ae,Ee),Kt&&$e(Kt,ae,Ee),m.value=ae,Lt()}function ne(ae,Ee){const{onChange:ot}=e,{nTriggerFormChange:Bt}=C;ot&&$e(ot,ae,Ee),m.value=ae,Bt()}function fe(ae){const{onBlur:Ee}=e,{nTriggerFormBlur:ot}=C;Ee&&$e(Ee,ae),ot()}function Q(ae){const{onFocus:Ee}=e,{nTriggerFormFocus:ot}=C;Ee&&$e(Ee,ae),ot()}function xe(ae){const{onClear:Ee}=e;Ee&&$e(Ee,ae)}function H(ae){const{onInputBlur:Ee}=e;Ee&&$e(Ee,ae)}function ye(ae){const{onInputFocus:Ee}=e;Ee&&$e(Ee,ae)}function Oe(){const{onDeactivate:ae}=e;ae&&$e(ae)}function Ne(){const{onActivate:ae}=e;ae&&$e(ae)}function L(ae){const{onClick:Ee}=e;Ee&&$e(Ee,ae)}function O(ae){const{onWrapperFocus:Ee}=e;Ee&&$e(Ee,ae)}function oe(ae){const{onWrapperBlur:Ee}=e;Ee&&$e(Ee,ae)}function _e(){k.value=!0}function te(ae){k.value=!1,ae.target===d.value?ge(ae,1):ge(ae,0)}function ge(ae,Ee=0,ot="input"){const Bt=ae.target.value;if(vt(Bt),ae instanceof InputEvent&&!ae.isComposing&&(k.value=!1),e.type==="textarea"){const{value:Lt}=p;Lt&&Lt.syncUnifiedContainer()}if(E=Bt,k.value)return;h.recordCursor();const Kt=ke(Bt);if(Kt)if(!e.pair)ot==="input"?Y(Bt,{source:Ee}):ne(Bt,{source:Ee});else{let{value:Lt}=_;Array.isArray(Lt)?Lt=[Lt[0],Lt[1]]:Lt=["",""],Lt[Ee]=Bt,ot==="input"?Y(Lt,{source:Ee}):ne(Lt,{source:Ee})}A.$forceUpdate(),Kt||Ht(h.restoreCursor)}function ke(ae){const{countGraphemes:Ee,maxlength:ot,minlength:Bt}=e;if(Ee){let Lt;if(ot!==void 0&&(Lt===void 0&&(Lt=Ee(ae)),Lt>Number(ot))||Bt!==void 0&&(Lt===void 0&&(Lt=Ee(ae)),Lt{Bt.preventDefault(),Tt("mouseup",document,Ee)};if(At("mouseup",document,Ee),G.value!=="mousedown")return;J.value=!0;const ot=()=>{J.value=!1,Tt("mouseup",document,ot)};At("mouseup",document,ot)}function Qe(ae){e.onKeyup&&$e(e.onKeyup,ae)}function Ct(ae){switch(e.onKeydown&&$e(e.onKeydown,ae),ae.key){case"Escape":ve();break;case"Enter":X(ae);break}}function X(ae){var Ee,ot;if(e.passivelyActivated){const{value:Bt}=T;if(Bt){e.internalDeactivateOnEnter&&ve();return}ae.preventDefault(),e.type==="textarea"?(Ee=s.value)===null||Ee===void 0||Ee.focus():(ot=u.value)===null||ot===void 0||ot.focus()}}function ve(){e.passivelyActivated&&(T.value=!1,Ht(()=>{var ae;(ae=a.value)===null||ae===void 0||ae.focus()}))}function Ae(){var ae,Ee,ot;w.value||(e.passivelyActivated?(ae=a.value)===null||ae===void 0||ae.focus():((Ee=s.value)===null||Ee===void 0||Ee.focus(),(ot=u.value)===null||ot===void 0||ot.focus()))}function Ke(){var ae;!((ae=a.value)===null||ae===void 0)&&ae.contains(document.activeElement)&&document.activeElement.blur()}function Ze(){var ae,Ee;(ae=s.value)===null||ae===void 0||ae.select(),(Ee=u.value)===null||Ee===void 0||Ee.select()}function Je(){w.value||(s.value?s.value.focus():u.value&&u.value.focus())}function tt(){const{value:ae}=a;ae!=null&&ae.contains(document.activeElement)&&ae!==document.activeElement&&ve()}function rt(ae){if(e.type==="textarea"){const{value:Ee}=s;Ee==null||Ee.scrollTo(ae)}else{const{value:Ee}=u;Ee==null||Ee.scrollTo(ae)}}function vt(ae){const{type:Ee,pair:ot,autosize:Bt}=e;if(!ot&&Bt)if(Ee==="textarea"){const{value:Kt}=l;Kt&&(Kt.textContent=`${ae??""}\r -`)}else{const{value:Kt}=c;Kt&&(ae?Kt.textContent=ae:Kt.innerHTML=" ")}}function sn(){B()}const Dt=W({top:"0"});function Se(ae){var Ee;const{scrollTop:ot}=ae.target;Dt.value.top=`${-ot}px`,(Ee=p.value)===null||Ee===void 0||Ee.syncUnifiedContainer()}let Ve=null;Xt(()=>{const{autosize:ae,type:Ee}=e;ae&&Ee==="textarea"?Ve=ft(_,ot=>{!Array.isArray(ot)&&ot!==E&&vt(ot)}):Ve==null||Ve()});let et=null;Xt(()=>{e.type==="textarea"?et=ft(_,ae=>{var Ee;!Array.isArray(ae)&&ae!==E&&((Ee=p.value)===null||Ee===void 0||Ee.syncUnifiedContainer())}):et==null||et()}),at(h2,{mergedValueRef:_,maxlengthRef:$,mergedClsPrefixRef:t,countGraphemesRef:We(e,"countGraphemes")});const ht={wrapperElRef:a,inputElRef:u,textareaElRef:s,isCompositing:k,clear:De,focus:Ae,blur:Ke,select:Ze,deactivate:tt,activate:Je,scrollTo:rt},bt=pn("Input",r,t),ut=F(()=>{const{value:ae}=S,{common:{cubicBezierEaseInOut:Ee},self:{color:ot,borderRadius:Bt,textColor:Kt,caretColor:Lt,caretColorError:bo,caretColorWarning:yo,textDecorationColor:xo,border:Xo,borderDisabled:Zo,borderHover:oi,borderFocus:Ja,placeholderColor:Qa,placeholderColorDisabled:es,lineHeightTextarea:ts,colorDisabled:yr,colorFocus:xr,textColorDisabled:od,boxShadowFocus:rd,iconSize:id,colorFocusWarning:ad,boxShadowFocusWarning:sd,borderWarning:ld,borderFocusWarning:cd,borderHoverWarning:ud,colorFocusError:dd,boxShadowFocusError:fd,borderError:hd,borderFocusError:pd,borderHoverError:qk,clearSize:Kk,clearColor:Gk,clearColorHover:Yk,clearColorPressed:Xk,iconColor:Zk,iconColorDisabled:Jk,suffixTextColor:Qk,countTextColor:e3,countTextColorDisabled:t3,iconColorHover:n3,iconColorPressed:o3,loadingColor:r3,loadingColorError:i3,loadingColorWarning:a3,[Re("padding",ae)]:s3,[Re("fontSize",ae)]:l3,[Re("height",ae)]:c3}}=i.value,{left:u3,right:d3}=lo(s3);return{"--n-bezier":Ee,"--n-count-text-color":e3,"--n-count-text-color-disabled":t3,"--n-color":ot,"--n-font-size":l3,"--n-border-radius":Bt,"--n-height":c3,"--n-padding-left":u3,"--n-padding-right":d3,"--n-text-color":Kt,"--n-caret-color":Lt,"--n-text-decoration-color":xo,"--n-border":Xo,"--n-border-disabled":Zo,"--n-border-hover":oi,"--n-border-focus":Ja,"--n-placeholder-color":Qa,"--n-placeholder-color-disabled":es,"--n-icon-size":id,"--n-line-height-textarea":ts,"--n-color-disabled":yr,"--n-color-focus":xr,"--n-text-color-disabled":od,"--n-box-shadow-focus":rd,"--n-loading-color":r3,"--n-caret-color-warning":yo,"--n-color-focus-warning":ad,"--n-box-shadow-focus-warning":sd,"--n-border-warning":ld,"--n-border-focus-warning":cd,"--n-border-hover-warning":ud,"--n-loading-color-warning":a3,"--n-caret-color-error":bo,"--n-color-focus-error":dd,"--n-box-shadow-focus-error":fd,"--n-border-error":hd,"--n-border-focus-error":pd,"--n-border-hover-error":qk,"--n-loading-color-error":i3,"--n-clear-color":Gk,"--n-clear-size":Kk,"--n-clear-color-hover":Yk,"--n-clear-color-pressed":Xk,"--n-icon-color":Zk,"--n-icon-color-hover":n3,"--n-icon-color-pressed":o3,"--n-icon-color-disabled":Jk,"--n-suffix-text-color":Qk}}),Et=o?Pt("input",F(()=>{const{value:ae}=S;return ae[0]}),ut,e):void 0;return Object.assign(Object.assign({},ht),{wrapperElRef:a,inputElRef:u,inputMirrorElRef:c,inputEl2Ref:d,textareaElRef:s,textareaMirrorElRef:l,textareaScrollbarInstRef:p,rtlEnabled:bt,uncontrolledValue:m,mergedValue:_,passwordVisible:J,mergedPlaceholder:R,showPlaceholder1:K,showPlaceholder2:N,mergedFocus:D,isComposing:k,activated:T,showClearButton:M,mergedSize:S,mergedDisabled:w,textDecorationStyle:he,mergedClsPrefix:t,mergedBordered:n,mergedShowPasswordOn:G,placeholderStyle:Dt,mergedStatus:x,textAreaScrollContainerWidth:pe,handleTextAreaScroll:Se,handleCompositionStart:_e,handleCompositionEnd:te,handleInput:ge,handleInputBlur:I,handleInputFocus:j,handleWrapperBlur:ee,handleWrapperFocus:Ce,handleMouseEnter:Pe,handleMouseLeave:Fe,handleMouseDown:Le,handleChange:le,handleClick:re,handleClear:de,handlePasswordToggleClick:He,handlePasswordToggleMousedown:Ie,handleWrapperKeydown:Ct,handleWrapperKeyup:Qe,handleTextAreaMirrorResize:sn,getTextareaScrollContainer:()=>s.value,mergedTheme:i,cssVars:o?void 0:ut,themeClass:Et==null?void 0:Et.themeClass,onRender:Et==null?void 0:Et.onRender})},render(){var e,t;const{mergedClsPrefix:n,mergedStatus:o,themeClass:r,type:i,countGraphemes:a,onRender:s}=this,l=this.$slots;return s==null||s(),v("div",{ref:"wrapperElRef",class:[`${n}-input`,r,o&&`${n}-input--${o}-status`,{[`${n}-input--rtl`]:this.rtlEnabled,[`${n}-input--disabled`]:this.mergedDisabled,[`${n}-input--textarea`]:i==="textarea",[`${n}-input--resizable`]:this.resizable&&!this.autosize,[`${n}-input--autosize`]:this.autosize,[`${n}-input--round`]:this.round&&i!=="textarea",[`${n}-input--pair`]:this.pair,[`${n}-input--focus`]:this.mergedFocus,[`${n}-input--stateful`]:this.stateful}],style:this.cssVars,tabindex:!this.mergedDisabled&&this.passivelyActivated&&!this.activated?0:void 0,onFocus:this.handleWrapperFocus,onBlur:this.handleWrapperBlur,onClick:this.handleClick,onMousedown:this.handleMouseDown,onMouseenter:this.handleMouseEnter,onMouseleave:this.handleMouseLeave,onCompositionstart:this.handleCompositionStart,onCompositionend:this.handleCompositionEnd,onKeyup:this.handleWrapperKeyup,onKeydown:this.handleWrapperKeydown},v("div",{class:`${n}-input-wrapper`},$t(l.prefix,c=>c&&v("div",{class:`${n}-input__prefix`},c)),i==="textarea"?v(Io,{ref:"textareaScrollbarInstRef",class:`${n}-input__textarea`,container:this.getTextareaScrollContainer,triggerDisplayManually:!0,useUnifiedContainer:!0,internalHoistYRail:!0},{default:()=>{var c,u;const{textAreaScrollContainerWidth:d}=this,f={width:this.autosize&&d&&`${d}px`};return v(it,null,v("textarea",Object.assign({},this.inputProps,{ref:"textareaElRef",class:[`${n}-input__textarea-el`,(c=this.inputProps)===null||c===void 0?void 0:c.class],autofocus:this.autofocus,rows:Number(this.rows),placeholder:this.placeholder,value:this.mergedValue,disabled:this.mergedDisabled,maxlength:a?void 0:this.maxlength,minlength:a?void 0:this.minlength,readonly:this.readonly,tabindex:this.passivelyActivated&&!this.activated?-1:void 0,style:[this.textDecorationStyle[0],(u=this.inputProps)===null||u===void 0?void 0:u.style,f],onBlur:this.handleInputBlur,onFocus:h=>{this.handleInputFocus(h,2)},onInput:this.handleInput,onChange:this.handleChange,onScroll:this.handleTextAreaScroll})),this.showPlaceholder1?v("div",{class:`${n}-input__placeholder`,style:[this.placeholderStyle,f],key:"placeholder"},this.mergedPlaceholder[0]):null,this.autosize?v(cr,{onResize:this.handleTextAreaMirrorResize},{default:()=>v("div",{ref:"textareaMirrorElRef",class:`${n}-input__textarea-mirror`,key:"mirror"})}):null)}}):v("div",{class:`${n}-input__input`},v("input",Object.assign({type:i==="password"&&this.mergedShowPasswordOn&&this.passwordVisible?"text":i},this.inputProps,{ref:"inputElRef",class:[`${n}-input__input-el`,(e=this.inputProps)===null||e===void 0?void 0:e.class],style:[this.textDecorationStyle[0],(t=this.inputProps)===null||t===void 0?void 0:t.style],tabindex:this.passivelyActivated&&!this.activated?-1:void 0,placeholder:this.mergedPlaceholder[0],disabled:this.mergedDisabled,maxlength:a?void 0:this.maxlength,minlength:a?void 0:this.minlength,value:Array.isArray(this.mergedValue)?this.mergedValue[0]:this.mergedValue,readonly:this.readonly,autofocus:this.autofocus,size:this.attrSize,onBlur:this.handleInputBlur,onFocus:c=>{this.handleInputFocus(c,0)},onInput:c=>{this.handleInput(c,0)},onChange:c=>{this.handleChange(c,0)}})),this.showPlaceholder1?v("div",{class:`${n}-input__placeholder`},v("span",null,this.mergedPlaceholder[0])):null,this.autosize?v("div",{class:`${n}-input__input-mirror`,key:"mirror",ref:"inputMirrorElRef"}," "):null),!this.pair&&$t(l.suffix,c=>c||this.clearable||this.showCount||this.mergedShowPasswordOn||this.loading!==void 0?v("div",{class:`${n}-input__suffix`},[$t(l["clear-icon-placeholder"],u=>(this.clearable||u)&&v(Lh,{clsPrefix:n,show:this.showClearButton,onClear:this.handleClear},{placeholder:()=>u,icon:()=>{var d,f;return(f=(d=this.$slots)["clear-icon"])===null||f===void 0?void 0:f.call(d)}})),this.internalLoadingBeforeSuffix?null:c,this.loading!==void 0?v(i2,{clsPrefix:n,loading:this.loading,showArrow:!1,showClear:!1,style:this.cssVars}):null,this.internalLoadingBeforeSuffix?c:null,this.showCount&&this.type!=="textarea"?v(Y0,null,{default:u=>{var d;return(d=l.count)===null||d===void 0?void 0:d.call(l,u)}}):null,this.mergedShowPasswordOn&&this.type==="password"?v("div",{class:`${n}-input__eye`,onMousedown:this.handlePasswordToggleMousedown,onClick:this.handlePasswordToggleClick},this.passwordVisible?An(l["password-visible-icon"],()=>[v(Ut,{clsPrefix:n},{default:()=>v(ON,null)})]):An(l["password-invisible-icon"],()=>[v(Ut,{clsPrefix:n},{default:()=>v(MN,null)})])):null]):null)),this.pair?v("span",{class:`${n}-input__separator`},An(l.separator,()=>[this.separator])):null,this.pair?v("div",{class:`${n}-input-wrapper`},v("div",{class:`${n}-input__input`},v("input",{ref:"inputEl2Ref",type:this.type,class:`${n}-input__input-el`,tabindex:this.passivelyActivated&&!this.activated?-1:void 0,placeholder:this.mergedPlaceholder[1],disabled:this.mergedDisabled,maxlength:a?void 0:this.maxlength,minlength:a?void 0:this.minlength,value:Array.isArray(this.mergedValue)?this.mergedValue[1]:void 0,readonly:this.readonly,style:this.textDecorationStyle[1],onBlur:this.handleInputBlur,onFocus:c=>{this.handleInputFocus(c,1)},onInput:c=>{this.handleInput(c,1)},onChange:c=>{this.handleChange(c,1)}}),this.showPlaceholder2?v("div",{class:`${n}-input__placeholder`},v("span",null,this.mergedPlaceholder[1])):null),$t(l.suffix,c=>(this.clearable||c)&&v("div",{class:`${n}-input__suffix`},[this.clearable&&v(Lh,{clsPrefix:n,show:this.showClearButton,onClear:this.handleClear},{icon:()=>{var u;return(u=l["clear-icon"])===null||u===void 0?void 0:u.call(l)},placeholder:()=>{var u;return(u=l["clear-icon-placeholder"])===null||u===void 0?void 0:u.call(l)}}),c]))):null,this.mergedBordered?v("div",{class:`${n}-input__border`}):null,this.mergedBordered?v("div",{class:`${n}-input__state-border`}):null,this.showCount&&i==="textarea"?v(Y0,null,{default:c=>{var u;const{renderCount:d}=this;return d?d(c):(u=l.count)===null||u===void 0?void 0:u.call(l,c)}}):null)}}),Mj=z("input-group",` - display: inline-flex; - width: 100%; - flex-wrap: nowrap; - vertical-align: bottom; -`,[q(">",[z("input",[q("&:not(:last-child)",` - border-top-right-radius: 0!important; - border-bottom-right-radius: 0!important; - `),q("&:not(:first-child)",` - border-top-left-radius: 0!important; - border-bottom-left-radius: 0!important; - margin-left: -1px!important; - `)]),z("button",[q("&:not(:last-child)",` - border-top-right-radius: 0!important; - border-bottom-right-radius: 0!important; - `,[V("state-border, border",` - border-top-right-radius: 0!important; - border-bottom-right-radius: 0!important; - `)]),q("&:not(:first-child)",` - border-top-left-radius: 0!important; - border-bottom-left-radius: 0!important; - `,[V("state-border, border",` - border-top-left-radius: 0!important; - border-bottom-left-radius: 0!important; - `)])]),q("*",[q("&:not(:last-child)",` - border-top-right-radius: 0!important; - border-bottom-right-radius: 0!important; - `,[q(">",[z("input",` - border-top-right-radius: 0!important; - border-bottom-right-radius: 0!important; - `),z("base-selection",[z("base-selection-label",` - border-top-right-radius: 0!important; - border-bottom-right-radius: 0!important; - `),z("base-selection-tags",` - border-top-right-radius: 0!important; - border-bottom-right-radius: 0!important; - `),V("box-shadow, border, state-border",` - border-top-right-radius: 0!important; - border-bottom-right-radius: 0!important; - `)])])]),q("&:not(:first-child)",` - margin-left: -1px!important; - border-top-left-radius: 0!important; - border-bottom-left-radius: 0!important; - `,[q(">",[z("input",` - border-top-left-radius: 0!important; - border-bottom-left-radius: 0!important; - `),z("base-selection",[z("base-selection-label",` - border-top-left-radius: 0!important; - border-bottom-left-radius: 0!important; - `),z("base-selection-tags",` - border-top-left-radius: 0!important; - border-bottom-left-radius: 0!important; - `),V("box-shadow, border, state-border",` - border-top-left-radius: 0!important; - border-bottom-left-radius: 0!important; - `)])])])])])]),zj={},bm=be({name:"InputGroup",props:zj,setup(e){const{mergedClsPrefixRef:t}=st(e);return ei("-input-group",Mj,t),{mergedClsPrefix:t}},render(){const{mergedClsPrefix:e}=this;return v("div",{class:`${e}-input-group`},this.$slots)}});function Dj(e){const{boxShadow2:t}=e;return{menuBoxShadow:t}}const Lj={name:"AutoComplete",common:je,peers:{InternalSelectMenu:fl,Input:mo},self:Dj},Fj=Lj;function Bj(e){const{borderRadius:t,avatarColor:n,cardColor:o,fontSize:r,heightTiny:i,heightSmall:a,heightMedium:s,heightLarge:l,heightHuge:c,modalColor:u,popoverColor:d}=e;return{borderRadius:t,fontSize:r,border:`2px solid ${o}`,heightTiny:i,heightSmall:a,heightMedium:s,heightLarge:l,heightHuge:c,color:Ge(o,n),colorModal:Ge(u,n),colorPopover:Ge(d,n)}}const Nj={name:"Avatar",common:je,self:Bj},p2=Nj;function Hj(){return{gap:"-12px"}}const jj={name:"AvatarGroup",common:je,peers:{Avatar:p2},self:Hj},Vj=jj,m2={width:"44px",height:"44px",borderRadius:"22px",iconSize:"26px"},Wj={name:"BackTop",common:je,self(e){const{popoverColor:t,textColor2:n,primaryColorHover:o,primaryColorPressed:r}=e;return Object.assign(Object.assign({},m2),{color:t,textColor:n,iconColor:n,iconColorHover:o,iconColorPressed:r,boxShadow:"0 2px 8px 0px rgba(0, 0, 0, .12)",boxShadowHover:"0 2px 12px 0px rgba(0, 0, 0, .18)",boxShadowPressed:"0 2px 12px 0px rgba(0, 0, 0, .18)"})}},Uj=Wj;function qj(e){const{popoverColor:t,textColor2:n,primaryColorHover:o,primaryColorPressed:r}=e;return Object.assign(Object.assign({},m2),{color:t,textColor:n,iconColor:n,iconColorHover:o,iconColorPressed:r,boxShadow:"0 2px 8px 0px rgba(0, 0, 0, .12)",boxShadowHover:"0 2px 12px 0px rgba(0, 0, 0, .18)",boxShadowPressed:"0 2px 12px 0px rgba(0, 0, 0, .18)"})}const Kj={name:"BackTop",common:xt,self:qj},Gj=Kj,Yj=v("svg",{viewBox:"0 0 24 24",version:"1.1",xmlns:"http://www.w3.org/2000/svg",xlinkHref:"http://www.w3.org/1999/xlink"},v("g",{stroke:"none","stroke-width":"1","fill-rule":"evenodd"},v("g",{transform:"translate(-139.000000, -4423.000000)","fill-rule":"nonzero"},v("g",{transform:"translate(120.000000, 4285.000000)"},v("g",{transform:"translate(7.000000, 126.000000)"},v("g",{transform:"translate(24.000000, 24.000000) scale(1, -1) translate(-24.000000, -24.000000) translate(12.000000, 12.000000)"},v("g",{transform:"translate(4.000000, 2.000000)"},v("path",{d:"M8,0 C8.51283584,0 8.93550716,0.38604019 8.99327227,0.883378875 L9,1 L9,10.584 L12.2928932,7.29289322 C12.6834175,6.90236893 13.3165825,6.90236893 13.7071068,7.29289322 C14.0675907,7.65337718 14.0953203,8.22060824 13.7902954,8.61289944 L13.7071068,8.70710678 L8.70710678,13.7071068 L8.62544899,13.7803112 L8.618,13.784 L8.59530661,13.8036654 L8.4840621,13.8753288 L8.37133602,13.9287745 L8.22929083,13.9735893 L8.14346259,13.9897165 L8.03324678,13.9994506 L7.9137692,13.9962979 L7.77070917,13.9735893 L7.6583843,13.9401293 L7.57677845,13.9063266 L7.47929125,13.8540045 L7.4048407,13.8036865 L7.38131006,13.7856883 C7.35030318,13.7612383 7.32077858,13.7349921 7.29289322,13.7071068 L2.29289322,8.70710678 L2.20970461,8.61289944 C1.90467972,8.22060824 1.93240926,7.65337718 2.29289322,7.29289322 C2.65337718,6.93240926 3.22060824,6.90467972 3.61289944,7.20970461 L3.70710678,7.29289322 L7,10.585 L7,1 L7.00672773,0.883378875 C7.06449284,0.38604019 7.48716416,0 8,0 Z"}),v("path",{d:"M14.9333333,15.9994506 C15.5224371,15.9994506 16,16.4471659 16,16.9994506 C16,17.5122865 15.5882238,17.9349578 15.0577292,17.9927229 L14.9333333,17.9994506 L1.06666667,17.9994506 C0.477562934,17.9994506 0,17.5517354 0,16.9994506 C0,16.4866148 0.411776203,16.0639435 0.9422708,16.0061783 L1.06666667,15.9994506 L14.9333333,15.9994506 Z"})))))))),Xj=z("back-top",` - position: fixed; - right: 40px; - bottom: 40px; - cursor: pointer; - display: flex; - align-items: center; - justify-content: center; - color: var(--n-text-color); - transition: - color .3s var(--n-bezier), - box-shadow .3s var(--n-bezier), - background-color .3s var(--n-bezier); - border-radius: var(--n-border-radius); - height: var(--n-height); - min-width: var(--n-width); - box-shadow: var(--n-box-shadow); - background-color: var(--n-color); -`,[qa(),Z("transition-disabled",{transition:"none !important"}),z("base-icon",` - font-size: var(--n-icon-size); - color: var(--n-icon-color); - transition: color .3s var(--n-bezier); - `),q("svg",{pointerEvents:"none"}),q("&:hover",{boxShadow:"var(--n-box-shadow-hover)"},[z("base-icon",{color:"var(--n-icon-color-hover)"})]),q("&:active",{boxShadow:"var(--n-box-shadow-pressed)"},[z("base-icon",{color:"var(--n-icon-color-pressed)"})])]),Zj=Object.assign(Object.assign({},Be.props),{show:{type:Boolean,default:void 0},right:{type:[Number,String],default:40},bottom:{type:[Number,String],default:40},to:{type:[String,Object],default:"body"},visibilityHeight:{type:Number,default:180},listenTo:[String,Object,Function],"onUpdate:show":{type:Function,default:()=>{}},target:Function,onShow:Function,onHide:Function}),Jj=be({name:"BackTop",inheritAttrs:!1,props:Zj,setup(e){const{mergedClsPrefixRef:t,inlineThemeDisabled:n}=st(e),o=W(null),r=W(!1);Xt(()=>{const{value:S}=o;if(S===null){r.value=!1;return}r.value=S>=e.visibilityHeight});const i=W(!1);ft(r,S=>{var w;i.value&&((w=e["onUpdate:show"])===null||w===void 0||w.call(e,S))});const a=We(e,"show"),s=an(a,r),l=W(!0),c=W(null),u=F(()=>({right:`calc(${qt(e.right)} + ${kh.value})`,bottom:qt(e.bottom)}));let d,f;ft(s,S=>{var w,x;i.value&&(S&&((w=e.onShow)===null||w===void 0||w.call(e)),(x=e.onHide)===null||x===void 0||x.call(e))});const h=Be("BackTop","-back-top",Xj,Gj,e,t);function p(){var S;if(f)return;f=!0;const w=((S=e.target)===null||S===void 0?void 0:S.call(e))||F6(e.listenTo)||hw(c.value);if(!w)return;d=w===document.documentElement?document:w;const{to:x}=e;typeof x=="string"&&document.querySelector(x),d.addEventListener("scroll",m),m()}function g(){(Jb(d)?document.documentElement:d).scrollTo({top:0,behavior:"smooth"})}function m(){o.value=(Jb(d)?document.documentElement:d).scrollTop,i.value||Ht(()=>{i.value=!0})}function b(){l.value=!1}jt(()=>{p(),l.value=s.value}),on(()=>{d&&d.removeEventListener("scroll",m)});const _=F(()=>{const{self:{color:S,boxShadow:w,boxShadowHover:x,boxShadowPressed:y,iconColor:P,iconColorHover:k,iconColorPressed:T,width:E,height:R,iconSize:K,borderRadius:N,textColor:D},common:{cubicBezierEaseInOut:M}}=h.value;return{"--n-bezier":M,"--n-border-radius":N,"--n-height":R,"--n-width":E,"--n-box-shadow":w,"--n-box-shadow-hover":x,"--n-box-shadow-pressed":y,"--n-color":S,"--n-icon-size":K,"--n-icon-color":P,"--n-icon-color-hover":k,"--n-icon-color-pressed":T,"--n-text-color":D}}),C=n?Pt("back-top",void 0,_,e):void 0;return{placeholderRef:c,style:u,mergedShow:s,isMounted:Qr(),scrollElement:W(null),scrollTop:o,DomInfoReady:i,transitionDisabled:l,mergedClsPrefix:t,handleAfterEnter:b,handleScroll:m,handleClick:g,cssVars:n?void 0:_,themeClass:C==null?void 0:C.themeClass,onRender:C==null?void 0:C.onRender}},render(){const{mergedClsPrefix:e}=this;return v("div",{ref:"placeholderRef",class:`${e}-back-top-placeholder`,style:"display: none","aria-hidden":!0},v(Ru,{to:this.to,show:this.mergedShow},{default:()=>v(fn,{name:"fade-in-scale-up-transition",appear:this.isMounted,onAfterEnter:this.handleAfterEnter},{default:()=>{var t;return(t=this.onRender)===null||t===void 0||t.call(this),this.mergedShow?v("div",Ln(this.$attrs,{class:[`${e}-back-top`,this.themeClass,this.transitionDisabled&&`${e}-back-top--transition-disabled`],style:[this.style,this.cssVars],onClick:this.handleClick}),An(this.$slots.default,()=>[v(Ut,{clsPrefix:e},{default:()=>Yj})])):null}})}))}}),Qj={name:"Badge",common:je,self(e){const{errorColorSuppl:t,infoColorSuppl:n,successColorSuppl:o,warningColorSuppl:r,fontFamily:i}=e;return{color:t,colorInfo:n,colorSuccess:o,colorError:t,colorWarning:r,fontSize:"12px",fontFamily:i}}},eV=Qj,tV={fontWeightActive:"400"};function g2(e){const{fontSize:t,textColor3:n,textColor2:o,borderRadius:r,buttonColor2Hover:i,buttonColor2Pressed:a}=e;return Object.assign(Object.assign({},tV),{fontSize:t,itemLineHeight:"1.25",itemTextColor:n,itemTextColorHover:o,itemTextColorPressed:o,itemTextColorActive:o,itemBorderRadius:r,itemColorHover:i,itemColorPressed:a,separatorColor:n})}const nV={name:"Breadcrumb",common:xt,self:g2},oV=nV,rV={name:"Breadcrumb",common:je,self:g2},iV=rV,aV=z("breadcrumb",` - white-space: nowrap; - cursor: default; - line-height: var(--n-item-line-height); -`,[q("ul",` - list-style: none; - padding: 0; - margin: 0; - `),q("a",` - color: inherit; - text-decoration: inherit; - `),z("breadcrumb-item",` - font-size: var(--n-font-size); - transition: color .3s var(--n-bezier); - display: inline-flex; - align-items: center; - `,[z("icon",` - font-size: 18px; - vertical-align: -.2em; - transition: color .3s var(--n-bezier); - color: var(--n-item-text-color); - `),q("&:not(:last-child)",[Z("clickable",[V("link",` - cursor: pointer; - `,[q("&:hover",` - background-color: var(--n-item-color-hover); - `),q("&:active",` - background-color: var(--n-item-color-pressed); - `)])])]),V("link",` - padding: 4px; - border-radius: var(--n-item-border-radius); - transition: - background-color .3s var(--n-bezier), - color .3s var(--n-bezier); - color: var(--n-item-text-color); - position: relative; - `,[q("&:hover",` - color: var(--n-item-text-color-hover); - `,[z("icon",` - color: var(--n-item-text-color-hover); - `)]),q("&:active",` - color: var(--n-item-text-color-pressed); - `,[z("icon",` - color: var(--n-item-text-color-pressed); - `)])]),V("separator",` - margin: 0 8px; - color: var(--n-separator-color); - transition: color .3s var(--n-bezier); - user-select: none; - -webkit-user-select: none; - `),q("&:last-child",[V("link",` - font-weight: var(--n-font-weight-active); - cursor: unset; - color: var(--n-item-text-color-active); - `,[z("icon",` - color: var(--n-item-text-color-active); - `)]),V("separator",` - display: none; - `)])])]),v2="n-breadcrumb",sV=Object.assign(Object.assign({},Be.props),{separator:{type:String,default:"/"}}),lV=be({name:"Breadcrumb",props:sV,setup(e){const{mergedClsPrefixRef:t,inlineThemeDisabled:n}=st(e),o=Be("Breadcrumb","-breadcrumb",aV,oV,e,t);at(v2,{separatorRef:We(e,"separator"),mergedClsPrefixRef:t});const r=F(()=>{const{common:{cubicBezierEaseInOut:a},self:{separatorColor:s,itemTextColor:l,itemTextColorHover:c,itemTextColorPressed:u,itemTextColorActive:d,fontSize:f,fontWeightActive:h,itemBorderRadius:p,itemColorHover:g,itemColorPressed:m,itemLineHeight:b}}=o.value;return{"--n-font-size":f,"--n-bezier":a,"--n-item-text-color":l,"--n-item-text-color-hover":c,"--n-item-text-color-pressed":u,"--n-item-text-color-active":d,"--n-separator-color":s,"--n-item-color-hover":g,"--n-item-color-pressed":m,"--n-item-border-radius":p,"--n-font-weight-active":h,"--n-item-line-height":b}}),i=n?Pt("breadcrumb",void 0,r,e):void 0;return{mergedClsPrefix:t,cssVars:n?void 0:r,themeClass:i==null?void 0:i.themeClass,onRender:i==null?void 0:i.onRender}},render(){var e;return(e=this.onRender)===null||e===void 0||e.call(this),v("nav",{class:[`${this.mergedClsPrefix}-breadcrumb`,this.themeClass],style:this.cssVars,"aria-label":"Breadcrumb"},v("ul",null,this.$slots))}});function cV(e=hr?window:null){const t=()=>{const{hash:r,host:i,hostname:a,href:s,origin:l,pathname:c,port:u,protocol:d,search:f}=(e==null?void 0:e.location)||{};return{hash:r,host:i,hostname:a,href:s,origin:l,pathname:c,port:u,protocol:d,search:f}},n=W(t()),o=()=>{n.value=t()};return jt(()=>{e&&(e.addEventListener("popstate",o),e.addEventListener("hashchange",o))}),Ma(()=>{e&&(e.removeEventListener("popstate",o),e.removeEventListener("hashchange",o))}),n}const uV={separator:String,href:String,clickable:{type:Boolean,default:!0},onClick:Function},dV=be({name:"BreadcrumbItem",props:uV,setup(e,{slots:t}){const n=Ue(v2,null);if(!n)return()=>null;const{separatorRef:o,mergedClsPrefixRef:r}=n,i=cV(),a=F(()=>e.href?"a":"span"),s=F(()=>i.value.href===e.href?"location":null);return()=>{const{value:l}=r;return v("li",{class:[`${l}-breadcrumb-item`,e.clickable&&`${l}-breadcrumb-item--clickable`]},v(a.value,{class:`${l}-breadcrumb-item__link`,"aria-current":s.value,href:e.href,onClick:e.onClick},t),v("span",{class:`${l}-breadcrumb-item__separator`,"aria-hidden":"true"},An(t.separator,()=>{var c;return[(c=e.separator)!==null&&c!==void 0?c:o.value]})))}}});function ci(e){return Ge(e,[255,255,255,.16])}function Hl(e){return Ge(e,[0,0,0,.12])}const fV="n-button-group",hV={paddingTiny:"0 6px",paddingSmall:"0 10px",paddingMedium:"0 14px",paddingLarge:"0 18px",paddingRoundTiny:"0 10px",paddingRoundSmall:"0 14px",paddingRoundMedium:"0 18px",paddingRoundLarge:"0 22px",iconMarginTiny:"6px",iconMarginSmall:"6px",iconMarginMedium:"6px",iconMarginLarge:"6px",iconSizeTiny:"14px",iconSizeSmall:"18px",iconSizeMedium:"18px",iconSizeLarge:"20px",rippleDuration:".6s"};function b2(e){const{heightTiny:t,heightSmall:n,heightMedium:o,heightLarge:r,borderRadius:i,fontSizeTiny:a,fontSizeSmall:s,fontSizeMedium:l,fontSizeLarge:c,opacityDisabled:u,textColor2:d,textColor3:f,primaryColorHover:h,primaryColorPressed:p,borderColor:g,primaryColor:m,baseColor:b,infoColor:_,infoColorHover:C,infoColorPressed:S,successColor:w,successColorHover:x,successColorPressed:y,warningColor:P,warningColorHover:k,warningColorPressed:T,errorColor:E,errorColorHover:R,errorColorPressed:K,fontWeight:N,buttonColor2:D,buttonColor2Hover:M,buttonColor2Pressed:G,fontWeightStrong:J}=e;return Object.assign(Object.assign({},hV),{heightTiny:t,heightSmall:n,heightMedium:o,heightLarge:r,borderRadiusTiny:i,borderRadiusSmall:i,borderRadiusMedium:i,borderRadiusLarge:i,fontSizeTiny:a,fontSizeSmall:s,fontSizeMedium:l,fontSizeLarge:c,opacityDisabled:u,colorOpacitySecondary:"0.16",colorOpacitySecondaryHover:"0.22",colorOpacitySecondaryPressed:"0.28",colorSecondary:D,colorSecondaryHover:M,colorSecondaryPressed:G,colorTertiary:D,colorTertiaryHover:M,colorTertiaryPressed:G,colorQuaternary:"#0000",colorQuaternaryHover:M,colorQuaternaryPressed:G,color:"#0000",colorHover:"#0000",colorPressed:"#0000",colorFocus:"#0000",colorDisabled:"#0000",textColor:d,textColorTertiary:f,textColorHover:h,textColorPressed:p,textColorFocus:h,textColorDisabled:d,textColorText:d,textColorTextHover:h,textColorTextPressed:p,textColorTextFocus:h,textColorTextDisabled:d,textColorGhost:d,textColorGhostHover:h,textColorGhostPressed:p,textColorGhostFocus:h,textColorGhostDisabled:d,border:`1px solid ${g}`,borderHover:`1px solid ${h}`,borderPressed:`1px solid ${p}`,borderFocus:`1px solid ${h}`,borderDisabled:`1px solid ${g}`,rippleColor:m,colorPrimary:m,colorHoverPrimary:h,colorPressedPrimary:p,colorFocusPrimary:h,colorDisabledPrimary:m,textColorPrimary:b,textColorHoverPrimary:b,textColorPressedPrimary:b,textColorFocusPrimary:b,textColorDisabledPrimary:b,textColorTextPrimary:m,textColorTextHoverPrimary:h,textColorTextPressedPrimary:p,textColorTextFocusPrimary:h,textColorTextDisabledPrimary:d,textColorGhostPrimary:m,textColorGhostHoverPrimary:h,textColorGhostPressedPrimary:p,textColorGhostFocusPrimary:h,textColorGhostDisabledPrimary:m,borderPrimary:`1px solid ${m}`,borderHoverPrimary:`1px solid ${h}`,borderPressedPrimary:`1px solid ${p}`,borderFocusPrimary:`1px solid ${h}`,borderDisabledPrimary:`1px solid ${m}`,rippleColorPrimary:m,colorInfo:_,colorHoverInfo:C,colorPressedInfo:S,colorFocusInfo:C,colorDisabledInfo:_,textColorInfo:b,textColorHoverInfo:b,textColorPressedInfo:b,textColorFocusInfo:b,textColorDisabledInfo:b,textColorTextInfo:_,textColorTextHoverInfo:C,textColorTextPressedInfo:S,textColorTextFocusInfo:C,textColorTextDisabledInfo:d,textColorGhostInfo:_,textColorGhostHoverInfo:C,textColorGhostPressedInfo:S,textColorGhostFocusInfo:C,textColorGhostDisabledInfo:_,borderInfo:`1px solid ${_}`,borderHoverInfo:`1px solid ${C}`,borderPressedInfo:`1px solid ${S}`,borderFocusInfo:`1px solid ${C}`,borderDisabledInfo:`1px solid ${_}`,rippleColorInfo:_,colorSuccess:w,colorHoverSuccess:x,colorPressedSuccess:y,colorFocusSuccess:x,colorDisabledSuccess:w,textColorSuccess:b,textColorHoverSuccess:b,textColorPressedSuccess:b,textColorFocusSuccess:b,textColorDisabledSuccess:b,textColorTextSuccess:w,textColorTextHoverSuccess:x,textColorTextPressedSuccess:y,textColorTextFocusSuccess:x,textColorTextDisabledSuccess:d,textColorGhostSuccess:w,textColorGhostHoverSuccess:x,textColorGhostPressedSuccess:y,textColorGhostFocusSuccess:x,textColorGhostDisabledSuccess:w,borderSuccess:`1px solid ${w}`,borderHoverSuccess:`1px solid ${x}`,borderPressedSuccess:`1px solid ${y}`,borderFocusSuccess:`1px solid ${x}`,borderDisabledSuccess:`1px solid ${w}`,rippleColorSuccess:w,colorWarning:P,colorHoverWarning:k,colorPressedWarning:T,colorFocusWarning:k,colorDisabledWarning:P,textColorWarning:b,textColorHoverWarning:b,textColorPressedWarning:b,textColorFocusWarning:b,textColorDisabledWarning:b,textColorTextWarning:P,textColorTextHoverWarning:k,textColorTextPressedWarning:T,textColorTextFocusWarning:k,textColorTextDisabledWarning:d,textColorGhostWarning:P,textColorGhostHoverWarning:k,textColorGhostPressedWarning:T,textColorGhostFocusWarning:k,textColorGhostDisabledWarning:P,borderWarning:`1px solid ${P}`,borderHoverWarning:`1px solid ${k}`,borderPressedWarning:`1px solid ${T}`,borderFocusWarning:`1px solid ${k}`,borderDisabledWarning:`1px solid ${P}`,rippleColorWarning:P,colorError:E,colorHoverError:R,colorPressedError:K,colorFocusError:R,colorDisabledError:E,textColorError:b,textColorHoverError:b,textColorPressedError:b,textColorFocusError:b,textColorDisabledError:b,textColorTextError:E,textColorTextHoverError:R,textColorTextPressedError:K,textColorTextFocusError:R,textColorTextDisabledError:d,textColorGhostError:E,textColorGhostHoverError:R,textColorGhostPressedError:K,textColorGhostFocusError:R,textColorGhostDisabledError:E,borderError:`1px solid ${E}`,borderHoverError:`1px solid ${R}`,borderPressedError:`1px solid ${K}`,borderFocusError:`1px solid ${R}`,borderDisabledError:`1px solid ${E}`,rippleColorError:E,waveOpacity:"0.6",fontWeight:N,fontWeightStrong:J})}const pV={name:"Button",common:xt,self:b2},zu=pV,mV={name:"Button",common:je,self(e){const t=b2(e);return t.waveOpacity="0.8",t.colorOpacitySecondary="0.16",t.colorOpacitySecondaryHover="0.2",t.colorOpacitySecondaryPressed="0.12",t}},Wn=mV,gV=q([z("button",` - margin: 0; - font-weight: var(--n-font-weight); - line-height: 1; - font-family: inherit; - padding: var(--n-padding); - height: var(--n-height); - font-size: var(--n-font-size); - border-radius: var(--n-border-radius); - color: var(--n-text-color); - background-color: var(--n-color); - width: var(--n-width); - white-space: nowrap; - outline: none; - position: relative; - z-index: auto; - border: none; - display: inline-flex; - flex-wrap: nowrap; - flex-shrink: 0; - align-items: center; - justify-content: center; - user-select: none; - -webkit-user-select: none; - text-align: center; - cursor: pointer; - text-decoration: none; - transition: - color .3s var(--n-bezier), - background-color .3s var(--n-bezier), - opacity .3s var(--n-bezier), - border-color .3s var(--n-bezier); - `,[Z("color",[V("border",{borderColor:"var(--n-border-color)"}),Z("disabled",[V("border",{borderColor:"var(--n-border-color-disabled)"})]),Rt("disabled",[q("&:focus",[V("state-border",{borderColor:"var(--n-border-color-focus)"})]),q("&:hover",[V("state-border",{borderColor:"var(--n-border-color-hover)"})]),q("&:active",[V("state-border",{borderColor:"var(--n-border-color-pressed)"})]),Z("pressed",[V("state-border",{borderColor:"var(--n-border-color-pressed)"})])])]),Z("disabled",{backgroundColor:"var(--n-color-disabled)",color:"var(--n-text-color-disabled)"},[V("border",{border:"var(--n-border-disabled)"})]),Rt("disabled",[q("&:focus",{backgroundColor:"var(--n-color-focus)",color:"var(--n-text-color-focus)"},[V("state-border",{border:"var(--n-border-focus)"})]),q("&:hover",{backgroundColor:"var(--n-color-hover)",color:"var(--n-text-color-hover)"},[V("state-border",{border:"var(--n-border-hover)"})]),q("&:active",{backgroundColor:"var(--n-color-pressed)",color:"var(--n-text-color-pressed)"},[V("state-border",{border:"var(--n-border-pressed)"})]),Z("pressed",{backgroundColor:"var(--n-color-pressed)",color:"var(--n-text-color-pressed)"},[V("state-border",{border:"var(--n-border-pressed)"})])]),Z("loading","cursor: wait;"),z("base-wave",` - pointer-events: none; - top: 0; - right: 0; - bottom: 0; - left: 0; - animation-iteration-count: 1; - animation-duration: var(--n-ripple-duration); - animation-timing-function: var(--n-bezier-ease-out), var(--n-bezier-ease-out); - `,[Z("active",{zIndex:1,animationName:"button-wave-spread, button-wave-opacity"})]),hr&&"MozBoxSizing"in document.createElement("div").style?q("&::moz-focus-inner",{border:0}):null,V("border, state-border",` - position: absolute; - left: 0; - top: 0; - right: 0; - bottom: 0; - border-radius: inherit; - transition: border-color .3s var(--n-bezier); - pointer-events: none; - `),V("border",{border:"var(--n-border)"}),V("state-border",{border:"var(--n-border)",borderColor:"#0000",zIndex:1}),V("icon",` - margin: var(--n-icon-margin); - margin-left: 0; - height: var(--n-icon-size); - width: var(--n-icon-size); - max-width: var(--n-icon-size); - font-size: var(--n-icon-size); - position: relative; - flex-shrink: 0; - `,[z("icon-slot",` - height: var(--n-icon-size); - width: var(--n-icon-size); - position: absolute; - left: 0; - top: 50%; - transform: translateY(-50%); - display: flex; - align-items: center; - justify-content: center; - `,[qn({top:"50%",originalTransform:"translateY(-50%)"})]),cj()]),V("content",` - display: flex; - align-items: center; - flex-wrap: nowrap; - min-width: 0; - `,[q("~",[V("icon",{margin:"var(--n-icon-margin)",marginRight:0})])]),Z("block",` - display: flex; - width: 100%; - `),Z("dashed",[V("border, state-border",{borderStyle:"dashed !important"})]),Z("disabled",{cursor:"not-allowed",opacity:"var(--n-opacity-disabled)"})]),q("@keyframes button-wave-spread",{from:{boxShadow:"0 0 0.5px 0 var(--n-ripple-color)"},to:{boxShadow:"0 0 0.5px 4.5px var(--n-ripple-color)"}}),q("@keyframes button-wave-opacity",{from:{opacity:"var(--n-wave-opacity)"},to:{opacity:0}})]),vV=Object.assign(Object.assign({},Be.props),{color:String,textColor:String,text:Boolean,block:Boolean,loading:Boolean,disabled:Boolean,circle:Boolean,size:String,ghost:Boolean,round:Boolean,secondary:Boolean,tertiary:Boolean,quaternary:Boolean,strong:Boolean,focusable:{type:Boolean,default:!0},keyboard:{type:Boolean,default:!0},tag:{type:String,default:"button"},type:{type:String,default:"default"},dashed:Boolean,renderIcon:Function,iconPlacement:{type:String,default:"left"},attrType:{type:String,default:"button"},bordered:{type:Boolean,default:!0},onClick:[Function,Array],nativeFocusBehavior:{type:Boolean,default:!d2}}),y2=be({name:"Button",props:vV,setup(e){const t=W(null),n=W(null),o=W(!1),r=kt(()=>!e.quaternary&&!e.tertiary&&!e.secondary&&!e.text&&(!e.color||e.ghost||e.dashed)&&e.bordered),i=Ue(fV,{}),{mergedSizeRef:a}=pr({},{defaultSize:"medium",mergedSize:S=>{const{size:w}=e;if(w)return w;const{size:x}=i;if(x)return x;const{mergedSize:y}=S||{};return y?y.value:"medium"}}),s=F(()=>e.focusable&&!e.disabled),l=S=>{var w;s.value||S.preventDefault(),!e.nativeFocusBehavior&&(S.preventDefault(),!e.disabled&&s.value&&((w=t.value)===null||w===void 0||w.focus({preventScroll:!0})))},c=S=>{var w;if(!e.disabled&&!e.loading){const{onClick:x}=e;x&&$e(x,S),e.text||(w=n.value)===null||w===void 0||w.play()}},u=S=>{switch(S.key){case"Enter":if(!e.keyboard)return;o.value=!1}},d=S=>{switch(S.key){case"Enter":if(!e.keyboard||e.loading){S.preventDefault();return}o.value=!0}},f=()=>{o.value=!1},{inlineThemeDisabled:h,mergedClsPrefixRef:p,mergedRtlRef:g}=st(e),m=Be("Button","-button",gV,zu,e,p),b=pn("Button",g,p),_=F(()=>{const S=m.value,{common:{cubicBezierEaseInOut:w,cubicBezierEaseOut:x},self:y}=S,{rippleDuration:P,opacityDisabled:k,fontWeight:T,fontWeightStrong:E}=y,R=a.value,{dashed:K,type:N,ghost:D,text:M,color:G,round:J,circle:he,textColor:pe,secondary:B,tertiary:$,quaternary:A,strong:Y}=e,ne={"font-weight":Y?E:T};let fe={"--n-color":"initial","--n-color-hover":"initial","--n-color-pressed":"initial","--n-color-focus":"initial","--n-color-disabled":"initial","--n-ripple-color":"initial","--n-text-color":"initial","--n-text-color-hover":"initial","--n-text-color-pressed":"initial","--n-text-color-focus":"initial","--n-text-color-disabled":"initial"};const Q=N==="tertiary",xe=N==="default",H=Q?"default":N;if(M){const I=pe||G;fe={"--n-color":"#0000","--n-color-hover":"#0000","--n-color-pressed":"#0000","--n-color-focus":"#0000","--n-color-disabled":"#0000","--n-ripple-color":"#0000","--n-text-color":I||y[Re("textColorText",H)],"--n-text-color-hover":I?ci(I):y[Re("textColorTextHover",H)],"--n-text-color-pressed":I?Hl(I):y[Re("textColorTextPressed",H)],"--n-text-color-focus":I?ci(I):y[Re("textColorTextHover",H)],"--n-text-color-disabled":I||y[Re("textColorTextDisabled",H)]}}else if(D||K){const I=pe||G;fe={"--n-color":"#0000","--n-color-hover":"#0000","--n-color-pressed":"#0000","--n-color-focus":"#0000","--n-color-disabled":"#0000","--n-ripple-color":G||y[Re("rippleColor",H)],"--n-text-color":I||y[Re("textColorGhost",H)],"--n-text-color-hover":I?ci(I):y[Re("textColorGhostHover",H)],"--n-text-color-pressed":I?Hl(I):y[Re("textColorGhostPressed",H)],"--n-text-color-focus":I?ci(I):y[Re("textColorGhostHover",H)],"--n-text-color-disabled":I||y[Re("textColorGhostDisabled",H)]}}else if(B){const I=xe?y.textColor:Q?y.textColorTertiary:y[Re("color",H)],j=G||I,ee=N!=="default"&&N!=="tertiary";fe={"--n-color":ee?Me(j,{alpha:Number(y.colorOpacitySecondary)}):y.colorSecondary,"--n-color-hover":ee?Me(j,{alpha:Number(y.colorOpacitySecondaryHover)}):y.colorSecondaryHover,"--n-color-pressed":ee?Me(j,{alpha:Number(y.colorOpacitySecondaryPressed)}):y.colorSecondaryPressed,"--n-color-focus":ee?Me(j,{alpha:Number(y.colorOpacitySecondaryHover)}):y.colorSecondaryHover,"--n-color-disabled":y.colorSecondary,"--n-ripple-color":"#0000","--n-text-color":j,"--n-text-color-hover":j,"--n-text-color-pressed":j,"--n-text-color-focus":j,"--n-text-color-disabled":j}}else if($||A){const I=xe?y.textColor:Q?y.textColorTertiary:y[Re("color",H)],j=G||I;$?(fe["--n-color"]=y.colorTertiary,fe["--n-color-hover"]=y.colorTertiaryHover,fe["--n-color-pressed"]=y.colorTertiaryPressed,fe["--n-color-focus"]=y.colorSecondaryHover,fe["--n-color-disabled"]=y.colorTertiary):(fe["--n-color"]=y.colorQuaternary,fe["--n-color-hover"]=y.colorQuaternaryHover,fe["--n-color-pressed"]=y.colorQuaternaryPressed,fe["--n-color-focus"]=y.colorQuaternaryHover,fe["--n-color-disabled"]=y.colorQuaternary),fe["--n-ripple-color"]="#0000",fe["--n-text-color"]=j,fe["--n-text-color-hover"]=j,fe["--n-text-color-pressed"]=j,fe["--n-text-color-focus"]=j,fe["--n-text-color-disabled"]=j}else fe={"--n-color":G||y[Re("color",H)],"--n-color-hover":G?ci(G):y[Re("colorHover",H)],"--n-color-pressed":G?Hl(G):y[Re("colorPressed",H)],"--n-color-focus":G?ci(G):y[Re("colorFocus",H)],"--n-color-disabled":G||y[Re("colorDisabled",H)],"--n-ripple-color":G||y[Re("rippleColor",H)],"--n-text-color":pe||(G?y.textColorPrimary:Q?y.textColorTertiary:y[Re("textColor",H)]),"--n-text-color-hover":pe||(G?y.textColorHoverPrimary:y[Re("textColorHover",H)]),"--n-text-color-pressed":pe||(G?y.textColorPressedPrimary:y[Re("textColorPressed",H)]),"--n-text-color-focus":pe||(G?y.textColorFocusPrimary:y[Re("textColorFocus",H)]),"--n-text-color-disabled":pe||(G?y.textColorDisabledPrimary:y[Re("textColorDisabled",H)])};let ye={"--n-border":"initial","--n-border-hover":"initial","--n-border-pressed":"initial","--n-border-focus":"initial","--n-border-disabled":"initial"};M?ye={"--n-border":"none","--n-border-hover":"none","--n-border-pressed":"none","--n-border-focus":"none","--n-border-disabled":"none"}:ye={"--n-border":y[Re("border",H)],"--n-border-hover":y[Re("borderHover",H)],"--n-border-pressed":y[Re("borderPressed",H)],"--n-border-focus":y[Re("borderFocus",H)],"--n-border-disabled":y[Re("borderDisabled",H)]};const{[Re("height",R)]:Oe,[Re("fontSize",R)]:Ne,[Re("padding",R)]:L,[Re("paddingRound",R)]:O,[Re("iconSize",R)]:oe,[Re("borderRadius",R)]:_e,[Re("iconMargin",R)]:te,waveOpacity:ge}=y,ke={"--n-width":he&&!M?Oe:"initial","--n-height":M?"initial":Oe,"--n-font-size":Ne,"--n-padding":he||M?"initial":J?O:L,"--n-icon-size":oe,"--n-icon-margin":te,"--n-border-radius":M?"initial":he||J?Oe:_e};return Object.assign(Object.assign(Object.assign(Object.assign({"--n-bezier":w,"--n-bezier-ease-out":x,"--n-ripple-duration":P,"--n-opacity-disabled":k,"--n-wave-opacity":ge},ne),fe),ye),ke)}),C=h?Pt("button",F(()=>{let S="";const{dashed:w,type:x,ghost:y,text:P,color:k,round:T,circle:E,textColor:R,secondary:K,tertiary:N,quaternary:D,strong:M}=e;w&&(S+="a"),y&&(S+="b"),P&&(S+="c"),T&&(S+="d"),E&&(S+="e"),K&&(S+="f"),N&&(S+="g"),D&&(S+="h"),M&&(S+="i"),k&&(S+=`j${Ec(k)}`),R&&(S+=`k${Ec(R)}`);const{value:G}=a;return S+=`l${G[0]}`,S+=`m${x[0]}`,S}),_,e):void 0;return{selfElRef:t,waveElRef:n,mergedClsPrefix:p,mergedFocusable:s,mergedSize:a,showBorder:r,enterPressed:o,rtlEnabled:b,handleMousedown:l,handleKeydown:d,handleBlur:f,handleKeyup:u,handleClick:c,customColorCssVars:F(()=>{const{color:S}=e;if(!S)return null;const w=ci(S);return{"--n-border-color":S,"--n-border-color-hover":w,"--n-border-color-pressed":Hl(S),"--n-border-color-focus":w,"--n-border-color-disabled":S}}),cssVars:h?void 0:_,themeClass:C==null?void 0:C.themeClass,onRender:C==null?void 0:C.onRender}},render(){const{mergedClsPrefix:e,tag:t,onRender:n}=this;n==null||n();const o=$t(this.$slots.default,r=>r&&v("span",{class:`${e}-button__content`},r));return v(t,{ref:"selfElRef",class:[this.themeClass,`${e}-button`,`${e}-button--${this.type}-type`,`${e}-button--${this.mergedSize}-type`,this.rtlEnabled&&`${e}-button--rtl`,this.disabled&&`${e}-button--disabled`,this.block&&`${e}-button--block`,this.enterPressed&&`${e}-button--pressed`,!this.text&&this.dashed&&`${e}-button--dashed`,this.color&&`${e}-button--color`,this.secondary&&`${e}-button--secondary`,this.loading&&`${e}-button--loading`,this.ghost&&`${e}-button--ghost`],tabindex:this.mergedFocusable?0:-1,type:this.attrType,style:this.cssVars,disabled:this.disabled,onClick:this.handleClick,onBlur:this.handleBlur,onMousedown:this.handleMousedown,onKeyup:this.handleKeyup,onKeydown:this.handleKeydown},this.iconPlacement==="right"&&o,v(Ou,{width:!0},{default:()=>$t(this.$slots.icon,r=>(this.loading||this.renderIcon||r)&&v("span",{class:`${e}-button__icon`,style:{margin:ga(this.$slots.default)?"0":""}},v(Ui,null,{default:()=>this.loading?v(ti,{clsPrefix:e,key:"loading",class:`${e}-icon-slot`,strokeWidth:20}):v("div",{key:"icon",class:`${e}-icon-slot`,role:"none"},this.renderIcon?this.renderIcon():r)})))}),this.iconPlacement==="left"&&o,this.text?null:v(BH,{ref:"waveElRef",clsPrefix:e}),this.showBorder?v("div",{"aria-hidden":!0,class:`${e}-button__border`,style:this.customColorCssVars}):null,this.showBorder?v("div",{"aria-hidden":!0,class:`${e}-button__state-border`,style:this.customColorCssVars}):null)}}),zt=y2,X0=y2,bV={titleFontSize:"22px"};function yV(e){const{borderRadius:t,fontSize:n,lineHeight:o,textColor2:r,textColor1:i,textColorDisabled:a,dividerColor:s,fontWeightStrong:l,primaryColor:c,baseColor:u,hoverColor:d,cardColor:f,modalColor:h,popoverColor:p}=e;return Object.assign(Object.assign({},bV),{borderRadius:t,borderColor:Ge(f,s),borderColorModal:Ge(h,s),borderColorPopover:Ge(p,s),textColor:r,titleFontWeight:l,titleTextColor:i,dayTextColor:a,fontSize:n,lineHeight:o,dateColorCurrent:c,dateTextColorCurrent:u,cellColorHover:Ge(f,d),cellColorHoverModal:Ge(h,d),cellColorHoverPopover:Ge(p,d),cellColor:f,cellColorModal:h,cellColorPopover:p,barColor:c})}const xV={name:"Calendar",common:je,peers:{Button:Wn},self:yV},CV=xV;function wV(e){const{fontSize:t,boxShadow2:n,popoverColor:o,textColor2:r,borderRadius:i,borderColor:a,heightSmall:s,heightMedium:l,heightLarge:c,fontSizeSmall:u,fontSizeMedium:d,fontSizeLarge:f,dividerColor:h}=e;return{panelFontSize:t,boxShadow:n,color:o,textColor:r,borderRadius:i,border:`1px solid ${a}`,heightSmall:s,heightMedium:l,heightLarge:c,fontSizeSmall:u,fontSizeMedium:d,fontSizeLarge:f,dividerColor:h}}const _V={name:"ColorPicker",common:je,peers:{Input:mo,Button:Wn},self:wV},SV=_V,kV={paddingSmall:"12px 16px 12px",paddingMedium:"19px 24px 20px",paddingLarge:"23px 32px 24px",paddingHuge:"27px 40px 28px",titleFontSizeSmall:"16px",titleFontSizeMedium:"18px",titleFontSizeLarge:"18px",titleFontSizeHuge:"18px",closeIconSize:"18px",closeSize:"22px"};function x2(e){const{primaryColor:t,borderRadius:n,lineHeight:o,fontSize:r,cardColor:i,textColor2:a,textColor1:s,dividerColor:l,fontWeightStrong:c,closeIconColor:u,closeIconColorHover:d,closeIconColorPressed:f,closeColorHover:h,closeColorPressed:p,modalColor:g,boxShadow1:m,popoverColor:b,actionColor:_}=e;return Object.assign(Object.assign({},kV),{lineHeight:o,color:i,colorModal:g,colorPopover:b,colorTarget:t,colorEmbedded:_,colorEmbeddedModal:_,colorEmbeddedPopover:_,textColor:a,titleTextColor:s,borderColor:l,actionColor:_,titleFontWeight:c,closeColorHover:h,closeColorPressed:p,closeBorderRadius:n,closeIconColor:u,closeIconColorHover:d,closeIconColorPressed:f,fontSizeSmall:r,fontSizeMedium:r,fontSizeLarge:r,fontSizeHuge:r,boxShadow:m,borderRadius:n})}const PV={name:"Card",common:xt,self:x2},C2=PV,TV={name:"Card",common:je,self(e){const t=x2(e),{cardColor:n,modalColor:o,popoverColor:r}=e;return t.colorEmbedded=n,t.colorEmbeddedModal=o,t.colorEmbeddedPopover=r,t}},w2=TV,RV=q([z("card",` - font-size: var(--n-font-size); - line-height: var(--n-line-height); - display: flex; - flex-direction: column; - width: 100%; - box-sizing: border-box; - position: relative; - border-radius: var(--n-border-radius); - background-color: var(--n-color); - color: var(--n-text-color); - word-break: break-word; - transition: - color .3s var(--n-bezier), - background-color .3s var(--n-bezier), - box-shadow .3s var(--n-bezier), - border-color .3s var(--n-bezier); - `,[Sw({background:"var(--n-color-modal)"}),Z("hoverable",[q("&:hover","box-shadow: var(--n-box-shadow);")]),Z("content-segmented",[q(">",[V("content",{paddingTop:"var(--n-padding-bottom)"})])]),Z("content-soft-segmented",[q(">",[V("content",` - margin: 0 var(--n-padding-left); - padding: var(--n-padding-bottom) 0; - `)])]),Z("footer-segmented",[q(">",[V("footer",{paddingTop:"var(--n-padding-bottom)"})])]),Z("footer-soft-segmented",[q(">",[V("footer",` - padding: var(--n-padding-bottom) 0; - margin: 0 var(--n-padding-left); - `)])]),q(">",[z("card-header",` - box-sizing: border-box; - display: flex; - align-items: center; - font-size: var(--n-title-font-size); - padding: - var(--n-padding-top) - var(--n-padding-left) - var(--n-padding-bottom) - var(--n-padding-left); - `,[V("main",` - font-weight: var(--n-title-font-weight); - transition: color .3s var(--n-bezier); - flex: 1; - min-width: 0; - color: var(--n-title-text-color); - `),V("extra",` - display: flex; - align-items: center; - font-size: var(--n-font-size); - font-weight: 400; - transition: color .3s var(--n-bezier); - color: var(--n-text-color); - `),V("close",` - margin: 0 0 0 8px; - transition: - background-color .3s var(--n-bezier), - color .3s var(--n-bezier); - `)]),V("action",` - box-sizing: border-box; - transition: - background-color .3s var(--n-bezier), - border-color .3s var(--n-bezier); - background-clip: padding-box; - background-color: var(--n-action-color); - `),V("content","flex: 1; min-width: 0;"),V("content, footer",` - box-sizing: border-box; - padding: 0 var(--n-padding-left) var(--n-padding-bottom) var(--n-padding-left); - font-size: var(--n-font-size); - `,[q("&:first-child",{paddingTop:"var(--n-padding-bottom)"})]),V("action",` - background-color: var(--n-action-color); - padding: var(--n-padding-bottom) var(--n-padding-left); - border-bottom-left-radius: var(--n-border-radius); - border-bottom-right-radius: var(--n-border-radius); - `)]),z("card-cover",` - overflow: hidden; - width: 100%; - border-radius: var(--n-border-radius) var(--n-border-radius) 0 0; - `,[q("img",` - display: block; - width: 100%; - `)]),Z("bordered",` - border: 1px solid var(--n-border-color); - `,[q("&:target","border-color: var(--n-color-target);")]),Z("action-segmented",[q(">",[V("action",[q("&:not(:first-child)",{borderTop:"1px solid var(--n-border-color)"})])])]),Z("content-segmented, content-soft-segmented",[q(">",[V("content",{transition:"border-color 0.3s var(--n-bezier)"},[q("&:not(:first-child)",{borderTop:"1px solid var(--n-border-color)"})])])]),Z("footer-segmented, footer-soft-segmented",[q(">",[V("footer",{transition:"border-color 0.3s var(--n-bezier)"},[q("&:not(:first-child)",{borderTop:"1px solid var(--n-border-color)"})])])]),Z("embedded",` - background-color: var(--n-color-embedded); - `)]),al(z("card",` - background: var(--n-color-modal); - `,[Z("embedded",` - background-color: var(--n-color-embedded-modal); - `)])),ku(z("card",` - background: var(--n-color-popover); - `,[Z("embedded",` - background-color: var(--n-color-embedded-popover); - `)]))]),ym={title:[String,Function],contentClass:String,contentStyle:[Object,String],headerClass:String,headerStyle:[Object,String],headerExtraClass:String,headerExtraStyle:[Object,String],footerClass:String,footerStyle:[Object,String],embedded:Boolean,segmented:{type:[Boolean,Object],default:!1},size:{type:String,default:"medium"},bordered:{type:Boolean,default:!0},closable:Boolean,hoverable:Boolean,role:String,onClose:[Function,Array],tag:{type:String,default:"div"},cover:Function,content:[String,Function],footer:Function,action:Function,headerExtra:Function},EV=Jr(ym),$V=Object.assign(Object.assign({},Be.props),ym),go=be({name:"Card",props:$V,setup(e){const t=()=>{const{onClose:c}=e;c&&$e(c)},{inlineThemeDisabled:n,mergedClsPrefixRef:o,mergedRtlRef:r}=st(e),i=Be("Card","-card",RV,C2,e,o),a=pn("Card",r,o),s=F(()=>{const{size:c}=e,{self:{color:u,colorModal:d,colorTarget:f,textColor:h,titleTextColor:p,titleFontWeight:g,borderColor:m,actionColor:b,borderRadius:_,lineHeight:C,closeIconColor:S,closeIconColorHover:w,closeIconColorPressed:x,closeColorHover:y,closeColorPressed:P,closeBorderRadius:k,closeIconSize:T,closeSize:E,boxShadow:R,colorPopover:K,colorEmbedded:N,colorEmbeddedModal:D,colorEmbeddedPopover:M,[Re("padding",c)]:G,[Re("fontSize",c)]:J,[Re("titleFontSize",c)]:he},common:{cubicBezierEaseInOut:pe}}=i.value,{top:B,left:$,bottom:A}=lo(G);return{"--n-bezier":pe,"--n-border-radius":_,"--n-color":u,"--n-color-modal":d,"--n-color-popover":K,"--n-color-embedded":N,"--n-color-embedded-modal":D,"--n-color-embedded-popover":M,"--n-color-target":f,"--n-text-color":h,"--n-line-height":C,"--n-action-color":b,"--n-title-text-color":p,"--n-title-font-weight":g,"--n-close-icon-color":S,"--n-close-icon-color-hover":w,"--n-close-icon-color-pressed":x,"--n-close-color-hover":y,"--n-close-color-pressed":P,"--n-border-color":m,"--n-box-shadow":R,"--n-padding-top":B,"--n-padding-bottom":A,"--n-padding-left":$,"--n-font-size":J,"--n-title-font-size":he,"--n-close-size":E,"--n-close-icon-size":T,"--n-close-border-radius":k}}),l=n?Pt("card",F(()=>e.size[0]),s,e):void 0;return{rtlEnabled:a,mergedClsPrefix:o,mergedTheme:i,handleCloseClick:t,cssVars:n?void 0:s,themeClass:l==null?void 0:l.themeClass,onRender:l==null?void 0:l.onRender}},render(){const{segmented:e,bordered:t,hoverable:n,mergedClsPrefix:o,rtlEnabled:r,onRender:i,embedded:a,tag:s,$slots:l}=this;return i==null||i(),v(s,{class:[`${o}-card`,this.themeClass,a&&`${o}-card--embedded`,{[`${o}-card--rtl`]:r,[`${o}-card--content${typeof e!="boolean"&&e.content==="soft"?"-soft":""}-segmented`]:e===!0||e!==!1&&e.content,[`${o}-card--footer${typeof e!="boolean"&&e.footer==="soft"?"-soft":""}-segmented`]:e===!0||e!==!1&&e.footer,[`${o}-card--action-segmented`]:e===!0||e!==!1&&e.action,[`${o}-card--bordered`]:t,[`${o}-card--hoverable`]:n}],style:this.cssVars,role:this.role},$t(l.cover,c=>{const u=this.cover?_o([this.cover()]):c;return u&&v("div",{class:`${o}-card-cover`,role:"none"},u)}),$t(l.header,c=>{const{title:u}=this,d=u?_o(typeof u=="function"?[u()]:[u]):c;return d||this.closable?v("div",{class:[`${o}-card-header`,this.headerClass],style:this.headerStyle,role:"heading"},v("div",{class:`${o}-card-header__main`,role:"heading"},d),$t(l["header-extra"],f=>{const h=this.headerExtra?_o([this.headerExtra()]):f;return h&&v("div",{class:[`${o}-card-header__extra`,this.headerExtraClass],style:this.headerExtraStyle},h)}),this.closable&&v(qi,{clsPrefix:o,class:`${o}-card-header__close`,onClick:this.handleCloseClick,absolute:!0})):null}),$t(l.default,c=>{const{content:u}=this,d=u?_o(typeof u=="function"?[u()]:[u]):c;return d&&v("div",{class:[`${o}-card__content`,this.contentClass],style:this.contentStyle,role:"none"},d)}),$t(l.footer,c=>{const u=this.footer?_o([this.footer()]):c;return u&&v("div",{class:[`${o}-card__footer`,this.footerClass],style:this.footerStyle,role:"none"},u)}),$t(l.action,c=>{const u=this.action?_o([this.action()]):c;return u&&v("div",{class:`${o}-card__action`,role:"none"},u)}))}});function _2(){return{dotSize:"8px",dotColor:"rgba(255, 255, 255, .3)",dotColorActive:"rgba(255, 255, 255, 1)",dotColorFocus:"rgba(255, 255, 255, .5)",dotLineWidth:"16px",dotLineWidthActive:"24px",arrowColor:"#eee"}}const AV={name:"Carousel",common:xt,self:_2},IV=AV,OV={name:"Carousel",common:je,self:_2},MV=OV;function zV(e){const{length:t}=e;return t>1&&(e.push(Z0(e[0],0,"append")),e.unshift(Z0(e[t-1],t-1,"prepend"))),e}function Z0(e,t,n){return uo(e,{key:`carousel-item-duplicate-${t}-${n}`})}function J0(e,t,n){return t===1?0:n?e===0?t-3:e===t-1?0:e-1:e}function tf(e,t){return t?e+1:e}function DV(e,t,n){return e<0?null:e===0?n?t-1:null:e-1}function LV(e,t,n){return e>t-1?null:e===t-1?n?0:null:e+1}function FV(e,t){return t&&e>3?e-2:e}function Q0(e){return window.TouchEvent&&e instanceof window.TouchEvent}function e1(e,t){let{offsetWidth:n,offsetHeight:o}=e;if(t){const r=getComputedStyle(e);n=n-Number.parseFloat(r.getPropertyValue("padding-left"))-Number.parseFloat(r.getPropertyValue("padding-right")),o=o-Number.parseFloat(r.getPropertyValue("padding-top"))-Number.parseFloat(r.getPropertyValue("padding-bottom"))}return{width:n,height:o}}function jl(e,t,n){return en?n:e}function BV(e){if(e===void 0)return 0;if(typeof e=="number")return e;const t=/^((\d+)?\.?\d+?)(ms|s)?$/,n=e.match(t);if(n){const[,o,,r="ms"]=n;return Number(o)*(r==="ms"?1:1e3)}return 0}const S2="n-carousel-methods";function NV(e){at(S2,e)}function xm(e="unknown",t="component"){const n=Ue(S2);return n||fr(e,`\`${t}\` must be placed inside \`n-carousel\`.`),n}const HV={total:{type:Number,default:0},currentIndex:{type:Number,default:0},dotType:{type:String,default:"dot"},trigger:{type:String,default:"click"},keyboard:Boolean},jV=be({name:"CarouselDots",props:HV,setup(e){const{mergedClsPrefixRef:t}=st(e),n=W([]),o=xm();function r(c,u){switch(c.key){case"Enter":case" ":c.preventDefault(),o.to(u);return}e.keyboard&&s(c)}function i(c){e.trigger==="hover"&&o.to(c)}function a(c){e.trigger==="click"&&o.to(c)}function s(c){var u;if(c.shiftKey||c.altKey||c.ctrlKey||c.metaKey)return;const d=(u=document.activeElement)===null||u===void 0?void 0:u.nodeName.toLowerCase();if(d==="input"||d==="textarea")return;const{code:f}=c,h=f==="PageUp"||f==="ArrowUp",p=f==="PageDown"||f==="ArrowDown",g=f==="PageUp"||f==="ArrowRight",m=f==="PageDown"||f==="ArrowLeft",b=o.isVertical(),_=b?h:g,C=b?p:m;!_&&!C||(c.preventDefault(),_&&!o.isNextDisabled()?(o.next(),l(o.currentIndexRef.value)):C&&!o.isPrevDisabled()&&(o.prev(),l(o.currentIndexRef.value)))}function l(c){var u;(u=n.value[c])===null||u===void 0||u.focus()}return Vy(()=>n.value.length=0),{mergedClsPrefix:t,dotEls:n,handleKeydown:r,handleMouseenter:i,handleClick:a}},render(){const{mergedClsPrefix:e,dotEls:t}=this;return v("div",{class:[`${e}-carousel__dots`,`${e}-carousel__dots--${this.dotType}`],role:"tablist"},G6(this.total,n=>{const o=n===this.currentIndex;return v("div",{"aria-selected":o,ref:r=>t.push(r),role:"button",tabindex:"0",class:[`${e}-carousel__dot`,o&&`${e}-carousel__dot--active`],key:n,onClick:()=>{this.handleClick(n)},onMouseenter:()=>{this.handleMouseenter(n)},onKeydown:r=>{this.handleKeydown(r,n)}})}))}}),VV=v("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16"},v("g",{fill:"none"},v("path",{d:"M10.26 3.2a.75.75 0 0 1 .04 1.06L6.773 8l3.527 3.74a.75.75 0 1 1-1.1 1.02l-4-4.25a.75.75 0 0 1 0-1.02l4-4.25a.75.75 0 0 1 1.06-.04z",fill:"currentColor"}))),WV=v("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16"},v("g",{fill:"none"},v("path",{d:"M5.74 3.2a.75.75 0 0 0-.04 1.06L9.227 8L5.7 11.74a.75.75 0 1 0 1.1 1.02l4-4.25a.75.75 0 0 0 0-1.02l-4-4.25a.75.75 0 0 0-1.06-.04z",fill:"currentColor"}))),UV=be({name:"CarouselArrow",setup(e){const{mergedClsPrefixRef:t}=st(e),{isVertical:n,isPrevDisabled:o,isNextDisabled:r,prev:i,next:a}=xm();return{mergedClsPrefix:t,isVertical:n,isPrevDisabled:o,isNextDisabled:r,prev:i,next:a}},render(){const{mergedClsPrefix:e}=this;return v("div",{class:`${e}-carousel__arrow-group`},v("div",{class:[`${e}-carousel__arrow`,this.isPrevDisabled()&&`${e}-carousel__arrow--disabled`],role:"button",onClick:this.prev},VV),v("div",{class:[`${e}-carousel__arrow`,this.isNextDisabled()&&`${e}-carousel__arrow--disabled`],role:"button",onClick:this.next},WV))}}),fc="CarouselItem";function qV(e){var t;return((t=e.type)===null||t===void 0?void 0:t.name)===fc}const KV=be({name:fc,setup(e){const{mergedClsPrefixRef:t}=st(e),n=xm(v0(fc),`n-${v0(fc)}`),o=W(),r=F(()=>{const{value:u}=o;return u?n.getSlideIndex(u):-1}),i=F(()=>n.isPrev(r.value)),a=F(()=>n.isNext(r.value)),s=F(()=>n.isActive(r.value)),l=F(()=>n.getSlideStyle(r.value));jt(()=>{n.addSlide(o.value)}),on(()=>{n.removeSlide(o.value)});function c(u){const{value:d}=r;d!==void 0&&(n==null||n.onCarouselItemClick(d,u))}return{mergedClsPrefix:t,selfElRef:o,isPrev:i,isNext:a,isActive:s,index:r,style:l,handleClick:c}},render(){var e;const{$slots:t,mergedClsPrefix:n,isPrev:o,isNext:r,isActive:i,index:a,style:s}=this,l=[`${n}-carousel__slide`,{[`${n}-carousel__slide--current`]:i,[`${n}-carousel__slide--prev`]:o,[`${n}-carousel__slide--next`]:r}];return v("div",{ref:"selfElRef",class:l,role:"option",tabindex:"-1","data-index":a,"aria-hidden":!i,style:s,onClickCapture:this.handleClick},(e=t.default)===null||e===void 0?void 0:e.call(t,{isPrev:o,isNext:r,isActive:i,index:a}))}}),GV=z("carousel",` - position: relative; - width: 100%; - height: 100%; - touch-action: pan-y; - overflow: hidden; -`,[V("slides",` - display: flex; - width: 100%; - height: 100%; - transition-timing-function: var(--n-bezier); - transition-property: transform; - `,[V("slide",` - flex-shrink: 0; - position: relative; - width: 100%; - height: 100%; - outline: none; - overflow: hidden; - `,[q("> img",` - display: block; - `)])]),V("dots",` - position: absolute; - display: flex; - flex-wrap: nowrap; - `,[Z("dot",[V("dot",` - height: var(--n-dot-size); - width: var(--n-dot-size); - background-color: var(--n-dot-color); - border-radius: 50%; - cursor: pointer; - transition: - box-shadow .3s var(--n-bezier), - background-color .3s var(--n-bezier); - outline: none; - `,[q("&:focus",` - background-color: var(--n-dot-color-focus); - `),Z("active",` - background-color: var(--n-dot-color-active); - `)])]),Z("line",[V("dot",` - border-radius: 9999px; - width: var(--n-dot-line-width); - height: 4px; - background-color: var(--n-dot-color); - cursor: pointer; - transition: - width .3s var(--n-bezier), - box-shadow .3s var(--n-bezier), - background-color .3s var(--n-bezier); - outline: none; - `,[q("&:focus",` - background-color: var(--n-dot-color-focus); - `),Z("active",` - width: var(--n-dot-line-width-active); - background-color: var(--n-dot-color-active); - `)])])]),V("arrow",` - transition: background-color .3s var(--n-bezier); - cursor: pointer; - height: 28px; - width: 28px; - display: flex; - align-items: center; - justify-content: center; - background-color: rgba(255, 255, 255, .2); - color: var(--n-arrow-color); - border-radius: 8px; - user-select: none; - -webkit-user-select: none; - font-size: 18px; - `,[q("svg",` - height: 1em; - width: 1em; - `),q("&:hover",` - background-color: rgba(255, 255, 255, .3); - `)]),Z("vertical",` - touch-action: pan-x; - `,[V("slides",` - flex-direction: column; - `),Z("fade",[V("slide",` - top: 50%; - left: unset; - transform: translateY(-50%); - `)]),Z("card",[V("slide",` - top: 50%; - left: unset; - transform: translateY(-50%) translateZ(-400px); - `,[Z("current",` - transform: translateY(-50%) translateZ(0); - `),Z("prev",` - transform: translateY(-100%) translateZ(-200px); - `),Z("next",` - transform: translateY(0%) translateZ(-200px); - `)])])]),Z("usercontrol",[V("slides",[q(">",[q("div",` - position: absolute; - top: 50%; - left: 50%; - width: 100%; - height: 100%; - transform: translate(-50%, -50%); - `)])])]),Z("left",[V("dots",` - transform: translateY(-50%); - top: 50%; - left: 12px; - flex-direction: column; - `,[Z("line",[V("dot",` - width: 4px; - height: var(--n-dot-line-width); - margin: 4px 0; - transition: - height .3s var(--n-bezier), - box-shadow .3s var(--n-bezier), - background-color .3s var(--n-bezier); - outline: none; - `,[Z("active",` - height: var(--n-dot-line-width-active); - `)])])]),V("dot",` - margin: 4px 0; - `)]),V("arrow-group",` - position: absolute; - display: flex; - flex-wrap: nowrap; - `),Z("vertical",[V("arrow",` - transform: rotate(90deg); - `)]),Z("show-arrow",[Z("bottom",[V("dots",` - transform: translateX(0); - bottom: 18px; - left: 18px; - `)]),Z("top",[V("dots",` - transform: translateX(0); - top: 18px; - left: 18px; - `)]),Z("left",[V("dots",` - transform: translateX(0); - top: 18px; - left: 18px; - `)]),Z("right",[V("dots",` - transform: translateX(0); - top: 18px; - right: 18px; - `)])]),Z("left",[V("arrow-group",` - bottom: 12px; - left: 12px; - flex-direction: column; - `,[q("> *:first-child",` - margin-bottom: 12px; - `)])]),Z("right",[V("dots",` - transform: translateY(-50%); - top: 50%; - right: 12px; - flex-direction: column; - `,[Z("line",[V("dot",` - width: 4px; - height: var(--n-dot-line-width); - margin: 4px 0; - transition: - height .3s var(--n-bezier), - box-shadow .3s var(--n-bezier), - background-color .3s var(--n-bezier); - outline: none; - `,[Z("active",` - height: var(--n-dot-line-width-active); - `)])])]),V("dot",` - margin: 4px 0; - `),V("arrow-group",` - bottom: 12px; - right: 12px; - flex-direction: column; - `,[q("> *:first-child",` - margin-bottom: 12px; - `)])]),Z("top",[V("dots",` - transform: translateX(-50%); - top: 12px; - left: 50%; - `,[Z("line",[V("dot",` - margin: 0 4px; - `)])]),V("dot",` - margin: 0 4px; - `),V("arrow-group",` - top: 12px; - right: 12px; - `,[q("> *:first-child",` - margin-right: 12px; - `)])]),Z("bottom",[V("dots",` - transform: translateX(-50%); - bottom: 12px; - left: 50%; - `,[Z("line",[V("dot",` - margin: 0 4px; - `)])]),V("dot",` - margin: 0 4px; - `),V("arrow-group",` - bottom: 12px; - right: 12px; - `,[q("> *:first-child",` - margin-right: 12px; - `)])]),Z("fade",[V("slide",` - position: absolute; - opacity: 0; - transition-property: opacity; - pointer-events: none; - `,[Z("current",` - opacity: 1; - pointer-events: auto; - `)])]),Z("card",[V("slides",` - perspective: 1000px; - `),V("slide",` - position: absolute; - left: 50%; - opacity: 0; - transform: translateX(-50%) translateZ(-400px); - transition-property: opacity, transform; - `,[Z("current",` - opacity: 1; - transform: translateX(-50%) translateZ(0); - z-index: 1; - `),Z("prev",` - opacity: 0.4; - transform: translateX(-100%) translateZ(-200px); - `),Z("next",` - opacity: 0.4; - transform: translateX(0%) translateZ(-200px); - `)])])]),YV=["transitionDuration","transitionTimingFunction"],XV=Object.assign(Object.assign({},Be.props),{defaultIndex:{type:Number,default:0},currentIndex:Number,showArrow:Boolean,dotType:{type:String,default:"dot"},dotPlacement:{type:String,default:"bottom"},slidesPerView:{type:[Number,String],default:1},spaceBetween:{type:Number,default:0},centeredSlides:Boolean,direction:{type:String,default:"horizontal"},autoplay:Boolean,interval:{type:Number,default:5e3},loop:{type:Boolean,default:!0},effect:{type:String,default:"slide"},showDots:{type:Boolean,default:!0},trigger:{type:String,default:"click"},transitionStyle:{type:Object,default:()=>({transitionDuration:"300ms"})},transitionProps:Object,draggable:Boolean,prevSlideStyle:[Object,String],nextSlideStyle:[Object,String],touchable:{type:Boolean,default:!0},mousewheel:Boolean,keyboard:Boolean,"onUpdate:currentIndex":Function,onUpdateCurrentIndex:Function});let nf=!1;const ZV=be({name:"Carousel",props:XV,setup(e){const{mergedClsPrefixRef:t,inlineThemeDisabled:n}=st(e),o=W(null),r=W(null),i=W([]),a={value:[]},s=F(()=>e.direction==="vertical"),l=F(()=>s.value?"height":"width"),c=F(()=>s.value?"bottom":"right"),u=F(()=>e.effect==="slide"),d=F(()=>e.loop&&e.slidesPerView===1&&u.value),f=F(()=>e.effect==="custom"),h=F(()=>!u.value||e.centeredSlides?1:e.slidesPerView),p=F(()=>f.value?1:e.slidesPerView),g=F(()=>h.value==="auto"||e.slidesPerView==="auto"&&e.centeredSlides),m=W({width:0,height:0}),b=F(()=>{const{value:Se}=i;if(!Se.length)return[];const{value:Ve}=g;if(Ve)return Se.map(ae=>e1(ae));const{value:et}=p,{value:ht}=m,{value:bt}=l;let ut=ht[bt];if(et!=="auto"){const{spaceBetween:ae}=e,Ee=ut-(et-1)*ae,ot=1/Math.max(1,et);ut=Ee*ot}const Et=Object.assign(Object.assign({},ht),{[bt]:ut});return Se.map(()=>Et)}),_=F(()=>{const{value:Se}=b;if(!Se.length)return[];const{centeredSlides:Ve,spaceBetween:et}=e,{value:ht}=l,{[ht]:bt}=m.value;let ut=0;return Se.map(({[ht]:Et})=>{let ae=ut;return Ve&&(ae+=(Et-bt)/2),ut+=Et+et,ae})}),C=W(!1),S=F(()=>{const{transitionStyle:Se}=e;return Se?Qn(Se,YV):{}}),w=F(()=>f.value?0:BV(S.value.transitionDuration)),x=F(()=>{const{value:Se}=i;if(!Se.length)return[];const Ve=!(g.value||p.value===1),et=Et=>{if(Ve){const{value:ae}=l;return{[ae]:`${b.value[Et][ae]}px`}}};if(f.value)return Se.map((Et,ae)=>et(ae));const{effect:ht,spaceBetween:bt}=e,{value:ut}=c;return Se.reduce((Et,ae,Ee)=>{const ot=Object.assign(Object.assign({},et(Ee)),{[`margin-${ut}`]:`${bt}px`});return Et.push(ot),C.value&&(ht==="fade"||ht==="card")&&Object.assign(ot,S.value),Et},[])}),y=F(()=>{const{value:Se}=h,{length:Ve}=i.value;if(Se!=="auto")return Math.max(Ve-Se,0)+1;{const{value:et}=b,{length:ht}=et;if(!ht)return Ve;const{value:bt}=_,{value:ut}=l,Et=m.value[ut];let ae=et[et.length-1][ut],Ee=ht;for(;Ee>1&&aeFV(y.value,d.value)),k=tf(e.defaultIndex,d.value),T=W(J0(k,y.value,d.value)),E=an(We(e,"currentIndex"),T),R=F(()=>tf(E.value,d.value));function K(Se){var Ve,et;Se=jl(Se,0,y.value-1);const ht=J0(Se,y.value,d.value),{value:bt}=E;ht!==E.value&&(T.value=ht,(Ve=e["onUpdate:currentIndex"])===null||Ve===void 0||Ve.call(e,ht,bt),(et=e.onUpdateCurrentIndex)===null||et===void 0||et.call(e,ht,bt))}function N(Se=R.value){return DV(Se,y.value,e.loop)}function D(Se=R.value){return LV(Se,y.value,e.loop)}function M(Se){const Ve=ge(Se);return Ve!==null&&N()===Ve}function G(Se){const Ve=ge(Se);return Ve!==null&&D()===Ve}function J(Se){return R.value===ge(Se)}function he(Se){return E.value===Se}function pe(){return N()===null}function B(){return D()===null}function $(Se){const Ve=jl(tf(Se,d.value),0,y.value);(Se!==E.value||Ve!==R.value)&&K(Ve)}function A(){const Se=N();Se!==null&&K(Se)}function Y(){const Se=D();Se!==null&&K(Se)}let ne=!1;function fe(){(!ne||!d.value)&&A()}function Q(){(!ne||!d.value)&&Y()}let xe=0;const H=W({});function ye(Se,Ve=0){H.value=Object.assign({},S.value,{transform:s.value?`translateY(${-Se}px)`:`translateX(${-Se}px)`,transitionDuration:`${Ve}ms`})}function Oe(Se=0){u.value?Ne(R.value,Se):xe!==0&&(!ne&&Se>0&&(ne=!0),ye(xe=0,Se))}function Ne(Se,Ve){const et=L(Se);et!==xe&&Ve>0&&(ne=!0),xe=L(R.value),ye(et,Ve)}function L(Se){let Ve;return Se>=y.value-1?Ve=O():Ve=_.value[Se]||0,Ve}function O(){if(h.value==="auto"){const{value:Se}=l,{[Se]:Ve}=m.value,{value:et}=_,ht=et[et.length-1];let bt;if(ht===void 0)bt=Ve;else{const{value:ut}=b;bt=ht+ut[ut.length-1][Se]}return bt-Ve}else{const{value:Se}=_;return Se[y.value-1]||0}}const oe={currentIndexRef:E,to:$,prev:fe,next:Q,isVertical:()=>s.value,isHorizontal:()=>!s.value,isPrev:M,isNext:G,isActive:J,isPrevDisabled:pe,isNextDisabled:B,getSlideIndex:ge,getSlideStyle:ke,addSlide:_e,removeSlide:te,onCarouselItemClick:re};NV(oe);function _e(Se){Se&&i.value.push(Se)}function te(Se){if(!Se)return;const Ve=ge(Se);Ve!==-1&&i.value.splice(Ve,1)}function ge(Se){return typeof Se=="number"?Se:Se?i.value.indexOf(Se):-1}function ke(Se){const Ve=ge(Se);if(Ve!==-1){const et=[x.value[Ve]],ht=oe.isPrev(Ve),bt=oe.isNext(Ve);return ht&&et.push(e.prevSlideStyle||""),bt&&et.push(e.nextSlideStyle||""),Di(et)}}let I=0,j=0,ee=0,Ce=0,ce=!1,le=!1;function re(Se,Ve){let et=!ne&&!ce&&!le;e.effect==="card"&&et&&!J(Se)&&($(Se),et=!1),et||(Ve.preventDefault(),Ve.stopPropagation())}let de=null;function De(){de&&(clearInterval(de),de=null)}function Le(){De(),!e.autoplay||P.value<2||(de=window.setInterval(Y,e.interval))}function Pe(Se){var Ve;if(nf||!(!((Ve=r.value)===null||Ve===void 0)&&Ve.contains(Ai(Se))))return;nf=!0,ce=!0,le=!1,Ce=Date.now(),De(),Se.type!=="touchstart"&&!Se.target.isContentEditable&&Se.preventDefault();const et=Q0(Se)?Se.touches[0]:Se;s.value?j=et.clientY:I=et.clientX,e.touchable&&(At("touchmove",document,Fe),At("touchend",document,He),At("touchcancel",document,He)),e.draggable&&(At("mousemove",document,Fe),At("mouseup",document,He))}function Fe(Se){const{value:Ve}=s,{value:et}=l,ht=Q0(Se)?Se.touches[0]:Se,bt=Ve?ht.clientY-j:ht.clientX-I,ut=m.value[et];ee=jl(bt,-ut,ut),Se.cancelable&&Se.preventDefault(),u.value&&ye(xe-ee,0)}function He(){const{value:Se}=R;let Ve=Se;if(!ne&&ee!==0&&u.value){const et=xe-ee,ht=[..._.value.slice(0,y.value-1),O()];let bt=null;for(let ut=0;utbt/2||ee/et>.4?Ve=N(Se):(ee<-bt/2||ee/et<-.4)&&(Ve=D(Se))}Ve!==null&&Ve!==Se?(le=!0,K(Ve),Ht(()=>{(!d.value||T.value!==E.value)&&Oe(w.value)})):Oe(w.value),Ie(),Le()}function Ie(){ce&&(nf=!1),ce=!1,I=0,j=0,ee=0,Ce=0,Tt("touchmove",document,Fe),Tt("touchend",document,He),Tt("touchcancel",document,He),Tt("mousemove",document,Fe),Tt("mouseup",document,He)}function Qe(){if(u.value&&ne){const{value:Se}=R;Ne(Se,0)}else Le();u.value&&(H.value.transitionDuration="0ms"),ne=!1}function Ct(Se){if(Se.preventDefault(),ne)return;let{deltaX:Ve,deltaY:et}=Se;Se.shiftKey&&!Ve&&(Ve=et);const ht=-1,bt=1,ut=(Ve||et)>0?bt:ht;let Et=0,ae=0;s.value?ae=ut:Et=ut;const Ee=10;(ae*et>=Ee||Et*Ve>=Ee)&&(ut===bt&&!B()?Y():ut===ht&&!pe()&&A())}function X(){m.value=e1(o.value,!0),Le()}function ve(){var Se,Ve;g.value&&((Ve=(Se=b.effect).scheduler)===null||Ve===void 0||Ve.call(Se),b.effect.run())}function Ae(){e.autoplay&&De()}function Ke(){e.autoplay&&Le()}jt(()=>{Xt(Le),requestAnimationFrame(()=>C.value=!0)}),on(()=>{Ie(),De()}),up(()=>{const{value:Se}=i,{value:Ve}=a,et=new Map,ht=ut=>et.has(ut)?et.get(ut):-1;let bt=!1;for(let ut=0;utae.el===Se[ut]);Et!==ut&&(bt=!0),et.set(Se[ut],Et)}bt&&Se.sort((ut,Et)=>ht(ut)-ht(Et))}),ft(R,(Se,Ve)=>{if(Se!==Ve)if(Le(),u.value){if(d.value){const{value:et}=y;P.value>2&&Se===et-2&&Ve===1?Se=0:Se===1&&Ve===et-2&&(Se=et-1)}Ne(Se,w.value)}else Oe()},{immediate:!0}),ft([d,h],()=>void Ht(()=>{K(R.value)})),ft(_,()=>{u.value&&Oe()},{deep:!0}),ft(u,Se=>{Se?Oe():(ne=!1,ye(xe=0))});const Ze=F(()=>({onTouchstartPassive:e.touchable?Pe:void 0,onMousedown:e.draggable?Pe:void 0,onWheel:e.mousewheel?Ct:void 0})),Je=F(()=>Object.assign(Object.assign({},Qn(oe,["to","prev","next","isPrevDisabled","isNextDisabled"])),{total:P.value,currentIndex:E.value})),tt=F(()=>({total:P.value,currentIndex:E.value,to:oe.to})),rt={getCurrentIndex:()=>E.value,to:$,prev:A,next:Y},vt=Be("Carousel","-carousel",GV,IV,e,t),sn=F(()=>{const{common:{cubicBezierEaseInOut:Se},self:{dotSize:Ve,dotColor:et,dotColorActive:ht,dotColorFocus:bt,dotLineWidth:ut,dotLineWidthActive:Et,arrowColor:ae}}=vt.value;return{"--n-bezier":Se,"--n-dot-color":et,"--n-dot-color-focus":bt,"--n-dot-color-active":ht,"--n-dot-size":Ve,"--n-dot-line-width":ut,"--n-dot-line-width-active":Et,"--n-arrow-color":ae}}),Dt=n?Pt("carousel",void 0,sn,e):void 0;return Object.assign(Object.assign({mergedClsPrefix:t,selfElRef:o,slidesElRef:r,slideVNodes:a,duplicatedable:d,userWantsControl:f,autoSlideSize:g,realIndex:R,slideStyles:x,translateStyle:H,slidesControlListeners:Ze,handleTransitionEnd:Qe,handleResize:X,handleSlideResize:ve,handleMouseenter:Ae,handleMouseleave:Ke,isActive:he,arrowSlotProps:Je,dotSlotProps:tt},rt),{cssVars:n?void 0:sn,themeClass:Dt==null?void 0:Dt.themeClass,onRender:Dt==null?void 0:Dt.onRender})},render(){var e;const{mergedClsPrefix:t,showArrow:n,userWantsControl:o,slideStyles:r,dotType:i,dotPlacement:a,slidesControlListeners:s,transitionProps:l={},arrowSlotProps:c,dotSlotProps:u,$slots:{default:d,dots:f,arrow:h}}=this,p=d&&Ra(d())||[];let g=JV(p);return g.length||(g=p.map(m=>v(KV,null,{default:()=>uo(m)}))),this.duplicatedable&&(g=zV(g)),this.slideVNodes.value=g,this.autoSlideSize&&(g=g.map(m=>v(cr,{onResize:this.handleSlideResize},{default:()=>m}))),(e=this.onRender)===null||e===void 0||e.call(this),v("div",Object.assign({ref:"selfElRef",class:[this.themeClass,`${t}-carousel`,this.direction==="vertical"&&`${t}-carousel--vertical`,this.showArrow&&`${t}-carousel--show-arrow`,`${t}-carousel--${a}`,`${t}-carousel--${this.direction}`,`${t}-carousel--${this.effect}`,o&&`${t}-carousel--usercontrol`],style:this.cssVars},s,{onMouseenter:this.handleMouseenter,onMouseleave:this.handleMouseleave}),v(cr,{onResize:this.handleResize},{default:()=>v("div",{ref:"slidesElRef",class:`${t}-carousel__slides`,role:"listbox",style:this.translateStyle,onTransitionend:this.handleTransitionEnd},o?g.map((m,b)=>v("div",{style:r[b],key:b},dn(v(fn,Object.assign({},l),{default:()=>m}),[[Mn,this.isActive(b)]]))):g)}),this.showDots&&u.total>1&&bh(f,u,()=>[v(jV,{key:i+a,total:u.total,currentIndex:u.currentIndex,dotType:i,trigger:this.trigger,keyboard:this.keyboard})]),n&&bh(h,c,()=>[v(UV,null)]))}});function JV(e){return e.reduce((t,n)=>(qV(n)&&t.push(n),t),[])}const QV={sizeSmall:"14px",sizeMedium:"16px",sizeLarge:"18px",labelPadding:"0 8px",labelFontWeight:"400"};function k2(e){const{baseColor:t,inputColorDisabled:n,cardColor:o,modalColor:r,popoverColor:i,textColorDisabled:a,borderColor:s,primaryColor:l,textColor2:c,fontSizeSmall:u,fontSizeMedium:d,fontSizeLarge:f,borderRadiusSmall:h,lineHeight:p}=e;return Object.assign(Object.assign({},QV),{labelLineHeight:p,fontSizeSmall:u,fontSizeMedium:d,fontSizeLarge:f,borderRadius:h,color:t,colorChecked:l,colorDisabled:n,colorDisabledChecked:n,colorTableHeader:o,colorTableHeaderModal:r,colorTableHeaderPopover:i,checkMarkColor:t,checkMarkColorDisabled:a,checkMarkColorDisabledChecked:a,border:`1px solid ${s}`,borderDisabled:`1px solid ${s}`,borderDisabledChecked:`1px solid ${s}`,borderChecked:`1px solid ${l}`,borderFocus:`1px solid ${l}`,boxShadowFocus:`0 0 0 2px ${Me(l,{alpha:.3})}`,textColor:c,textColorDisabled:a})}const eW={name:"Checkbox",common:xt,self:k2},P2=eW,tW={name:"Checkbox",common:je,self(e){const{cardColor:t}=e,n=k2(e);return n.color="#0000",n.checkMarkColor=t,n}},Ga=tW;function nW(e){const{borderRadius:t,boxShadow2:n,popoverColor:o,textColor2:r,textColor3:i,primaryColor:a,textColorDisabled:s,dividerColor:l,hoverColor:c,fontSizeMedium:u,heightMedium:d}=e;return{menuBorderRadius:t,menuColor:o,menuBoxShadow:n,menuDividerColor:l,menuHeight:"calc(var(--n-option-height) * 6.6)",optionArrowColor:i,optionHeight:d,optionFontSize:u,optionColorHover:c,optionTextColor:r,optionTextColorActive:a,optionTextColorDisabled:s,optionCheckMarkColor:a,loadingColor:a,columnWidth:"180px"}}const oW={name:"Cascader",common:je,peers:{InternalSelectMenu:fl,InternalSelection:mm,Scrollbar:Vn,Checkbox:Ga,Empty:Mu},self:nW},rW=oW,iW=v("svg",{viewBox:"0 0 64 64",class:"check-icon"},v("path",{d:"M50.42,16.76L22.34,39.45l-8.1-11.46c-1.12-1.58-3.3-1.96-4.88-0.84c-1.58,1.12-1.95,3.3-0.84,4.88l10.26,14.51 c0.56,0.79,1.42,1.31,2.38,1.45c0.16,0.02,0.32,0.03,0.48,0.03c0.8,0,1.57-0.27,2.2-0.78l30.99-25.03c1.5-1.21,1.74-3.42,0.52-4.92 C54.13,15.78,51.93,15.55,50.42,16.76z"})),aW=v("svg",{viewBox:"0 0 100 100",class:"line-icon"},v("path",{d:"M80.2,55.5H21.4c-2.8,0-5.1-2.5-5.1-5.5l0,0c0-3,2.3-5.5,5.1-5.5h58.7c2.8,0,5.1,2.5,5.1,5.5l0,0C85.2,53.1,82.9,55.5,80.2,55.5z"})),T2="n-checkbox-group",sW={min:Number,max:Number,size:String,value:Array,defaultValue:{type:Array,default:null},disabled:{type:Boolean,default:void 0},"onUpdate:value":[Function,Array],onUpdateValue:[Function,Array],onChange:[Function,Array]},lW=be({name:"CheckboxGroup",props:sW,setup(e){const{mergedClsPrefixRef:t}=st(e),n=pr(e),{mergedSizeRef:o,mergedDisabledRef:r}=n,i=W(e.defaultValue),a=F(()=>e.value),s=an(a,i),l=F(()=>{var d;return((d=s.value)===null||d===void 0?void 0:d.length)||0}),c=F(()=>Array.isArray(s.value)?new Set(s.value):new Set);function u(d,f){const{nTriggerFormInput:h,nTriggerFormChange:p}=n,{onChange:g,"onUpdate:value":m,onUpdateValue:b}=e;if(Array.isArray(s.value)){const _=Array.from(s.value),C=_.findIndex(S=>S===f);d?~C||(_.push(f),b&&$e(b,_,{actionType:"check",value:f}),m&&$e(m,_,{actionType:"check",value:f}),h(),p(),i.value=_,g&&$e(g,_)):~C&&(_.splice(C,1),b&&$e(b,_,{actionType:"uncheck",value:f}),m&&$e(m,_,{actionType:"uncheck",value:f}),g&&$e(g,_),i.value=_,h(),p())}else d?(b&&$e(b,[f],{actionType:"check",value:f}),m&&$e(m,[f],{actionType:"check",value:f}),g&&$e(g,[f]),i.value=[f],h(),p()):(b&&$e(b,[],{actionType:"uncheck",value:f}),m&&$e(m,[],{actionType:"uncheck",value:f}),g&&$e(g,[]),i.value=[],h(),p())}return at(T2,{checkedCountRef:l,maxRef:We(e,"max"),minRef:We(e,"min"),valueSetRef:c,disabledRef:r,mergedSizeRef:o,toggleCheckbox:u}),{mergedClsPrefix:t}},render(){return v("div",{class:`${this.mergedClsPrefix}-checkbox-group`,role:"group"},this.$slots)}}),cW=q([z("checkbox",` - font-size: var(--n-font-size); - outline: none; - cursor: pointer; - display: inline-flex; - flex-wrap: nowrap; - align-items: flex-start; - word-break: break-word; - line-height: var(--n-size); - --n-merged-color-table: var(--n-color-table); - `,[Z("show-label","line-height: var(--n-label-line-height);"),q("&:hover",[z("checkbox-box",[V("border","border: var(--n-border-checked);")])]),q("&:focus:not(:active)",[z("checkbox-box",[V("border",` - border: var(--n-border-focus); - box-shadow: var(--n-box-shadow-focus); - `)])]),Z("inside-table",[z("checkbox-box",` - background-color: var(--n-merged-color-table); - `)]),Z("checked",[z("checkbox-box",` - background-color: var(--n-color-checked); - `,[z("checkbox-icon",[q(".check-icon",` - opacity: 1; - transform: scale(1); - `)])])]),Z("indeterminate",[z("checkbox-box",[z("checkbox-icon",[q(".check-icon",` - opacity: 0; - transform: scale(.5); - `),q(".line-icon",` - opacity: 1; - transform: scale(1); - `)])])]),Z("checked, indeterminate",[q("&:focus:not(:active)",[z("checkbox-box",[V("border",` - border: var(--n-border-checked); - box-shadow: var(--n-box-shadow-focus); - `)])]),z("checkbox-box",` - background-color: var(--n-color-checked); - border-left: 0; - border-top: 0; - `,[V("border",{border:"var(--n-border-checked)"})])]),Z("disabled",{cursor:"not-allowed"},[Z("checked",[z("checkbox-box",` - background-color: var(--n-color-disabled-checked); - `,[V("border",{border:"var(--n-border-disabled-checked)"}),z("checkbox-icon",[q(".check-icon, .line-icon",{fill:"var(--n-check-mark-color-disabled-checked)"})])])]),z("checkbox-box",` - background-color: var(--n-color-disabled); - `,[V("border",` - border: var(--n-border-disabled); - `),z("checkbox-icon",[q(".check-icon, .line-icon",` - fill: var(--n-check-mark-color-disabled); - `)])]),V("label",` - color: var(--n-text-color-disabled); - `)]),z("checkbox-box-wrapper",` - position: relative; - width: var(--n-size); - flex-shrink: 0; - flex-grow: 0; - user-select: none; - -webkit-user-select: none; - `),z("checkbox-box",` - position: absolute; - left: 0; - top: 50%; - transform: translateY(-50%); - height: var(--n-size); - width: var(--n-size); - display: inline-block; - box-sizing: border-box; - border-radius: var(--n-border-radius); - background-color: var(--n-color); - transition: background-color 0.3s var(--n-bezier); - `,[V("border",` - transition: - border-color .3s var(--n-bezier), - box-shadow .3s var(--n-bezier); - border-radius: inherit; - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - border: var(--n-border); - `),z("checkbox-icon",` - display: flex; - align-items: center; - justify-content: center; - position: absolute; - left: 1px; - right: 1px; - top: 1px; - bottom: 1px; - `,[q(".check-icon, .line-icon",` - width: 100%; - fill: var(--n-check-mark-color); - opacity: 0; - transform: scale(0.5); - transform-origin: center; - transition: - fill 0.3s var(--n-bezier), - transform 0.3s var(--n-bezier), - opacity 0.3s var(--n-bezier), - border-color 0.3s var(--n-bezier); - `),qn({left:"1px",top:"1px"})])]),V("label",` - color: var(--n-text-color); - transition: color .3s var(--n-bezier); - user-select: none; - -webkit-user-select: none; - padding: var(--n-label-padding); - font-weight: var(--n-label-font-weight); - `,[q("&:empty",{display:"none"})])]),al(z("checkbox",` - --n-merged-color-table: var(--n-color-table-modal); - `)),ku(z("checkbox",` - --n-merged-color-table: var(--n-color-table-popover); - `))]),uW=Object.assign(Object.assign({},Be.props),{size:String,checked:{type:[Boolean,String,Number],default:void 0},defaultChecked:{type:[Boolean,String,Number],default:!1},value:[String,Number],disabled:{type:Boolean,default:void 0},indeterminate:Boolean,label:String,focusable:{type:Boolean,default:!0},checkedValue:{type:[Boolean,String,Number],default:!0},uncheckedValue:{type:[Boolean,String,Number],default:!1},"onUpdate:checked":[Function,Array],onUpdateChecked:[Function,Array],privateInsideTable:Boolean,onChange:[Function,Array]}),ml=be({name:"Checkbox",props:uW,setup(e){const t=Ue(T2,null),n=W(null),{mergedClsPrefixRef:o,inlineThemeDisabled:r,mergedRtlRef:i}=st(e),a=W(e.defaultChecked),s=We(e,"checked"),l=an(s,a),c=kt(()=>{if(t){const x=t.valueSetRef.value;return x&&e.value!==void 0?x.has(e.value):!1}else return l.value===e.checkedValue}),u=pr(e,{mergedSize(x){const{size:y}=e;if(y!==void 0)return y;if(t){const{value:P}=t.mergedSizeRef;if(P!==void 0)return P}if(x){const{mergedSize:P}=x;if(P!==void 0)return P.value}return"medium"},mergedDisabled(x){const{disabled:y}=e;if(y!==void 0)return y;if(t){if(t.disabledRef.value)return!0;const{maxRef:{value:P},checkedCountRef:k}=t;if(P!==void 0&&k.value>=P&&!c.value)return!0;const{minRef:{value:T}}=t;if(T!==void 0&&k.value<=T&&c.value)return!0}return x?x.disabled.value:!1}}),{mergedDisabledRef:d,mergedSizeRef:f}=u,h=Be("Checkbox","-checkbox",cW,P2,e,o);function p(x){if(t&&e.value!==void 0)t.toggleCheckbox(!c.value,e.value);else{const{onChange:y,"onUpdate:checked":P,onUpdateChecked:k}=e,{nTriggerFormInput:T,nTriggerFormChange:E}=u,R=c.value?e.uncheckedValue:e.checkedValue;P&&$e(P,R,x),k&&$e(k,R,x),y&&$e(y,R,x),T(),E(),a.value=R}}function g(x){d.value||p(x)}function m(x){if(!d.value)switch(x.key){case" ":case"Enter":p(x)}}function b(x){switch(x.key){case" ":x.preventDefault()}}const _={focus:()=>{var x;(x=n.value)===null||x===void 0||x.focus()},blur:()=>{var x;(x=n.value)===null||x===void 0||x.blur()}},C=pn("Checkbox",i,o),S=F(()=>{const{value:x}=f,{common:{cubicBezierEaseInOut:y},self:{borderRadius:P,color:k,colorChecked:T,colorDisabled:E,colorTableHeader:R,colorTableHeaderModal:K,colorTableHeaderPopover:N,checkMarkColor:D,checkMarkColorDisabled:M,border:G,borderFocus:J,borderDisabled:he,borderChecked:pe,boxShadowFocus:B,textColor:$,textColorDisabled:A,checkMarkColorDisabledChecked:Y,colorDisabledChecked:ne,borderDisabledChecked:fe,labelPadding:Q,labelLineHeight:xe,labelFontWeight:H,[Re("fontSize",x)]:ye,[Re("size",x)]:Oe}}=h.value;return{"--n-label-line-height":xe,"--n-label-font-weight":H,"--n-size":Oe,"--n-bezier":y,"--n-border-radius":P,"--n-border":G,"--n-border-checked":pe,"--n-border-focus":J,"--n-border-disabled":he,"--n-border-disabled-checked":fe,"--n-box-shadow-focus":B,"--n-color":k,"--n-color-checked":T,"--n-color-table":R,"--n-color-table-modal":K,"--n-color-table-popover":N,"--n-color-disabled":E,"--n-color-disabled-checked":ne,"--n-text-color":$,"--n-text-color-disabled":A,"--n-check-mark-color":D,"--n-check-mark-color-disabled":M,"--n-check-mark-color-disabled-checked":Y,"--n-font-size":ye,"--n-label-padding":Q}}),w=r?Pt("checkbox",F(()=>f.value[0]),S,e):void 0;return Object.assign(u,_,{rtlEnabled:C,selfRef:n,mergedClsPrefix:o,mergedDisabled:d,renderedChecked:c,mergedTheme:h,labelId:Zr(),handleClick:g,handleKeyUp:m,handleKeyDown:b,cssVars:r?void 0:S,themeClass:w==null?void 0:w.themeClass,onRender:w==null?void 0:w.onRender})},render(){var e;const{$slots:t,renderedChecked:n,mergedDisabled:o,indeterminate:r,privateInsideTable:i,cssVars:a,labelId:s,label:l,mergedClsPrefix:c,focusable:u,handleKeyUp:d,handleKeyDown:f,handleClick:h}=this;(e=this.onRender)===null||e===void 0||e.call(this);const p=$t(t.default,g=>l||g?v("span",{class:`${c}-checkbox__label`,id:s},l||g):null);return v("div",{ref:"selfRef",class:[`${c}-checkbox`,this.themeClass,this.rtlEnabled&&`${c}-checkbox--rtl`,n&&`${c}-checkbox--checked`,o&&`${c}-checkbox--disabled`,r&&`${c}-checkbox--indeterminate`,i&&`${c}-checkbox--inside-table`,p&&`${c}-checkbox--show-label`],tabindex:o||!u?void 0:0,role:"checkbox","aria-checked":r?"mixed":n,"aria-labelledby":s,style:a,onKeyup:d,onKeydown:f,onClick:h,onMousedown:()=>{At("selectstart",window,g=>{g.preventDefault()},{once:!0})}},v("div",{class:`${c}-checkbox-box-wrapper`}," ",v("div",{class:`${c}-checkbox-box`},v(Ui,null,{default:()=>this.indeterminate?v("div",{key:"indeterminate",class:`${c}-checkbox-icon`},aW):v("div",{key:"check",class:`${c}-checkbox-icon`},iW)}),v("div",{class:`${c}-checkbox-box__border`}))),p)}}),dW={name:"Code",common:je,self(e){const{textColor2:t,fontSize:n,fontWeightStrong:o,textColor3:r}=e;return{textColor:t,fontSize:n,fontWeightStrong:o,"mono-3":"#5c6370","hue-1":"#56b6c2","hue-2":"#61aeee","hue-3":"#c678dd","hue-4":"#98c379","hue-5":"#e06c75","hue-5-2":"#be5046","hue-6":"#d19a66","hue-6-2":"#e6c07b",lineNumberTextColor:r}}},R2=dW;function fW(e){const{fontWeight:t,textColor1:n,textColor2:o,textColorDisabled:r,dividerColor:i,fontSize:a}=e;return{titleFontSize:a,titleFontWeight:t,dividerColor:i,titleTextColor:n,titleTextColorDisabled:r,fontSize:a,textColor:o,arrowColor:o,arrowColorDisabled:r,itemMargin:"16px 0 0 0",titlePadding:"16px 0 0 0"}}const hW={name:"Collapse",common:je,self:fW},pW=hW;function mW(e){const{cubicBezierEaseInOut:t}=e;return{bezier:t}}const gW={name:"CollapseTransition",common:je,self:mW},vW=gW,bW={abstract:Boolean,bordered:{type:Boolean,default:void 0},clsPrefix:{type:String,default:el},locale:Object,dateLocale:Object,namespace:String,rtl:Array,tag:{type:String,default:"div"},hljs:Object,katex:Object,theme:Object,themeOverrides:Object,componentOptions:Object,icons:Object,breakpoints:Object,preflightStyleDisabled:Boolean,inlineThemeDisabled:{type:Boolean,default:void 0},as:{type:String,validator:()=>(lr("config-provider","`as` is deprecated, please use `tag` instead."),!0),default:void 0}},E2=be({name:"ConfigProvider",alias:["App"],props:bW,setup(e){const t=Ue(Eo,null),n=F(()=>{const{theme:p}=e;if(p===null)return;const g=t==null?void 0:t.mergedThemeRef.value;return p===void 0?g:g===void 0?p:Object.assign({},g,p)}),o=F(()=>{const{themeOverrides:p}=e;if(p!==null){if(p===void 0)return t==null?void 0:t.mergedThemeOverridesRef.value;{const g=t==null?void 0:t.mergedThemeOverridesRef.value;return g===void 0?p:ps({},g,p)}}}),r=kt(()=>{const{namespace:p}=e;return p===void 0?t==null?void 0:t.mergedNamespaceRef.value:p}),i=kt(()=>{const{bordered:p}=e;return p===void 0?t==null?void 0:t.mergedBorderedRef.value:p}),a=F(()=>{const{icons:p}=e;return p===void 0?t==null?void 0:t.mergedIconsRef.value:p}),s=F(()=>{const{componentOptions:p}=e;return p!==void 0?p:t==null?void 0:t.mergedComponentPropsRef.value}),l=F(()=>{const{clsPrefix:p}=e;return p!==void 0?p:t?t.mergedClsPrefixRef.value:el}),c=F(()=>{var p;const{rtl:g}=e;if(g===void 0)return t==null?void 0:t.mergedRtlRef.value;const m={};for(const b of g)m[b.name]=zs(b),(p=b.peers)===null||p===void 0||p.forEach(_=>{_.name in m||(m[_.name]=zs(_))});return m}),u=F(()=>e.breakpoints||(t==null?void 0:t.mergedBreakpointsRef.value)),d=e.inlineThemeDisabled||(t==null?void 0:t.inlineThemeDisabled),f=e.preflightStyleDisabled||(t==null?void 0:t.preflightStyleDisabled),h=F(()=>{const{value:p}=n,{value:g}=o,m=g&&Object.keys(g).length!==0,b=p==null?void 0:p.name;return b?m?`${b}-${Ys(JSON.stringify(o.value))}`:b:m?Ys(JSON.stringify(o.value)):""});return at(Eo,{mergedThemeHashRef:h,mergedBreakpointsRef:u,mergedRtlRef:c,mergedIconsRef:a,mergedComponentPropsRef:s,mergedBorderedRef:i,mergedNamespaceRef:r,mergedClsPrefixRef:l,mergedLocaleRef:F(()=>{const{locale:p}=e;if(p!==null)return p===void 0?t==null?void 0:t.mergedLocaleRef.value:p}),mergedDateLocaleRef:F(()=>{const{dateLocale:p}=e;if(p!==null)return p===void 0?t==null?void 0:t.mergedDateLocaleRef.value:p}),mergedHljsRef:F(()=>{const{hljs:p}=e;return p===void 0?t==null?void 0:t.mergedHljsRef.value:p}),mergedKatexRef:F(()=>{const{katex:p}=e;return p===void 0?t==null?void 0:t.mergedKatexRef.value:p}),mergedThemeRef:n,mergedThemeOverridesRef:o,inlineThemeDisabled:d||!1,preflightStyleDisabled:f||!1}),{mergedClsPrefix:l,mergedBordered:i,mergedNamespace:r,mergedTheme:n,mergedThemeOverrides:o}},render(){var e,t,n,o;return this.abstract?(o=(n=this.$slots).default)===null||o===void 0?void 0:o.call(n):v(this.as||this.tag,{class:`${this.mergedClsPrefix||el}-config-provider`},(t=(e=this.$slots).default)===null||t===void 0?void 0:t.call(e))}}),yW=e=>1-Math.pow(1-e,5);function xW(e){const{from:t,to:n,duration:o,onUpdate:r,onFinish:i}=e,a=performance.now(),s=()=>{const l=performance.now(),c=Math.min(l-a,o),u=t+(n-t)*yW(c/o);if(c===o){i();return}r(u),requestAnimationFrame(s)};s()}const CW={to:{type:Number,default:0},precision:{type:Number,default:0},showSeparator:Boolean,locale:String,from:{type:Number,default:0},active:{type:Boolean,default:!0},duration:{type:Number,default:2e3},onFinish:Function},wW=be({name:"NumberAnimation",props:CW,setup(e){const{localeRef:t}=Hi("name"),{duration:n}=e,o=W(e.from),r=F(()=>{const{locale:f}=e;return f!==void 0?f:t.value});let i=!1;const a=f=>{o.value=f},s=()=>{var f;o.value=e.to,i=!1,(f=e.onFinish)===null||f===void 0||f.call(e)},l=(f=e.from,h=e.to)=>{i=!0,o.value=e.from,f!==h&&xW({from:f,to:h,duration:n,onUpdate:a,onFinish:s})},c=F(()=>{var f;const p=$F(o.value,e.precision).toFixed(e.precision).split("."),g=new Intl.NumberFormat(r.value),m=(f=g.formatToParts(.5).find(C=>C.type==="decimal"))===null||f===void 0?void 0:f.value,b=e.showSeparator?g.format(Number(p[0])):p[0],_=p[1];return{integer:b,decimal:_,decimalSeparator:m}});function u(){i||l()}return jt(()=>{Xt(()=>{e.active&&l()})}),Object.assign({formattedValue:c},{play:u})},render(){const{formattedValue:{integer:e,decimal:t,decimalSeparator:n}}=this;return[e,t?n:null,t]}}),_W={name:"Popselect",common:je,peers:{Popover:Yi,InternalSelectMenu:fl}},$2=_W;function SW(e){const{boxShadow2:t}=e;return{menuBoxShadow:t}}const kW={name:"Popselect",common:xt,peers:{Popover:Ka,InternalSelectMenu:pm},self:SW},Cm=kW,A2="n-popselect",PW=z("popselect-menu",` - box-shadow: var(--n-menu-box-shadow); -`),wm={multiple:Boolean,value:{type:[String,Number,Array],default:null},cancelable:Boolean,options:{type:Array,default:()=>[]},size:{type:String,default:"medium"},scrollable:Boolean,"onUpdate:value":[Function,Array],onUpdateValue:[Function,Array],onMouseenter:Function,onMouseleave:Function,renderLabel:Function,showCheckmark:{type:Boolean,default:void 0},nodeProps:Function,virtualScroll:Boolean,onChange:[Function,Array]},t1=Jr(wm),TW=be({name:"PopselectPanel",props:wm,setup(e){const t=Ue(A2),{mergedClsPrefixRef:n,inlineThemeDisabled:o}=st(e),r=Be("Popselect","-pop-select",PW,Cm,t.props,n),i=F(()=>Pi(e.options,u2("value","children")));function a(f,h){const{onUpdateValue:p,"onUpdate:value":g,onChange:m}=e;p&&$e(p,f,h),g&&$e(g,f,h),m&&$e(m,f,h)}function s(f){c(f.key)}function l(f){!so(f,"action")&&!so(f,"empty")&&!so(f,"header")&&f.preventDefault()}function c(f){const{value:{getNode:h}}=i;if(e.multiple)if(Array.isArray(e.value)){const p=[],g=[];let m=!0;e.value.forEach(b=>{if(b===f){m=!1;return}const _=h(b);_&&(p.push(_.key),g.push(_.rawNode))}),m&&(p.push(f),g.push(h(f).rawNode)),a(p,g)}else{const p=h(f);p&&a([f],[p.rawNode])}else if(e.value===f&&e.cancelable)a(null,null);else{const p=h(f);p&&a(f,p.rawNode);const{"onUpdate:show":g,onUpdateShow:m}=t.props;g&&$e(g,!1),m&&$e(m,!1),t.setShow(!1)}Ht(()=>{t.syncPosition()})}ft(We(e,"options"),()=>{Ht(()=>{t.syncPosition()})});const u=F(()=>{const{self:{menuBoxShadow:f}}=r.value;return{"--n-menu-box-shadow":f}}),d=o?Pt("select",void 0,u,t.props):void 0;return{mergedTheme:t.mergedThemeRef,mergedClsPrefix:n,treeMate:i,handleToggle:s,handleMenuMousedown:l,cssVars:o?void 0:u,themeClass:d==null?void 0:d.themeClass,onRender:d==null?void 0:d.onRender}},render(){var e;return(e=this.onRender)===null||e===void 0||e.call(this),v(Q_,{clsPrefix:this.mergedClsPrefix,focusable:!0,nodeProps:this.nodeProps,class:[`${this.mergedClsPrefix}-popselect-menu`,this.themeClass],style:this.cssVars,theme:this.mergedTheme.peers.InternalSelectMenu,themeOverrides:this.mergedTheme.peerOverrides.InternalSelectMenu,multiple:this.multiple,treeMate:this.treeMate,size:this.size,value:this.value,virtualScroll:this.virtualScroll,scrollable:this.scrollable,renderLabel:this.renderLabel,onToggle:this.handleToggle,onMouseenter:this.onMouseenter,onMouseleave:this.onMouseenter,onMousedown:this.handleMenuMousedown,showCheckmark:this.showCheckmark},{header:()=>{var t,n;return((n=(t=this.$slots).header)===null||n===void 0?void 0:n.call(t))||[]},action:()=>{var t,n;return((n=(t=this.$slots).action)===null||n===void 0?void 0:n.call(t))||[]},empty:()=>{var t,n;return((n=(t=this.$slots).empty)===null||n===void 0?void 0:n.call(t))||[]}})}}),RW=Object.assign(Object.assign(Object.assign(Object.assign({},Be.props),ja(Aa,["showArrow","arrow"])),{placement:Object.assign(Object.assign({},Aa.placement),{default:"bottom"}),trigger:{type:String,default:"hover"}}),wm),_m=be({name:"Popselect",props:RW,inheritAttrs:!1,__popover__:!0,setup(e){const{mergedClsPrefixRef:t}=st(e),n=Be("Popselect","-popselect",void 0,Cm,e,t),o=W(null);function r(){var s;(s=o.value)===null||s===void 0||s.syncPosition()}function i(s){var l;(l=o.value)===null||l===void 0||l.setShow(s)}return at(A2,{props:e,mergedThemeRef:n,syncPosition:r,setShow:i}),Object.assign(Object.assign({},{syncPosition:r,setShow:i}),{popoverInstRef:o,mergedTheme:n})},render(){const{mergedTheme:e}=this,t={theme:e.peers.Popover,themeOverrides:e.peerOverrides.Popover,builtinThemeOverrides:{padding:"0"},ref:"popoverInstRef",internalRenderBody:(n,o,r,i,a)=>{const{$attrs:s}=this;return v(TW,Object.assign({},s,{class:[s.class,n],style:[s.style,...r]},Qn(this.$props,t1),{ref:gw(o),onMouseenter:Es([i,s.onMouseenter]),onMouseleave:Es([a,s.onMouseleave])}),{header:()=>{var l,c;return(c=(l=this.$slots).header)===null||c===void 0?void 0:c.call(l)},action:()=>{var l,c;return(c=(l=this.$slots).action)===null||c===void 0?void 0:c.call(l)},empty:()=>{var l,c;return(c=(l=this.$slots).empty)===null||c===void 0?void 0:c.call(l)}})}};return v(hl,Object.assign({},ja(this.$props,t1),t,{internalDeactivateImmediately:!0}),{trigger:()=>{var n,o;return(o=(n=this.$slots).default)===null||o===void 0?void 0:o.call(n)}})}});function I2(e){const{boxShadow2:t}=e;return{menuBoxShadow:t}}const EW={name:"Select",common:xt,peers:{InternalSelection:s2,InternalSelectMenu:pm},self:I2},O2=EW,$W={name:"Select",common:je,peers:{InternalSelection:mm,InternalSelectMenu:fl},self:I2},M2=$W,AW=q([z("select",` - z-index: auto; - outline: none; - width: 100%; - position: relative; - `),z("select-menu",` - margin: 4px 0; - box-shadow: var(--n-menu-box-shadow); - `,[qa({originalTransition:"background-color .3s var(--n-bezier), box-shadow .3s var(--n-bezier)"})])]),IW=Object.assign(Object.assign({},Be.props),{to:qo.propTo,bordered:{type:Boolean,default:void 0},clearable:Boolean,clearFilterAfterSelect:{type:Boolean,default:!0},options:{type:Array,default:()=>[]},defaultValue:{type:[String,Number,Array],default:null},keyboard:{type:Boolean,default:!0},value:[String,Number,Array],placeholder:String,menuProps:Object,multiple:Boolean,size:String,filterable:Boolean,disabled:{type:Boolean,default:void 0},remote:Boolean,loading:Boolean,filter:Function,placement:{type:String,default:"bottom-start"},widthMode:{type:String,default:"trigger"},tag:Boolean,onCreate:Function,fallbackOption:{type:[Function,Boolean],default:void 0},show:{type:Boolean,default:void 0},showArrow:{type:Boolean,default:!0},maxTagCount:[Number,String],ellipsisTagPopoverProps:Object,consistentMenuWidth:{type:Boolean,default:!0},virtualScroll:{type:Boolean,default:!0},labelField:{type:String,default:"label"},valueField:{type:String,default:"value"},childrenField:{type:String,default:"children"},renderLabel:Function,renderOption:Function,renderTag:Function,"onUpdate:value":[Function,Array],inputProps:Object,nodeProps:Function,ignoreComposition:{type:Boolean,default:!0},showOnFocus:Boolean,onUpdateValue:[Function,Array],onBlur:[Function,Array],onClear:[Function,Array],onFocus:[Function,Array],onScroll:[Function,Array],onSearch:[Function,Array],onUpdateShow:[Function,Array],"onUpdate:show":[Function,Array],displayDirective:{type:String,default:"show"},resetMenuOnOptionsChange:{type:Boolean,default:!0},status:String,showCheckmark:{type:Boolean,default:!0},onChange:[Function,Array],items:Array}),Du=be({name:"Select",props:IW,setup(e){const{mergedClsPrefixRef:t,mergedBorderedRef:n,namespaceRef:o,inlineThemeDisabled:r}=st(e),i=Be("Select","-select",AW,O2,e,t),a=W(e.defaultValue),s=We(e,"value"),l=an(s,a),c=W(!1),u=W(""),d=Pu(e,["items","options"]),f=W([]),h=W([]),p=F(()=>h.value.concat(f.value).concat(d.value)),g=F(()=>{const{filter:X}=e;if(X)return X;const{labelField:ve,valueField:Ae}=e;return(Ke,Ze)=>{if(!Ze)return!1;const Je=Ze[ve];if(typeof Je=="string")return ef(Ke,Je);const tt=Ze[Ae];return typeof tt=="string"?ef(Ke,tt):typeof tt=="number"?ef(Ke,String(tt)):!1}}),m=F(()=>{if(e.remote)return d.value;{const{value:X}=p,{value:ve}=u;return!ve.length||!e.filterable?X:_j(X,g.value,ve,e.childrenField)}}),b=F(()=>{const{valueField:X,childrenField:ve}=e,Ae=u2(X,ve);return Pi(m.value,Ae)}),_=F(()=>Sj(p.value,e.valueField,e.childrenField)),C=W(!1),S=an(We(e,"show"),C),w=W(null),x=W(null),y=W(null),{localeRef:P}=Hi("Select"),k=F(()=>{var X;return(X=e.placeholder)!==null&&X!==void 0?X:P.value.placeholder}),T=[],E=W(new Map),R=F(()=>{const{fallbackOption:X}=e;if(X===void 0){const{labelField:ve,valueField:Ae}=e;return Ke=>({[ve]:String(Ke),[Ae]:Ke})}return X===!1?!1:ve=>Object.assign(X(ve),{value:ve})});function K(X){const ve=e.remote,{value:Ae}=E,{value:Ke}=_,{value:Ze}=R,Je=[];return X.forEach(tt=>{if(Ke.has(tt))Je.push(Ke.get(tt));else if(ve&&Ae.has(tt))Je.push(Ae.get(tt));else if(Ze){const rt=Ze(tt);rt&&Je.push(rt)}}),Je}const N=F(()=>{if(e.multiple){const{value:X}=l;return Array.isArray(X)?K(X):[]}return null}),D=F(()=>{const{value:X}=l;return!e.multiple&&!Array.isArray(X)?X===null?null:K([X])[0]||null:null}),M=pr(e),{mergedSizeRef:G,mergedDisabledRef:J,mergedStatusRef:he}=M;function pe(X,ve){const{onChange:Ae,"onUpdate:value":Ke,onUpdateValue:Ze}=e,{nTriggerFormChange:Je,nTriggerFormInput:tt}=M;Ae&&$e(Ae,X,ve),Ze&&$e(Ze,X,ve),Ke&&$e(Ke,X,ve),a.value=X,Je(),tt()}function B(X){const{onBlur:ve}=e,{nTriggerFormBlur:Ae}=M;ve&&$e(ve,X),Ae()}function $(){const{onClear:X}=e;X&&$e(X)}function A(X){const{onFocus:ve,showOnFocus:Ae}=e,{nTriggerFormFocus:Ke}=M;ve&&$e(ve,X),Ke(),Ae&&xe()}function Y(X){const{onSearch:ve}=e;ve&&$e(ve,X)}function ne(X){const{onScroll:ve}=e;ve&&$e(ve,X)}function fe(){var X;const{remote:ve,multiple:Ae}=e;if(ve){const{value:Ke}=E;if(Ae){const{valueField:Ze}=e;(X=N.value)===null||X===void 0||X.forEach(Je=>{Ke.set(Je[Ze],Je)})}else{const Ze=D.value;Ze&&Ke.set(Ze[e.valueField],Ze)}}}function Q(X){const{onUpdateShow:ve,"onUpdate:show":Ae}=e;ve&&$e(ve,X),Ae&&$e(Ae,X),C.value=X}function xe(){J.value||(Q(!0),C.value=!0,e.filterable&&Fe())}function H(){Q(!1)}function ye(){u.value="",h.value=T}const Oe=W(!1);function Ne(){e.filterable&&(Oe.value=!0)}function L(){e.filterable&&(Oe.value=!1,S.value||ye())}function O(){J.value||(S.value?e.filterable?Fe():H():xe())}function oe(X){var ve,Ae;!((Ae=(ve=y.value)===null||ve===void 0?void 0:ve.selfRef)===null||Ae===void 0)&&Ae.contains(X.relatedTarget)||(c.value=!1,B(X),H())}function _e(X){A(X),c.value=!0}function te(){c.value=!0}function ge(X){var ve;!((ve=w.value)===null||ve===void 0)&&ve.$el.contains(X.relatedTarget)||(c.value=!1,B(X),H())}function ke(){var X;(X=w.value)===null||X===void 0||X.focus(),H()}function I(X){var ve;S.value&&(!((ve=w.value)===null||ve===void 0)&&ve.$el.contains(Ai(X))||H())}function j(X){if(!Array.isArray(X))return[];if(R.value)return Array.from(X);{const{remote:ve}=e,{value:Ae}=_;if(ve){const{value:Ke}=E;return X.filter(Ze=>Ae.has(Ze)||Ke.has(Ze))}else return X.filter(Ke=>Ae.has(Ke))}}function ee(X){Ce(X.rawNode)}function Ce(X){if(J.value)return;const{tag:ve,remote:Ae,clearFilterAfterSelect:Ke,valueField:Ze}=e;if(ve&&!Ae){const{value:Je}=h,tt=Je[0]||null;if(tt){const rt=f.value;rt.length?rt.push(tt):f.value=[tt],h.value=T}}if(Ae&&E.value.set(X[Ze],X),e.multiple){const Je=j(l.value),tt=Je.findIndex(rt=>rt===X[Ze]);if(~tt){if(Je.splice(tt,1),ve&&!Ae){const rt=ce(X[Ze]);~rt&&(f.value.splice(rt,1),Ke&&(u.value=""))}}else Je.push(X[Ze]),Ke&&(u.value="");pe(Je,K(Je))}else{if(ve&&!Ae){const Je=ce(X[Ze]);~Je?f.value=[f.value[Je]]:f.value=T}Pe(),H(),pe(X[Ze],X)}}function ce(X){return f.value.findIndex(Ae=>Ae[e.valueField]===X)}function le(X){S.value||xe();const{value:ve}=X.target;u.value=ve;const{tag:Ae,remote:Ke}=e;if(Y(ve),Ae&&!Ke){if(!ve){h.value=T;return}const{onCreate:Ze}=e,Je=Ze?Ze(ve):{[e.labelField]:ve,[e.valueField]:ve},{valueField:tt,labelField:rt}=e;d.value.some(vt=>vt[tt]===Je[tt]||vt[rt]===Je[rt])||f.value.some(vt=>vt[tt]===Je[tt]||vt[rt]===Je[rt])?h.value=T:h.value=[Je]}}function re(X){X.stopPropagation();const{multiple:ve}=e;!ve&&e.filterable&&H(),$(),ve?pe([],[]):pe(null,null)}function de(X){!so(X,"action")&&!so(X,"empty")&&!so(X,"header")&&X.preventDefault()}function De(X){ne(X)}function Le(X){var ve,Ae,Ke,Ze,Je;if(!e.keyboard){X.preventDefault();return}switch(X.key){case" ":if(e.filterable)break;X.preventDefault();case"Enter":if(!(!((ve=w.value)===null||ve===void 0)&&ve.isComposing)){if(S.value){const tt=(Ae=y.value)===null||Ae===void 0?void 0:Ae.getPendingTmNode();tt?ee(tt):e.filterable||(H(),Pe())}else if(xe(),e.tag&&Oe.value){const tt=h.value[0];if(tt){const rt=tt[e.valueField],{value:vt}=l;e.multiple&&Array.isArray(vt)&&vt.includes(rt)||Ce(tt)}}}X.preventDefault();break;case"ArrowUp":if(X.preventDefault(),e.loading)return;S.value&&((Ke=y.value)===null||Ke===void 0||Ke.prev());break;case"ArrowDown":if(X.preventDefault(),e.loading)return;S.value?(Ze=y.value)===null||Ze===void 0||Ze.next():xe();break;case"Escape":S.value&&(y8(X),H()),(Je=w.value)===null||Je===void 0||Je.focus();break}}function Pe(){var X;(X=w.value)===null||X===void 0||X.focus()}function Fe(){var X;(X=w.value)===null||X===void 0||X.focusInput()}function He(){var X;S.value&&((X=x.value)===null||X===void 0||X.syncPosition())}fe(),ft(We(e,"options"),fe);const Ie={focus:()=>{var X;(X=w.value)===null||X===void 0||X.focus()},focusInput:()=>{var X;(X=w.value)===null||X===void 0||X.focusInput()},blur:()=>{var X;(X=w.value)===null||X===void 0||X.blur()},blurInput:()=>{var X;(X=w.value)===null||X===void 0||X.blurInput()}},Qe=F(()=>{const{self:{menuBoxShadow:X}}=i.value;return{"--n-menu-box-shadow":X}}),Ct=r?Pt("select",void 0,Qe,e):void 0;return Object.assign(Object.assign({},Ie),{mergedStatus:he,mergedClsPrefix:t,mergedBordered:n,namespace:o,treeMate:b,isMounted:Qr(),triggerRef:w,menuRef:y,pattern:u,uncontrolledShow:C,mergedShow:S,adjustedTo:qo(e),uncontrolledValue:a,mergedValue:l,followerRef:x,localizedPlaceholder:k,selectedOption:D,selectedOptions:N,mergedSize:G,mergedDisabled:J,focused:c,activeWithoutMenuOpen:Oe,inlineThemeDisabled:r,onTriggerInputFocus:Ne,onTriggerInputBlur:L,handleTriggerOrMenuResize:He,handleMenuFocus:te,handleMenuBlur:ge,handleMenuTabOut:ke,handleTriggerClick:O,handleToggle:ee,handleDeleteOption:Ce,handlePatternInput:le,handleClear:re,handleTriggerBlur:oe,handleTriggerFocus:_e,handleKeydown:Le,handleMenuAfterLeave:ye,handleMenuClickOutside:I,handleMenuScroll:De,handleMenuKeydown:Le,handleMenuMousedown:de,mergedTheme:i,cssVars:r?void 0:Qe,themeClass:Ct==null?void 0:Ct.themeClass,onRender:Ct==null?void 0:Ct.onRender})},render(){return v("div",{class:`${this.mergedClsPrefix}-select`},v(qp,null,{default:()=>[v(Kp,null,{default:()=>v(lj,{ref:"triggerRef",inlineThemeDisabled:this.inlineThemeDisabled,status:this.mergedStatus,inputProps:this.inputProps,clsPrefix:this.mergedClsPrefix,showArrow:this.showArrow,maxTagCount:this.maxTagCount,ellipsisTagPopoverProps:this.ellipsisTagPopoverProps,bordered:this.mergedBordered,active:this.activeWithoutMenuOpen||this.mergedShow,pattern:this.pattern,placeholder:this.localizedPlaceholder,selectedOption:this.selectedOption,selectedOptions:this.selectedOptions,multiple:this.multiple,renderTag:this.renderTag,renderLabel:this.renderLabel,filterable:this.filterable,clearable:this.clearable,disabled:this.mergedDisabled,size:this.mergedSize,theme:this.mergedTheme.peers.InternalSelection,labelField:this.labelField,valueField:this.valueField,themeOverrides:this.mergedTheme.peerOverrides.InternalSelection,loading:this.loading,focused:this.focused,onClick:this.handleTriggerClick,onDeleteOption:this.handleDeleteOption,onPatternInput:this.handlePatternInput,onClear:this.handleClear,onBlur:this.handleTriggerBlur,onFocus:this.handleTriggerFocus,onKeydown:this.handleKeydown,onPatternBlur:this.onTriggerInputBlur,onPatternFocus:this.onTriggerInputFocus,onResize:this.handleTriggerOrMenuResize,ignoreComposition:this.ignoreComposition},{arrow:()=>{var e,t;return[(t=(e=this.$slots).arrow)===null||t===void 0?void 0:t.call(e)]}})}),v(Yp,{ref:"followerRef",show:this.mergedShow,to:this.adjustedTo,teleportDisabled:this.adjustedTo===qo.tdkey,containerClass:this.namespace,width:this.consistentMenuWidth?"target":void 0,minWidth:"target",placement:this.placement},{default:()=>v(fn,{name:"fade-in-scale-up-transition",appear:this.isMounted,onAfterLeave:this.handleMenuAfterLeave},{default:()=>{var e,t,n;return this.mergedShow||this.displayDirective==="show"?((e=this.onRender)===null||e===void 0||e.call(this),dn(v(Q_,Object.assign({},this.menuProps,{ref:"menuRef",onResize:this.handleTriggerOrMenuResize,inlineThemeDisabled:this.inlineThemeDisabled,virtualScroll:this.consistentMenuWidth&&this.virtualScroll,class:[`${this.mergedClsPrefix}-select-menu`,this.themeClass,(t=this.menuProps)===null||t===void 0?void 0:t.class],clsPrefix:this.mergedClsPrefix,focusable:!0,labelField:this.labelField,valueField:this.valueField,autoPending:!0,nodeProps:this.nodeProps,theme:this.mergedTheme.peers.InternalSelectMenu,themeOverrides:this.mergedTheme.peerOverrides.InternalSelectMenu,treeMate:this.treeMate,multiple:this.multiple,size:"medium",renderOption:this.renderOption,renderLabel:this.renderLabel,value:this.mergedValue,style:[(n=this.menuProps)===null||n===void 0?void 0:n.style,this.cssVars],onToggle:this.handleToggle,onScroll:this.handleMenuScroll,onFocus:this.handleMenuFocus,onBlur:this.handleMenuBlur,onKeydown:this.handleMenuKeydown,onTabOut:this.handleMenuTabOut,onMousedown:this.handleMenuMousedown,show:this.mergedShow,showCheckmark:this.showCheckmark,resetMenuOnOptionsChange:this.resetMenuOnOptionsChange}),{empty:()=>{var o,r;return[(r=(o=this.$slots).empty)===null||r===void 0?void 0:r.call(o)]},header:()=>{var o,r;return[(r=(o=this.$slots).header)===null||r===void 0?void 0:r.call(o)]},action:()=>{var o,r;return[(r=(o=this.$slots).action)===null||r===void 0?void 0:r.call(o)]}}),this.displayDirective==="show"?[[Mn,this.mergedShow],[Ea,this.handleMenuClickOutside,void 0,{capture:!0}]]:[[Ea,this.handleMenuClickOutside,void 0,{capture:!0}]])):null}})})]}))}}),OW={itemPaddingSmall:"0 4px",itemMarginSmall:"0 0 0 8px",itemMarginSmallRtl:"0 8px 0 0",itemPaddingMedium:"0 4px",itemMarginMedium:"0 0 0 8px",itemMarginMediumRtl:"0 8px 0 0",itemPaddingLarge:"0 4px",itemMarginLarge:"0 0 0 8px",itemMarginLargeRtl:"0 8px 0 0",buttonIconSizeSmall:"14px",buttonIconSizeMedium:"16px",buttonIconSizeLarge:"18px",inputWidthSmall:"60px",selectWidthSmall:"unset",inputMarginSmall:"0 0 0 8px",inputMarginSmallRtl:"0 8px 0 0",selectMarginSmall:"0 0 0 8px",prefixMarginSmall:"0 8px 0 0",suffixMarginSmall:"0 0 0 8px",inputWidthMedium:"60px",selectWidthMedium:"unset",inputMarginMedium:"0 0 0 8px",inputMarginMediumRtl:"0 8px 0 0",selectMarginMedium:"0 0 0 8px",prefixMarginMedium:"0 8px 0 0",suffixMarginMedium:"0 0 0 8px",inputWidthLarge:"60px",selectWidthLarge:"unset",inputMarginLarge:"0 0 0 8px",inputMarginLargeRtl:"0 8px 0 0",selectMarginLarge:"0 0 0 8px",prefixMarginLarge:"0 8px 0 0",suffixMarginLarge:"0 0 0 8px"};function z2(e){const{textColor2:t,primaryColor:n,primaryColorHover:o,primaryColorPressed:r,inputColorDisabled:i,textColorDisabled:a,borderColor:s,borderRadius:l,fontSizeTiny:c,fontSizeSmall:u,fontSizeMedium:d,heightTiny:f,heightSmall:h,heightMedium:p}=e;return Object.assign(Object.assign({},OW),{buttonColor:"#0000",buttonColorHover:"#0000",buttonColorPressed:"#0000",buttonBorder:`1px solid ${s}`,buttonBorderHover:`1px solid ${s}`,buttonBorderPressed:`1px solid ${s}`,buttonIconColor:t,buttonIconColorHover:t,buttonIconColorPressed:t,itemTextColor:t,itemTextColorHover:o,itemTextColorPressed:r,itemTextColorActive:n,itemTextColorDisabled:a,itemColor:"#0000",itemColorHover:"#0000",itemColorPressed:"#0000",itemColorActive:"#0000",itemColorActiveHover:"#0000",itemColorDisabled:i,itemBorder:"1px solid #0000",itemBorderHover:"1px solid #0000",itemBorderPressed:"1px solid #0000",itemBorderActive:`1px solid ${n}`,itemBorderDisabled:`1px solid ${s}`,itemBorderRadius:l,itemSizeSmall:f,itemSizeMedium:h,itemSizeLarge:p,itemFontSizeSmall:c,itemFontSizeMedium:u,itemFontSizeLarge:d,jumperFontSizeSmall:c,jumperFontSizeMedium:u,jumperFontSizeLarge:d,jumperTextColor:t,jumperTextColorDisabled:a})}const MW={name:"Pagination",common:xt,peers:{Select:O2,Input:vm,Popselect:Cm},self:z2},D2=MW,zW={name:"Pagination",common:je,peers:{Select:M2,Input:mo,Popselect:$2},self(e){const{primaryColor:t,opacity3:n}=e,o=Me(t,{alpha:Number(n)}),r=z2(e);return r.itemBorderActive=`1px solid ${o}`,r.itemBorderDisabled="1px solid #0000",r}},L2=zW,n1=` - background: var(--n-item-color-hover); - color: var(--n-item-text-color-hover); - border: var(--n-item-border-hover); -`,o1=[Z("button",` - background: var(--n-button-color-hover); - border: var(--n-button-border-hover); - color: var(--n-button-icon-color-hover); - `)],DW=z("pagination",` - display: flex; - vertical-align: middle; - font-size: var(--n-item-font-size); - flex-wrap: nowrap; -`,[z("pagination-prefix",` - display: flex; - align-items: center; - margin: var(--n-prefix-margin); - `),z("pagination-suffix",` - display: flex; - align-items: center; - margin: var(--n-suffix-margin); - `),q("> *:not(:first-child)",` - margin: var(--n-item-margin); - `),z("select",` - width: var(--n-select-width); - `),q("&.transition-disabled",[z("pagination-item","transition: none!important;")]),z("pagination-quick-jumper",` - white-space: nowrap; - display: flex; - color: var(--n-jumper-text-color); - transition: color .3s var(--n-bezier); - align-items: center; - font-size: var(--n-jumper-font-size); - `,[z("input",` - margin: var(--n-input-margin); - width: var(--n-input-width); - `)]),z("pagination-item",` - position: relative; - cursor: pointer; - user-select: none; - -webkit-user-select: none; - display: flex; - align-items: center; - justify-content: center; - box-sizing: border-box; - min-width: var(--n-item-size); - height: var(--n-item-size); - padding: var(--n-item-padding); - background-color: var(--n-item-color); - color: var(--n-item-text-color); - border-radius: var(--n-item-border-radius); - border: var(--n-item-border); - fill: var(--n-button-icon-color); - transition: - color .3s var(--n-bezier), - border-color .3s var(--n-bezier), - background-color .3s var(--n-bezier), - fill .3s var(--n-bezier); - `,[Z("button",` - background: var(--n-button-color); - color: var(--n-button-icon-color); - border: var(--n-button-border); - padding: 0; - `,[z("base-icon",` - font-size: var(--n-button-icon-size); - `)]),Rt("disabled",[Z("hover",n1,o1),q("&:hover",n1,o1),q("&:active",` - background: var(--n-item-color-pressed); - color: var(--n-item-text-color-pressed); - border: var(--n-item-border-pressed); - `,[Z("button",` - background: var(--n-button-color-pressed); - border: var(--n-button-border-pressed); - color: var(--n-button-icon-color-pressed); - `)]),Z("active",` - background: var(--n-item-color-active); - color: var(--n-item-text-color-active); - border: var(--n-item-border-active); - `,[q("&:hover",` - background: var(--n-item-color-active-hover); - `)])]),Z("disabled",` - cursor: not-allowed; - color: var(--n-item-text-color-disabled); - `,[Z("active, button",` - background-color: var(--n-item-color-disabled); - border: var(--n-item-border-disabled); - `)])]),Z("disabled",` - cursor: not-allowed; - `,[z("pagination-quick-jumper",` - color: var(--n-jumper-text-color-disabled); - `)]),Z("simple",` - display: flex; - align-items: center; - flex-wrap: nowrap; - `,[z("pagination-quick-jumper",[z("input",` - margin: 0; - `)])])]);function F2(e){var t;if(!e)return 10;const{defaultPageSize:n}=e;if(n!==void 0)return n;const o=(t=e.pageSizes)===null||t===void 0?void 0:t[0];return typeof o=="number"?o:(o==null?void 0:o.value)||10}function LW(e,t,n,o){let r=!1,i=!1,a=1,s=t;if(t===1)return{hasFastBackward:!1,hasFastForward:!1,fastForwardTo:s,fastBackwardTo:a,items:[{type:"page",label:1,active:e===1,mayBeFastBackward:!1,mayBeFastForward:!1}]};if(t===2)return{hasFastBackward:!1,hasFastForward:!1,fastForwardTo:s,fastBackwardTo:a,items:[{type:"page",label:1,active:e===1,mayBeFastBackward:!1,mayBeFastForward:!1},{type:"page",label:2,active:e===2,mayBeFastBackward:!0,mayBeFastForward:!1}]};const l=1,c=t;let u=e,d=e;const f=(n-5)/2;d+=Math.ceil(f),d=Math.min(Math.max(d,l+n-3),c-2),u-=Math.floor(f),u=Math.max(Math.min(u,c-n+3),l+2);let h=!1,p=!1;u>l+2&&(h=!0),d=l+1&&g.push({type:"page",label:l+1,mayBeFastBackward:!0,mayBeFastForward:!1,active:e===l+1});for(let m=u;m<=d;++m)g.push({type:"page",label:m,mayBeFastBackward:!1,mayBeFastForward:!1,active:e===m});return p?(i=!0,s=d+1,g.push({type:"fast-forward",active:!1,label:void 0,options:o?r1(d+1,c-1):null})):d===c-2&&g[g.length-1].label!==c-1&&g.push({type:"page",mayBeFastForward:!0,mayBeFastBackward:!1,label:c-1,active:e===c-1}),g[g.length-1].label!==c&&g.push({type:"page",mayBeFastForward:!1,mayBeFastBackward:!1,label:c,active:e===c}),{hasFastBackward:r,hasFastForward:i,fastBackwardTo:a,fastForwardTo:s,items:g}}function r1(e,t){const n=[];for(let o=e;o<=t;++o)n.push({label:`${o}`,value:o});return n}const FW=Object.assign(Object.assign({},Be.props),{simple:Boolean,page:Number,defaultPage:{type:Number,default:1},itemCount:Number,pageCount:Number,defaultPageCount:{type:Number,default:1},showSizePicker:Boolean,pageSize:Number,defaultPageSize:Number,pageSizes:{type:Array,default(){return[10]}},showQuickJumper:Boolean,size:{type:String,default:"medium"},disabled:Boolean,pageSlot:{type:Number,default:9},selectProps:Object,prev:Function,next:Function,goto:Function,prefix:Function,suffix:Function,label:Function,displayOrder:{type:Array,default:["pages","size-picker","quick-jumper"]},to:qo.propTo,showQuickJumpDropdown:{type:Boolean,default:!0},"onUpdate:page":[Function,Array],onUpdatePage:[Function,Array],"onUpdate:pageSize":[Function,Array],onUpdatePageSize:[Function,Array],onPageSizeChange:[Function,Array],onChange:[Function,Array]}),BW=be({name:"Pagination",props:FW,setup(e){const{mergedComponentPropsRef:t,mergedClsPrefixRef:n,inlineThemeDisabled:o,mergedRtlRef:r}=st(e),i=Be("Pagination","-pagination",DW,D2,e,n),{localeRef:a}=Hi("Pagination"),s=W(null),l=W(e.defaultPage),c=W(F2(e)),u=an(We(e,"page"),l),d=an(We(e,"pageSize"),c),f=F(()=>{const{itemCount:H}=e;if(H!==void 0)return Math.max(1,Math.ceil(H/d.value));const{pageCount:ye}=e;return ye!==void 0?Math.max(ye,1):1}),h=W("");Xt(()=>{e.simple,h.value=String(u.value)});const p=W(!1),g=W(!1),m=W(!1),b=W(!1),_=()=>{e.disabled||(p.value=!0,D())},C=()=>{e.disabled||(p.value=!1,D())},S=()=>{g.value=!0,D()},w=()=>{g.value=!1,D()},x=H=>{M(H)},y=F(()=>LW(u.value,f.value,e.pageSlot,e.showQuickJumpDropdown));Xt(()=>{y.value.hasFastBackward?y.value.hasFastForward||(p.value=!1,m.value=!1):(g.value=!1,b.value=!1)});const P=F(()=>{const H=a.value.selectionSuffix;return e.pageSizes.map(ye=>typeof ye=="number"?{label:`${ye} / ${H}`,value:ye}:ye)}),k=F(()=>{var H,ye;return((ye=(H=t==null?void 0:t.value)===null||H===void 0?void 0:H.Pagination)===null||ye===void 0?void 0:ye.inputSize)||bb(e.size)}),T=F(()=>{var H,ye;return((ye=(H=t==null?void 0:t.value)===null||H===void 0?void 0:H.Pagination)===null||ye===void 0?void 0:ye.selectSize)||bb(e.size)}),E=F(()=>(u.value-1)*d.value),R=F(()=>{const H=u.value*d.value-1,{itemCount:ye}=e;return ye!==void 0&&H>ye-1?ye-1:H}),K=F(()=>{const{itemCount:H}=e;return H!==void 0?H:(e.pageCount||1)*d.value}),N=pn("Pagination",r,n);function D(){Ht(()=>{var H;const{value:ye}=s;ye&&(ye.classList.add("transition-disabled"),(H=s.value)===null||H===void 0||H.offsetWidth,ye.classList.remove("transition-disabled"))})}function M(H){if(H===u.value)return;const{"onUpdate:page":ye,onUpdatePage:Oe,onChange:Ne,simple:L}=e;ye&&$e(ye,H),Oe&&$e(Oe,H),Ne&&$e(Ne,H),l.value=H,L&&(h.value=String(H))}function G(H){if(H===d.value)return;const{"onUpdate:pageSize":ye,onUpdatePageSize:Oe,onPageSizeChange:Ne}=e;ye&&$e(ye,H),Oe&&$e(Oe,H),Ne&&$e(Ne,H),c.value=H,f.value{u.value,d.value,D()});const Q=F(()=>{const{size:H}=e,{self:{buttonBorder:ye,buttonBorderHover:Oe,buttonBorderPressed:Ne,buttonIconColor:L,buttonIconColorHover:O,buttonIconColorPressed:oe,itemTextColor:_e,itemTextColorHover:te,itemTextColorPressed:ge,itemTextColorActive:ke,itemTextColorDisabled:I,itemColor:j,itemColorHover:ee,itemColorPressed:Ce,itemColorActive:ce,itemColorActiveHover:le,itemColorDisabled:re,itemBorder:de,itemBorderHover:De,itemBorderPressed:Le,itemBorderActive:Pe,itemBorderDisabled:Fe,itemBorderRadius:He,jumperTextColor:Ie,jumperTextColorDisabled:Qe,buttonColor:Ct,buttonColorHover:X,buttonColorPressed:ve,[Re("itemPadding",H)]:Ae,[Re("itemMargin",H)]:Ke,[Re("inputWidth",H)]:Ze,[Re("selectWidth",H)]:Je,[Re("inputMargin",H)]:tt,[Re("selectMargin",H)]:rt,[Re("jumperFontSize",H)]:vt,[Re("prefixMargin",H)]:sn,[Re("suffixMargin",H)]:Dt,[Re("itemSize",H)]:Se,[Re("buttonIconSize",H)]:Ve,[Re("itemFontSize",H)]:et,[`${Re("itemMargin",H)}Rtl`]:ht,[`${Re("inputMargin",H)}Rtl`]:bt},common:{cubicBezierEaseInOut:ut}}=i.value;return{"--n-prefix-margin":sn,"--n-suffix-margin":Dt,"--n-item-font-size":et,"--n-select-width":Je,"--n-select-margin":rt,"--n-input-width":Ze,"--n-input-margin":tt,"--n-input-margin-rtl":bt,"--n-item-size":Se,"--n-item-text-color":_e,"--n-item-text-color-disabled":I,"--n-item-text-color-hover":te,"--n-item-text-color-active":ke,"--n-item-text-color-pressed":ge,"--n-item-color":j,"--n-item-color-hover":ee,"--n-item-color-disabled":re,"--n-item-color-active":ce,"--n-item-color-active-hover":le,"--n-item-color-pressed":Ce,"--n-item-border":de,"--n-item-border-hover":De,"--n-item-border-disabled":Fe,"--n-item-border-active":Pe,"--n-item-border-pressed":Le,"--n-item-padding":Ae,"--n-item-border-radius":He,"--n-bezier":ut,"--n-jumper-font-size":vt,"--n-jumper-text-color":Ie,"--n-jumper-text-color-disabled":Qe,"--n-item-margin":Ke,"--n-item-margin-rtl":ht,"--n-button-icon-size":Ve,"--n-button-icon-color":L,"--n-button-icon-color-hover":O,"--n-button-icon-color-pressed":oe,"--n-button-color-hover":X,"--n-button-color":Ct,"--n-button-color-pressed":ve,"--n-button-border":ye,"--n-button-border-hover":Oe,"--n-button-border-pressed":Ne}}),xe=o?Pt("pagination",F(()=>{let H="";const{size:ye}=e;return H+=ye[0],H}),Q,e):void 0;return{rtlEnabled:N,mergedClsPrefix:n,locale:a,selfRef:s,mergedPage:u,pageItems:F(()=>y.value.items),mergedItemCount:K,jumperValue:h,pageSizeOptions:P,mergedPageSize:d,inputSize:k,selectSize:T,mergedTheme:i,mergedPageCount:f,startIndex:E,endIndex:R,showFastForwardMenu:m,showFastBackwardMenu:b,fastForwardActive:p,fastBackwardActive:g,handleMenuSelect:x,handleFastForwardMouseenter:_,handleFastForwardMouseleave:C,handleFastBackwardMouseenter:S,handleFastBackwardMouseleave:w,handleJumperInput:fe,handleBackwardClick:he,handleForwardClick:J,handlePageItemClick:ne,handleSizePickerChange:$,handleQuickJumperChange:Y,cssVars:o?void 0:Q,themeClass:xe==null?void 0:xe.themeClass,onRender:xe==null?void 0:xe.onRender}},render(){const{$slots:e,mergedClsPrefix:t,disabled:n,cssVars:o,mergedPage:r,mergedPageCount:i,pageItems:a,showSizePicker:s,showQuickJumper:l,mergedTheme:c,locale:u,inputSize:d,selectSize:f,mergedPageSize:h,pageSizeOptions:p,jumperValue:g,simple:m,prev:b,next:_,prefix:C,suffix:S,label:w,goto:x,handleJumperInput:y,handleSizePickerChange:P,handleBackwardClick:k,handlePageItemClick:T,handleForwardClick:E,handleQuickJumperChange:R,onRender:K}=this;K==null||K();const N=e.prefix||C,D=e.suffix||S,M=b||e.prev,G=_||e.next,J=w||e.label;return v("div",{ref:"selfRef",class:[`${t}-pagination`,this.themeClass,this.rtlEnabled&&`${t}-pagination--rtl`,n&&`${t}-pagination--disabled`,m&&`${t}-pagination--simple`],style:o},N?v("div",{class:`${t}-pagination-prefix`},N({page:r,pageSize:h,pageCount:i,startIndex:this.startIndex,endIndex:this.endIndex,itemCount:this.mergedItemCount})):null,this.displayOrder.map(he=>{switch(he){case"pages":return v(it,null,v("div",{class:[`${t}-pagination-item`,!M&&`${t}-pagination-item--button`,(r<=1||r>i||n)&&`${t}-pagination-item--disabled`],onClick:k},M?M({page:r,pageSize:h,pageCount:i,startIndex:this.startIndex,endIndex:this.endIndex,itemCount:this.mergedItemCount}):v(Ut,{clsPrefix:t},{default:()=>this.rtlEnabled?v(B0,null):v(D0,null)})),m?v(it,null,v("div",{class:`${t}-pagination-quick-jumper`},v(ur,{value:g,onUpdateValue:y,size:d,placeholder:"",disabled:n,theme:c.peers.Input,themeOverrides:c.peerOverrides.Input,onChange:R}))," /"," ",i):a.map((pe,B)=>{let $,A,Y;const{type:ne}=pe;switch(ne){case"page":const Q=pe.label;J?$=J({type:"page",node:Q,active:pe.active}):$=Q;break;case"fast-forward":const xe=this.fastForwardActive?v(Ut,{clsPrefix:t},{default:()=>this.rtlEnabled?v(L0,null):v(F0,null)}):v(Ut,{clsPrefix:t},{default:()=>v(N0,null)});J?$=J({type:"fast-forward",node:xe,active:this.fastForwardActive||this.showFastForwardMenu}):$=xe,A=this.handleFastForwardMouseenter,Y=this.handleFastForwardMouseleave;break;case"fast-backward":const H=this.fastBackwardActive?v(Ut,{clsPrefix:t},{default:()=>this.rtlEnabled?v(F0,null):v(L0,null)}):v(Ut,{clsPrefix:t},{default:()=>v(N0,null)});J?$=J({type:"fast-backward",node:H,active:this.fastBackwardActive||this.showFastBackwardMenu}):$=H,A=this.handleFastBackwardMouseenter,Y=this.handleFastBackwardMouseleave;break}const fe=v("div",{key:B,class:[`${t}-pagination-item`,pe.active&&`${t}-pagination-item--active`,ne!=="page"&&(ne==="fast-backward"&&this.showFastBackwardMenu||ne==="fast-forward"&&this.showFastForwardMenu)&&`${t}-pagination-item--hover`,n&&`${t}-pagination-item--disabled`,ne==="page"&&`${t}-pagination-item--clickable`],onClick:()=>{T(pe)},onMouseenter:A,onMouseleave:Y},$);if(ne==="page"&&!pe.mayBeFastBackward&&!pe.mayBeFastForward)return fe;{const Q=pe.type==="page"?pe.mayBeFastBackward?"fast-backward":"fast-forward":pe.type;return pe.type!=="page"&&!pe.options?fe:v(_m,{to:this.to,key:Q,disabled:n,trigger:"hover",virtualScroll:!0,style:{width:"60px"},theme:c.peers.Popselect,themeOverrides:c.peerOverrides.Popselect,builtinThemeOverrides:{peers:{InternalSelectMenu:{height:"calc(var(--n-option-height) * 4.6)"}}},nodeProps:()=>({style:{justifyContent:"center"}}),show:ne==="page"?!1:ne==="fast-backward"?this.showFastBackwardMenu:this.showFastForwardMenu,onUpdateShow:xe=>{ne!=="page"&&(xe?ne==="fast-backward"?this.showFastBackwardMenu=xe:this.showFastForwardMenu=xe:(this.showFastBackwardMenu=!1,this.showFastForwardMenu=!1))},options:pe.type!=="page"&&pe.options?pe.options:[],onUpdateValue:this.handleMenuSelect,scrollable:!0,showCheckmark:!1},{default:()=>fe})}}),v("div",{class:[`${t}-pagination-item`,!G&&`${t}-pagination-item--button`,{[`${t}-pagination-item--disabled`]:r<1||r>=i||n}],onClick:E},G?G({page:r,pageSize:h,pageCount:i,itemCount:this.mergedItemCount,startIndex:this.startIndex,endIndex:this.endIndex}):v(Ut,{clsPrefix:t},{default:()=>this.rtlEnabled?v(D0,null):v(B0,null)})));case"size-picker":return!m&&s?v(Du,Object.assign({consistentMenuWidth:!1,placeholder:"",showCheckmark:!1,to:this.to},this.selectProps,{size:f,options:p,value:h,disabled:n,theme:c.peers.Select,themeOverrides:c.peerOverrides.Select,onUpdateValue:P})):null;case"quick-jumper":return!m&&l?v("div",{class:`${t}-pagination-quick-jumper`},x?x():An(this.$slots.goto,()=>[u.goto]),v(ur,{value:g,onUpdateValue:y,size:d,placeholder:"",disabled:n,theme:c.peers.Input,themeOverrides:c.peerOverrides.Input,onChange:R})):null;default:return null}}),D?v("div",{class:`${t}-pagination-suffix`},D({page:r,pageSize:h,pageCount:i,startIndex:this.startIndex,endIndex:this.endIndex,itemCount:this.mergedItemCount})):null)}}),B2={padding:"8px 14px"},NW={name:"Tooltip",common:je,peers:{Popover:Yi},self(e){const{borderRadius:t,boxShadow2:n,popoverColor:o,textColor2:r}=e;return Object.assign(Object.assign({},B2),{borderRadius:t,boxShadow:n,color:o,textColor:r})}},Lu=NW;function HW(e){const{borderRadius:t,boxShadow2:n,baseColor:o}=e;return Object.assign(Object.assign({},B2),{borderRadius:t,boxShadow:n,color:Ge(o,"rgba(0, 0, 0, .85)"),textColor:o})}const jW={name:"Tooltip",common:xt,peers:{Popover:Ka},self:HW},Sm=jW,VW={name:"Ellipsis",common:je,peers:{Tooltip:Lu}},N2=VW,WW={name:"Ellipsis",common:xt,peers:{Tooltip:Sm}},H2=WW,j2={radioSizeSmall:"14px",radioSizeMedium:"16px",radioSizeLarge:"18px",labelPadding:"0 8px",labelFontWeight:"400"},UW={name:"Radio",common:je,self(e){const{borderColor:t,primaryColor:n,baseColor:o,textColorDisabled:r,inputColorDisabled:i,textColor2:a,opacityDisabled:s,borderRadius:l,fontSizeSmall:c,fontSizeMedium:u,fontSizeLarge:d,heightSmall:f,heightMedium:h,heightLarge:p,lineHeight:g}=e;return Object.assign(Object.assign({},j2),{labelLineHeight:g,buttonHeightSmall:f,buttonHeightMedium:h,buttonHeightLarge:p,fontSizeSmall:c,fontSizeMedium:u,fontSizeLarge:d,boxShadow:`inset 0 0 0 1px ${t}`,boxShadowActive:`inset 0 0 0 1px ${n}`,boxShadowFocus:`inset 0 0 0 1px ${n}, 0 0 0 2px ${Me(n,{alpha:.3})}`,boxShadowHover:`inset 0 0 0 1px ${n}`,boxShadowDisabled:`inset 0 0 0 1px ${t}`,color:"#0000",colorDisabled:i,colorActive:"#0000",textColor:a,textColorDisabled:r,dotColorActive:n,dotColorDisabled:t,buttonBorderColor:t,buttonBorderColorActive:n,buttonBorderColorHover:n,buttonColor:"#0000",buttonColorActive:n,buttonTextColor:a,buttonTextColorActive:o,buttonTextColorHover:n,opacityDisabled:s,buttonBoxShadowFocus:`inset 0 0 0 1px ${n}, 0 0 0 2px ${Me(n,{alpha:.3})}`,buttonBoxShadowHover:`inset 0 0 0 1px ${n}`,buttonBoxShadow:"inset 0 0 0 1px #0000",buttonBorderRadius:l})}},V2=UW;function qW(e){const{borderColor:t,primaryColor:n,baseColor:o,textColorDisabled:r,inputColorDisabled:i,textColor2:a,opacityDisabled:s,borderRadius:l,fontSizeSmall:c,fontSizeMedium:u,fontSizeLarge:d,heightSmall:f,heightMedium:h,heightLarge:p,lineHeight:g}=e;return Object.assign(Object.assign({},j2),{labelLineHeight:g,buttonHeightSmall:f,buttonHeightMedium:h,buttonHeightLarge:p,fontSizeSmall:c,fontSizeMedium:u,fontSizeLarge:d,boxShadow:`inset 0 0 0 1px ${t}`,boxShadowActive:`inset 0 0 0 1px ${n}`,boxShadowFocus:`inset 0 0 0 1px ${n}, 0 0 0 2px ${Me(n,{alpha:.2})}`,boxShadowHover:`inset 0 0 0 1px ${n}`,boxShadowDisabled:`inset 0 0 0 1px ${t}`,color:o,colorDisabled:i,colorActive:"#0000",textColor:a,textColorDisabled:r,dotColorActive:n,dotColorDisabled:t,buttonBorderColor:t,buttonBorderColorActive:n,buttonBorderColorHover:t,buttonColor:o,buttonColorActive:o,buttonTextColor:a,buttonTextColorActive:n,buttonTextColorHover:n,opacityDisabled:s,buttonBoxShadowFocus:`inset 0 0 0 1px ${n}, 0 0 0 2px ${Me(n,{alpha:.3})}`,buttonBoxShadowHover:"inset 0 0 0 1px #0000",buttonBoxShadow:"inset 0 0 0 1px #0000",buttonBorderRadius:l})}const KW={name:"Radio",common:xt,self:qW},km=KW,GW={padding:"4px 0",optionIconSizeSmall:"14px",optionIconSizeMedium:"16px",optionIconSizeLarge:"16px",optionIconSizeHuge:"18px",optionSuffixWidthSmall:"14px",optionSuffixWidthMedium:"14px",optionSuffixWidthLarge:"16px",optionSuffixWidthHuge:"16px",optionIconSuffixWidthSmall:"32px",optionIconSuffixWidthMedium:"32px",optionIconSuffixWidthLarge:"36px",optionIconSuffixWidthHuge:"36px",optionPrefixWidthSmall:"14px",optionPrefixWidthMedium:"14px",optionPrefixWidthLarge:"16px",optionPrefixWidthHuge:"16px",optionIconPrefixWidthSmall:"36px",optionIconPrefixWidthMedium:"36px",optionIconPrefixWidthLarge:"40px",optionIconPrefixWidthHuge:"40px"};function W2(e){const{primaryColor:t,textColor2:n,dividerColor:o,hoverColor:r,popoverColor:i,invertedColor:a,borderRadius:s,fontSizeSmall:l,fontSizeMedium:c,fontSizeLarge:u,fontSizeHuge:d,heightSmall:f,heightMedium:h,heightLarge:p,heightHuge:g,textColor3:m,opacityDisabled:b}=e;return Object.assign(Object.assign({},GW),{optionHeightSmall:f,optionHeightMedium:h,optionHeightLarge:p,optionHeightHuge:g,borderRadius:s,fontSizeSmall:l,fontSizeMedium:c,fontSizeLarge:u,fontSizeHuge:d,optionTextColor:n,optionTextColorHover:n,optionTextColorActive:t,optionTextColorChildActive:t,color:i,dividerColor:o,suffixColor:n,prefixColor:n,optionColorHover:r,optionColorActive:Me(t,{alpha:.1}),groupHeaderTextColor:m,optionTextColorInverted:"#BBB",optionTextColorHoverInverted:"#FFF",optionTextColorActiveInverted:"#FFF",optionTextColorChildActiveInverted:"#FFF",colorInverted:a,dividerColorInverted:"#BBB",suffixColorInverted:"#BBB",prefixColorInverted:"#BBB",optionColorHoverInverted:t,optionColorActiveInverted:t,groupHeaderTextColorInverted:"#AAA",optionOpacityDisabled:b})}const YW={name:"Dropdown",common:xt,peers:{Popover:Ka},self:W2},Pm=YW,XW={name:"Dropdown",common:je,peers:{Popover:Yi},self(e){const{primaryColorSuppl:t,primaryColor:n,popoverColor:o}=e,r=W2(e);return r.colorInverted=o,r.optionColorActive=Me(n,{alpha:.15}),r.optionColorActiveInverted=t,r.optionColorHoverInverted=t,r}},Tm=XW,ZW={thPaddingSmall:"8px",thPaddingMedium:"12px",thPaddingLarge:"12px",tdPaddingSmall:"8px",tdPaddingMedium:"12px",tdPaddingLarge:"12px",sorterSize:"15px",resizableContainerSize:"8px",resizableSize:"2px",filterSize:"15px",paginationMargin:"12px 0 0 0",emptyPadding:"48px 0",actionPadding:"8px 12px",actionButtonMargin:"0 8px 0 0"};function U2(e){const{cardColor:t,modalColor:n,popoverColor:o,textColor2:r,textColor1:i,tableHeaderColor:a,tableColorHover:s,iconColor:l,primaryColor:c,fontWeightStrong:u,borderRadius:d,lineHeight:f,fontSizeSmall:h,fontSizeMedium:p,fontSizeLarge:g,dividerColor:m,heightSmall:b,opacityDisabled:_,tableColorStriped:C}=e;return Object.assign(Object.assign({},ZW),{actionDividerColor:m,lineHeight:f,borderRadius:d,fontSizeSmall:h,fontSizeMedium:p,fontSizeLarge:g,borderColor:Ge(t,m),tdColorHover:Ge(t,s),tdColorSorting:Ge(t,s),tdColorStriped:Ge(t,C),thColor:Ge(t,a),thColorHover:Ge(Ge(t,a),s),thColorSorting:Ge(Ge(t,a),s),tdColor:t,tdTextColor:r,thTextColor:i,thFontWeight:u,thButtonColorHover:s,thIconColor:l,thIconColorActive:c,borderColorModal:Ge(n,m),tdColorHoverModal:Ge(n,s),tdColorSortingModal:Ge(n,s),tdColorStripedModal:Ge(n,C),thColorModal:Ge(n,a),thColorHoverModal:Ge(Ge(n,a),s),thColorSortingModal:Ge(Ge(n,a),s),tdColorModal:n,borderColorPopover:Ge(o,m),tdColorHoverPopover:Ge(o,s),tdColorSortingPopover:Ge(o,s),tdColorStripedPopover:Ge(o,C),thColorPopover:Ge(o,a),thColorHoverPopover:Ge(Ge(o,a),s),thColorSortingPopover:Ge(Ge(o,a),s),tdColorPopover:o,boxShadowBefore:"inset -12px 0 8px -12px rgba(0, 0, 0, .18)",boxShadowAfter:"inset 12px 0 8px -12px rgba(0, 0, 0, .18)",loadingColor:c,loadingSize:b,opacityLoading:_})}const JW={name:"DataTable",common:xt,peers:{Button:zu,Checkbox:P2,Radio:km,Pagination:D2,Scrollbar:Gi,Empty:Mu,Popover:Ka,Ellipsis:H2,Dropdown:Pm},self:U2},QW=JW,eU={name:"DataTable",common:je,peers:{Button:Wn,Checkbox:Ga,Radio:V2,Pagination:L2,Scrollbar:Vn,Empty:Ki,Popover:Yi,Ellipsis:N2,Dropdown:Tm},self(e){const t=U2(e);return t.boxShadowAfter="inset 12px 0 8px -12px rgba(0, 0, 0, .36)",t.boxShadowBefore="inset -12px 0 8px -12px rgba(0, 0, 0, .36)",t}},tU=eU,nU=Object.assign(Object.assign({},Aa),Be.props),Fu=be({name:"Tooltip",props:nU,__popover__:!0,setup(e){const{mergedClsPrefixRef:t}=st(e),n=Be("Tooltip","-tooltip",void 0,Sm,e,t),o=W(null);return Object.assign(Object.assign({},{syncPosition(){o.value.syncPosition()},setShow(i){o.value.setShow(i)}}),{popoverRef:o,mergedTheme:n,popoverThemeOverrides:F(()=>n.value.self)})},render(){const{mergedTheme:e,internalExtraClass:t}=this;return v(hl,Object.assign(Object.assign({},this.$props),{theme:e.peers.Popover,themeOverrides:e.peerOverrides.Popover,builtinThemeOverrides:this.popoverThemeOverrides,internalExtraClass:t.concat("tooltip"),ref:"popoverRef"}),this.$slots)}}),q2=z("ellipsis",{overflow:"hidden"},[Rt("line-clamp",` - white-space: nowrap; - display: inline-block; - vertical-align: bottom; - max-width: 100%; - `),Z("line-clamp",` - display: -webkit-inline-box; - -webkit-box-orient: vertical; - `),Z("cursor-pointer",` - cursor: pointer; - `)]);function Fh(e){return`${e}-ellipsis--line-clamp`}function Bh(e,t){return`${e}-ellipsis--cursor-${t}`}const K2=Object.assign(Object.assign({},Be.props),{expandTrigger:String,lineClamp:[Number,String],tooltip:{type:[Boolean,Object],default:!0}}),Rm=be({name:"Ellipsis",inheritAttrs:!1,props:K2,setup(e,{slots:t,attrs:n}){const o=F_(),r=Be("Ellipsis","-ellipsis",q2,H2,e,o),i=W(null),a=W(null),s=W(null),l=W(!1),c=F(()=>{const{lineClamp:m}=e,{value:b}=l;return m!==void 0?{textOverflow:"","-webkit-line-clamp":b?"":m}:{textOverflow:b?"":"ellipsis","-webkit-line-clamp":""}});function u(){let m=!1;const{value:b}=l;if(b)return!0;const{value:_}=i;if(_){const{lineClamp:C}=e;if(h(_),C!==void 0)m=_.scrollHeight<=_.offsetHeight;else{const{value:S}=a;S&&(m=S.getBoundingClientRect().width<=_.getBoundingClientRect().width)}p(_,m)}return m}const d=F(()=>e.expandTrigger==="click"?()=>{var m;const{value:b}=l;b&&((m=s.value)===null||m===void 0||m.setShow(!1)),l.value=!b}:void 0);Zc(()=>{var m;e.tooltip&&((m=s.value)===null||m===void 0||m.setShow(!1))});const f=()=>v("span",Object.assign({},Ln(n,{class:[`${o.value}-ellipsis`,e.lineClamp!==void 0?Fh(o.value):void 0,e.expandTrigger==="click"?Bh(o.value,"pointer"):void 0],style:c.value}),{ref:"triggerRef",onClick:d.value,onMouseenter:e.expandTrigger==="click"?u:void 0}),e.lineClamp?t:v("span",{ref:"triggerInnerRef"},t));function h(m){if(!m)return;const b=c.value,_=Fh(o.value);e.lineClamp!==void 0?g(m,_,"add"):g(m,_,"remove");for(const C in b)m.style[C]!==b[C]&&(m.style[C]=b[C])}function p(m,b){const _=Bh(o.value,"pointer");e.expandTrigger==="click"&&!b?g(m,_,"add"):g(m,_,"remove")}function g(m,b,_){_==="add"?m.classList.contains(b)||m.classList.add(b):m.classList.contains(b)&&m.classList.remove(b)}return{mergedTheme:r,triggerRef:i,triggerInnerRef:a,tooltipRef:s,handleClick:d,renderTrigger:f,getTooltipDisabled:u}},render(){var e;const{tooltip:t,renderTrigger:n,$slots:o}=this;if(t){const{mergedTheme:r}=this;return v(Fu,Object.assign({ref:"tooltipRef",placement:"top"},t,{getDisabled:this.getTooltipDisabled,theme:r.peers.Tooltip,themeOverrides:r.peerOverrides.Tooltip}),{trigger:n,default:(e=o.tooltip)!==null&&e!==void 0?e:o.default})}else return n()}}),oU=be({name:"PerformantEllipsis",props:K2,inheritAttrs:!1,setup(e,{attrs:t,slots:n}){const o=W(!1),r=F_();return ei("-ellipsis",q2,r),{mouseEntered:o,renderTrigger:()=>{const{lineClamp:a}=e,s=r.value;return v("span",Object.assign({},Ln(t,{class:[`${s}-ellipsis`,a!==void 0?Fh(s):void 0,e.expandTrigger==="click"?Bh(s,"pointer"):void 0],style:a===void 0?{textOverflow:"ellipsis"}:{"-webkit-line-clamp":a}}),{onMouseenter:()=>{o.value=!0}}),a?n:v("span",null,n))}}},render(){return this.mouseEntered?v(Rm,Ln({},this.$attrs,this.$props),this.$slots):this.renderTrigger()}}),rU=Object.assign(Object.assign({},Be.props),{onUnstableColumnResize:Function,pagination:{type:[Object,Boolean],default:!1},paginateSinglePage:{type:Boolean,default:!0},minHeight:[Number,String],maxHeight:[Number,String],columns:{type:Array,default:()=>[]},rowClassName:[String,Function],rowProps:Function,rowKey:Function,summary:[Function],data:{type:Array,default:()=>[]},loading:Boolean,bordered:{type:Boolean,default:void 0},bottomBordered:{type:Boolean,default:void 0},striped:Boolean,scrollX:[Number,String],defaultCheckedRowKeys:{type:Array,default:()=>[]},checkedRowKeys:Array,singleLine:{type:Boolean,default:!0},singleColumn:Boolean,size:{type:String,default:"medium"},remote:Boolean,defaultExpandedRowKeys:{type:Array,default:[]},defaultExpandAll:Boolean,expandedRowKeys:Array,stickyExpandedRows:Boolean,virtualScroll:Boolean,tableLayout:{type:String,default:"auto"},allowCheckingNotLoaded:Boolean,cascade:{type:Boolean,default:!0},childrenKey:{type:String,default:"children"},indent:{type:Number,default:16},flexHeight:Boolean,summaryPlacement:{type:String,default:"bottom"},paginationBehaviorOnFilter:{type:String,default:"current"},filterIconPopoverProps:Object,scrollbarProps:Object,renderCell:Function,renderExpandIcon:Function,spinProps:{type:Object,default:{}},onLoad:Function,"onUpdate:page":[Function,Array],onUpdatePage:[Function,Array],"onUpdate:pageSize":[Function,Array],onUpdatePageSize:[Function,Array],"onUpdate:sorter":[Function,Array],onUpdateSorter:[Function,Array],"onUpdate:filters":[Function,Array],onUpdateFilters:[Function,Array],"onUpdate:checkedRowKeys":[Function,Array],onUpdateCheckedRowKeys:[Function,Array],"onUpdate:expandedRowKeys":[Function,Array],onUpdateExpandedRowKeys:[Function,Array],onScroll:Function,onPageChange:[Function,Array],onPageSizeChange:[Function,Array],onSorterChange:[Function,Array],onFiltersChange:[Function,Array],onCheckedRowKeysChange:[Function,Array]}),Oo="n-data-table",iU=be({name:"DataTableRenderSorter",props:{render:{type:Function,required:!0},order:{type:[String,Boolean],default:!1}},render(){const{render:e,order:t}=this;return e({order:t})}}),aU=be({name:"SortIcon",props:{column:{type:Object,required:!0}},setup(e){const{mergedComponentPropsRef:t}=st(),{mergedSortStateRef:n,mergedClsPrefixRef:o}=Ue(Oo),r=F(()=>n.value.find(l=>l.columnKey===e.column.key)),i=F(()=>r.value!==void 0),a=F(()=>{const{value:l}=r;return l&&i.value?l.order:!1}),s=F(()=>{var l,c;return((c=(l=t==null?void 0:t.value)===null||l===void 0?void 0:l.DataTable)===null||c===void 0?void 0:c.renderSorter)||e.column.renderSorter});return{mergedClsPrefix:o,active:i,mergedSortOrder:a,mergedRenderSorter:s}},render(){const{mergedRenderSorter:e,mergedSortOrder:t,mergedClsPrefix:n}=this,{renderSorterIcon:o}=this.column;return e?v(iU,{render:e,order:t}):v("span",{class:[`${n}-data-table-sorter`,t==="ascend"&&`${n}-data-table-sorter--asc`,t==="descend"&&`${n}-data-table-sorter--desc`]},o?o({order:t}):v(Ut,{clsPrefix:n},{default:()=>v($N,null)}))}}),G2={name:String,value:{type:[String,Number,Boolean],default:"on"},checked:{type:Boolean,default:void 0},defaultChecked:Boolean,disabled:{type:Boolean,default:void 0},label:String,size:String,onUpdateChecked:[Function,Array],"onUpdate:checked":[Function,Array],checkedValue:{type:Boolean,default:void 0}},Y2="n-radio-group";function X2(e){const t=Ue(Y2,null),n=pr(e,{mergedSize(_){const{size:C}=e;if(C!==void 0)return C;if(t){const{mergedSizeRef:{value:S}}=t;if(S!==void 0)return S}return _?_.mergedSize.value:"medium"},mergedDisabled(_){return!!(e.disabled||t!=null&&t.disabledRef.value||_!=null&&_.disabled.value)}}),{mergedSizeRef:o,mergedDisabledRef:r}=n,i=W(null),a=W(null),s=W(e.defaultChecked),l=We(e,"checked"),c=an(l,s),u=kt(()=>t?t.valueRef.value===e.value:c.value),d=kt(()=>{const{name:_}=e;if(_!==void 0)return _;if(t)return t.nameRef.value}),f=W(!1);function h(){if(t){const{doUpdateValue:_}=t,{value:C}=e;$e(_,C)}else{const{onUpdateChecked:_,"onUpdate:checked":C}=e,{nTriggerFormInput:S,nTriggerFormChange:w}=n;_&&$e(_,!0),C&&$e(C,!0),S(),w(),s.value=!0}}function p(){r.value||u.value||h()}function g(){p(),i.value&&(i.value.checked=u.value)}function m(){f.value=!1}function b(){f.value=!0}return{mergedClsPrefix:t?t.mergedClsPrefixRef:st(e).mergedClsPrefixRef,inputRef:i,labelRef:a,mergedName:d,mergedDisabled:r,renderSafeChecked:u,focus:f,mergedSize:o,handleRadioInputChange:g,handleRadioInputBlur:m,handleRadioInputFocus:b}}const sU=z("radio",` - line-height: var(--n-label-line-height); - outline: none; - position: relative; - user-select: none; - -webkit-user-select: none; - display: inline-flex; - align-items: flex-start; - flex-wrap: nowrap; - font-size: var(--n-font-size); - word-break: break-word; -`,[Z("checked",[V("dot",` - background-color: var(--n-color-active); - `)]),V("dot-wrapper",` - position: relative; - flex-shrink: 0; - flex-grow: 0; - width: var(--n-radio-size); - `),z("radio-input",` - position: absolute; - border: 0; - border-radius: inherit; - left: 0; - right: 0; - top: 0; - bottom: 0; - opacity: 0; - z-index: 1; - cursor: pointer; - `),V("dot",` - position: absolute; - top: 50%; - left: 0; - transform: translateY(-50%); - height: var(--n-radio-size); - width: var(--n-radio-size); - background: var(--n-color); - box-shadow: var(--n-box-shadow); - border-radius: 50%; - transition: - background-color .3s var(--n-bezier), - box-shadow .3s var(--n-bezier); - `,[q("&::before",` - content: ""; - opacity: 0; - position: absolute; - left: 4px; - top: 4px; - height: calc(100% - 8px); - width: calc(100% - 8px); - border-radius: 50%; - transform: scale(.8); - background: var(--n-dot-color-active); - transition: - opacity .3s var(--n-bezier), - background-color .3s var(--n-bezier), - transform .3s var(--n-bezier); - `),Z("checked",{boxShadow:"var(--n-box-shadow-active)"},[q("&::before",` - opacity: 1; - transform: scale(1); - `)])]),V("label",` - color: var(--n-text-color); - padding: var(--n-label-padding); - font-weight: var(--n-label-font-weight); - display: inline-block; - transition: color .3s var(--n-bezier); - `),Rt("disabled",` - cursor: pointer; - `,[q("&:hover",[V("dot",{boxShadow:"var(--n-box-shadow-hover)"})]),Z("focus",[q("&:not(:active)",[V("dot",{boxShadow:"var(--n-box-shadow-focus)"})])])]),Z("disabled",` - cursor: not-allowed; - `,[V("dot",{boxShadow:"var(--n-box-shadow-disabled)",backgroundColor:"var(--n-color-disabled)"},[q("&::before",{backgroundColor:"var(--n-dot-color-disabled)"}),Z("checked",` - opacity: 1; - `)]),V("label",{color:"var(--n-text-color-disabled)"}),z("radio-input",` - cursor: not-allowed; - `)])]),lU=Object.assign(Object.assign({},Be.props),G2),Z2=be({name:"Radio",props:lU,setup(e){const t=X2(e),n=Be("Radio","-radio",sU,km,e,t.mergedClsPrefix),o=F(()=>{const{mergedSize:{value:c}}=t,{common:{cubicBezierEaseInOut:u},self:{boxShadow:d,boxShadowActive:f,boxShadowDisabled:h,boxShadowFocus:p,boxShadowHover:g,color:m,colorDisabled:b,colorActive:_,textColor:C,textColorDisabled:S,dotColorActive:w,dotColorDisabled:x,labelPadding:y,labelLineHeight:P,labelFontWeight:k,[Re("fontSize",c)]:T,[Re("radioSize",c)]:E}}=n.value;return{"--n-bezier":u,"--n-label-line-height":P,"--n-label-font-weight":k,"--n-box-shadow":d,"--n-box-shadow-active":f,"--n-box-shadow-disabled":h,"--n-box-shadow-focus":p,"--n-box-shadow-hover":g,"--n-color":m,"--n-color-active":_,"--n-color-disabled":b,"--n-dot-color-active":w,"--n-dot-color-disabled":x,"--n-font-size":T,"--n-radio-size":E,"--n-text-color":C,"--n-text-color-disabled":S,"--n-label-padding":y}}),{inlineThemeDisabled:r,mergedClsPrefixRef:i,mergedRtlRef:a}=st(e),s=pn("Radio",a,i),l=r?Pt("radio",F(()=>t.mergedSize.value[0]),o,e):void 0;return Object.assign(t,{rtlEnabled:s,cssVars:r?void 0:o,themeClass:l==null?void 0:l.themeClass,onRender:l==null?void 0:l.onRender})},render(){const{$slots:e,mergedClsPrefix:t,onRender:n,label:o}=this;return n==null||n(),v("label",{class:[`${t}-radio`,this.themeClass,this.rtlEnabled&&`${t}-radio--rtl`,this.mergedDisabled&&`${t}-radio--disabled`,this.renderSafeChecked&&`${t}-radio--checked`,this.focus&&`${t}-radio--focus`],style:this.cssVars},v("input",{ref:"inputRef",type:"radio",class:`${t}-radio-input`,value:this.value,name:this.mergedName,checked:this.renderSafeChecked,disabled:this.mergedDisabled,onChange:this.handleRadioInputChange,onFocus:this.handleRadioInputFocus,onBlur:this.handleRadioInputBlur}),v("div",{class:`${t}-radio__dot-wrapper`}," ",v("div",{class:[`${t}-radio__dot`,this.renderSafeChecked&&`${t}-radio__dot--checked`]})),$t(e.default,r=>!r&&!o?null:v("div",{ref:"labelRef",class:`${t}-radio__label`},r||o)))}}),cU=z("radio-group",` - display: inline-block; - font-size: var(--n-font-size); -`,[V("splitor",` - display: inline-block; - vertical-align: bottom; - width: 1px; - transition: - background-color .3s var(--n-bezier), - opacity .3s var(--n-bezier); - background: var(--n-button-border-color); - `,[Z("checked",{backgroundColor:"var(--n-button-border-color-active)"}),Z("disabled",{opacity:"var(--n-opacity-disabled)"})]),Z("button-group",` - white-space: nowrap; - height: var(--n-height); - line-height: var(--n-height); - `,[z("radio-button",{height:"var(--n-height)",lineHeight:"var(--n-height)"}),V("splitor",{height:"var(--n-height)"})]),z("radio-button",` - vertical-align: bottom; - outline: none; - position: relative; - user-select: none; - -webkit-user-select: none; - display: inline-block; - box-sizing: border-box; - padding-left: 14px; - padding-right: 14px; - white-space: nowrap; - transition: - background-color .3s var(--n-bezier), - opacity .3s var(--n-bezier), - border-color .3s var(--n-bezier), - color .3s var(--n-bezier); - background: var(--n-button-color); - color: var(--n-button-text-color); - border-top: 1px solid var(--n-button-border-color); - border-bottom: 1px solid var(--n-button-border-color); - `,[z("radio-input",` - pointer-events: none; - position: absolute; - border: 0; - border-radius: inherit; - left: 0; - right: 0; - top: 0; - bottom: 0; - opacity: 0; - z-index: 1; - `),V("state-border",` - z-index: 1; - pointer-events: none; - position: absolute; - box-shadow: var(--n-button-box-shadow); - transition: box-shadow .3s var(--n-bezier); - left: -1px; - bottom: -1px; - right: -1px; - top: -1px; - `),q("&:first-child",` - border-top-left-radius: var(--n-button-border-radius); - border-bottom-left-radius: var(--n-button-border-radius); - border-left: 1px solid var(--n-button-border-color); - `,[V("state-border",` - border-top-left-radius: var(--n-button-border-radius); - border-bottom-left-radius: var(--n-button-border-radius); - `)]),q("&:last-child",` - border-top-right-radius: var(--n-button-border-radius); - border-bottom-right-radius: var(--n-button-border-radius); - border-right: 1px solid var(--n-button-border-color); - `,[V("state-border",` - border-top-right-radius: var(--n-button-border-radius); - border-bottom-right-radius: var(--n-button-border-radius); - `)]),Rt("disabled",` - cursor: pointer; - `,[q("&:hover",[V("state-border",` - transition: box-shadow .3s var(--n-bezier); - box-shadow: var(--n-button-box-shadow-hover); - `),Rt("checked",{color:"var(--n-button-text-color-hover)"})]),Z("focus",[q("&:not(:active)",[V("state-border",{boxShadow:"var(--n-button-box-shadow-focus)"})])])]),Z("checked",` - background: var(--n-button-color-active); - color: var(--n-button-text-color-active); - border-color: var(--n-button-border-color-active); - `),Z("disabled",` - cursor: not-allowed; - opacity: var(--n-opacity-disabled); - `)])]);function uU(e,t,n){var o;const r=[];let i=!1;for(let a=0;a{const{value:w}=n,{common:{cubicBezierEaseInOut:x},self:{buttonBorderColor:y,buttonBorderColorActive:P,buttonBorderRadius:k,buttonBoxShadow:T,buttonBoxShadowFocus:E,buttonBoxShadowHover:R,buttonColor:K,buttonColorActive:N,buttonTextColor:D,buttonTextColorActive:M,buttonTextColorHover:G,opacityDisabled:J,[Re("buttonHeight",w)]:he,[Re("fontSize",w)]:pe}}=d.value;return{"--n-font-size":pe,"--n-bezier":x,"--n-button-border-color":y,"--n-button-border-color-active":P,"--n-button-border-radius":k,"--n-button-box-shadow":T,"--n-button-box-shadow-focus":E,"--n-button-box-shadow-hover":R,"--n-button-color":K,"--n-button-color-active":N,"--n-button-text-color":D,"--n-button-text-color-hover":G,"--n-button-text-color-active":M,"--n-height":he,"--n-opacity-disabled":J}}),S=c?Pt("radio-group",F(()=>n.value[0]),C,e):void 0;return{selfElRef:t,rtlEnabled:_,mergedClsPrefix:l,mergedValue:p,handleFocusout:b,handleFocusin:m,cssVars:c?void 0:C,themeClass:S==null?void 0:S.themeClass,onRender:S==null?void 0:S.onRender}},render(){var e;const{mergedValue:t,mergedClsPrefix:n,handleFocusin:o,handleFocusout:r}=this,{children:i,isButtonGroup:a}=uU(Ra(mw(this)),t,n);return(e=this.onRender)===null||e===void 0||e.call(this),v("div",{onFocusin:o,onFocusout:r,ref:"selfElRef",class:[`${n}-radio-group`,this.rtlEnabled&&`${n}-radio-group--rtl`,this.themeClass,a&&`${n}-radio-group--button-group`],style:this.cssVars},i)}}),fU=be({name:"RadioButton",props:G2,setup:X2,render(){const{mergedClsPrefix:e}=this;return v("label",{class:[`${e}-radio-button`,this.mergedDisabled&&`${e}-radio-button--disabled`,this.renderSafeChecked&&`${e}-radio-button--checked`,this.focus&&[`${e}-radio-button--focus`]]},v("input",{ref:"inputRef",type:"radio",class:`${e}-radio-input`,value:this.value,name:this.mergedName,checked:this.renderSafeChecked,disabled:this.mergedDisabled,onChange:this.handleRadioInputChange,onFocus:this.handleRadioInputFocus,onBlur:this.handleRadioInputBlur}),v("div",{class:`${e}-radio-button__state-border`}),$t(this.$slots.default,t=>!t&&!this.label?null:v("div",{ref:"labelRef",class:`${e}-radio__label`},t||this.label)))}}),Q2=40,eS=40;function i1(e){if(e.type==="selection")return e.width===void 0?Q2:bn(e.width);if(e.type==="expand")return e.width===void 0?eS:bn(e.width);if(!("children"in e))return typeof e.width=="string"?bn(e.width):e.width}function hU(e){var t,n;if(e.type==="selection")return qt((t=e.width)!==null&&t!==void 0?t:Q2);if(e.type==="expand")return qt((n=e.width)!==null&&n!==void 0?n:eS);if(!("children"in e))return qt(e.width)}function wo(e){return e.type==="selection"?"__n_selection__":e.type==="expand"?"__n_expand__":e.key}function a1(e){return e&&(typeof e=="object"?Object.assign({},e):e)}function pU(e){return e==="ascend"?1:e==="descend"?-1:0}function mU(e,t,n){return n!==void 0&&(e=Math.min(e,typeof n=="number"?n:Number.parseFloat(n))),t!==void 0&&(e=Math.max(e,typeof t=="number"?t:Number.parseFloat(t))),e}function gU(e,t){if(t!==void 0)return{width:t,minWidth:t,maxWidth:t};const n=hU(e),{minWidth:o,maxWidth:r}=e;return{width:n,minWidth:qt(o)||n,maxWidth:qt(r)}}function vU(e,t,n){return typeof n=="function"?n(e,t):n||""}function of(e){return e.filterOptionValues!==void 0||e.filterOptionValue===void 0&&e.defaultFilterOptionValues!==void 0}function rf(e){return"children"in e?!1:!!e.sorter}function tS(e){return"children"in e&&e.children.length?!1:!!e.resizable}function s1(e){return"children"in e?!1:!!e.filter&&(!!e.filterOptions||!!e.renderFilterMenu)}function l1(e){if(e){if(e==="descend")return"ascend"}else return"descend";return!1}function bU(e,t){return e.sorter===void 0?null:t===null||t.columnKey!==e.key?{columnKey:e.key,sorter:e.sorter,order:l1(!1)}:Object.assign(Object.assign({},t),{order:l1(t.order)})}function nS(e,t){return t.find(n=>n.columnKey===e.key&&n.order)!==void 0}function yU(e){return typeof e=="string"?e.replace(/,/g,"\\,"):e==null?"":`${e}`.replace(/,/g,"\\,")}function xU(e,t){const n=e.filter(i=>i.type!=="expand"&&i.type!=="selection"),o=n.map(i=>i.title).join(","),r=t.map(i=>n.map(a=>yU(i[a.key])).join(","));return[o,...r].join(` -`)}const CU=be({name:"DataTableFilterMenu",props:{column:{type:Object,required:!0},radioGroupName:{type:String,required:!0},multiple:{type:Boolean,required:!0},value:{type:[Array,String,Number],default:null},options:{type:Array,required:!0},onConfirm:{type:Function,required:!0},onClear:{type:Function,required:!0},onChange:{type:Function,required:!0}},setup(e){const{mergedClsPrefixRef:t,mergedRtlRef:n}=st(e),o=pn("DataTable",n,t),{mergedClsPrefixRef:r,mergedThemeRef:i,localeRef:a}=Ue(Oo),s=W(e.value),l=F(()=>{const{value:p}=s;return Array.isArray(p)?p:null}),c=F(()=>{const{value:p}=s;return of(e.column)?Array.isArray(p)&&p.length&&p[0]||null:Array.isArray(p)?null:p});function u(p){e.onChange(p)}function d(p){e.multiple&&Array.isArray(p)?s.value=p:of(e.column)&&!Array.isArray(p)?s.value=[p]:s.value=p}function f(){u(s.value),e.onConfirm()}function h(){e.multiple||of(e.column)?u([]):u(null),e.onClear()}return{mergedClsPrefix:r,rtlEnabled:o,mergedTheme:i,locale:a,checkboxGroupValue:l,radioGroupValue:c,handleChange:d,handleConfirmClick:f,handleClearClick:h}},render(){const{mergedTheme:e,locale:t,mergedClsPrefix:n}=this;return v("div",{class:[`${n}-data-table-filter-menu`,this.rtlEnabled&&`${n}-data-table-filter-menu--rtl`]},v(Io,null,{default:()=>{const{checkboxGroupValue:o,handleChange:r}=this;return this.multiple?v(lW,{value:o,class:`${n}-data-table-filter-menu__group`,onUpdateValue:r},{default:()=>this.options.map(i=>v(ml,{key:i.value,theme:e.peers.Checkbox,themeOverrides:e.peerOverrides.Checkbox,value:i.value},{default:()=>i.label}))}):v(J2,{name:this.radioGroupName,class:`${n}-data-table-filter-menu__group`,value:this.radioGroupValue,onUpdateValue:this.handleChange},{default:()=>this.options.map(i=>v(Z2,{key:i.value,value:i.value,theme:e.peers.Radio,themeOverrides:e.peerOverrides.Radio},{default:()=>i.label}))})}}),v("div",{class:`${n}-data-table-filter-menu__action`},v(zt,{size:"tiny",theme:e.peers.Button,themeOverrides:e.peerOverrides.Button,onClick:this.handleClearClick},{default:()=>t.clear}),v(zt,{theme:e.peers.Button,themeOverrides:e.peerOverrides.Button,type:"primary",size:"tiny",onClick:this.handleConfirmClick},{default:()=>t.confirm})))}}),wU=be({name:"DataTableRenderFilter",props:{render:{type:Function,required:!0},active:{type:Boolean,default:!1},show:{type:Boolean,default:!1}},render(){const{render:e,active:t,show:n}=this;return e({active:t,show:n})}});function _U(e,t,n){const o=Object.assign({},e);return o[t]=n,o}const SU=be({name:"DataTableFilterButton",props:{column:{type:Object,required:!0},options:{type:Array,default:()=>[]}},setup(e){const{mergedComponentPropsRef:t}=st(),{mergedThemeRef:n,mergedClsPrefixRef:o,mergedFilterStateRef:r,filterMenuCssVarsRef:i,paginationBehaviorOnFilterRef:a,doUpdatePage:s,doUpdateFilters:l,filterIconPopoverPropsRef:c}=Ue(Oo),u=W(!1),d=r,f=F(()=>e.column.filterMultiple!==!1),h=F(()=>{const C=d.value[e.column.key];if(C===void 0){const{value:S}=f;return S?[]:null}return C}),p=F(()=>{const{value:C}=h;return Array.isArray(C)?C.length>0:C!==null}),g=F(()=>{var C,S;return((S=(C=t==null?void 0:t.value)===null||C===void 0?void 0:C.DataTable)===null||S===void 0?void 0:S.renderFilter)||e.column.renderFilter});function m(C){const S=_U(d.value,e.column.key,C);l(S,e.column),a.value==="first"&&s(1)}function b(){u.value=!1}function _(){u.value=!1}return{mergedTheme:n,mergedClsPrefix:o,active:p,showPopover:u,mergedRenderFilter:g,filterIconPopoverProps:c,filterMultiple:f,mergedFilterValue:h,filterMenuCssVars:i,handleFilterChange:m,handleFilterMenuConfirm:_,handleFilterMenuCancel:b}},render(){const{mergedTheme:e,mergedClsPrefix:t,handleFilterMenuCancel:n,filterIconPopoverProps:o}=this;return v(hl,Object.assign({show:this.showPopover,onUpdateShow:r=>this.showPopover=r,trigger:"click",theme:e.peers.Popover,themeOverrides:e.peerOverrides.Popover,placement:"bottom"},o,{style:{padding:0}}),{trigger:()=>{const{mergedRenderFilter:r}=this;if(r)return v(wU,{"data-data-table-filter":!0,render:r,active:this.active,show:this.showPopover});const{renderFilterIcon:i}=this.column;return v("div",{"data-data-table-filter":!0,class:[`${t}-data-table-filter`,{[`${t}-data-table-filter--active`]:this.active,[`${t}-data-table-filter--show`]:this.showPopover}]},i?i({active:this.active,show:this.showPopover}):v(Ut,{clsPrefix:t},{default:()=>v(DN,null)}))},default:()=>{const{renderFilterMenu:r}=this.column;return r?r({hide:n}):v(CU,{style:this.filterMenuCssVars,radioGroupName:String(this.column.key),multiple:this.filterMultiple,value:this.mergedFilterValue,options:this.options,column:this.column,onChange:this.handleFilterChange,onClear:this.handleFilterMenuCancel,onConfirm:this.handleFilterMenuConfirm})}})}}),kU=be({name:"ColumnResizeButton",props:{onResizeStart:Function,onResize:Function,onResizeEnd:Function},setup(e){const{mergedClsPrefixRef:t}=Ue(Oo),n=W(!1);let o=0;function r(l){return l.clientX}function i(l){var c;l.preventDefault();const u=n.value;o=r(l),n.value=!0,u||(At("mousemove",window,a),At("mouseup",window,s),(c=e.onResizeStart)===null||c===void 0||c.call(e))}function a(l){var c;(c=e.onResize)===null||c===void 0||c.call(e,r(l)-o)}function s(){var l;n.value=!1,(l=e.onResizeEnd)===null||l===void 0||l.call(e),Tt("mousemove",window,a),Tt("mouseup",window,s)}return on(()=>{Tt("mousemove",window,a),Tt("mouseup",window,s)}),{mergedClsPrefix:t,active:n,handleMousedown:i}},render(){const{mergedClsPrefix:e}=this;return v("span",{"data-data-table-resizable":!0,class:[`${e}-data-table-resize-button`,this.active&&`${e}-data-table-resize-button--active`],onMousedown:this.handleMousedown})}}),oS=be({name:"DropdownDivider",props:{clsPrefix:{type:String,required:!0}},render(){return v("div",{class:`${this.clsPrefix}-dropdown-divider`})}});function rS(e){const{textColorBase:t,opacity1:n,opacity2:o,opacity3:r,opacity4:i,opacity5:a}=e;return{color:t,opacity1Depth:n,opacity2Depth:o,opacity3Depth:r,opacity4Depth:i,opacity5Depth:a}}const PU={name:"Icon",common:xt,self:rS},TU=PU,RU={name:"Icon",common:je,self:rS},EU=RU,$U=z("icon",` - height: 1em; - width: 1em; - line-height: 1em; - text-align: center; - display: inline-block; - position: relative; - fill: currentColor; - transform: translateZ(0); -`,[Z("color-transition",{transition:"color .3s var(--n-bezier)"}),Z("depth",{color:"var(--n-color)"},[q("svg",{opacity:"var(--n-opacity)",transition:"opacity .3s var(--n-bezier)"})]),q("svg",{height:"1em",width:"1em"})]),AU=Object.assign(Object.assign({},Be.props),{depth:[String,Number],size:[Number,String],color:String,component:Object}),vr=be({_n_icon__:!0,name:"Icon",inheritAttrs:!1,props:AU,setup(e){const{mergedClsPrefixRef:t,inlineThemeDisabled:n}=st(e),o=Be("Icon","-icon",$U,TU,e,t),r=F(()=>{const{depth:a}=e,{common:{cubicBezierEaseInOut:s},self:l}=o.value;if(a!==void 0){const{color:c,[`opacity${a}Depth`]:u}=l;return{"--n-bezier":s,"--n-color":c,"--n-opacity":u}}return{"--n-bezier":s,"--n-color":"","--n-opacity":""}}),i=n?Pt("icon",F(()=>`${e.depth||"d"}`),r,e):void 0;return{mergedClsPrefix:t,mergedStyle:F(()=>{const{size:a,color:s}=e;return{fontSize:qt(a),color:s}}),cssVars:n?void 0:r,themeClass:i==null?void 0:i.themeClass,onRender:i==null?void 0:i.onRender}},render(){var e;const{$parent:t,depth:n,mergedClsPrefix:o,component:r,onRender:i,themeClass:a}=this;return!((e=t==null?void 0:t.$options)===null||e===void 0)&&e._n_icon__&&lr("icon","don't wrap `n-icon` inside `n-icon`"),i==null||i(),v("i",Ln(this.$attrs,{role:"img",class:[`${o}-icon`,a,{[`${o}-icon--depth`]:n,[`${o}-icon--color-transition`]:n!==void 0}],style:[this.cssVars,this.mergedStyle]}),r?v(r):this.$slots)}}),Em="n-dropdown-menu",Bu="n-dropdown",c1="n-dropdown-option";function Nh(e,t){return e.type==="submenu"||e.type===void 0&&e[t]!==void 0}function IU(e){return e.type==="group"}function iS(e){return e.type==="divider"}function OU(e){return e.type==="render"}const aS=be({name:"DropdownOption",props:{clsPrefix:{type:String,required:!0},tmNode:{type:Object,required:!0},parentKey:{type:[String,Number],default:null},placement:{type:String,default:"right-start"},props:Object,scrollable:Boolean},setup(e){const t=Ue(Bu),{hoverKeyRef:n,keyboardKeyRef:o,lastToggledSubmenuKeyRef:r,pendingKeyPathRef:i,activeKeyPathRef:a,animatedRef:s,mergedShowRef:l,renderLabelRef:c,renderIconRef:u,labelFieldRef:d,childrenFieldRef:f,renderOptionRef:h,nodePropsRef:p,menuPropsRef:g}=t,m=Ue(c1,null),b=Ue(Em),_=Ue(Va),C=F(()=>e.tmNode.rawNode),S=F(()=>{const{value:G}=f;return Nh(e.tmNode.rawNode,G)}),w=F(()=>{const{disabled:G}=e.tmNode;return G}),x=F(()=>{if(!S.value)return!1;const{key:G,disabled:J}=e.tmNode;if(J)return!1;const{value:he}=n,{value:pe}=o,{value:B}=r,{value:$}=i;return he!==null?$.includes(G):pe!==null?$.includes(G)&&$[$.length-1]!==G:B!==null?$.includes(G):!1}),y=F(()=>o.value===null&&!s.value),P=x8(x,300,y),k=F(()=>!!(m!=null&&m.enteringSubmenuRef.value)),T=W(!1);at(c1,{enteringSubmenuRef:T});function E(){T.value=!0}function R(){T.value=!1}function K(){const{parentKey:G,tmNode:J}=e;J.disabled||l.value&&(r.value=G,o.value=null,n.value=J.key)}function N(){const{tmNode:G}=e;G.disabled||l.value&&n.value!==G.key&&K()}function D(G){if(e.tmNode.disabled||!l.value)return;const{relatedTarget:J}=G;J&&!so({target:J},"dropdownOption")&&!so({target:J},"scrollbarRail")&&(n.value=null)}function M(){const{value:G}=S,{tmNode:J}=e;l.value&&!G&&!J.disabled&&(t.doSelect(J.key,J.rawNode),t.doUpdateShow(!1))}return{labelField:d,renderLabel:c,renderIcon:u,siblingHasIcon:b.showIconRef,siblingHasSubmenu:b.hasSubmenuRef,menuProps:g,popoverBody:_,animated:s,mergedShowSubmenu:F(()=>P.value&&!k.value),rawNode:C,hasSubmenu:S,pending:kt(()=>{const{value:G}=i,{key:J}=e.tmNode;return G.includes(J)}),childActive:kt(()=>{const{value:G}=a,{key:J}=e.tmNode,he=G.findIndex(pe=>J===pe);return he===-1?!1:he{const{value:G}=a,{key:J}=e.tmNode,he=G.findIndex(pe=>J===pe);return he===-1?!1:he===G.length-1}),mergedDisabled:w,renderOption:h,nodeProps:p,handleClick:M,handleMouseMove:N,handleMouseEnter:K,handleMouseLeave:D,handleSubmenuBeforeEnter:E,handleSubmenuAfterEnter:R}},render(){var e,t;const{animated:n,rawNode:o,mergedShowSubmenu:r,clsPrefix:i,siblingHasIcon:a,siblingHasSubmenu:s,renderLabel:l,renderIcon:c,renderOption:u,nodeProps:d,props:f,scrollable:h}=this;let p=null;if(r){const _=(e=this.menuProps)===null||e===void 0?void 0:e.call(this,o,o.children);p=v(sS,Object.assign({},_,{clsPrefix:i,scrollable:this.scrollable,tmNodes:this.tmNode.children,parentKey:this.tmNode.key}))}const g={class:[`${i}-dropdown-option-body`,this.pending&&`${i}-dropdown-option-body--pending`,this.active&&`${i}-dropdown-option-body--active`,this.childActive&&`${i}-dropdown-option-body--child-active`,this.mergedDisabled&&`${i}-dropdown-option-body--disabled`],onMousemove:this.handleMouseMove,onMouseenter:this.handleMouseEnter,onMouseleave:this.handleMouseLeave,onClick:this.handleClick},m=d==null?void 0:d(o),b=v("div",Object.assign({class:[`${i}-dropdown-option`,m==null?void 0:m.class],"data-dropdown-option":!0},m),v("div",Ln(g,f),[v("div",{class:[`${i}-dropdown-option-body__prefix`,a&&`${i}-dropdown-option-body__prefix--show-icon`]},[c?c(o):Wt(o.icon)]),v("div",{"data-dropdown-option":!0,class:`${i}-dropdown-option-body__label`},l?l(o):Wt((t=o[this.labelField])!==null&&t!==void 0?t:o.title)),v("div",{"data-dropdown-option":!0,class:[`${i}-dropdown-option-body__suffix`,s&&`${i}-dropdown-option-body__suffix--has-submenu`]},this.hasSubmenu?v(vr,null,{default:()=>v(fm,null)}):null)]),this.hasSubmenu?v(qp,null,{default:()=>[v(Kp,null,{default:()=>v("div",{class:`${i}-dropdown-offset-container`},v(Yp,{show:this.mergedShowSubmenu,placement:this.placement,to:h&&this.popoverBody||void 0,teleportDisabled:!h},{default:()=>v("div",{class:`${i}-dropdown-menu-wrapper`},n?v(fn,{onBeforeEnter:this.handleSubmenuBeforeEnter,onAfterEnter:this.handleSubmenuAfterEnter,name:"fade-in-scale-up-transition",appear:!0},{default:()=>p}):p)}))})]}):null);return u?u({node:b,option:o}):b}}),MU=be({name:"DropdownGroupHeader",props:{clsPrefix:{type:String,required:!0},tmNode:{type:Object,required:!0}},setup(){const{showIconRef:e,hasSubmenuRef:t}=Ue(Em),{renderLabelRef:n,labelFieldRef:o,nodePropsRef:r,renderOptionRef:i}=Ue(Bu);return{labelField:o,showIcon:e,hasSubmenu:t,renderLabel:n,nodeProps:r,renderOption:i}},render(){var e;const{clsPrefix:t,hasSubmenu:n,showIcon:o,nodeProps:r,renderLabel:i,renderOption:a}=this,{rawNode:s}=this.tmNode,l=v("div",Object.assign({class:`${t}-dropdown-option`},r==null?void 0:r(s)),v("div",{class:`${t}-dropdown-option-body ${t}-dropdown-option-body--group`},v("div",{"data-dropdown-option":!0,class:[`${t}-dropdown-option-body__prefix`,o&&`${t}-dropdown-option-body__prefix--show-icon`]},Wt(s.icon)),v("div",{class:`${t}-dropdown-option-body__label`,"data-dropdown-option":!0},i?i(s):Wt((e=s.title)!==null&&e!==void 0?e:s[this.labelField])),v("div",{class:[`${t}-dropdown-option-body__suffix`,n&&`${t}-dropdown-option-body__suffix--has-submenu`],"data-dropdown-option":!0})));return a?a({node:l,option:s}):l}}),zU=be({name:"NDropdownGroup",props:{clsPrefix:{type:String,required:!0},tmNode:{type:Object,required:!0},parentKey:{type:[String,Number],default:null}},render(){const{tmNode:e,parentKey:t,clsPrefix:n}=this,{children:o}=e;return v(it,null,v(MU,{clsPrefix:n,tmNode:e,key:e.key}),o==null?void 0:o.map(r=>{const{rawNode:i}=r;return i.show===!1?null:iS(i)?v(oS,{clsPrefix:n,key:r.key}):r.isGroup?(lr("dropdown","`group` node is not allowed to be put in `group` node."),null):v(aS,{clsPrefix:n,tmNode:r,parentKey:t,key:r.key})}))}}),DU=be({name:"DropdownRenderOption",props:{tmNode:{type:Object,required:!0}},render(){const{rawNode:{render:e,props:t}}=this.tmNode;return v("div",t,[e==null?void 0:e()])}}),sS=be({name:"DropdownMenu",props:{scrollable:Boolean,showArrow:Boolean,arrowStyle:[String,Object],clsPrefix:{type:String,required:!0},tmNodes:{type:Array,default:()=>[]},parentKey:{type:[String,Number],default:null}},setup(e){const{renderIconRef:t,childrenFieldRef:n}=Ue(Bu);at(Em,{showIconRef:F(()=>{const r=t.value;return e.tmNodes.some(i=>{var a;if(i.isGroup)return(a=i.children)===null||a===void 0?void 0:a.some(({rawNode:l})=>r?r(l):l.icon);const{rawNode:s}=i;return r?r(s):s.icon})}),hasSubmenuRef:F(()=>{const{value:r}=n;return e.tmNodes.some(i=>{var a;if(i.isGroup)return(a=i.children)===null||a===void 0?void 0:a.some(({rawNode:l})=>Nh(l,r));const{rawNode:s}=i;return Nh(s,r)})})});const o=W(null);return at(sl,null),at(ll,null),at(Va,o),{bodyRef:o}},render(){const{parentKey:e,clsPrefix:t,scrollable:n}=this,o=this.tmNodes.map(r=>{const{rawNode:i}=r;return i.show===!1?null:OU(i)?v(DU,{tmNode:r,key:r.key}):iS(i)?v(oS,{clsPrefix:t,key:r.key}):IU(i)?v(zU,{clsPrefix:t,tmNode:r,parentKey:e,key:r.key}):v(aS,{clsPrefix:t,tmNode:r,parentKey:e,key:r.key,props:i.props,scrollable:n})});return v("div",{class:[`${t}-dropdown-menu`,n&&`${t}-dropdown-menu--scrollable`],ref:"bodyRef"},n?v(Z_,{contentClass:`${t}-dropdown-menu__content`},{default:()=>o}):o,this.showArrow?n2({clsPrefix:t,arrowStyle:this.arrowStyle,arrowClass:void 0,arrowWrapperClass:void 0,arrowWrapperStyle:void 0}):null)}}),LU=z("dropdown-menu",` - transform-origin: var(--v-transform-origin); - background-color: var(--n-color); - border-radius: var(--n-border-radius); - box-shadow: var(--n-box-shadow); - position: relative; - transition: - background-color .3s var(--n-bezier), - box-shadow .3s var(--n-bezier); -`,[qa(),z("dropdown-option",` - position: relative; - `,[q("a",` - text-decoration: none; - color: inherit; - outline: none; - `,[q("&::before",` - content: ""; - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - `)]),z("dropdown-option-body",` - display: flex; - cursor: pointer; - position: relative; - height: var(--n-option-height); - line-height: var(--n-option-height); - font-size: var(--n-font-size); - color: var(--n-option-text-color); - transition: color .3s var(--n-bezier); - `,[q("&::before",` - content: ""; - position: absolute; - top: 0; - bottom: 0; - left: 4px; - right: 4px; - transition: background-color .3s var(--n-bezier); - border-radius: var(--n-border-radius); - `),Rt("disabled",[Z("pending",` - color: var(--n-option-text-color-hover); - `,[V("prefix, suffix",` - color: var(--n-option-text-color-hover); - `),q("&::before","background-color: var(--n-option-color-hover);")]),Z("active",` - color: var(--n-option-text-color-active); - `,[V("prefix, suffix",` - color: var(--n-option-text-color-active); - `),q("&::before","background-color: var(--n-option-color-active);")]),Z("child-active",` - color: var(--n-option-text-color-child-active); - `,[V("prefix, suffix",` - color: var(--n-option-text-color-child-active); - `)])]),Z("disabled",` - cursor: not-allowed; - opacity: var(--n-option-opacity-disabled); - `),Z("group",` - font-size: calc(var(--n-font-size) - 1px); - color: var(--n-group-header-text-color); - `,[V("prefix",` - width: calc(var(--n-option-prefix-width) / 2); - `,[Z("show-icon",` - width: calc(var(--n-option-icon-prefix-width) / 2); - `)])]),V("prefix",` - width: var(--n-option-prefix-width); - display: flex; - justify-content: center; - align-items: center; - color: var(--n-prefix-color); - transition: color .3s var(--n-bezier); - z-index: 1; - `,[Z("show-icon",` - width: var(--n-option-icon-prefix-width); - `),z("icon",` - font-size: var(--n-option-icon-size); - `)]),V("label",` - white-space: nowrap; - flex: 1; - z-index: 1; - `),V("suffix",` - box-sizing: border-box; - flex-grow: 0; - flex-shrink: 0; - display: flex; - justify-content: flex-end; - align-items: center; - min-width: var(--n-option-suffix-width); - padding: 0 8px; - transition: color .3s var(--n-bezier); - color: var(--n-suffix-color); - z-index: 1; - `,[Z("has-submenu",` - width: var(--n-option-icon-suffix-width); - `),z("icon",` - font-size: var(--n-option-icon-size); - `)]),z("dropdown-menu","pointer-events: all;")]),z("dropdown-offset-container",` - pointer-events: none; - position: absolute; - left: 0; - right: 0; - top: -4px; - bottom: -4px; - `)]),z("dropdown-divider",` - transition: background-color .3s var(--n-bezier); - background-color: var(--n-divider-color); - height: 1px; - margin: 4px 0; - `),z("dropdown-menu-wrapper",` - transform-origin: var(--v-transform-origin); - width: fit-content; - `),q(">",[z("scrollbar",` - height: inherit; - max-height: inherit; - `)]),Rt("scrollable",` - padding: var(--n-padding); - `),Z("scrollable",[V("content",` - padding: var(--n-padding); - `)])]),FU={animated:{type:Boolean,default:!0},keyboard:{type:Boolean,default:!0},size:{type:String,default:"medium"},inverted:Boolean,placement:{type:String,default:"bottom"},onSelect:[Function,Array],options:{type:Array,default:()=>[]},menuProps:Function,showArrow:Boolean,renderLabel:Function,renderIcon:Function,renderOption:Function,nodeProps:Function,labelField:{type:String,default:"label"},keyField:{type:String,default:"key"},childrenField:{type:String,default:"children"},value:[String,Number]},BU=Object.keys(Aa),NU=Object.assign(Object.assign(Object.assign({},Aa),FU),Be.props),$m=be({name:"Dropdown",inheritAttrs:!1,props:NU,setup(e){const t=W(!1),n=an(We(e,"show"),t),o=F(()=>{const{keyField:R,childrenField:K}=e;return Pi(e.options,{getKey(N){return N[R]},getDisabled(N){return N.disabled===!0},getIgnored(N){return N.type==="divider"||N.type==="render"},getChildren(N){return N[K]}})}),r=F(()=>o.value.treeNodes),i=W(null),a=W(null),s=W(null),l=F(()=>{var R,K,N;return(N=(K=(R=i.value)!==null&&R!==void 0?R:a.value)!==null&&K!==void 0?K:s.value)!==null&&N!==void 0?N:null}),c=F(()=>o.value.getPath(l.value).keyPath),u=F(()=>o.value.getPath(e.value).keyPath),d=kt(()=>e.keyboard&&n.value);I8({keydown:{ArrowUp:{prevent:!0,handler:w},ArrowRight:{prevent:!0,handler:S},ArrowDown:{prevent:!0,handler:x},ArrowLeft:{prevent:!0,handler:C},Enter:{prevent:!0,handler:y},Escape:_}},d);const{mergedClsPrefixRef:f,inlineThemeDisabled:h}=st(e),p=Be("Dropdown","-dropdown",LU,Pm,e,f);at(Bu,{labelFieldRef:We(e,"labelField"),childrenFieldRef:We(e,"childrenField"),renderLabelRef:We(e,"renderLabel"),renderIconRef:We(e,"renderIcon"),hoverKeyRef:i,keyboardKeyRef:a,lastToggledSubmenuKeyRef:s,pendingKeyPathRef:c,activeKeyPathRef:u,animatedRef:We(e,"animated"),mergedShowRef:n,nodePropsRef:We(e,"nodeProps"),renderOptionRef:We(e,"renderOption"),menuPropsRef:We(e,"menuProps"),doSelect:g,doUpdateShow:m}),ft(n,R=>{!e.animated&&!R&&b()});function g(R,K){const{onSelect:N}=e;N&&$e(N,R,K)}function m(R){const{"onUpdate:show":K,onUpdateShow:N}=e;K&&$e(K,R),N&&$e(N,R),t.value=R}function b(){i.value=null,a.value=null,s.value=null}function _(){m(!1)}function C(){k("left")}function S(){k("right")}function w(){k("up")}function x(){k("down")}function y(){const R=P();R!=null&&R.isLeaf&&n.value&&(g(R.key,R.rawNode),m(!1))}function P(){var R;const{value:K}=o,{value:N}=l;return!K||N===null?null:(R=K.getNode(N))!==null&&R!==void 0?R:null}function k(R){const{value:K}=l,{value:{getFirstAvailableNode:N}}=o;let D=null;if(K===null){const M=N();M!==null&&(D=M.key)}else{const M=P();if(M){let G;switch(R){case"down":G=M.getNext();break;case"up":G=M.getPrev();break;case"right":G=M.getChild();break;case"left":G=M.getParent();break}G&&(D=G.key)}}D!==null&&(i.value=null,a.value=D)}const T=F(()=>{const{size:R,inverted:K}=e,{common:{cubicBezierEaseInOut:N},self:D}=p.value,{padding:M,dividerColor:G,borderRadius:J,optionOpacityDisabled:he,[Re("optionIconSuffixWidth",R)]:pe,[Re("optionSuffixWidth",R)]:B,[Re("optionIconPrefixWidth",R)]:$,[Re("optionPrefixWidth",R)]:A,[Re("fontSize",R)]:Y,[Re("optionHeight",R)]:ne,[Re("optionIconSize",R)]:fe}=D,Q={"--n-bezier":N,"--n-font-size":Y,"--n-padding":M,"--n-border-radius":J,"--n-option-height":ne,"--n-option-prefix-width":A,"--n-option-icon-prefix-width":$,"--n-option-suffix-width":B,"--n-option-icon-suffix-width":pe,"--n-option-icon-size":fe,"--n-divider-color":G,"--n-option-opacity-disabled":he};return K?(Q["--n-color"]=D.colorInverted,Q["--n-option-color-hover"]=D.optionColorHoverInverted,Q["--n-option-color-active"]=D.optionColorActiveInverted,Q["--n-option-text-color"]=D.optionTextColorInverted,Q["--n-option-text-color-hover"]=D.optionTextColorHoverInverted,Q["--n-option-text-color-active"]=D.optionTextColorActiveInverted,Q["--n-option-text-color-child-active"]=D.optionTextColorChildActiveInverted,Q["--n-prefix-color"]=D.prefixColorInverted,Q["--n-suffix-color"]=D.suffixColorInverted,Q["--n-group-header-text-color"]=D.groupHeaderTextColorInverted):(Q["--n-color"]=D.color,Q["--n-option-color-hover"]=D.optionColorHover,Q["--n-option-color-active"]=D.optionColorActive,Q["--n-option-text-color"]=D.optionTextColor,Q["--n-option-text-color-hover"]=D.optionTextColorHover,Q["--n-option-text-color-active"]=D.optionTextColorActive,Q["--n-option-text-color-child-active"]=D.optionTextColorChildActive,Q["--n-prefix-color"]=D.prefixColor,Q["--n-suffix-color"]=D.suffixColor,Q["--n-group-header-text-color"]=D.groupHeaderTextColor),Q}),E=h?Pt("dropdown",F(()=>`${e.size[0]}${e.inverted?"i":""}`),T,e):void 0;return{mergedClsPrefix:f,mergedTheme:p,tmNodes:r,mergedShow:n,handleAfterLeave:()=>{e.animated&&b()},doUpdateShow:m,cssVars:h?void 0:T,themeClass:E==null?void 0:E.themeClass,onRender:E==null?void 0:E.onRender}},render(){const e=(o,r,i,a,s)=>{var l;const{mergedClsPrefix:c,menuProps:u}=this;(l=this.onRender)===null||l===void 0||l.call(this);const d=(u==null?void 0:u(void 0,this.tmNodes.map(h=>h.rawNode)))||{},f={ref:gw(r),class:[o,`${c}-dropdown`,this.themeClass],clsPrefix:c,tmNodes:this.tmNodes,style:[...i,this.cssVars],showArrow:this.showArrow,arrowStyle:this.arrowStyle,scrollable:this.scrollable,onMouseenter:a,onMouseleave:s};return v(sS,Ln(this.$attrs,f,d))},{mergedTheme:t}=this,n={show:this.mergedShow,theme:t.peers.Popover,themeOverrides:t.peerOverrides.Popover,internalOnAfterLeave:this.handleAfterLeave,internalRenderBody:e,onUpdateShow:this.doUpdateShow,"onUpdate:show":void 0};return v(hl,Object.assign({},Qn(this.$props,BU),n),{trigger:()=>{var o,r;return(r=(o=this.$slots).default)===null||r===void 0?void 0:r.call(o)}})}}),lS="_n_all__",cS="_n_none__";function HU(e,t,n,o){return e?r=>{for(const i of e)switch(r){case lS:n(!0);return;case cS:o(!0);return;default:if(typeof i=="object"&&i.key===r){i.onSelect(t.value);return}}}:()=>{}}function jU(e,t){return e?e.map(n=>{switch(n){case"all":return{label:t.checkTableAll,key:lS};case"none":return{label:t.uncheckTableAll,key:cS};default:return n}}):[]}const VU=be({name:"DataTableSelectionMenu",props:{clsPrefix:{type:String,required:!0}},setup(e){const{props:t,localeRef:n,checkOptionsRef:o,rawPaginatedDataRef:r,doCheckAll:i,doUncheckAll:a}=Ue(Oo),s=F(()=>HU(o.value,r,i,a)),l=F(()=>jU(o.value,n.value));return()=>{var c,u,d,f;const{clsPrefix:h}=e;return v($m,{theme:(u=(c=t.theme)===null||c===void 0?void 0:c.peers)===null||u===void 0?void 0:u.Dropdown,themeOverrides:(f=(d=t.themeOverrides)===null||d===void 0?void 0:d.peers)===null||f===void 0?void 0:f.Dropdown,options:l.value,onSelect:s.value},{default:()=>v(Ut,{clsPrefix:h,class:`${h}-data-table-check-extra`},{default:()=>v(j_,null)})})}}});function af(e){return typeof e.title=="function"?e.title(e):e.title}const uS=be({name:"DataTableHeader",props:{discrete:{type:Boolean,default:!0}},setup(){const{mergedClsPrefixRef:e,scrollXRef:t,fixedColumnLeftMapRef:n,fixedColumnRightMapRef:o,mergedCurrentPageRef:r,allRowsCheckedRef:i,someRowsCheckedRef:a,rowsRef:s,colsRef:l,mergedThemeRef:c,checkOptionsRef:u,mergedSortStateRef:d,componentId:f,mergedTableLayoutRef:h,headerCheckboxDisabledRef:p,onUnstableColumnResize:g,doUpdateResizableWidth:m,handleTableHeaderScroll:b,deriveNextSorter:_,doUncheckAll:C,doCheckAll:S}=Ue(Oo),w=W({});function x(R){const K=w.value[R];return K==null?void 0:K.getBoundingClientRect().width}function y(){i.value?C():S()}function P(R,K){if(so(R,"dataTableFilter")||so(R,"dataTableResizable")||!rf(K))return;const N=d.value.find(M=>M.columnKey===K.key)||null,D=bU(K,N);_(D)}const k=new Map;function T(R){k.set(R.key,x(R.key))}function E(R,K){const N=k.get(R.key);if(N===void 0)return;const D=N+K,M=mU(D,R.minWidth,R.maxWidth);g(D,M,R,x),m(R,M)}return{cellElsRef:w,componentId:f,mergedSortState:d,mergedClsPrefix:e,scrollX:t,fixedColumnLeftMap:n,fixedColumnRightMap:o,currentPage:r,allRowsChecked:i,someRowsChecked:a,rows:s,cols:l,mergedTheme:c,checkOptions:u,mergedTableLayout:h,headerCheckboxDisabled:p,handleCheckboxUpdateChecked:y,handleColHeaderClick:P,handleTableHeaderScroll:b,handleColumnResizeStart:T,handleColumnResize:E}},render(){const{cellElsRef:e,mergedClsPrefix:t,fixedColumnLeftMap:n,fixedColumnRightMap:o,currentPage:r,allRowsChecked:i,someRowsChecked:a,rows:s,cols:l,mergedTheme:c,checkOptions:u,componentId:d,discrete:f,mergedTableLayout:h,headerCheckboxDisabled:p,mergedSortState:g,handleColHeaderClick:m,handleCheckboxUpdateChecked:b,handleColumnResizeStart:_,handleColumnResize:C}=this,S=v("thead",{class:`${t}-data-table-thead`,"data-n-id":d},s.map(y=>v("tr",{class:`${t}-data-table-tr`},y.map(({column:P,colSpan:k,rowSpan:T,isLast:E})=>{var R,K;const N=wo(P),{ellipsis:D}=P,M=()=>P.type==="selection"?P.multiple!==!1?v(it,null,v(ml,{key:r,privateInsideTable:!0,checked:i,indeterminate:a,disabled:p,onUpdateChecked:b}),u?v(VU,{clsPrefix:t}):null):null:v(it,null,v("div",{class:`${t}-data-table-th__title-wrapper`},v("div",{class:`${t}-data-table-th__title`},D===!0||D&&!D.tooltip?v("div",{class:`${t}-data-table-th__ellipsis`},af(P)):D&&typeof D=="object"?v(Rm,Object.assign({},D,{theme:c.peers.Ellipsis,themeOverrides:c.peerOverrides.Ellipsis}),{default:()=>af(P)}):af(P)),rf(P)?v(aU,{column:P}):null),s1(P)?v(SU,{column:P,options:P.filterOptions}):null,tS(P)?v(kU,{onResizeStart:()=>{_(P)},onResize:he=>{C(P,he)}}):null),G=N in n,J=N in o;return v("th",{ref:he=>e[N]=he,key:N,style:{textAlign:P.titleAlign||P.align,left:zn((R=n[N])===null||R===void 0?void 0:R.start),right:zn((K=o[N])===null||K===void 0?void 0:K.start)},colspan:k,rowspan:T,"data-col-key":N,class:[`${t}-data-table-th`,(G||J)&&`${t}-data-table-th--fixed-${G?"left":"right"}`,{[`${t}-data-table-th--sorting`]:nS(P,g),[`${t}-data-table-th--filterable`]:s1(P),[`${t}-data-table-th--sortable`]:rf(P),[`${t}-data-table-th--selection`]:P.type==="selection",[`${t}-data-table-th--last`]:E},P.className],onClick:P.type!=="selection"&&P.type!=="expand"&&!("children"in P)?he=>{m(he,P)}:void 0},M())}))));if(!f)return S;const{handleTableHeaderScroll:w,scrollX:x}=this;return v("div",{class:`${t}-data-table-base-table-header`,onScroll:w},v("table",{ref:"body",class:`${t}-data-table-table`,style:{minWidth:qt(x),tableLayout:h}},v("colgroup",null,l.map(y=>v("col",{key:y.key,style:y.style}))),S))}}),WU=be({name:"DataTableCell",props:{clsPrefix:{type:String,required:!0},row:{type:Object,required:!0},index:{type:Number,required:!0},column:{type:Object,required:!0},isSummary:Boolean,mergedTheme:{type:Object,required:!0},renderCell:Function},render(){var e;const{isSummary:t,column:n,row:o,renderCell:r}=this;let i;const{render:a,key:s,ellipsis:l}=n;if(a&&!t?i=a(o,this.index):t?i=(e=o[s])===null||e===void 0?void 0:e.value:i=r?r(Th(o,s),o,n):Th(o,s),l)if(typeof l=="object"){const{mergedTheme:c}=this;return n.ellipsisComponent==="performant-ellipsis"?v(oU,Object.assign({},l,{theme:c.peers.Ellipsis,themeOverrides:c.peerOverrides.Ellipsis}),{default:()=>i}):v(Rm,Object.assign({},l,{theme:c.peers.Ellipsis,themeOverrides:c.peerOverrides.Ellipsis}),{default:()=>i})}else return v("span",{class:`${this.clsPrefix}-data-table-td__ellipsis`},i);return i}}),u1=be({name:"DataTableExpandTrigger",props:{clsPrefix:{type:String,required:!0},expanded:Boolean,loading:Boolean,onClick:{type:Function,required:!0},renderExpandIcon:{type:Function}},render(){const{clsPrefix:e}=this;return v("div",{class:[`${e}-data-table-expand-trigger`,this.expanded&&`${e}-data-table-expand-trigger--expanded`],onClick:this.onClick,onMousedown:t=>{t.preventDefault()}},v(Ui,null,{default:()=>this.loading?v(ti,{key:"loading",clsPrefix:this.clsPrefix,radius:85,strokeWidth:15,scale:.88}):this.renderExpandIcon?this.renderExpandIcon({expanded:this.expanded}):v(Ut,{clsPrefix:e,key:"base-icon"},{default:()=>v(fm,null)})}))}}),UU=be({name:"DataTableBodyCheckbox",props:{rowKey:{type:[String,Number],required:!0},disabled:{type:Boolean,required:!0},onUpdateChecked:{type:Function,required:!0}},setup(e){const{mergedCheckedRowKeySetRef:t,mergedInderminateRowKeySetRef:n}=Ue(Oo);return()=>{const{rowKey:o}=e;return v(ml,{privateInsideTable:!0,disabled:e.disabled,indeterminate:n.value.has(o),checked:t.value.has(o),onUpdateChecked:e.onUpdateChecked})}}}),qU=be({name:"DataTableBodyRadio",props:{rowKey:{type:[String,Number],required:!0},disabled:{type:Boolean,required:!0},onUpdateChecked:{type:Function,required:!0}},setup(e){const{mergedCheckedRowKeySetRef:t,componentId:n}=Ue(Oo);return()=>{const{rowKey:o}=e;return v(Z2,{name:n,disabled:e.disabled,checked:t.value.has(o),onUpdateChecked:e.onUpdateChecked})}}});function KU(e,t){const n=[];function o(r,i){r.forEach(a=>{a.children&&t.has(a.key)?(n.push({tmNode:a,striped:!1,key:a.key,index:i}),o(a.children,i)):n.push({key:a.key,tmNode:a,striped:!1,index:i})})}return e.forEach(r=>{n.push(r);const{children:i}=r.tmNode;i&&t.has(r.key)&&o(i,r.index)}),n}const GU=be({props:{clsPrefix:{type:String,required:!0},id:{type:String,required:!0},cols:{type:Array,required:!0},onMouseenter:Function,onMouseleave:Function},render(){const{clsPrefix:e,id:t,cols:n,onMouseenter:o,onMouseleave:r}=this;return v("table",{style:{tableLayout:"fixed"},class:`${e}-data-table-table`,onMouseenter:o,onMouseleave:r},v("colgroup",null,n.map(i=>v("col",{key:i.key,style:i.style}))),v("tbody",{"data-n-id":t,class:`${e}-data-table-tbody`},this.$slots))}}),YU=be({name:"DataTableBody",props:{onResize:Function,showHeader:Boolean,flexHeight:Boolean,bodyStyle:Object},setup(e){const{slots:t,bodyWidthRef:n,mergedExpandedRowKeysRef:o,mergedClsPrefixRef:r,mergedThemeRef:i,scrollXRef:a,colsRef:s,paginatedDataRef:l,rawPaginatedDataRef:c,fixedColumnLeftMapRef:u,fixedColumnRightMapRef:d,mergedCurrentPageRef:f,rowClassNameRef:h,leftActiveFixedColKeyRef:p,leftActiveFixedChildrenColKeysRef:g,rightActiveFixedColKeyRef:m,rightActiveFixedChildrenColKeysRef:b,renderExpandRef:_,hoverKeyRef:C,summaryRef:S,mergedSortStateRef:w,virtualScrollRef:x,componentId:y,mergedTableLayoutRef:P,childTriggerColIndexRef:k,indentRef:T,rowPropsRef:E,maxHeightRef:R,stripedRef:K,loadingRef:N,onLoadRef:D,loadingKeySetRef:M,expandableRef:G,stickyExpandedRowsRef:J,renderExpandIconRef:he,summaryPlacementRef:pe,treeMateRef:B,scrollbarPropsRef:$,setHeaderScrollLeft:A,doUpdateExpandedRowKeys:Y,handleTableBodyScroll:ne,doCheck:fe,doUncheck:Q,renderCell:xe}=Ue(Oo),H=W(null),ye=W(null),Oe=W(null),Ne=kt(()=>l.value.length===0),L=kt(()=>e.showHeader||!Ne.value),O=kt(()=>e.showHeader||Ne.value);let oe="";const _e=F(()=>new Set(o.value));function te(Pe){var Fe;return(Fe=B.value.getNode(Pe))===null||Fe===void 0?void 0:Fe.rawNode}function ge(Pe,Fe,He){const Ie=te(Pe.key);if(!Ie){lr("data-table",`fail to get row data with key ${Pe.key}`);return}if(He){const Qe=l.value.findIndex(Ct=>Ct.key===oe);if(Qe!==-1){const Ct=l.value.findIndex(Ke=>Ke.key===Pe.key),X=Math.min(Qe,Ct),ve=Math.max(Qe,Ct),Ae=[];l.value.slice(X,ve+1).forEach(Ke=>{Ke.disabled||Ae.push(Ke.key)}),Fe?fe(Ae,!1,Ie):Q(Ae,Ie),oe=Pe.key;return}}Fe?fe(Pe.key,!1,Ie):Q(Pe.key,Ie),oe=Pe.key}function ke(Pe){const Fe=te(Pe.key);if(!Fe){lr("data-table",`fail to get row data with key ${Pe.key}`);return}fe(Pe.key,!0,Fe)}function I(){if(!L.value){const{value:Fe}=Oe;return Fe||null}if(x.value)return Ce();const{value:Pe}=H;return Pe?Pe.containerRef:null}function j(Pe,Fe){var He;if(M.value.has(Pe))return;const{value:Ie}=o,Qe=Ie.indexOf(Pe),Ct=Array.from(Ie);~Qe?(Ct.splice(Qe,1),Y(Ct)):Fe&&!Fe.isLeaf&&!Fe.shallowLoaded?(M.value.add(Pe),(He=D.value)===null||He===void 0||He.call(D,Fe.rawNode).then(()=>{const{value:X}=o,ve=Array.from(X);~ve.indexOf(Pe)||ve.push(Pe),Y(ve)}).finally(()=>{M.value.delete(Pe)})):(Ct.push(Pe),Y(Ct))}function ee(){C.value=null}function Ce(){const{value:Pe}=ye;return(Pe==null?void 0:Pe.listElRef)||null}function ce(){const{value:Pe}=ye;return(Pe==null?void 0:Pe.itemsElRef)||null}function le(Pe){var Fe;ne(Pe),(Fe=H.value)===null||Fe===void 0||Fe.sync()}function re(Pe){var Fe;const{onResize:He}=e;He&&He(Pe),(Fe=H.value)===null||Fe===void 0||Fe.sync()}const de={getScrollContainer:I,scrollTo(Pe,Fe){var He,Ie;x.value?(He=ye.value)===null||He===void 0||He.scrollTo(Pe,Fe):(Ie=H.value)===null||Ie===void 0||Ie.scrollTo(Pe,Fe)}},De=q([({props:Pe})=>{const Fe=Ie=>Ie===null?null:q(`[data-n-id="${Pe.componentId}"] [data-col-key="${Ie}"]::after`,{boxShadow:"var(--n-box-shadow-after)"}),He=Ie=>Ie===null?null:q(`[data-n-id="${Pe.componentId}"] [data-col-key="${Ie}"]::before`,{boxShadow:"var(--n-box-shadow-before)"});return q([Fe(Pe.leftActiveFixedColKey),He(Pe.rightActiveFixedColKey),Pe.leftActiveFixedChildrenColKeys.map(Ie=>Fe(Ie)),Pe.rightActiveFixedChildrenColKeys.map(Ie=>He(Ie))])}]);let Le=!1;return Xt(()=>{const{value:Pe}=p,{value:Fe}=g,{value:He}=m,{value:Ie}=b;if(!Le&&Pe===null&&He===null)return;const Qe={leftActiveFixedColKey:Pe,leftActiveFixedChildrenColKeys:Fe,rightActiveFixedColKey:He,rightActiveFixedChildrenColKeys:Ie,componentId:y};De.mount({id:`n-${y}`,force:!0,props:Qe,anchorMetaName:$a}),Le=!0}),Ma(()=>{De.unmount({id:`n-${y}`})}),Object.assign({bodyWidth:n,summaryPlacement:pe,dataTableSlots:t,componentId:y,scrollbarInstRef:H,virtualListRef:ye,emptyElRef:Oe,summary:S,mergedClsPrefix:r,mergedTheme:i,scrollX:a,cols:s,loading:N,bodyShowHeaderOnly:O,shouldDisplaySomeTablePart:L,empty:Ne,paginatedDataAndInfo:F(()=>{const{value:Pe}=K;let Fe=!1;return{data:l.value.map(Pe?(Ie,Qe)=>(Ie.isLeaf||(Fe=!0),{tmNode:Ie,key:Ie.key,striped:Qe%2===1,index:Qe}):(Ie,Qe)=>(Ie.isLeaf||(Fe=!0),{tmNode:Ie,key:Ie.key,striped:!1,index:Qe})),hasChildren:Fe}}),rawPaginatedData:c,fixedColumnLeftMap:u,fixedColumnRightMap:d,currentPage:f,rowClassName:h,renderExpand:_,mergedExpandedRowKeySet:_e,hoverKey:C,mergedSortState:w,virtualScroll:x,mergedTableLayout:P,childTriggerColIndex:k,indent:T,rowProps:E,maxHeight:R,loadingKeySet:M,expandable:G,stickyExpandedRows:J,renderExpandIcon:he,scrollbarProps:$,setHeaderScrollLeft:A,handleVirtualListScroll:le,handleVirtualListResize:re,handleMouseleaveTable:ee,virtualListContainer:Ce,virtualListContent:ce,handleTableBodyScroll:ne,handleCheckboxUpdateChecked:ge,handleRadioUpdateChecked:ke,handleUpdateExpanded:j,renderCell:xe},de)},render(){const{mergedTheme:e,scrollX:t,mergedClsPrefix:n,virtualScroll:o,maxHeight:r,mergedTableLayout:i,flexHeight:a,loadingKeySet:s,onResize:l,setHeaderScrollLeft:c}=this,u=t!==void 0||r!==void 0||a,d=!u&&i==="auto",f=t!==void 0||d,h={minWidth:qt(t)||"100%"};t&&(h.width="100%");const p=v(Io,Object.assign({},this.scrollbarProps,{ref:"scrollbarInstRef",scrollable:u||d,class:`${n}-data-table-base-table-body`,style:this.empty?void 0:this.bodyStyle,theme:e.peers.Scrollbar,themeOverrides:e.peerOverrides.Scrollbar,contentStyle:h,container:o?this.virtualListContainer:void 0,content:o?this.virtualListContent:void 0,horizontalRailStyle:{zIndex:3},verticalRailStyle:{zIndex:3},xScrollable:f,onScroll:o?void 0:this.handleTableBodyScroll,internalOnUpdateScrollLeft:c,onResize:l}),{default:()=>{const g={},m={},{cols:b,paginatedDataAndInfo:_,mergedTheme:C,fixedColumnLeftMap:S,fixedColumnRightMap:w,currentPage:x,rowClassName:y,mergedSortState:P,mergedExpandedRowKeySet:k,stickyExpandedRows:T,componentId:E,childTriggerColIndex:R,expandable:K,rowProps:N,handleMouseleaveTable:D,renderExpand:M,summary:G,handleCheckboxUpdateChecked:J,handleRadioUpdateChecked:he,handleUpdateExpanded:pe}=this,{length:B}=b;let $;const{data:A,hasChildren:Y}=_,ne=Y?KU(A,k):A;if(G){const L=G(this.rawPaginatedData);if(Array.isArray(L)){const O=L.map((oe,_e)=>({isSummaryRow:!0,key:`__n_summary__${_e}`,tmNode:{rawNode:oe,disabled:!0},index:-1}));$=this.summaryPlacement==="top"?[...O,...ne]:[...ne,...O]}else{const O={isSummaryRow:!0,key:"__n_summary__",tmNode:{rawNode:L,disabled:!0},index:-1};$=this.summaryPlacement==="top"?[O,...ne]:[...ne,O]}}else $=ne;const fe=Y?{width:zn(this.indent)}:void 0,Q=[];$.forEach(L=>{M&&k.has(L.key)&&(!K||K(L.tmNode.rawNode))?Q.push(L,{isExpandedRow:!0,key:`${L.key}-expand`,tmNode:L.tmNode,index:L.index}):Q.push(L)});const{length:xe}=Q,H={};A.forEach(({tmNode:L},O)=>{H[O]=L.key});const ye=T?this.bodyWidth:null,Oe=ye===null?void 0:`${ye}px`,Ne=(L,O,oe)=>{const{index:_e}=L;if("isExpandedRow"in L){const{tmNode:{key:re,rawNode:de}}=L;return v("tr",{class:`${n}-data-table-tr ${n}-data-table-tr--expanded`,key:`${re}__expand`},v("td",{class:[`${n}-data-table-td`,`${n}-data-table-td--last-col`,O+1===xe&&`${n}-data-table-td--last-row`],colspan:B},T?v("div",{class:`${n}-data-table-expand`,style:{width:Oe}},M(de,_e)):M(de,_e)))}const te="isSummaryRow"in L,ge=!te&&L.striped,{tmNode:ke,key:I}=L,{rawNode:j}=ke,ee=k.has(I),Ce=N?N(j,_e):void 0,ce=typeof y=="string"?y:vU(j,_e,y);return v("tr",Object.assign({onMouseenter:()=>{this.hoverKey=I},key:I,class:[`${n}-data-table-tr`,te&&`${n}-data-table-tr--summary`,ge&&`${n}-data-table-tr--striped`,ee&&`${n}-data-table-tr--expanded`,ce]},Ce),b.map((re,de)=>{var De,Le,Pe,Fe,He;if(O in g){const Dt=g[O],Se=Dt.indexOf(de);if(~Se)return Dt.splice(Se,1),null}const{column:Ie}=re,Qe=wo(re),{rowSpan:Ct,colSpan:X}=Ie,ve=te?((De=L.tmNode.rawNode[Qe])===null||De===void 0?void 0:De.colSpan)||1:X?X(j,_e):1,Ae=te?((Le=L.tmNode.rawNode[Qe])===null||Le===void 0?void 0:Le.rowSpan)||1:Ct?Ct(j,_e):1,Ke=de+ve===B,Ze=O+Ae===xe,Je=Ae>1;if(Je&&(m[O]={[de]:[]}),ve>1||Je)for(let Dt=O;Dt{pe(I,L.tmNode)}})]:null,Ie.type==="selection"?te?null:Ie.multiple===!1?v(qU,{key:x,rowKey:I,disabled:L.tmNode.disabled,onUpdateChecked:()=>{he(L.tmNode)}}):v(UU,{key:x,rowKey:I,disabled:L.tmNode.disabled,onUpdateChecked:(Dt,Se)=>{J(L.tmNode,Dt,Se.shiftKey)}}):Ie.type==="expand"?te?null:!Ie.expandable||!((He=Ie.expandable)===null||He===void 0)&&He.call(Ie,j)?v(u1,{clsPrefix:n,expanded:ee,renderExpandIcon:this.renderExpandIcon,onClick:()=>{pe(I,null)}}):null:v(WU,{clsPrefix:n,index:_e,row:j,column:Ie,isSummary:te,mergedTheme:C,renderCell:this.renderCell}))}))};return o?v(Nw,{ref:"virtualListRef",items:Q,itemSize:28,visibleItemsTag:GU,visibleItemsProps:{clsPrefix:n,id:E,cols:b,onMouseleave:D},showScrollbar:!1,onResize:this.handleVirtualListResize,onScroll:this.handleVirtualListScroll,itemsStyle:h,itemResizable:!0},{default:({item:L,index:O})=>Ne(L,O,!0)}):v("table",{class:`${n}-data-table-table`,onMouseleave:D,style:{tableLayout:this.mergedTableLayout}},v("colgroup",null,b.map(L=>v("col",{key:L.key,style:L.style}))),this.showHeader?v(uS,{discrete:!1}):null,this.empty?null:v("tbody",{"data-n-id":E,class:`${n}-data-table-tbody`},Q.map((L,O)=>Ne(L,O,!1))))}});if(this.empty){const g=()=>v("div",{class:[`${n}-data-table-empty`,this.loading&&`${n}-data-table-empty--hide`],style:this.bodyStyle,ref:"emptyElRef"},An(this.dataTableSlots.empty,()=>[v(G_,{theme:this.mergedTheme.peers.Empty,themeOverrides:this.mergedTheme.peerOverrides.Empty})]));return this.shouldDisplaySomeTablePart?v(it,null,p,g()):v(cr,{onResize:this.onResize},{default:g})}return p}}),XU=be({name:"MainTable",setup(){const{mergedClsPrefixRef:e,rightFixedColumnsRef:t,leftFixedColumnsRef:n,bodyWidthRef:o,maxHeightRef:r,minHeightRef:i,flexHeightRef:a,syncScrollState:s}=Ue(Oo),l=W(null),c=W(null),u=W(null),d=W(!(n.value.length||t.value.length)),f=F(()=>({maxHeight:qt(r.value),minHeight:qt(i.value)}));function h(b){o.value=b.contentRect.width,s(),d.value||(d.value=!0)}function p(){const{value:b}=l;return b?b.$el:null}function g(){const{value:b}=c;return b?b.getScrollContainer():null}const m={getBodyElement:g,getHeaderElement:p,scrollTo(b,_){var C;(C=c.value)===null||C===void 0||C.scrollTo(b,_)}};return Xt(()=>{const{value:b}=u;if(!b)return;const _=`${e.value}-data-table-base-table--transition-disabled`;d.value?setTimeout(()=>{b.classList.remove(_)},0):b.classList.add(_)}),Object.assign({maxHeight:r,mergedClsPrefix:e,selfElRef:u,headerInstRef:l,bodyInstRef:c,bodyStyle:f,flexHeight:a,handleBodyResize:h},m)},render(){const{mergedClsPrefix:e,maxHeight:t,flexHeight:n}=this,o=t===void 0&&!n;return v("div",{class:`${e}-data-table-base-table`,ref:"selfElRef"},o?null:v(uS,{ref:"headerInstRef"}),v(YU,{ref:"bodyInstRef",bodyStyle:this.bodyStyle,showHeader:o,flexHeight:n,onResize:this.handleBodyResize}))}});function ZU(e,t){const{paginatedDataRef:n,treeMateRef:o,selectionColumnRef:r}=t,i=W(e.defaultCheckedRowKeys),a=F(()=>{var w;const{checkedRowKeys:x}=e,y=x===void 0?i.value:x;return((w=r.value)===null||w===void 0?void 0:w.multiple)===!1?{checkedKeys:y.slice(0,1),indeterminateKeys:[]}:o.value.getCheckedKeys(y,{cascade:e.cascade,allowNotLoaded:e.allowCheckingNotLoaded})}),s=F(()=>a.value.checkedKeys),l=F(()=>a.value.indeterminateKeys),c=F(()=>new Set(s.value)),u=F(()=>new Set(l.value)),d=F(()=>{const{value:w}=c;return n.value.reduce((x,y)=>{const{key:P,disabled:k}=y;return x+(!k&&w.has(P)?1:0)},0)}),f=F(()=>n.value.filter(w=>w.disabled).length),h=F(()=>{const{length:w}=n.value,{value:x}=u;return d.value>0&&d.valuex.has(y.key))}),p=F(()=>{const{length:w}=n.value;return d.value!==0&&d.value===w-f.value}),g=F(()=>n.value.length===0);function m(w,x,y){const{"onUpdate:checkedRowKeys":P,onUpdateCheckedRowKeys:k,onCheckedRowKeysChange:T}=e,E=[],{value:{getNode:R}}=o;w.forEach(K=>{var N;const D=(N=R(K))===null||N===void 0?void 0:N.rawNode;E.push(D)}),P&&$e(P,w,E,{row:x,action:y}),k&&$e(k,w,E,{row:x,action:y}),T&&$e(T,w,E,{row:x,action:y}),i.value=w}function b(w,x=!1,y){if(!e.loading){if(x){m(Array.isArray(w)?w.slice(0,1):[w],y,"check");return}m(o.value.check(w,s.value,{cascade:e.cascade,allowNotLoaded:e.allowCheckingNotLoaded}).checkedKeys,y,"check")}}function _(w,x){e.loading||m(o.value.uncheck(w,s.value,{cascade:e.cascade,allowNotLoaded:e.allowCheckingNotLoaded}).checkedKeys,x,"uncheck")}function C(w=!1){const{value:x}=r;if(!x||e.loading)return;const y=[];(w?o.value.treeNodes:n.value).forEach(P=>{P.disabled||y.push(P.key)}),m(o.value.check(y,s.value,{cascade:!0,allowNotLoaded:e.allowCheckingNotLoaded}).checkedKeys,void 0,"checkAll")}function S(w=!1){const{value:x}=r;if(!x||e.loading)return;const y=[];(w?o.value.treeNodes:n.value).forEach(P=>{P.disabled||y.push(P.key)}),m(o.value.uncheck(y,s.value,{cascade:!0,allowNotLoaded:e.allowCheckingNotLoaded}).checkedKeys,void 0,"uncheckAll")}return{mergedCheckedRowKeySetRef:c,mergedCheckedRowKeysRef:s,mergedInderminateRowKeySetRef:u,someRowsCheckedRef:h,allRowsCheckedRef:p,headerCheckboxDisabledRef:g,doUpdateCheckedRowKeys:m,doCheckAll:C,doUncheckAll:S,doCheck:b,doUncheck:_}}function Vl(e){return typeof e=="object"&&typeof e.multiple=="number"?e.multiple:!1}function JU(e,t){return t&&(e===void 0||e==="default"||typeof e=="object"&&e.compare==="default")?QU(t):typeof e=="function"?e:e&&typeof e=="object"&&e.compare&&e.compare!=="default"?e.compare:!1}function QU(e){return(t,n)=>{const o=t[e],r=n[e];return o==null?r==null?0:-1:r==null?1:typeof o=="number"&&typeof r=="number"?o-r:typeof o=="string"&&typeof r=="string"?o.localeCompare(r):0}}function eq(e,{dataRelatedColsRef:t,filteredDataRef:n}){const o=[];t.value.forEach(h=>{var p;h.sorter!==void 0&&f(o,{columnKey:h.key,sorter:h.sorter,order:(p=h.defaultSortOrder)!==null&&p!==void 0?p:!1})});const r=W(o),i=F(()=>{const h=t.value.filter(m=>m.type!=="selection"&&m.sorter!==void 0&&(m.sortOrder==="ascend"||m.sortOrder==="descend"||m.sortOrder===!1)),p=h.filter(m=>m.sortOrder!==!1);if(p.length)return p.map(m=>({columnKey:m.key,order:m.sortOrder,sorter:m.sorter}));if(h.length)return[];const{value:g}=r;return Array.isArray(g)?g:g?[g]:[]}),a=F(()=>{const h=i.value.slice().sort((p,g)=>{const m=Vl(p.sorter)||0;return(Vl(g.sorter)||0)-m});return h.length?n.value.slice().sort((g,m)=>{let b=0;return h.some(_=>{const{columnKey:C,sorter:S,order:w}=_,x=JU(S,C);return x&&w&&(b=x(g.rawNode,m.rawNode),b!==0)?(b=b*pU(w),!0):!1}),b}):n.value});function s(h){let p=i.value.slice();return h&&Vl(h.sorter)!==!1?(p=p.filter(g=>Vl(g.sorter)!==!1),f(p,h),p):h||null}function l(h){const p=s(h);c(p)}function c(h){const{"onUpdate:sorter":p,onUpdateSorter:g,onSorterChange:m}=e;p&&$e(p,h),g&&$e(g,h),m&&$e(m,h),r.value=h}function u(h,p="ascend"){if(!h)d();else{const g=t.value.find(b=>b.type!=="selection"&&b.type!=="expand"&&b.key===h);if(!(g!=null&&g.sorter))return;const m=g.sorter;l({columnKey:h,sorter:m,order:p})}}function d(){c(null)}function f(h,p){const g=h.findIndex(m=>(p==null?void 0:p.columnKey)&&m.columnKey===p.columnKey);g!==void 0&&g>=0?h[g]=p:h.push(p)}return{clearSorter:d,sort:u,sortedDataRef:a,mergedSortStateRef:i,deriveNextSorter:l}}function tq(e,{dataRelatedColsRef:t}){const n=F(()=>{const B=$=>{for(let A=0;A<$.length;++A){const Y=$[A];if("children"in Y)return B(Y.children);if(Y.type==="selection")return Y}return null};return B(e.columns)}),o=F(()=>{const{childrenKey:B}=e;return Pi(e.data,{ignoreEmptyChildren:!0,getKey:e.rowKey,getChildren:$=>$[B],getDisabled:$=>{var A,Y;return!!(!((Y=(A=n.value)===null||A===void 0?void 0:A.disabled)===null||Y===void 0)&&Y.call(A,$))}})}),r=kt(()=>{const{columns:B}=e,{length:$}=B;let A=null;for(let Y=0;Y<$;++Y){const ne=B[Y];if(!ne.type&&A===null&&(A=Y),"tree"in ne&&ne.tree)return Y}return A||0}),i=W({}),{pagination:a}=e,s=W(a&&a.defaultPage||1),l=W(F2(a)),c=F(()=>{const B=t.value.filter(Y=>Y.filterOptionValues!==void 0||Y.filterOptionValue!==void 0),$={};return B.forEach(Y=>{var ne;Y.type==="selection"||Y.type==="expand"||(Y.filterOptionValues===void 0?$[Y.key]=(ne=Y.filterOptionValue)!==null&&ne!==void 0?ne:null:$[Y.key]=Y.filterOptionValues)}),Object.assign(a1(i.value),$)}),u=F(()=>{const B=c.value,{columns:$}=e;function A(fe){return(Q,xe)=>!!~String(xe[fe]).indexOf(String(Q))}const{value:{treeNodes:Y}}=o,ne=[];return $.forEach(fe=>{fe.type==="selection"||fe.type==="expand"||"children"in fe||ne.push([fe.key,fe])}),Y?Y.filter(fe=>{const{rawNode:Q}=fe;for(const[xe,H]of ne){let ye=B[xe];if(ye==null||(Array.isArray(ye)||(ye=[ye]),!ye.length))continue;const Oe=H.filter==="default"?A(xe):H.filter;if(H&&typeof Oe=="function")if(H.filterMode==="and"){if(ye.some(Ne=>!Oe(Ne,Q)))return!1}else{if(ye.some(Ne=>Oe(Ne,Q)))continue;return!1}}return!0}):[]}),{sortedDataRef:d,deriveNextSorter:f,mergedSortStateRef:h,sort:p,clearSorter:g}=eq(e,{dataRelatedColsRef:t,filteredDataRef:u});t.value.forEach(B=>{var $;if(B.filter){const A=B.defaultFilterOptionValues;B.filterMultiple?i.value[B.key]=A||[]:A!==void 0?i.value[B.key]=A===null?[]:A:i.value[B.key]=($=B.defaultFilterOptionValue)!==null&&$!==void 0?$:null}});const m=F(()=>{const{pagination:B}=e;if(B!==!1)return B.page}),b=F(()=>{const{pagination:B}=e;if(B!==!1)return B.pageSize}),_=an(m,s),C=an(b,l),S=kt(()=>{const B=_.value;return e.remote?B:Math.max(1,Math.min(Math.ceil(u.value.length/C.value),B))}),w=F(()=>{const{pagination:B}=e;if(B){const{pageCount:$}=B;if($!==void 0)return $}}),x=F(()=>{if(e.remote)return o.value.treeNodes;if(!e.pagination)return d.value;const B=C.value,$=(S.value-1)*B;return d.value.slice($,$+B)}),y=F(()=>x.value.map(B=>B.rawNode));function P(B){const{pagination:$}=e;if($){const{onChange:A,"onUpdate:page":Y,onUpdatePage:ne}=$;A&&$e(A,B),ne&&$e(ne,B),Y&&$e(Y,B),R(B)}}function k(B){const{pagination:$}=e;if($){const{onPageSizeChange:A,"onUpdate:pageSize":Y,onUpdatePageSize:ne}=$;A&&$e(A,B),ne&&$e(ne,B),Y&&$e(Y,B),K(B)}}const T=F(()=>{if(e.remote){const{pagination:B}=e;if(B){const{itemCount:$}=B;if($!==void 0)return $}return}return u.value.length}),E=F(()=>Object.assign(Object.assign({},e.pagination),{onChange:void 0,onUpdatePage:void 0,onUpdatePageSize:void 0,onPageSizeChange:void 0,"onUpdate:page":P,"onUpdate:pageSize":k,page:S.value,pageSize:C.value,pageCount:T.value===void 0?w.value:void 0,itemCount:T.value}));function R(B){const{"onUpdate:page":$,onPageChange:A,onUpdatePage:Y}=e;Y&&$e(Y,B),$&&$e($,B),A&&$e(A,B),s.value=B}function K(B){const{"onUpdate:pageSize":$,onPageSizeChange:A,onUpdatePageSize:Y}=e;A&&$e(A,B),Y&&$e(Y,B),$&&$e($,B),l.value=B}function N(B,$){const{onUpdateFilters:A,"onUpdate:filters":Y,onFiltersChange:ne}=e;A&&$e(A,B,$),Y&&$e(Y,B,$),ne&&$e(ne,B,$),i.value=B}function D(B,$,A,Y){var ne;(ne=e.onUnstableColumnResize)===null||ne===void 0||ne.call(e,B,$,A,Y)}function M(B){R(B)}function G(){J()}function J(){he({})}function he(B){pe(B)}function pe(B){B?B&&(i.value=a1(B)):i.value={}}return{treeMateRef:o,mergedCurrentPageRef:S,mergedPaginationRef:E,paginatedDataRef:x,rawPaginatedDataRef:y,mergedFilterStateRef:c,mergedSortStateRef:h,hoverKeyRef:W(null),selectionColumnRef:n,childTriggerColIndexRef:r,doUpdateFilters:N,deriveNextSorter:f,doUpdatePageSize:K,doUpdatePage:R,onUnstableColumnResize:D,filter:pe,filters:he,clearFilter:G,clearFilters:J,clearSorter:g,page:M,sort:p}}function nq(e,{mainTableInstRef:t,mergedCurrentPageRef:n,bodyWidthRef:o}){let r=0;const i=W(),a=W(null),s=W([]),l=W(null),c=W([]),u=F(()=>qt(e.scrollX)),d=F(()=>e.columns.filter(k=>k.fixed==="left")),f=F(()=>e.columns.filter(k=>k.fixed==="right")),h=F(()=>{const k={};let T=0;function E(R){R.forEach(K=>{const N={start:T,end:0};k[wo(K)]=N,"children"in K?(E(K.children),N.end=T):(T+=i1(K)||0,N.end=T)})}return E(d.value),k}),p=F(()=>{const k={};let T=0;function E(R){for(let K=R.length-1;K>=0;--K){const N=R[K],D={start:T,end:0};k[wo(N)]=D,"children"in N?(E(N.children),D.end=T):(T+=i1(N)||0,D.end=T)}}return E(f.value),k});function g(){var k,T;const{value:E}=d;let R=0;const{value:K}=h;let N=null;for(let D=0;D(((k=K[M])===null||k===void 0?void 0:k.start)||0)-R)N=M,R=((T=K[M])===null||T===void 0?void 0:T.end)||0;else break}a.value=N}function m(){s.value=[];let k=e.columns.find(T=>wo(T)===a.value);for(;k&&"children"in k;){const T=k.children.length;if(T===0)break;const E=k.children[T-1];s.value.push(wo(E)),k=E}}function b(){var k,T;const{value:E}=f,R=Number(e.scrollX),{value:K}=o;if(K===null)return;let N=0,D=null;const{value:M}=p;for(let G=E.length-1;G>=0;--G){const J=wo(E[G]);if(Math.round(r+(((k=M[J])===null||k===void 0?void 0:k.start)||0)+K-N)wo(T)===l.value);for(;k&&"children"in k&&k.children.length;){const T=k.children[0];c.value.push(wo(T)),k=T}}function C(){const k=t.value?t.value.getHeaderElement():null,T=t.value?t.value.getBodyElement():null;return{header:k,body:T}}function S(){const{body:k}=C();k&&(k.scrollTop=0)}function w(){i.value!=="body"?Rc(y):i.value=void 0}function x(k){var T;(T=e.onScroll)===null||T===void 0||T.call(e,k),i.value!=="head"?Rc(y):i.value=void 0}function y(){const{header:k,body:T}=C();if(!T)return;const{value:E}=o;if(E!==null){if(e.maxHeight||e.flexHeight){if(!k)return;const R=r-k.scrollLeft;i.value=R!==0?"head":"body",i.value==="head"?(r=k.scrollLeft,T.scrollLeft=r):(r=T.scrollLeft,k.scrollLeft=r)}else r=T.scrollLeft;g(),m(),b(),_()}}function P(k){const{header:T}=C();T&&(T.scrollLeft=k,y())}return ft(n,()=>{S()}),{styleScrollXRef:u,fixedColumnLeftMapRef:h,fixedColumnRightMapRef:p,leftFixedColumnsRef:d,rightFixedColumnsRef:f,leftActiveFixedColKeyRef:a,leftActiveFixedChildrenColKeysRef:s,rightActiveFixedColKeyRef:l,rightActiveFixedChildrenColKeysRef:c,syncScrollState:y,handleTableBodyScroll:x,handleTableHeaderScroll:w,setHeaderScrollLeft:P}}function oq(){const e=W({});function t(r){return e.value[r]}function n(r,i){tS(r)&&"key"in r&&(e.value[r.key]=i)}function o(){e.value={}}return{getResizableWidth:t,doUpdateResizableWidth:n,clearResizableWidth:o}}function rq(e,t){const n=[],o=[],r=[],i=new WeakMap;let a=-1,s=0,l=!1;function c(f,h){h>a&&(n[h]=[],a=h);for(const p of f)if("children"in p)c(p.children,h+1);else{const g="key"in p?p.key:void 0;o.push({key:wo(p),style:gU(p,g!==void 0?qt(t(g)):void 0),column:p}),s+=1,l||(l=!!p.ellipsis),r.push(p)}}c(e,0);let u=0;function d(f,h){let p=0;f.forEach(g=>{var m;if("children"in g){const b=u,_={column:g,colSpan:0,rowSpan:1,isLast:!1};d(g.children,h+1),g.children.forEach(C=>{var S,w;_.colSpan+=(w=(S=i.get(C))===null||S===void 0?void 0:S.colSpan)!==null&&w!==void 0?w:0}),b+_.colSpan===s&&(_.isLast=!0),i.set(g,_),n[h].push(_)}else{if(u1&&(p=u+b);const _=u+b===s,C={column:g,colSpan:b,rowSpan:a-h+1,isLast:_};i.set(g,C),n[h].push(C),u+=1}})}return d(e,0),{hasEllipsis:l,rows:n,cols:o,dataRelatedCols:r}}function iq(e,t){const n=F(()=>rq(e.columns,t));return{rowsRef:F(()=>n.value.rows),colsRef:F(()=>n.value.cols),hasEllipsisRef:F(()=>n.value.hasEllipsis),dataRelatedColsRef:F(()=>n.value.dataRelatedCols)}}function aq(e,t){const n=kt(()=>{for(const c of e.columns)if(c.type==="expand")return c.renderExpand}),o=kt(()=>{let c;for(const u of e.columns)if(u.type==="expand"){c=u.expandable;break}return c}),r=W(e.defaultExpandAll?n!=null&&n.value?(()=>{const c=[];return t.value.treeNodes.forEach(u=>{var d;!((d=o.value)===null||d===void 0)&&d.call(o,u.rawNode)&&c.push(u.key)}),c})():t.value.getNonLeafKeys():e.defaultExpandedRowKeys),i=We(e,"expandedRowKeys"),a=We(e,"stickyExpandedRows"),s=an(i,r);function l(c){const{onUpdateExpandedRowKeys:u,"onUpdate:expandedRowKeys":d}=e;u&&$e(u,c),d&&$e(d,c),r.value=c}return{stickyExpandedRowsRef:a,mergedExpandedRowKeysRef:s,renderExpandRef:n,expandableRef:o,doUpdateExpandedRowKeys:l}}const d1=lq(),sq=q([z("data-table",` - width: 100%; - font-size: var(--n-font-size); - display: flex; - flex-direction: column; - position: relative; - --n-merged-th-color: var(--n-th-color); - --n-merged-td-color: var(--n-td-color); - --n-merged-border-color: var(--n-border-color); - --n-merged-th-color-sorting: var(--n-th-color-sorting); - --n-merged-td-color-hover: var(--n-td-color-hover); - --n-merged-td-color-sorting: var(--n-td-color-sorting); - --n-merged-td-color-striped: var(--n-td-color-striped); - `,[z("data-table-wrapper",` - flex-grow: 1; - display: flex; - flex-direction: column; - `),Z("flex-height",[q(">",[z("data-table-wrapper",[q(">",[z("data-table-base-table",` - display: flex; - flex-direction: column; - flex-grow: 1; - `,[q(">",[z("data-table-base-table-body","flex-basis: 0;",[q("&:last-child","flex-grow: 1;")])])])])])])]),q(">",[z("data-table-loading-wrapper",` - color: var(--n-loading-color); - font-size: var(--n-loading-size); - position: absolute; - left: 50%; - top: 50%; - transform: translateX(-50%) translateY(-50%); - transition: color .3s var(--n-bezier); - display: flex; - align-items: center; - justify-content: center; - `,[qa({originalTransform:"translateX(-50%) translateY(-50%)"})])]),z("data-table-expand-placeholder",` - margin-right: 8px; - display: inline-block; - width: 16px; - height: 1px; - `),z("data-table-indent",` - display: inline-block; - height: 1px; - `),z("data-table-expand-trigger",` - display: inline-flex; - margin-right: 8px; - cursor: pointer; - font-size: 16px; - vertical-align: -0.2em; - position: relative; - width: 16px; - height: 16px; - color: var(--n-td-text-color); - transition: color .3s var(--n-bezier); - `,[Z("expanded",[z("icon","transform: rotate(90deg);",[qn({originalTransform:"rotate(90deg)"})]),z("base-icon","transform: rotate(90deg);",[qn({originalTransform:"rotate(90deg)"})])]),z("base-loading",` - color: var(--n-loading-color); - transition: color .3s var(--n-bezier); - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - `,[qn()]),z("icon",` - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - `,[qn()]),z("base-icon",` - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - `,[qn()])]),z("data-table-thead",` - transition: background-color .3s var(--n-bezier); - background-color: var(--n-merged-th-color); - `),z("data-table-tr",` - box-sizing: border-box; - background-clip: padding-box; - transition: background-color .3s var(--n-bezier); - `,[z("data-table-expand",` - position: sticky; - left: 0; - overflow: hidden; - margin: calc(var(--n-th-padding) * -1); - padding: var(--n-th-padding); - box-sizing: border-box; - `),Z("striped","background-color: var(--n-merged-td-color-striped);",[z("data-table-td","background-color: var(--n-merged-td-color-striped);")]),Rt("summary",[q("&:hover","background-color: var(--n-merged-td-color-hover);",[q(">",[z("data-table-td","background-color: var(--n-merged-td-color-hover);")])])])]),z("data-table-th",` - padding: var(--n-th-padding); - position: relative; - text-align: start; - box-sizing: border-box; - background-color: var(--n-merged-th-color); - border-color: var(--n-merged-border-color); - border-bottom: 1px solid var(--n-merged-border-color); - color: var(--n-th-text-color); - transition: - border-color .3s var(--n-bezier), - color .3s var(--n-bezier), - background-color .3s var(--n-bezier); - font-weight: var(--n-th-font-weight); - `,[Z("filterable",` - padding-right: 36px; - `,[Z("sortable",` - padding-right: calc(var(--n-th-padding) + 36px); - `)]),d1,Z("selection",` - padding: 0; - text-align: center; - line-height: 0; - z-index: 3; - `),V("title-wrapper",` - display: flex; - align-items: center; - flex-wrap: nowrap; - max-width: 100%; - `,[V("title",` - flex: 1; - min-width: 0; - `)]),V("ellipsis",` - display: inline-block; - vertical-align: bottom; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; - max-width: 100%; - `),Z("hover",` - background-color: var(--n-merged-th-color-hover); - `),Z("sorting",` - background-color: var(--n-merged-th-color-sorting); - `),Z("sortable",` - cursor: pointer; - `,[V("ellipsis",` - max-width: calc(100% - 18px); - `),q("&:hover",` - background-color: var(--n-merged-th-color-hover); - `)]),z("data-table-sorter",` - height: var(--n-sorter-size); - width: var(--n-sorter-size); - margin-left: 4px; - position: relative; - display: inline-flex; - align-items: center; - justify-content: center; - vertical-align: -0.2em; - color: var(--n-th-icon-color); - transition: color .3s var(--n-bezier); - `,[z("base-icon","transition: transform .3s var(--n-bezier)"),Z("desc",[z("base-icon",` - transform: rotate(0deg); - `)]),Z("asc",[z("base-icon",` - transform: rotate(-180deg); - `)]),Z("asc, desc",` - color: var(--n-th-icon-color-active); - `)]),z("data-table-resize-button",` - width: var(--n-resizable-container-size); - position: absolute; - top: 0; - right: calc(var(--n-resizable-container-size) / 2); - bottom: 0; - cursor: col-resize; - user-select: none; - `,[q("&::after",` - width: var(--n-resizable-size); - height: 50%; - position: absolute; - top: 50%; - left: calc(var(--n-resizable-container-size) / 2); - bottom: 0; - background-color: var(--n-merged-border-color); - transform: translateY(-50%); - transition: background-color .3s var(--n-bezier); - z-index: 1; - content: ''; - `),Z("active",[q("&::after",` - background-color: var(--n-th-icon-color-active); - `)]),q("&:hover::after",` - background-color: var(--n-th-icon-color-active); - `)]),z("data-table-filter",` - position: absolute; - z-index: auto; - right: 0; - width: 36px; - top: 0; - bottom: 0; - cursor: pointer; - display: flex; - justify-content: center; - align-items: center; - transition: - background-color .3s var(--n-bezier), - color .3s var(--n-bezier); - font-size: var(--n-filter-size); - color: var(--n-th-icon-color); - `,[q("&:hover",` - background-color: var(--n-th-button-color-hover); - `),Z("show",` - background-color: var(--n-th-button-color-hover); - `),Z("active",` - background-color: var(--n-th-button-color-hover); - color: var(--n-th-icon-color-active); - `)])]),z("data-table-td",` - padding: var(--n-td-padding); - text-align: start; - box-sizing: border-box; - border: none; - background-color: var(--n-merged-td-color); - color: var(--n-td-text-color); - border-bottom: 1px solid var(--n-merged-border-color); - transition: - box-shadow .3s var(--n-bezier), - background-color .3s var(--n-bezier), - border-color .3s var(--n-bezier), - color .3s var(--n-bezier); - `,[Z("expand",[z("data-table-expand-trigger",` - margin-right: 0; - `)]),Z("last-row",` - border-bottom: 0 solid var(--n-merged-border-color); - `,[q("&::after",` - bottom: 0 !important; - `),q("&::before",` - bottom: 0 !important; - `)]),Z("summary",` - background-color: var(--n-merged-th-color); - `),Z("hover",` - background-color: var(--n-merged-td-color-hover); - `),Z("sorting",` - background-color: var(--n-merged-td-color-sorting); - `),V("ellipsis",` - display: inline-block; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; - max-width: 100%; - vertical-align: bottom; - max-width: calc(100% - var(--indent-offset, -1.5) * 16px - 24px); - `),Z("selection, expand",` - text-align: center; - padding: 0; - line-height: 0; - `),d1]),z("data-table-empty",` - box-sizing: border-box; - padding: var(--n-empty-padding); - flex-grow: 1; - flex-shrink: 0; - opacity: 1; - display: flex; - align-items: center; - justify-content: center; - transition: opacity .3s var(--n-bezier); - `,[Z("hide",` - opacity: 0; - `)]),V("pagination",` - margin: var(--n-pagination-margin); - display: flex; - justify-content: flex-end; - `),z("data-table-wrapper",` - position: relative; - opacity: 1; - transition: opacity .3s var(--n-bezier), border-color .3s var(--n-bezier); - border-top-left-radius: var(--n-border-radius); - border-top-right-radius: var(--n-border-radius); - line-height: var(--n-line-height); - `),Z("loading",[z("data-table-wrapper",` - opacity: var(--n-opacity-loading); - pointer-events: none; - `)]),Z("single-column",[z("data-table-td",` - border-bottom: 0 solid var(--n-merged-border-color); - `,[q("&::after, &::before",` - bottom: 0 !important; - `)])]),Rt("single-line",[z("data-table-th",` - border-right: 1px solid var(--n-merged-border-color); - `,[Z("last",` - border-right: 0 solid var(--n-merged-border-color); - `)]),z("data-table-td",` - border-right: 1px solid var(--n-merged-border-color); - `,[Z("last-col",` - border-right: 0 solid var(--n-merged-border-color); - `)])]),Z("bordered",[z("data-table-wrapper",` - border: 1px solid var(--n-merged-border-color); - border-bottom-left-radius: var(--n-border-radius); - border-bottom-right-radius: var(--n-border-radius); - overflow: hidden; - `)]),z("data-table-base-table",[Z("transition-disabled",[z("data-table-th",[q("&::after, &::before","transition: none;")]),z("data-table-td",[q("&::after, &::before","transition: none;")])])]),Z("bottom-bordered",[z("data-table-td",[Z("last-row",` - border-bottom: 1px solid var(--n-merged-border-color); - `)])]),z("data-table-table",` - font-variant-numeric: tabular-nums; - width: 100%; - word-break: break-word; - transition: background-color .3s var(--n-bezier); - border-collapse: separate; - border-spacing: 0; - background-color: var(--n-merged-td-color); - `),z("data-table-base-table-header",` - border-top-left-radius: calc(var(--n-border-radius) - 1px); - border-top-right-radius: calc(var(--n-border-radius) - 1px); - z-index: 3; - overflow: scroll; - flex-shrink: 0; - transition: border-color .3s var(--n-bezier); - scrollbar-width: none; - `,[q("&::-webkit-scrollbar",` - width: 0; - height: 0; - `)]),z("data-table-check-extra",` - transition: color .3s var(--n-bezier); - color: var(--n-th-icon-color); - position: absolute; - font-size: 14px; - right: -4px; - top: 50%; - transform: translateY(-50%); - z-index: 1; - `)]),z("data-table-filter-menu",[z("scrollbar",` - max-height: 240px; - `),V("group",` - display: flex; - flex-direction: column; - padding: 12px 12px 0 12px; - `,[z("checkbox",` - margin-bottom: 12px; - margin-right: 0; - `),z("radio",` - margin-bottom: 12px; - margin-right: 0; - `)]),V("action",` - padding: var(--n-action-padding); - display: flex; - flex-wrap: nowrap; - justify-content: space-evenly; - border-top: 1px solid var(--n-action-divider-color); - `,[z("button",[q("&:not(:last-child)",` - margin: var(--n-action-button-margin); - `),q("&:last-child",` - margin-right: 0; - `)])]),z("divider",` - margin: 0 !important; - `)]),al(z("data-table",` - --n-merged-th-color: var(--n-th-color-modal); - --n-merged-td-color: var(--n-td-color-modal); - --n-merged-border-color: var(--n-border-color-modal); - --n-merged-th-color-hover: var(--n-th-color-hover-modal); - --n-merged-td-color-hover: var(--n-td-color-hover-modal); - --n-merged-th-color-sorting: var(--n-th-color-hover-modal); - --n-merged-td-color-sorting: var(--n-td-color-hover-modal); - --n-merged-td-color-striped: var(--n-td-color-striped-modal); - `)),ku(z("data-table",` - --n-merged-th-color: var(--n-th-color-popover); - --n-merged-td-color: var(--n-td-color-popover); - --n-merged-border-color: var(--n-border-color-popover); - --n-merged-th-color-hover: var(--n-th-color-hover-popover); - --n-merged-td-color-hover: var(--n-td-color-hover-popover); - --n-merged-th-color-sorting: var(--n-th-color-hover-popover); - --n-merged-td-color-sorting: var(--n-td-color-hover-popover); - --n-merged-td-color-striped: var(--n-td-color-striped-popover); - `))]);function lq(){return[Z("fixed-left",` - left: 0; - position: sticky; - z-index: 2; - `,[q("&::after",` - pointer-events: none; - content: ""; - width: 36px; - display: inline-block; - position: absolute; - top: 0; - bottom: -1px; - transition: box-shadow .2s var(--n-bezier); - right: -36px; - `)]),Z("fixed-right",` - right: 0; - position: sticky; - z-index: 1; - `,[q("&::before",` - pointer-events: none; - content: ""; - width: 36px; - display: inline-block; - position: absolute; - top: 0; - bottom: -1px; - transition: box-shadow .2s var(--n-bezier); - left: -36px; - `)])]}const Nu=be({name:"DataTable",alias:["AdvancedTable"],props:rU,setup(e,{slots:t}){const{mergedBorderedRef:n,mergedClsPrefixRef:o,inlineThemeDisabled:r,mergedRtlRef:i}=st(e),a=pn("DataTable",i,o),s=F(()=>{const{bottomBordered:X}=e;return n.value?!1:X!==void 0?X:!0}),l=Be("DataTable","-data-table",sq,QW,e,o),c=W(null),u=W(null),{getResizableWidth:d,clearResizableWidth:f,doUpdateResizableWidth:h}=oq(),{rowsRef:p,colsRef:g,dataRelatedColsRef:m,hasEllipsisRef:b}=iq(e,d),{treeMateRef:_,mergedCurrentPageRef:C,paginatedDataRef:S,rawPaginatedDataRef:w,selectionColumnRef:x,hoverKeyRef:y,mergedPaginationRef:P,mergedFilterStateRef:k,mergedSortStateRef:T,childTriggerColIndexRef:E,doUpdatePage:R,doUpdateFilters:K,onUnstableColumnResize:N,deriveNextSorter:D,filter:M,filters:G,clearFilter:J,clearFilters:he,clearSorter:pe,page:B,sort:$}=tq(e,{dataRelatedColsRef:m}),A=X=>{const{fileName:ve="data.csv",keepOriginalData:Ae=!1}=X||{},Ke=Ae?e.data:w.value,Ze=xU(e.columns,Ke),Je=new Blob([Ze],{type:"text/csv;charset=utf-8"}),tt=URL.createObjectURL(Je);TI(tt,ve.endsWith(".csv")?ve:`${ve}.csv`),URL.revokeObjectURL(tt)},{doCheckAll:Y,doUncheckAll:ne,doCheck:fe,doUncheck:Q,headerCheckboxDisabledRef:xe,someRowsCheckedRef:H,allRowsCheckedRef:ye,mergedCheckedRowKeySetRef:Oe,mergedInderminateRowKeySetRef:Ne}=ZU(e,{selectionColumnRef:x,treeMateRef:_,paginatedDataRef:S}),{stickyExpandedRowsRef:L,mergedExpandedRowKeysRef:O,renderExpandRef:oe,expandableRef:_e,doUpdateExpandedRowKeys:te}=aq(e,_),{handleTableBodyScroll:ge,handleTableHeaderScroll:ke,syncScrollState:I,setHeaderScrollLeft:j,leftActiveFixedColKeyRef:ee,leftActiveFixedChildrenColKeysRef:Ce,rightActiveFixedColKeyRef:ce,rightActiveFixedChildrenColKeysRef:le,leftFixedColumnsRef:re,rightFixedColumnsRef:de,fixedColumnLeftMapRef:De,fixedColumnRightMapRef:Le}=nq(e,{bodyWidthRef:c,mainTableInstRef:u,mergedCurrentPageRef:C}),{localeRef:Pe}=Hi("DataTable"),Fe=F(()=>e.virtualScroll||e.flexHeight||e.maxHeight!==void 0||b.value?"fixed":e.tableLayout);at(Oo,{props:e,treeMateRef:_,renderExpandIconRef:We(e,"renderExpandIcon"),loadingKeySetRef:W(new Set),slots:t,indentRef:We(e,"indent"),childTriggerColIndexRef:E,bodyWidthRef:c,componentId:Zr(),hoverKeyRef:y,mergedClsPrefixRef:o,mergedThemeRef:l,scrollXRef:F(()=>e.scrollX),rowsRef:p,colsRef:g,paginatedDataRef:S,leftActiveFixedColKeyRef:ee,leftActiveFixedChildrenColKeysRef:Ce,rightActiveFixedColKeyRef:ce,rightActiveFixedChildrenColKeysRef:le,leftFixedColumnsRef:re,rightFixedColumnsRef:de,fixedColumnLeftMapRef:De,fixedColumnRightMapRef:Le,mergedCurrentPageRef:C,someRowsCheckedRef:H,allRowsCheckedRef:ye,mergedSortStateRef:T,mergedFilterStateRef:k,loadingRef:We(e,"loading"),rowClassNameRef:We(e,"rowClassName"),mergedCheckedRowKeySetRef:Oe,mergedExpandedRowKeysRef:O,mergedInderminateRowKeySetRef:Ne,localeRef:Pe,expandableRef:_e,stickyExpandedRowsRef:L,rowKeyRef:We(e,"rowKey"),renderExpandRef:oe,summaryRef:We(e,"summary"),virtualScrollRef:We(e,"virtualScroll"),rowPropsRef:We(e,"rowProps"),stripedRef:We(e,"striped"),checkOptionsRef:F(()=>{const{value:X}=x;return X==null?void 0:X.options}),rawPaginatedDataRef:w,filterMenuCssVarsRef:F(()=>{const{self:{actionDividerColor:X,actionPadding:ve,actionButtonMargin:Ae}}=l.value;return{"--n-action-padding":ve,"--n-action-button-margin":Ae,"--n-action-divider-color":X}}),onLoadRef:We(e,"onLoad"),mergedTableLayoutRef:Fe,maxHeightRef:We(e,"maxHeight"),minHeightRef:We(e,"minHeight"),flexHeightRef:We(e,"flexHeight"),headerCheckboxDisabledRef:xe,paginationBehaviorOnFilterRef:We(e,"paginationBehaviorOnFilter"),summaryPlacementRef:We(e,"summaryPlacement"),filterIconPopoverPropsRef:We(e,"filterIconPopoverProps"),scrollbarPropsRef:We(e,"scrollbarProps"),syncScrollState:I,doUpdatePage:R,doUpdateFilters:K,getResizableWidth:d,onUnstableColumnResize:N,clearResizableWidth:f,doUpdateResizableWidth:h,deriveNextSorter:D,doCheck:fe,doUncheck:Q,doCheckAll:Y,doUncheckAll:ne,doUpdateExpandedRowKeys:te,handleTableHeaderScroll:ke,handleTableBodyScroll:ge,setHeaderScrollLeft:j,renderCell:We(e,"renderCell")});const He={filter:M,filters:G,clearFilters:he,clearSorter:pe,page:B,sort:$,clearFilter:J,downloadCsv:A,scrollTo:(X,ve)=>{var Ae;(Ae=u.value)===null||Ae===void 0||Ae.scrollTo(X,ve)}},Ie=F(()=>{const{size:X}=e,{common:{cubicBezierEaseInOut:ve},self:{borderColor:Ae,tdColorHover:Ke,tdColorSorting:Ze,tdColorSortingModal:Je,tdColorSortingPopover:tt,thColorSorting:rt,thColorSortingModal:vt,thColorSortingPopover:sn,thColor:Dt,thColorHover:Se,tdColor:Ve,tdTextColor:et,thTextColor:ht,thFontWeight:bt,thButtonColorHover:ut,thIconColor:Et,thIconColorActive:ae,filterSize:Ee,borderRadius:ot,lineHeight:Bt,tdColorModal:Kt,thColorModal:Lt,borderColorModal:bo,thColorHoverModal:yo,tdColorHoverModal:xo,borderColorPopover:Xo,thColorPopover:Zo,tdColorPopover:oi,tdColorHoverPopover:Ja,thColorHoverPopover:Qa,paginationMargin:es,emptyPadding:ts,boxShadowAfter:yr,boxShadowBefore:xr,sorterSize:od,resizableContainerSize:rd,resizableSize:id,loadingColor:ad,loadingSize:sd,opacityLoading:ld,tdColorStriped:cd,tdColorStripedModal:ud,tdColorStripedPopover:dd,[Re("fontSize",X)]:fd,[Re("thPadding",X)]:hd,[Re("tdPadding",X)]:pd}}=l.value;return{"--n-font-size":fd,"--n-th-padding":hd,"--n-td-padding":pd,"--n-bezier":ve,"--n-border-radius":ot,"--n-line-height":Bt,"--n-border-color":Ae,"--n-border-color-modal":bo,"--n-border-color-popover":Xo,"--n-th-color":Dt,"--n-th-color-hover":Se,"--n-th-color-modal":Lt,"--n-th-color-hover-modal":yo,"--n-th-color-popover":Zo,"--n-th-color-hover-popover":Qa,"--n-td-color":Ve,"--n-td-color-hover":Ke,"--n-td-color-modal":Kt,"--n-td-color-hover-modal":xo,"--n-td-color-popover":oi,"--n-td-color-hover-popover":Ja,"--n-th-text-color":ht,"--n-td-text-color":et,"--n-th-font-weight":bt,"--n-th-button-color-hover":ut,"--n-th-icon-color":Et,"--n-th-icon-color-active":ae,"--n-filter-size":Ee,"--n-pagination-margin":es,"--n-empty-padding":ts,"--n-box-shadow-before":xr,"--n-box-shadow-after":yr,"--n-sorter-size":od,"--n-resizable-container-size":rd,"--n-resizable-size":id,"--n-loading-size":sd,"--n-loading-color":ad,"--n-opacity-loading":ld,"--n-td-color-striped":cd,"--n-td-color-striped-modal":ud,"--n-td-color-striped-popover":dd,"n-td-color-sorting":Ze,"n-td-color-sorting-modal":Je,"n-td-color-sorting-popover":tt,"n-th-color-sorting":rt,"n-th-color-sorting-modal":vt,"n-th-color-sorting-popover":sn}}),Qe=r?Pt("data-table",F(()=>e.size[0]),Ie,e):void 0,Ct=F(()=>{if(!e.pagination)return!1;if(e.paginateSinglePage)return!0;const X=P.value,{pageCount:ve}=X;return ve!==void 0?ve>1:X.itemCount&&X.pageSize&&X.itemCount>X.pageSize});return Object.assign({mainTableInstRef:u,mergedClsPrefix:o,rtlEnabled:a,mergedTheme:l,paginatedData:S,mergedBordered:n,mergedBottomBordered:s,mergedPagination:P,mergedShowPagination:Ct,cssVars:r?void 0:Ie,themeClass:Qe==null?void 0:Qe.themeClass,onRender:Qe==null?void 0:Qe.onRender},He)},render(){const{mergedClsPrefix:e,themeClass:t,onRender:n,$slots:o,spinProps:r}=this;return n==null||n(),v("div",{class:[`${e}-data-table`,this.rtlEnabled&&`${e}-data-table--rtl`,t,{[`${e}-data-table--bordered`]:this.mergedBordered,[`${e}-data-table--bottom-bordered`]:this.mergedBottomBordered,[`${e}-data-table--single-line`]:this.singleLine,[`${e}-data-table--single-column`]:this.singleColumn,[`${e}-data-table--loading`]:this.loading,[`${e}-data-table--flex-height`]:this.flexHeight}],style:this.cssVars},v("div",{class:`${e}-data-table-wrapper`},v(XU,{ref:"mainTableInstRef"})),this.mergedShowPagination?v("div",{class:`${e}-data-table__pagination`},v(BW,Object.assign({theme:this.mergedTheme.peers.Pagination,themeOverrides:this.mergedTheme.peerOverrides.Pagination,disabled:this.loading},this.mergedPagination))):null,v(fn,{name:"fade-in-scale-up-transition"},{default:()=>this.loading?v("div",{class:`${e}-data-table-loading-wrapper`},An(o.loading,()=>[v(ti,Object.assign({clsPrefix:e,strokeWidth:20},r))])):null}))}}),cq={itemFontSize:"12px",itemHeight:"36px",itemWidth:"52px",panelActionPadding:"8px 0"};function uq(e){const{popoverColor:t,textColor2:n,primaryColor:o,hoverColor:r,dividerColor:i,opacityDisabled:a,boxShadow2:s,borderRadius:l,iconColor:c,iconColorDisabled:u}=e;return Object.assign(Object.assign({},cq),{panelColor:t,panelBoxShadow:s,panelDividerColor:i,itemTextColor:n,itemTextColorActive:o,itemColorHover:r,itemOpacityDisabled:a,itemBorderRadius:l,borderRadius:l,iconColor:c,iconColorDisabled:u})}const dq={name:"TimePicker",common:je,peers:{Scrollbar:Vn,Button:Wn,Input:mo},self:uq},dS=dq,fq={itemSize:"24px",itemCellWidth:"38px",itemCellHeight:"32px",scrollItemWidth:"80px",scrollItemHeight:"40px",panelExtraFooterPadding:"8px 12px",panelActionPadding:"8px 12px",calendarTitlePadding:"0",calendarTitleHeight:"28px",arrowSize:"14px",panelHeaderPadding:"8px 12px",calendarDaysHeight:"32px",calendarTitleGridTempateColumns:"28px 28px 1fr 28px 28px",calendarLeftPaddingDate:"6px 12px 4px 12px",calendarLeftPaddingDatetime:"4px 12px",calendarLeftPaddingDaterange:"6px 12px 4px 12px",calendarLeftPaddingDatetimerange:"4px 12px",calendarLeftPaddingMonth:"0",calendarLeftPaddingYear:"0",calendarLeftPaddingQuarter:"0",calendarLeftPaddingMonthrange:"0",calendarLeftPaddingQuarterrange:"0",calendarLeftPaddingYearrange:"0",calendarLeftPaddingWeek:"6px 12px 4px 12px",calendarRightPaddingDate:"6px 12px 4px 12px",calendarRightPaddingDatetime:"4px 12px",calendarRightPaddingDaterange:"6px 12px 4px 12px",calendarRightPaddingDatetimerange:"4px 12px",calendarRightPaddingMonth:"0",calendarRightPaddingYear:"0",calendarRightPaddingQuarter:"0",calendarRightPaddingMonthrange:"0",calendarRightPaddingQuarterrange:"0",calendarRightPaddingYearrange:"0",calendarRightPaddingWeek:"0"};function hq(e){const{hoverColor:t,fontSize:n,textColor2:o,textColorDisabled:r,popoverColor:i,primaryColor:a,borderRadiusSmall:s,iconColor:l,iconColorDisabled:c,textColor1:u,dividerColor:d,boxShadow2:f,borderRadius:h,fontWeightStrong:p}=e;return Object.assign(Object.assign({},fq),{itemFontSize:n,calendarDaysFontSize:n,calendarTitleFontSize:n,itemTextColor:o,itemTextColorDisabled:r,itemTextColorActive:i,itemTextColorCurrent:a,itemColorIncluded:Me(a,{alpha:.1}),itemColorHover:t,itemColorDisabled:t,itemColorActive:a,itemBorderRadius:s,panelColor:i,panelTextColor:o,arrowColor:l,calendarTitleTextColor:u,calendarTitleColorHover:t,calendarDaysTextColor:o,panelHeaderDividerColor:d,calendarDaysDividerColor:d,calendarDividerColor:d,panelActionDividerColor:d,panelBoxShadow:f,panelBorderRadius:h,calendarTitleFontWeight:p,scrollItemBorderRadius:h,iconColor:l,iconColorDisabled:c})}const pq={name:"DatePicker",common:je,peers:{Input:mo,Button:Wn,TimePicker:dS,Scrollbar:Vn},self(e){const{popoverColor:t,hoverColor:n,primaryColor:o}=e,r=hq(e);return r.itemColorDisabled=Ge(t,n),r.itemColorIncluded=Me(o,{alpha:.15}),r.itemColorHover=Ge(t,n),r}},mq=pq,gq={thPaddingBorderedSmall:"8px 12px",thPaddingBorderedMedium:"12px 16px",thPaddingBorderedLarge:"16px 24px",thPaddingSmall:"0",thPaddingMedium:"0",thPaddingLarge:"0",tdPaddingBorderedSmall:"8px 12px",tdPaddingBorderedMedium:"12px 16px",tdPaddingBorderedLarge:"16px 24px",tdPaddingSmall:"0 0 8px 0",tdPaddingMedium:"0 0 12px 0",tdPaddingLarge:"0 0 16px 0"};function vq(e){const{tableHeaderColor:t,textColor2:n,textColor1:o,cardColor:r,modalColor:i,popoverColor:a,dividerColor:s,borderRadius:l,fontWeightStrong:c,lineHeight:u,fontSizeSmall:d,fontSizeMedium:f,fontSizeLarge:h}=e;return Object.assign(Object.assign({},gq),{lineHeight:u,fontSizeSmall:d,fontSizeMedium:f,fontSizeLarge:h,titleTextColor:o,thColor:Ge(r,t),thColorModal:Ge(i,t),thColorPopover:Ge(a,t),thTextColor:o,thFontWeight:c,tdTextColor:n,tdColor:r,tdColorModal:i,tdColorPopover:a,borderColor:Ge(r,s),borderColorModal:Ge(i,s),borderColorPopover:Ge(a,s),borderRadius:l})}const bq={name:"Descriptions",common:je,self:vq},yq=bq,xq={titleFontSize:"18px",padding:"16px 28px 20px 28px",iconSize:"28px",actionSpace:"12px",contentMargin:"8px 0 16px 0",iconMargin:"0 4px 0 0",iconMarginIconTop:"4px 0 8px 0",closeSize:"22px",closeIconSize:"18px",closeMargin:"20px 26px 0 0",closeMarginIconTop:"10px 16px 0 0"};function fS(e){const{textColor1:t,textColor2:n,modalColor:o,closeIconColor:r,closeIconColorHover:i,closeIconColorPressed:a,closeColorHover:s,closeColorPressed:l,infoColor:c,successColor:u,warningColor:d,errorColor:f,primaryColor:h,dividerColor:p,borderRadius:g,fontWeightStrong:m,lineHeight:b,fontSize:_}=e;return Object.assign(Object.assign({},xq),{fontSize:_,lineHeight:b,border:`1px solid ${p}`,titleTextColor:t,textColor:n,color:o,closeColorHover:s,closeColorPressed:l,closeIconColor:r,closeIconColorHover:i,closeIconColorPressed:a,closeBorderRadius:g,iconColor:h,iconColorInfo:c,iconColorSuccess:u,iconColorWarning:d,iconColorError:f,borderRadius:g,titleFontWeight:m})}const Cq={name:"Dialog",common:xt,peers:{Button:zu},self:fS},hS=Cq,wq={name:"Dialog",common:je,peers:{Button:Wn},self:fS},pS=wq,Hu={icon:Function,type:{type:String,default:"default"},title:[String,Function],closable:{type:Boolean,default:!0},negativeText:String,positiveText:String,positiveButtonProps:Object,negativeButtonProps:Object,content:[String,Function],action:Function,showIcon:{type:Boolean,default:!0},loading:Boolean,bordered:Boolean,iconPlacement:String,titleClass:[String,Array],titleStyle:[String,Object],contentClass:[String,Array],contentStyle:[String,Object],actionClass:[String,Array],actionStyle:[String,Object],onPositiveClick:Function,onNegativeClick:Function,onClose:Function},mS=Jr(Hu),_q=q([z("dialog",` - --n-icon-margin: var(--n-icon-margin-top) var(--n-icon-margin-right) var(--n-icon-margin-bottom) var(--n-icon-margin-left); - word-break: break-word; - line-height: var(--n-line-height); - position: relative; - background: var(--n-color); - color: var(--n-text-color); - box-sizing: border-box; - margin: auto; - border-radius: var(--n-border-radius); - padding: var(--n-padding); - transition: - border-color .3s var(--n-bezier), - background-color .3s var(--n-bezier), - color .3s var(--n-bezier); - `,[V("icon",{color:"var(--n-icon-color)"}),Z("bordered",{border:"var(--n-border)"}),Z("icon-top",[V("close",{margin:"var(--n-close-margin)"}),V("icon",{margin:"var(--n-icon-margin)"}),V("content",{textAlign:"center"}),V("title",{justifyContent:"center"}),V("action",{justifyContent:"center"})]),Z("icon-left",[V("icon",{margin:"var(--n-icon-margin)"}),Z("closable",[V("title",` - padding-right: calc(var(--n-close-size) + 6px); - `)])]),V("close",` - position: absolute; - right: 0; - top: 0; - margin: var(--n-close-margin); - transition: - background-color .3s var(--n-bezier), - color .3s var(--n-bezier); - z-index: 1; - `),V("content",` - font-size: var(--n-font-size); - margin: var(--n-content-margin); - position: relative; - word-break: break-word; - `,[Z("last","margin-bottom: 0;")]),V("action",` - display: flex; - justify-content: flex-end; - `,[q("> *:not(:last-child)",` - margin-right: var(--n-action-space); - `)]),V("icon",` - font-size: var(--n-icon-size); - transition: color .3s var(--n-bezier); - `),V("title",` - transition: color .3s var(--n-bezier); - display: flex; - align-items: center; - font-size: var(--n-title-font-size); - font-weight: var(--n-title-font-weight); - color: var(--n-title-text-color); - `),z("dialog-icon-container",` - display: flex; - justify-content: center; - `)]),al(z("dialog",` - width: 446px; - max-width: calc(100vw - 32px); - `)),z("dialog",[Sw(` - width: 446px; - max-width: calc(100vw - 32px); - `)])]),Sq={default:()=>v(Vr,null),info:()=>v(Vr,null),success:()=>v(Vi,null),warning:()=>v(Wi,null),error:()=>v(ji,null)},gS=be({name:"Dialog",alias:["NimbusConfirmCard","Confirm"],props:Object.assign(Object.assign({},Be.props),Hu),setup(e){const{mergedComponentPropsRef:t,mergedClsPrefixRef:n,inlineThemeDisabled:o,mergedRtlRef:r}=st(e),i=pn("Dialog",r,n),a=F(()=>{var h,p;const{iconPlacement:g}=e;return g||((p=(h=t==null?void 0:t.value)===null||h===void 0?void 0:h.Dialog)===null||p===void 0?void 0:p.iconPlacement)||"left"});function s(h){const{onPositiveClick:p}=e;p&&p(h)}function l(h){const{onNegativeClick:p}=e;p&&p(h)}function c(){const{onClose:h}=e;h&&h()}const u=Be("Dialog","-dialog",_q,hS,e,n),d=F(()=>{const{type:h}=e,p=a.value,{common:{cubicBezierEaseInOut:g},self:{fontSize:m,lineHeight:b,border:_,titleTextColor:C,textColor:S,color:w,closeBorderRadius:x,closeColorHover:y,closeColorPressed:P,closeIconColor:k,closeIconColorHover:T,closeIconColorPressed:E,closeIconSize:R,borderRadius:K,titleFontWeight:N,titleFontSize:D,padding:M,iconSize:G,actionSpace:J,contentMargin:he,closeSize:pe,[p==="top"?"iconMarginIconTop":"iconMargin"]:B,[p==="top"?"closeMarginIconTop":"closeMargin"]:$,[Re("iconColor",h)]:A}}=u.value,Y=lo(B);return{"--n-font-size":m,"--n-icon-color":A,"--n-bezier":g,"--n-close-margin":$,"--n-icon-margin-top":Y.top,"--n-icon-margin-right":Y.right,"--n-icon-margin-bottom":Y.bottom,"--n-icon-margin-left":Y.left,"--n-icon-size":G,"--n-close-size":pe,"--n-close-icon-size":R,"--n-close-border-radius":x,"--n-close-color-hover":y,"--n-close-color-pressed":P,"--n-close-icon-color":k,"--n-close-icon-color-hover":T,"--n-close-icon-color-pressed":E,"--n-color":w,"--n-text-color":S,"--n-border-radius":K,"--n-padding":M,"--n-line-height":b,"--n-border":_,"--n-content-margin":he,"--n-title-font-size":D,"--n-title-font-weight":N,"--n-title-text-color":C,"--n-action-space":J}}),f=o?Pt("dialog",F(()=>`${e.type[0]}${a.value[0]}`),d,e):void 0;return{mergedClsPrefix:n,rtlEnabled:i,mergedIconPlacement:a,mergedTheme:u,handlePositiveClick:s,handleNegativeClick:l,handleCloseClick:c,cssVars:o?void 0:d,themeClass:f==null?void 0:f.themeClass,onRender:f==null?void 0:f.onRender}},render(){var e;const{bordered:t,mergedIconPlacement:n,cssVars:o,closable:r,showIcon:i,title:a,content:s,action:l,negativeText:c,positiveText:u,positiveButtonProps:d,negativeButtonProps:f,handlePositiveClick:h,handleNegativeClick:p,mergedTheme:g,loading:m,type:b,mergedClsPrefix:_}=this;(e=this.onRender)===null||e===void 0||e.call(this);const C=i?v(Ut,{clsPrefix:_,class:`${_}-dialog__icon`},{default:()=>$t(this.$slots.icon,w=>w||(this.icon?Wt(this.icon):Sq[this.type]()))}):null,S=$t(this.$slots.action,w=>w||u||c||l?v("div",{class:[`${_}-dialog__action`,this.actionClass],style:this.actionStyle},w||(l?[Wt(l)]:[this.negativeText&&v(zt,Object.assign({theme:g.peers.Button,themeOverrides:g.peerOverrides.Button,ghost:!0,size:"small",onClick:p},f),{default:()=>Wt(this.negativeText)}),this.positiveText&&v(zt,Object.assign({theme:g.peers.Button,themeOverrides:g.peerOverrides.Button,size:"small",type:b==="default"?"primary":b,disabled:m,loading:m,onClick:h},d),{default:()=>Wt(this.positiveText)})])):null);return v("div",{class:[`${_}-dialog`,this.themeClass,this.closable&&`${_}-dialog--closable`,`${_}-dialog--icon-${n}`,t&&`${_}-dialog--bordered`,this.rtlEnabled&&`${_}-dialog--rtl`],style:o,role:"dialog"},r?$t(this.$slots.close,w=>{const x=[`${_}-dialog__close`,this.rtlEnabled&&`${_}-dialog--rtl`];return w?v("div",{class:x},w):v(qi,{clsPrefix:_,class:x,onClick:this.handleCloseClick})}):null,i&&n==="top"?v("div",{class:`${_}-dialog-icon-container`},C):null,v("div",{class:[`${_}-dialog__title`,this.titleClass],style:this.titleStyle},i&&n==="left"?C:null,An(this.$slots.header,()=>[Wt(a)])),v("div",{class:[`${_}-dialog__content`,S?"":`${_}-dialog__content--last`,this.contentClass],style:this.contentStyle},An(this.$slots.default,()=>[Wt(s)])),S)}}),vS="n-dialog-provider",bS="n-dialog-api",kq="n-dialog-reactive-list";function yS(e){const{modalColor:t,textColor2:n,boxShadow3:o}=e;return{color:t,textColor:n,boxShadow:o}}const Pq={name:"Modal",common:xt,peers:{Scrollbar:Gi,Dialog:hS,Card:C2},self:yS},Tq=Pq,Rq={name:"Modal",common:je,peers:{Scrollbar:Vn,Dialog:pS,Card:w2},self:yS},Eq=Rq,Am=Object.assign(Object.assign({},ym),Hu),$q=Jr(Am),Aq=be({name:"ModalBody",inheritAttrs:!1,props:Object.assign(Object.assign({show:{type:Boolean,required:!0},preset:String,displayDirective:{type:String,required:!0},trapFocus:{type:Boolean,default:!0},autoFocus:{type:Boolean,default:!0},blockScroll:Boolean},Am),{renderMask:Function,onClickoutside:Function,onBeforeLeave:{type:Function,required:!0},onAfterLeave:{type:Function,required:!0},onPositiveClick:{type:Function,required:!0},onNegativeClick:{type:Function,required:!0},onClose:{type:Function,required:!0},onAfterEnter:Function,onEsc:Function}),setup(e){const t=W(null),n=W(null),o=W(e.show),r=W(null),i=W(null);ft(We(e,"show"),m=>{m&&(o.value=!0)}),qw(F(()=>e.blockScroll&&o.value));const a=Ue(Ew);function s(){if(a.transformOriginRef.value==="center")return"";const{value:m}=r,{value:b}=i;if(m===null||b===null)return"";if(n.value){const _=n.value.containerScrollTop;return`${m}px ${b+_}px`}return""}function l(m){if(a.transformOriginRef.value==="center")return;const b=a.getMousePosition();if(!b||!n.value)return;const _=n.value.containerScrollTop,{offsetLeft:C,offsetTop:S}=m;if(b){const w=b.y,x=b.x;r.value=-(C-x),i.value=-(S-w-_)}m.style.transformOrigin=s()}function c(m){Ht(()=>{l(m)})}function u(m){m.style.transformOrigin=s(),e.onBeforeLeave()}function d(){o.value=!1,r.value=null,i.value=null,e.onAfterLeave()}function f(){const{onClose:m}=e;m&&m()}function h(){e.onNegativeClick()}function p(){e.onPositiveClick()}const g=W(null);return ft(g,m=>{m&&Ht(()=>{const b=m.el;b&&t.value!==b&&(t.value=b)})}),at(sl,t),at(ll,null),at(Va,null),{mergedTheme:a.mergedThemeRef,appear:a.appearRef,isMounted:a.isMountedRef,mergedClsPrefix:a.mergedClsPrefixRef,bodyRef:t,scrollbarRef:n,displayed:o,childNodeRef:g,handlePositiveClick:p,handleNegativeClick:h,handleCloseClick:f,handleAfterLeave:d,handleBeforeLeave:u,handleEnter:c}},render(){const{$slots:e,$attrs:t,handleEnter:n,handleAfterLeave:o,handleBeforeLeave:r,preset:i,mergedClsPrefix:a}=this;let s=null;if(!i){if(s=vh(e),!s){lr("modal","default slot is empty");return}s=uo(s),s.props=Ln({class:`${a}-modal`},t,s.props||{})}return this.displayDirective==="show"||this.displayed||this.show?dn(v("div",{role:"none",class:`${a}-modal-body-wrapper`},v(Io,{ref:"scrollbarRef",theme:this.mergedTheme.peers.Scrollbar,themeOverrides:this.mergedTheme.peerOverrides.Scrollbar,contentClass:`${a}-modal-scroll-content`},{default:()=>{var l;return[(l=this.renderMask)===null||l===void 0?void 0:l.call(this),v(Zp,{disabled:!this.trapFocus,active:this.show,onEsc:this.onEsc,autoFocus:this.autoFocus},{default:()=>{var c;return v(fn,{name:"fade-in-scale-up-transition",appear:(c=this.appear)!==null&&c!==void 0?c:this.isMounted,onEnter:n,onAfterEnter:this.onAfterEnter,onAfterLeave:o,onBeforeLeave:r},{default:()=>{const u=[[Mn,this.show]],{onClickoutside:d}=this;return d&&u.push([Ea,this.onClickoutside,void 0,{capture:!0}]),dn(this.preset==="confirm"||this.preset==="dialog"?v(gS,Object.assign({},this.$attrs,{class:[`${a}-modal`,this.$attrs.class],ref:"bodyRef",theme:this.mergedTheme.peers.Dialog,themeOverrides:this.mergedTheme.peerOverrides.Dialog},Qn(this.$props,mS),{"aria-modal":"true"}),e):this.preset==="card"?v(go,Object.assign({},this.$attrs,{ref:"bodyRef",class:[`${a}-modal`,this.$attrs.class],theme:this.mergedTheme.peers.Card,themeOverrides:this.mergedTheme.peerOverrides.Card},Qn(this.$props,EV),{"aria-modal":"true",role:"dialog"}),e):this.childNodeRef=s,u)}})}})]}})),[[Mn,this.displayDirective==="if"||this.displayed||this.show]]):null}}),Iq=q([z("modal-container",` - position: fixed; - left: 0; - top: 0; - height: 0; - width: 0; - display: flex; - `),z("modal-mask",` - position: fixed; - left: 0; - right: 0; - top: 0; - bottom: 0; - background-color: rgba(0, 0, 0, .4); - `,[dl({enterDuration:".25s",leaveDuration:".25s",enterCubicBezier:"var(--n-bezier-ease-out)",leaveCubicBezier:"var(--n-bezier-ease-out)"})]),z("modal-body-wrapper",` - position: fixed; - left: 0; - right: 0; - top: 0; - bottom: 0; - overflow: visible; - `,[z("modal-scroll-content",` - min-height: 100%; - display: flex; - position: relative; - `)]),z("modal",` - position: relative; - align-self: center; - color: var(--n-text-color); - margin: auto; - box-shadow: var(--n-box-shadow); - `,[qa({duration:".25s",enterScale:".5"})])]),xS=Object.assign(Object.assign(Object.assign(Object.assign({},Be.props),{show:Boolean,unstableShowMask:{type:Boolean,default:!0},maskClosable:{type:Boolean,default:!0},preset:String,to:[String,Object],displayDirective:{type:String,default:"if"},transformOrigin:{type:String,default:"mouse"},zIndex:Number,autoFocus:{type:Boolean,default:!0},trapFocus:{type:Boolean,default:!0},closeOnEsc:{type:Boolean,default:!0},blockScroll:{type:Boolean,default:!0}}),Am),{onEsc:Function,"onUpdate:show":[Function,Array],onUpdateShow:[Function,Array],onAfterEnter:Function,onBeforeLeave:Function,onAfterLeave:Function,onClose:Function,onPositiveClick:Function,onNegativeClick:Function,onMaskClick:Function,internalDialog:Boolean,internalModal:Boolean,internalAppear:{type:Boolean,default:void 0},overlayStyle:[String,Object],onBeforeHide:Function,onAfterHide:Function,onHide:Function}),ni=be({name:"Modal",inheritAttrs:!1,props:xS,setup(e){const t=W(null),{mergedClsPrefixRef:n,namespaceRef:o,inlineThemeDisabled:r}=st(e),i=Be("Modal","-modal",Iq,Tq,e,n),a=Ac(64),s=$c(),l=Qr(),c=e.internalDialog?Ue(vS,null):null,u=e.internalModal?Ue(O8,null):null,d=Kw();function f(x){const{onUpdateShow:y,"onUpdate:show":P,onHide:k}=e;y&&$e(y,x),P&&$e(P,x),k&&!x&&k(x)}function h(){const{onClose:x}=e;x?Promise.resolve(x()).then(y=>{y!==!1&&f(!1)}):f(!1)}function p(){const{onPositiveClick:x}=e;x?Promise.resolve(x()).then(y=>{y!==!1&&f(!1)}):f(!1)}function g(){const{onNegativeClick:x}=e;x?Promise.resolve(x()).then(y=>{y!==!1&&f(!1)}):f(!1)}function m(){const{onBeforeLeave:x,onBeforeHide:y}=e;x&&$e(x),y&&y()}function b(){const{onAfterLeave:x,onAfterHide:y}=e;x&&$e(x),y&&y()}function _(x){var y;const{onMaskClick:P}=e;P&&P(x),e.maskClosable&&!((y=t.value)===null||y===void 0)&&y.contains(Ai(x))&&f(!1)}function C(x){var y;(y=e.onEsc)===null||y===void 0||y.call(e),e.show&&e.closeOnEsc&&Pw(x)&&(d.value||f(!1))}at(Ew,{getMousePosition:()=>{const x=c||u;if(x){const{clickedRef:y,clickedPositionRef:P}=x;if(y.value&&P.value)return P.value}return a.value?s.value:null},mergedClsPrefixRef:n,mergedThemeRef:i,isMountedRef:l,appearRef:We(e,"internalAppear"),transformOriginRef:We(e,"transformOrigin")});const S=F(()=>{const{common:{cubicBezierEaseOut:x},self:{boxShadow:y,color:P,textColor:k}}=i.value;return{"--n-bezier-ease-out":x,"--n-box-shadow":y,"--n-color":P,"--n-text-color":k}}),w=r?Pt("theme-class",void 0,S,e):void 0;return{mergedClsPrefix:n,namespace:o,isMounted:l,containerRef:t,presetProps:F(()=>Qn(e,$q)),handleEsc:C,handleAfterLeave:b,handleClickoutside:_,handleBeforeLeave:m,doUpdateShow:f,handleNegativeClick:g,handlePositiveClick:p,handleCloseClick:h,cssVars:r?void 0:S,themeClass:w==null?void 0:w.themeClass,onRender:w==null?void 0:w.onRender}},render(){const{mergedClsPrefix:e}=this;return v(Ru,{to:this.to,show:this.show},{default:()=>{var t;(t=this.onRender)===null||t===void 0||t.call(this);const{unstableShowMask:n}=this;return dn(v("div",{role:"none",ref:"containerRef",class:[`${e}-modal-container`,this.themeClass,this.namespace],style:this.cssVars},v(Aq,Object.assign({style:this.overlayStyle},this.$attrs,{ref:"bodyWrapper",displayDirective:this.displayDirective,show:this.show,preset:this.preset,autoFocus:this.autoFocus,trapFocus:this.trapFocus,blockScroll:this.blockScroll},this.presetProps,{onEsc:this.handleEsc,onClose:this.handleCloseClick,onNegativeClick:this.handleNegativeClick,onPositiveClick:this.handlePositiveClick,onBeforeLeave:this.handleBeforeLeave,onAfterEnter:this.onAfterEnter,onAfterLeave:this.handleAfterLeave,onClickoutside:n?void 0:this.handleClickoutside,renderMask:n?()=>{var o;return v(fn,{name:"fade-in-transition",key:"mask",appear:(o=this.internalAppear)!==null&&o!==void 0?o:this.isMounted},{default:()=>this.show?v("div",{"aria-hidden":!0,ref:"containerRef",class:`${e}-modal-mask`,onClick:this.handleClickoutside}):null})}:void 0}),this.$slots)),[[Tu,{zIndex:this.zIndex,enabled:this.show}]])}})}}),Oq=Object.assign(Object.assign({},Hu),{onAfterEnter:Function,onAfterLeave:Function,transformOrigin:String,blockScroll:{type:Boolean,default:!0},closeOnEsc:{type:Boolean,default:!0},onEsc:Function,autoFocus:{type:Boolean,default:!0},internalStyle:[String,Object],maskClosable:{type:Boolean,default:!0},onPositiveClick:Function,onNegativeClick:Function,onClose:Function,onMaskClick:Function}),Mq=be({name:"DialogEnvironment",props:Object.assign(Object.assign({},Oq),{internalKey:{type:String,required:!0},to:[String,Object],onInternalAfterLeave:{type:Function,required:!0}}),setup(e){const t=W(!0);function n(){const{onInternalAfterLeave:u,internalKey:d,onAfterLeave:f}=e;u&&u(d),f&&f()}function o(u){const{onPositiveClick:d}=e;d?Promise.resolve(d(u)).then(f=>{f!==!1&&l()}):l()}function r(u){const{onNegativeClick:d}=e;d?Promise.resolve(d(u)).then(f=>{f!==!1&&l()}):l()}function i(){const{onClose:u}=e;u?Promise.resolve(u()).then(d=>{d!==!1&&l()}):l()}function a(u){const{onMaskClick:d,maskClosable:f}=e;d&&(d(u),f&&l())}function s(){const{onEsc:u}=e;u&&u()}function l(){t.value=!1}function c(u){t.value=u}return{show:t,hide:l,handleUpdateShow:c,handleAfterLeave:n,handleCloseClick:i,handleNegativeClick:r,handlePositiveClick:o,handleMaskClick:a,handleEsc:s}},render(){const{handlePositiveClick:e,handleUpdateShow:t,handleNegativeClick:n,handleCloseClick:o,handleAfterLeave:r,handleMaskClick:i,handleEsc:a,to:s,maskClosable:l,show:c}=this;return v(ni,{show:c,onUpdateShow:t,onMaskClick:i,onEsc:a,to:s,maskClosable:l,onAfterEnter:this.onAfterEnter,onAfterLeave:r,closeOnEsc:this.closeOnEsc,blockScroll:this.blockScroll,autoFocus:this.autoFocus,transformOrigin:this.transformOrigin,internalAppear:!0,internalDialog:!0},{default:()=>v(gS,Object.assign({},Qn(this.$props,mS),{style:this.internalStyle,onClose:o,onNegativeClick:n,onPositiveClick:e}))})}}),zq={injectionKey:String,to:[String,Object]},Dq=be({name:"DialogProvider",props:zq,setup(){const e=W([]),t={};function n(s={}){const l=Zr(),c=eo(Object.assign(Object.assign({},s),{key:l,destroy:()=>{var u;(u=t[`n-dialog-${l}`])===null||u===void 0||u.hide()}}));return e.value.push(c),c}const o=["info","success","warning","error"].map(s=>l=>n(Object.assign(Object.assign({},l),{type:s})));function r(s){const{value:l}=e;l.splice(l.findIndex(c=>c.key===s),1)}function i(){Object.values(t).forEach(s=>{s==null||s.hide()})}const a={create:n,destroyAll:i,info:o[0],success:o[1],warning:o[2],error:o[3]};return at(bS,a),at(vS,{clickedRef:Ac(64),clickedPositionRef:$c()}),at(kq,e),Object.assign(Object.assign({},a),{dialogList:e,dialogInstRefs:t,handleAfterLeave:r})},render(){var e,t;return v(it,null,[this.dialogList.map(n=>v(Mq,ja(n,["destroy","style"],{internalStyle:n.style,to:this.to,ref:o=>{o===null?delete this.dialogInstRefs[`n-dialog-${n.key}`]:this.dialogInstRefs[`n-dialog-${n.key}`]=o},internalKey:n.key,onInternalAfterLeave:this.handleAfterLeave}))),(t=(e=this.$slots).default)===null||t===void 0?void 0:t.call(e)])}});function Lq(){const e=Ue(bS,null);return e===null&&fr("use-dialog","No outer founded."),e}function CS(e){const{textColor1:t,dividerColor:n,fontWeightStrong:o}=e;return{textColor:t,color:n,fontWeight:o}}const Fq={name:"Divider",common:xt,self:CS},Bq=Fq,Nq={name:"Divider",common:je,self:CS},Hq=Nq,jq=z("divider",` - position: relative; - display: flex; - width: 100%; - box-sizing: border-box; - font-size: 16px; - color: var(--n-text-color); - transition: - color .3s var(--n-bezier), - background-color .3s var(--n-bezier); -`,[Rt("vertical",` - margin-top: 24px; - margin-bottom: 24px; - `,[Rt("no-title",` - display: flex; - align-items: center; - `)]),V("title",` - display: flex; - align-items: center; - margin-left: 12px; - margin-right: 12px; - white-space: nowrap; - font-weight: var(--n-font-weight); - `),Z("title-position-left",[V("line",[Z("left",{width:"28px"})])]),Z("title-position-right",[V("line",[Z("right",{width:"28px"})])]),Z("dashed",[V("line",` - background-color: #0000; - height: 0px; - width: 100%; - border-style: dashed; - border-width: 1px 0 0; - `)]),Z("vertical",` - display: inline-block; - height: 1em; - margin: 0 8px; - vertical-align: middle; - width: 1px; - `),V("line",` - border: none; - transition: background-color .3s var(--n-bezier), border-color .3s var(--n-bezier); - height: 1px; - width: 100%; - margin: 0; - `),Rt("dashed",[V("line",{backgroundColor:"var(--n-color)"})]),Z("dashed",[V("line",{borderColor:"var(--n-color)"})]),Z("vertical",{backgroundColor:"var(--n-color)"})]),Vq=Object.assign(Object.assign({},Be.props),{titlePlacement:{type:String,default:"center"},dashed:Boolean,vertical:Boolean}),Xi=be({name:"Divider",props:Vq,setup(e){const{mergedClsPrefixRef:t,inlineThemeDisabled:n}=st(e),o=Be("Divider","-divider",jq,Bq,e,t),r=F(()=>{const{common:{cubicBezierEaseInOut:a},self:{color:s,textColor:l,fontWeight:c}}=o.value;return{"--n-bezier":a,"--n-color":s,"--n-text-color":l,"--n-font-weight":c}}),i=n?Pt("divider",void 0,r,e):void 0;return{mergedClsPrefix:t,cssVars:n?void 0:r,themeClass:i==null?void 0:i.themeClass,onRender:i==null?void 0:i.onRender}},render(){var e;const{$slots:t,titlePlacement:n,vertical:o,dashed:r,cssVars:i,mergedClsPrefix:a}=this;return(e=this.onRender)===null||e===void 0||e.call(this),v("div",{role:"separator",class:[`${a}-divider`,this.themeClass,{[`${a}-divider--vertical`]:o,[`${a}-divider--no-title`]:!t.default,[`${a}-divider--dashed`]:r,[`${a}-divider--title-position-${n}`]:t.default&&n}],style:i},o?null:v("div",{class:`${a}-divider__line ${a}-divider__line--left`}),!o&&t.default?v(it,null,v("div",{class:`${a}-divider__title`},this.$slots),v("div",{class:`${a}-divider__line ${a}-divider__line--right`})):null)}});function wS(e){const{modalColor:t,textColor1:n,textColor2:o,boxShadow3:r,lineHeight:i,fontWeightStrong:a,dividerColor:s,closeColorHover:l,closeColorPressed:c,closeIconColor:u,closeIconColorHover:d,closeIconColorPressed:f,borderRadius:h,primaryColorHover:p}=e;return{bodyPadding:"16px 24px",borderRadius:h,headerPadding:"16px 24px",footerPadding:"16px 24px",color:t,textColor:o,titleTextColor:n,titleFontSize:"18px",titleFontWeight:a,boxShadow:r,lineHeight:i,headerBorderBottom:`1px solid ${s}`,footerBorderTop:`1px solid ${s}`,closeIconColor:u,closeIconColorHover:d,closeIconColorPressed:f,closeSize:"22px",closeIconSize:"18px",closeColorHover:l,closeColorPressed:c,closeBorderRadius:h,resizableTriggerColorHover:p}}const Wq={name:"Drawer",common:xt,peers:{Scrollbar:Gi},self:wS},Uq=Wq,qq={name:"Drawer",common:je,peers:{Scrollbar:Vn},self:wS},Kq=qq,Gq=be({name:"NDrawerContent",inheritAttrs:!1,props:{blockScroll:Boolean,show:{type:Boolean,default:void 0},displayDirective:{type:String,required:!0},placement:{type:String,required:!0},contentClass:String,contentStyle:[Object,String],nativeScrollbar:{type:Boolean,required:!0},scrollbarProps:Object,trapFocus:{type:Boolean,default:!0},autoFocus:{type:Boolean,default:!0},showMask:{type:[Boolean,String],required:!0},maxWidth:Number,maxHeight:Number,minWidth:Number,minHeight:Number,resizable:Boolean,onClickoutside:Function,onAfterLeave:Function,onAfterEnter:Function,onEsc:Function},setup(e){const t=W(!!e.show),n=W(null),o=Ue(Up);let r=0,i="",a=null;const s=W(!1),l=W(!1),c=F(()=>e.placement==="top"||e.placement==="bottom"),{mergedClsPrefixRef:u,mergedRtlRef:d}=st(e),f=pn("Drawer",d,u),h=x,p=k=>{l.value=!0,r=c.value?k.clientY:k.clientX,i=document.body.style.cursor,document.body.style.cursor=c.value?"ns-resize":"ew-resize",document.body.addEventListener("mousemove",w),document.body.addEventListener("mouseleave",h),document.body.addEventListener("mouseup",x)},g=()=>{a!==null&&(window.clearTimeout(a),a=null),l.value?s.value=!0:a=window.setTimeout(()=>{s.value=!0},300)},m=()=>{a!==null&&(window.clearTimeout(a),a=null),s.value=!1},{doUpdateHeight:b,doUpdateWidth:_}=o,C=k=>{const{maxWidth:T}=e;if(T&&k>T)return T;const{minWidth:E}=e;return E&&k{const{maxHeight:T}=e;if(T&&k>T)return T;const{minHeight:E}=e;return E&&k{e.show&&(t.value=!0)}),ft(()=>e.show,k=>{k||x()}),on(()=>{x()});const y=F(()=>{const{show:k}=e,T=[[Mn,k]];return e.showMask||T.push([Ea,e.onClickoutside,void 0,{capture:!0}]),T});function P(){var k;t.value=!1,(k=e.onAfterLeave)===null||k===void 0||k.call(e)}return qw(F(()=>e.blockScroll&&t.value)),at(ll,n),at(Va,null),at(sl,null),{bodyRef:n,rtlEnabled:f,mergedClsPrefix:o.mergedClsPrefixRef,isMounted:o.isMountedRef,mergedTheme:o.mergedThemeRef,displayed:t,transitionName:F(()=>({right:"slide-in-from-right-transition",left:"slide-in-from-left-transition",top:"slide-in-from-top-transition",bottom:"slide-in-from-bottom-transition"})[e.placement]),handleAfterLeave:P,bodyDirectives:y,handleMousedownResizeTrigger:p,handleMouseenterResizeTrigger:g,handleMouseleaveResizeTrigger:m,isDragging:l,isHoverOnResizeTrigger:s}},render(){const{$slots:e,mergedClsPrefix:t}=this;return this.displayDirective==="show"||this.displayed||this.show?dn(v("div",{role:"none"},v(Zp,{disabled:!this.showMask||!this.trapFocus,active:this.show,autoFocus:this.autoFocus,onEsc:this.onEsc},{default:()=>v(fn,{name:this.transitionName,appear:this.isMounted,onAfterEnter:this.onAfterEnter,onAfterLeave:this.handleAfterLeave},{default:()=>dn(v("div",Ln(this.$attrs,{role:"dialog",ref:"bodyRef","aria-modal":"true",class:[`${t}-drawer`,this.rtlEnabled&&`${t}-drawer--rtl`,`${t}-drawer--${this.placement}-placement`,this.isDragging&&`${t}-drawer--unselectable`,this.nativeScrollbar&&`${t}-drawer--native-scrollbar`]}),[this.resizable?v("div",{class:[`${t}-drawer__resize-trigger`,(this.isDragging||this.isHoverOnResizeTrigger)&&`${t}-drawer__resize-trigger--hover`],onMouseenter:this.handleMouseenterResizeTrigger,onMouseleave:this.handleMouseleaveResizeTrigger,onMousedown:this.handleMousedownResizeTrigger}):null,this.nativeScrollbar?v("div",{class:[`${t}-drawer-content-wrapper`,this.contentClass],style:this.contentStyle,role:"none"},e):v(Io,Object.assign({},this.scrollbarProps,{contentStyle:this.contentStyle,contentClass:[`${t}-drawer-content-wrapper`,this.contentClass],theme:this.mergedTheme.peers.Scrollbar,themeOverrides:this.mergedTheme.peerOverrides.Scrollbar}),e)]),this.bodyDirectives)})})),[[Mn,this.displayDirective==="if"||this.displayed||this.show]]):null}}),{cubicBezierEaseIn:Yq,cubicBezierEaseOut:Xq}=po;function Zq({duration:e="0.3s",leaveDuration:t="0.2s",name:n="slide-in-from-right"}={}){return[q(`&.${n}-transition-leave-active`,{transition:`transform ${t} ${Yq}`}),q(`&.${n}-transition-enter-active`,{transition:`transform ${e} ${Xq}`}),q(`&.${n}-transition-enter-to`,{transform:"translateX(0)"}),q(`&.${n}-transition-enter-from`,{transform:"translateX(100%)"}),q(`&.${n}-transition-leave-from`,{transform:"translateX(0)"}),q(`&.${n}-transition-leave-to`,{transform:"translateX(100%)"})]}const{cubicBezierEaseIn:Jq,cubicBezierEaseOut:Qq}=po;function eK({duration:e="0.3s",leaveDuration:t="0.2s",name:n="slide-in-from-left"}={}){return[q(`&.${n}-transition-leave-active`,{transition:`transform ${t} ${Jq}`}),q(`&.${n}-transition-enter-active`,{transition:`transform ${e} ${Qq}`}),q(`&.${n}-transition-enter-to`,{transform:"translateX(0)"}),q(`&.${n}-transition-enter-from`,{transform:"translateX(-100%)"}),q(`&.${n}-transition-leave-from`,{transform:"translateX(0)"}),q(`&.${n}-transition-leave-to`,{transform:"translateX(-100%)"})]}const{cubicBezierEaseIn:tK,cubicBezierEaseOut:nK}=po;function oK({duration:e="0.3s",leaveDuration:t="0.2s",name:n="slide-in-from-top"}={}){return[q(`&.${n}-transition-leave-active`,{transition:`transform ${t} ${tK}`}),q(`&.${n}-transition-enter-active`,{transition:`transform ${e} ${nK}`}),q(`&.${n}-transition-enter-to`,{transform:"translateY(0)"}),q(`&.${n}-transition-enter-from`,{transform:"translateY(-100%)"}),q(`&.${n}-transition-leave-from`,{transform:"translateY(0)"}),q(`&.${n}-transition-leave-to`,{transform:"translateY(-100%)"})]}const{cubicBezierEaseIn:rK,cubicBezierEaseOut:iK}=po;function aK({duration:e="0.3s",leaveDuration:t="0.2s",name:n="slide-in-from-bottom"}={}){return[q(`&.${n}-transition-leave-active`,{transition:`transform ${t} ${rK}`}),q(`&.${n}-transition-enter-active`,{transition:`transform ${e} ${iK}`}),q(`&.${n}-transition-enter-to`,{transform:"translateY(0)"}),q(`&.${n}-transition-enter-from`,{transform:"translateY(100%)"}),q(`&.${n}-transition-leave-from`,{transform:"translateY(0)"}),q(`&.${n}-transition-leave-to`,{transform:"translateY(100%)"})]}const sK=q([z("drawer",` - word-break: break-word; - line-height: var(--n-line-height); - position: absolute; - pointer-events: all; - box-shadow: var(--n-box-shadow); - transition: - background-color .3s var(--n-bezier), - color .3s var(--n-bezier); - background-color: var(--n-color); - color: var(--n-text-color); - box-sizing: border-box; - `,[Zq(),eK(),oK(),aK(),Z("unselectable",` - user-select: none; - -webkit-user-select: none; - `),Z("native-scrollbar",[z("drawer-content-wrapper",` - overflow: auto; - height: 100%; - `)]),V("resize-trigger",` - position: absolute; - background-color: #0000; - transition: background-color .3s var(--n-bezier); - `,[Z("hover",` - background-color: var(--n-resize-trigger-color-hover); - `)]),z("drawer-content-wrapper",` - box-sizing: border-box; - `),z("drawer-content",` - height: 100%; - display: flex; - flex-direction: column; - `,[Z("native-scrollbar",[z("drawer-body-content-wrapper",` - height: 100%; - overflow: auto; - `)]),z("drawer-body",` - flex: 1 0 0; - overflow: hidden; - `),z("drawer-body-content-wrapper",` - box-sizing: border-box; - padding: var(--n-body-padding); - `),z("drawer-header",` - font-weight: var(--n-title-font-weight); - line-height: 1; - font-size: var(--n-title-font-size); - color: var(--n-title-text-color); - padding: var(--n-header-padding); - transition: border .3s var(--n-bezier); - border-bottom: 1px solid var(--n-divider-color); - border-bottom: var(--n-header-border-bottom); - display: flex; - justify-content: space-between; - align-items: center; - `,[V("close",` - margin-left: 6px; - transition: - background-color .3s var(--n-bezier), - color .3s var(--n-bezier); - `)]),z("drawer-footer",` - display: flex; - justify-content: flex-end; - border-top: var(--n-footer-border-top); - transition: border .3s var(--n-bezier); - padding: var(--n-footer-padding); - `)]),Z("right-placement",` - top: 0; - bottom: 0; - right: 0; - border-top-left-radius: var(--n-border-radius); - border-bottom-left-radius: var(--n-border-radius); - `,[V("resize-trigger",` - width: 3px; - height: 100%; - top: 0; - left: 0; - transform: translateX(-1.5px); - cursor: ew-resize; - `)]),Z("left-placement",` - top: 0; - bottom: 0; - left: 0; - border-top-right-radius: var(--n-border-radius); - border-bottom-right-radius: var(--n-border-radius); - `,[V("resize-trigger",` - width: 3px; - height: 100%; - top: 0; - right: 0; - transform: translateX(1.5px); - cursor: ew-resize; - `)]),Z("top-placement",` - top: 0; - left: 0; - right: 0; - border-bottom-left-radius: var(--n-border-radius); - border-bottom-right-radius: var(--n-border-radius); - `,[V("resize-trigger",` - width: 100%; - height: 3px; - bottom: 0; - left: 0; - transform: translateY(1.5px); - cursor: ns-resize; - `)]),Z("bottom-placement",` - left: 0; - bottom: 0; - right: 0; - border-top-left-radius: var(--n-border-radius); - border-top-right-radius: var(--n-border-radius); - `,[V("resize-trigger",` - width: 100%; - height: 3px; - top: 0; - left: 0; - transform: translateY(-1.5px); - cursor: ns-resize; - `)])]),q("body",[q(">",[z("drawer-container",` - position: fixed; - `)])]),z("drawer-container",` - position: relative; - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - pointer-events: none; - `,[q("> *",` - pointer-events: all; - `)]),z("drawer-mask",` - background-color: rgba(0, 0, 0, .3); - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - `,[Z("invisible",` - background-color: rgba(0, 0, 0, 0) - `),dl({enterDuration:"0.2s",leaveDuration:"0.2s",enterCubicBezier:"var(--n-bezier-in)",leaveCubicBezier:"var(--n-bezier-out)"})])]),lK=Object.assign(Object.assign({},Be.props),{show:Boolean,width:[Number,String],height:[Number,String],placement:{type:String,default:"right"},maskClosable:{type:Boolean,default:!0},showMask:{type:[Boolean,String],default:!0},to:[String,Object],displayDirective:{type:String,default:"if"},nativeScrollbar:{type:Boolean,default:!0},zIndex:Number,onMaskClick:Function,scrollbarProps:Object,contentClass:String,contentStyle:[Object,String],trapFocus:{type:Boolean,default:!0},onEsc:Function,autoFocus:{type:Boolean,default:!0},closeOnEsc:{type:Boolean,default:!0},blockScroll:{type:Boolean,default:!0},maxWidth:Number,maxHeight:Number,minWidth:Number,minHeight:Number,resizable:Boolean,defaultWidth:{type:[Number,String],default:251},defaultHeight:{type:[Number,String],default:251},onUpdateWidth:[Function,Array],onUpdateHeight:[Function,Array],"onUpdate:width":[Function,Array],"onUpdate:height":[Function,Array],"onUpdate:show":[Function,Array],onUpdateShow:[Function,Array],onAfterEnter:Function,onAfterLeave:Function,drawerStyle:[String,Object],drawerClass:String,target:null,onShow:Function,onHide:Function}),_S=be({name:"Drawer",inheritAttrs:!1,props:lK,setup(e){const{mergedClsPrefixRef:t,namespaceRef:n,inlineThemeDisabled:o}=st(e),r=Qr(),i=Be("Drawer","-drawer",sK,Uq,e,t),a=W(e.defaultWidth),s=W(e.defaultHeight),l=an(We(e,"width"),a),c=an(We(e,"height"),s),u=F(()=>{const{placement:x}=e;return x==="top"||x==="bottom"?"":qt(l.value)}),d=F(()=>{const{placement:x}=e;return x==="left"||x==="right"?"":qt(c.value)}),f=x=>{const{onUpdateWidth:y,"onUpdate:width":P}=e;y&&$e(y,x),P&&$e(P,x),a.value=x},h=x=>{const{onUpdateHeight:y,"onUpdate:width":P}=e;y&&$e(y,x),P&&$e(P,x),s.value=x},p=F(()=>[{width:u.value,height:d.value},e.drawerStyle||""]);function g(x){const{onMaskClick:y,maskClosable:P}=e;P&&C(!1),y&&y(x)}function m(x){g(x)}const b=Kw();function _(x){var y;(y=e.onEsc)===null||y===void 0||y.call(e),e.show&&e.closeOnEsc&&Pw(x)&&(b.value||C(!1))}function C(x){const{onHide:y,onUpdateShow:P,"onUpdate:show":k}=e;P&&$e(P,x),k&&$e(k,x),y&&!x&&$e(y,x)}at(Up,{isMountedRef:r,mergedThemeRef:i,mergedClsPrefixRef:t,doUpdateShow:C,doUpdateHeight:h,doUpdateWidth:f});const S=F(()=>{const{common:{cubicBezierEaseInOut:x,cubicBezierEaseIn:y,cubicBezierEaseOut:P},self:{color:k,textColor:T,boxShadow:E,lineHeight:R,headerPadding:K,footerPadding:N,borderRadius:D,bodyPadding:M,titleFontSize:G,titleTextColor:J,titleFontWeight:he,headerBorderBottom:pe,footerBorderTop:B,closeIconColor:$,closeIconColorHover:A,closeIconColorPressed:Y,closeColorHover:ne,closeColorPressed:fe,closeIconSize:Q,closeSize:xe,closeBorderRadius:H,resizableTriggerColorHover:ye}}=i.value;return{"--n-line-height":R,"--n-color":k,"--n-border-radius":D,"--n-text-color":T,"--n-box-shadow":E,"--n-bezier":x,"--n-bezier-out":P,"--n-bezier-in":y,"--n-header-padding":K,"--n-body-padding":M,"--n-footer-padding":N,"--n-title-text-color":J,"--n-title-font-size":G,"--n-title-font-weight":he,"--n-header-border-bottom":pe,"--n-footer-border-top":B,"--n-close-icon-color":$,"--n-close-icon-color-hover":A,"--n-close-icon-color-pressed":Y,"--n-close-size":xe,"--n-close-color-hover":ne,"--n-close-color-pressed":fe,"--n-close-icon-size":Q,"--n-close-border-radius":H,"--n-resize-trigger-color-hover":ye}}),w=o?Pt("drawer",void 0,S,e):void 0;return{mergedClsPrefix:t,namespace:n,mergedBodyStyle:p,handleOutsideClick:m,handleMaskClick:g,handleEsc:_,mergedTheme:i,cssVars:o?void 0:S,themeClass:w==null?void 0:w.themeClass,onRender:w==null?void 0:w.onRender,isMounted:r}},render(){const{mergedClsPrefix:e}=this;return v(Ru,{to:this.to,show:this.show},{default:()=>{var t;return(t=this.onRender)===null||t===void 0||t.call(this),dn(v("div",{class:[`${e}-drawer-container`,this.namespace,this.themeClass],style:this.cssVars,role:"none"},this.showMask?v(fn,{name:"fade-in-transition",appear:this.isMounted},{default:()=>this.show?v("div",{"aria-hidden":!0,class:[`${e}-drawer-mask`,this.showMask==="transparent"&&`${e}-drawer-mask--invisible`],onClick:this.handleMaskClick}):null}):null,v(Gq,Object.assign({},this.$attrs,{class:[this.drawerClass,this.$attrs.class],style:[this.mergedBodyStyle,this.$attrs.style],blockScroll:this.blockScroll,contentStyle:this.contentStyle,contentClass:this.contentClass,placement:this.placement,scrollbarProps:this.scrollbarProps,show:this.show,displayDirective:this.displayDirective,nativeScrollbar:this.nativeScrollbar,onAfterEnter:this.onAfterEnter,onAfterLeave:this.onAfterLeave,trapFocus:this.trapFocus,autoFocus:this.autoFocus,resizable:this.resizable,maxHeight:this.maxHeight,minHeight:this.minHeight,maxWidth:this.maxWidth,minWidth:this.minWidth,showMask:this.showMask,onEsc:this.handleEsc,onClickoutside:this.handleOutsideClick}),this.$slots)),[[Tu,{zIndex:this.zIndex,enabled:this.show}]])}})}}),cK={title:String,headerClass:String,headerStyle:[Object,String],footerClass:String,footerStyle:[Object,String],bodyClass:String,bodyStyle:[Object,String],bodyContentClass:String,bodyContentStyle:[Object,String],nativeScrollbar:{type:Boolean,default:!0},scrollbarProps:Object,closable:Boolean},uK=be({name:"DrawerContent",props:cK,setup(){const e=Ue(Up,null);e||fr("drawer-content","`n-drawer-content` must be placed inside `n-drawer`.");const{doUpdateShow:t}=e;function n(){t(!1)}return{handleCloseClick:n,mergedTheme:e.mergedThemeRef,mergedClsPrefix:e.mergedClsPrefixRef}},render(){const{title:e,mergedClsPrefix:t,nativeScrollbar:n,mergedTheme:o,bodyClass:r,bodyStyle:i,bodyContentClass:a,bodyContentStyle:s,headerClass:l,headerStyle:c,footerClass:u,footerStyle:d,scrollbarProps:f,closable:h,$slots:p}=this;return v("div",{role:"none",class:[`${t}-drawer-content`,n&&`${t}-drawer-content--native-scrollbar`]},p.header||e||h?v("div",{class:[`${t}-drawer-header`,l],style:c,role:"none"},v("div",{class:`${t}-drawer-header__main`,role:"heading","aria-level":"1"},p.header!==void 0?p.header():e),h&&v(qi,{onClick:this.handleCloseClick,clsPrefix:t,class:`${t}-drawer-header__close`,absolute:!0})):null,n?v("div",{class:[`${t}-drawer-body`,r],style:i,role:"none"},v("div",{class:[`${t}-drawer-body-content-wrapper`,a],style:s,role:"none"},p)):v(Io,Object.assign({themeOverrides:o.peerOverrides.Scrollbar,theme:o.peers.Scrollbar},f,{class:`${t}-drawer-body`,contentClass:[`${t}-drawer-body-content-wrapper`,a],contentStyle:s}),p),p.footer?v("div",{class:[`${t}-drawer-footer`,u],style:d,role:"none"},p.footer()):null)}}),dK={actionMargin:"0 0 0 20px",actionMarginRtl:"0 20px 0 0"},fK={name:"DynamicInput",common:je,peers:{Input:mo,Button:Wn},self(){return dK}},hK=fK,SS={gapSmall:"4px 8px",gapMedium:"8px 12px",gapLarge:"12px 16px"},pK={name:"Space",self(){return SS}},kS=pK;function mK(){return SS}const gK={name:"Space",self:mK},vK=gK;let sf;function bK(){if(!hr)return!0;if(sf===void 0){const e=document.createElement("div");e.style.display="flex",e.style.flexDirection="column",e.style.rowGap="1px",e.appendChild(document.createElement("div")),e.appendChild(document.createElement("div")),document.body.appendChild(e);const t=e.scrollHeight===1;return document.body.removeChild(e),sf=t}return sf}const yK=Object.assign(Object.assign({},Be.props),{align:String,justify:{type:String,default:"start"},inline:Boolean,vertical:Boolean,reverse:Boolean,size:{type:[String,Number,Array],default:"medium"},wrapItem:{type:Boolean,default:!0},itemClass:String,itemStyle:[String,Object],wrap:{type:Boolean,default:!0},internalUseGap:{type:Boolean,default:void 0}}),Zi=be({name:"Space",props:yK,setup(e){const{mergedClsPrefixRef:t,mergedRtlRef:n}=st(e),o=Be("Space","-space",void 0,vK,e,t),r=pn("Space",n,t);return{useGap:bK(),rtlEnabled:r,mergedClsPrefix:t,margin:F(()=>{const{size:i}=e;if(Array.isArray(i))return{horizontal:i[0],vertical:i[1]};if(typeof i=="number")return{horizontal:i,vertical:i};const{self:{[Re("gap",i)]:a}}=o.value,{row:s,col:l}=B6(a);return{horizontal:bn(l),vertical:bn(s)}})}},render(){const{vertical:e,reverse:t,align:n,inline:o,justify:r,itemClass:i,itemStyle:a,margin:s,wrap:l,mergedClsPrefix:c,rtlEnabled:u,useGap:d,wrapItem:f,internalUseGap:h}=this,p=Ra(mw(this),!1);if(!p.length)return null;const g=`${s.horizontal}px`,m=`${s.horizontal/2}px`,b=`${s.vertical}px`,_=`${s.vertical/2}px`,C=p.length-1,S=r.startsWith("space-");return v("div",{role:"none",class:[`${c}-space`,u&&`${c}-space--rtl`],style:{display:o?"inline-flex":"flex",flexDirection:(()=>e&&!t?"column":e&&t?"column-reverse":!e&&t?"row-reverse":"row")(),justifyContent:["start","end"].includes(r)?`flex-${r}`:r,flexWrap:!l||e?"nowrap":"wrap",marginTop:d||e?"":`-${_}`,marginBottom:d||e?"":`-${_}`,alignItems:n,gap:d?`${s.vertical}px ${s.horizontal}px`:""}},!f&&(d||h)?p:p.map((w,x)=>w.type===_n?w:v("div",{role:"none",class:i,style:[a,{maxWidth:"100%"},d?"":e?{marginBottom:x!==C?b:""}:u?{marginLeft:S?r==="space-between"&&x===C?"":m:x!==C?g:"",marginRight:S?r==="space-between"&&x===0?"":m:"",paddingTop:_,paddingBottom:_}:{marginRight:S?r==="space-between"&&x===C?"":m:x!==C?g:"",marginLeft:S?r==="space-between"&&x===0?"":m:"",paddingTop:_,paddingBottom:_}]},w)))}}),xK={name:"DynamicTags",common:je,peers:{Input:mo,Button:Wn,Tag:r2,Space:kS},self(){return{inputWidth:"64px"}}},CK=xK,wK={name:"Element",common:je},_K=wK,SK={gapSmall:"4px 8px",gapMedium:"8px 12px",gapLarge:"12px 16px"},kK={name:"Flex",self(){return SK}},PK=kK,TK={feedbackPadding:"4px 0 0 2px",feedbackHeightSmall:"24px",feedbackHeightMedium:"24px",feedbackHeightLarge:"26px",feedbackFontSizeSmall:"13px",feedbackFontSizeMedium:"14px",feedbackFontSizeLarge:"14px",labelFontSizeLeftSmall:"14px",labelFontSizeLeftMedium:"14px",labelFontSizeLeftLarge:"15px",labelFontSizeTopSmall:"13px",labelFontSizeTopMedium:"14px",labelFontSizeTopLarge:"14px",labelHeightSmall:"24px",labelHeightMedium:"26px",labelHeightLarge:"28px",labelPaddingVertical:"0 0 6px 2px",labelPaddingHorizontal:"0 12px 0 0",labelTextAlignVertical:"left",labelTextAlignHorizontal:"right",labelFontWeight:"400"};function RK(e){const{heightSmall:t,heightMedium:n,heightLarge:o,textColor1:r,errorColor:i,warningColor:a,lineHeight:s,textColor3:l}=e;return Object.assign(Object.assign({},TK),{blankHeightSmall:t,blankHeightMedium:n,blankHeightLarge:o,lineHeight:s,labelTextColor:r,asteriskColor:i,feedbackTextColorError:i,feedbackTextColorWarning:a,feedbackTextColor:l})}const EK={name:"Form",common:je,self:RK},$K=EK,AK={closeMargin:"16px 12px",closeSize:"20px",closeIconSize:"16px",width:"365px",padding:"16px",titleFontSize:"16px",metaFontSize:"12px",descriptionFontSize:"12px"};function PS(e){const{textColor2:t,successColor:n,infoColor:o,warningColor:r,errorColor:i,popoverColor:a,closeIconColor:s,closeIconColorHover:l,closeIconColorPressed:c,closeColorHover:u,closeColorPressed:d,textColor1:f,textColor3:h,borderRadius:p,fontWeightStrong:g,boxShadow2:m,lineHeight:b,fontSize:_}=e;return Object.assign(Object.assign({},AK),{borderRadius:p,lineHeight:b,fontSize:_,headerFontWeight:g,iconColor:t,iconColorSuccess:n,iconColorInfo:o,iconColorWarning:r,iconColorError:i,color:a,textColor:t,closeIconColor:s,closeIconColorHover:l,closeIconColorPressed:c,closeBorderRadius:p,closeColorHover:u,closeColorPressed:d,headerTextColor:f,descriptionTextColor:h,actionTextColor:t,boxShadow:m})}const IK={name:"Notification",common:xt,peers:{Scrollbar:Gi},self:PS},OK=IK,MK={name:"Notification",common:je,peers:{Scrollbar:Vn},self:PS},zK=MK,DK={margin:"0 0 8px 0",padding:"10px 20px",maxWidth:"720px",minWidth:"420px",iconMargin:"0 10px 0 0",closeMargin:"0 0 0 10px",closeSize:"20px",closeIconSize:"16px",iconSize:"20px",fontSize:"14px"};function TS(e){const{textColor2:t,closeIconColor:n,closeIconColorHover:o,closeIconColorPressed:r,infoColor:i,successColor:a,errorColor:s,warningColor:l,popoverColor:c,boxShadow2:u,primaryColor:d,lineHeight:f,borderRadius:h,closeColorHover:p,closeColorPressed:g}=e;return Object.assign(Object.assign({},DK),{closeBorderRadius:h,textColor:t,textColorInfo:t,textColorSuccess:t,textColorError:t,textColorWarning:t,textColorLoading:t,color:c,colorInfo:c,colorSuccess:c,colorError:c,colorWarning:c,colorLoading:c,boxShadow:u,boxShadowInfo:u,boxShadowSuccess:u,boxShadowError:u,boxShadowWarning:u,boxShadowLoading:u,iconColor:t,iconColorInfo:i,iconColorSuccess:a,iconColorWarning:l,iconColorError:s,iconColorLoading:d,closeColorHover:p,closeColorPressed:g,closeIconColor:n,closeIconColorHover:o,closeIconColorPressed:r,closeColorHoverInfo:p,closeColorPressedInfo:g,closeIconColorInfo:n,closeIconColorHoverInfo:o,closeIconColorPressedInfo:r,closeColorHoverSuccess:p,closeColorPressedSuccess:g,closeIconColorSuccess:n,closeIconColorHoverSuccess:o,closeIconColorPressedSuccess:r,closeColorHoverError:p,closeColorPressedError:g,closeIconColorError:n,closeIconColorHoverError:o,closeIconColorPressedError:r,closeColorHoverWarning:p,closeColorPressedWarning:g,closeIconColorWarning:n,closeIconColorHoverWarning:o,closeIconColorPressedWarning:r,closeColorHoverLoading:p,closeColorPressedLoading:g,closeIconColorLoading:n,closeIconColorHoverLoading:o,closeIconColorPressedLoading:r,loadingColor:d,lineHeight:f,borderRadius:h})}const LK={name:"Message",common:xt,self:TS},FK=LK,BK={name:"Message",common:je,self:TS},NK=BK,HK={name:"ButtonGroup",common:je},jK=HK,VK={name:"GradientText",common:je,self(e){const{primaryColor:t,successColor:n,warningColor:o,errorColor:r,infoColor:i,primaryColorSuppl:a,successColorSuppl:s,warningColorSuppl:l,errorColorSuppl:c,infoColorSuppl:u,fontWeightStrong:d}=e;return{fontWeight:d,rotate:"252deg",colorStartPrimary:t,colorEndPrimary:a,colorStartInfo:i,colorEndInfo:u,colorStartWarning:o,colorEndWarning:l,colorStartError:r,colorEndError:c,colorStartSuccess:n,colorEndSuccess:s}}},WK=VK,UK={name:"InputNumber",common:je,peers:{Button:Wn,Input:mo},self(e){const{textColorDisabled:t}=e;return{iconColorDisabled:t}}},qK=UK;function KK(e){const{textColorDisabled:t}=e;return{iconColorDisabled:t}}const GK={name:"InputNumber",common:xt,peers:{Button:zu,Input:vm},self:KK},YK=GK,XK={name:"Layout",common:je,peers:{Scrollbar:Vn},self(e){const{textColor2:t,bodyColor:n,popoverColor:o,cardColor:r,dividerColor:i,scrollbarColor:a,scrollbarColorHover:s}=e;return{textColor:t,textColorInverted:t,color:n,colorEmbedded:n,headerColor:r,headerColorInverted:r,footerColor:r,footerColorInverted:r,headerBorderColor:i,headerBorderColorInverted:i,footerBorderColor:i,footerBorderColorInverted:i,siderBorderColor:i,siderBorderColorInverted:i,siderColor:r,siderColorInverted:r,siderToggleButtonBorder:"1px solid transparent",siderToggleButtonColor:o,siderToggleButtonIconColor:t,siderToggleButtonIconColorInverted:t,siderToggleBarColor:Ge(n,a),siderToggleBarColorHover:Ge(n,s),__invertScrollbar:"false"}}},ZK=XK;function JK(e){const{baseColor:t,textColor2:n,bodyColor:o,cardColor:r,dividerColor:i,actionColor:a,scrollbarColor:s,scrollbarColorHover:l,invertedColor:c}=e;return{textColor:n,textColorInverted:"#FFF",color:o,colorEmbedded:a,headerColor:r,headerColorInverted:c,footerColor:a,footerColorInverted:c,headerBorderColor:i,headerBorderColorInverted:c,footerBorderColor:i,footerBorderColorInverted:c,siderBorderColor:i,siderBorderColorInverted:c,siderColor:r,siderColorInverted:c,siderToggleButtonBorder:`1px solid ${i}`,siderToggleButtonColor:t,siderToggleButtonIconColor:n,siderToggleButtonIconColorInverted:n,siderToggleBarColor:Ge(o,s),siderToggleBarColorHover:Ge(o,l),__invertScrollbar:"true"}}const QK={name:"Layout",common:xt,peers:{Scrollbar:Gi},self:JK},RS=QK;function ES(e){const{textColor2:t,cardColor:n,modalColor:o,popoverColor:r,dividerColor:i,borderRadius:a,fontSize:s,hoverColor:l}=e;return{textColor:t,color:n,colorHover:l,colorModal:o,colorHoverModal:Ge(o,l),colorPopover:r,colorHoverPopover:Ge(r,l),borderColor:i,borderColorModal:Ge(o,i),borderColorPopover:Ge(r,i),borderRadius:a,fontSize:s}}const eG={name:"List",common:xt,self:ES},tG=eG,nG={name:"List",common:je,self:ES},oG=nG,rG={name:"LoadingBar",common:je,self(e){const{primaryColor:t}=e;return{colorError:"red",colorLoading:t,height:"2px"}}},iG=rG;function aG(e){const{primaryColor:t,errorColor:n}=e;return{colorError:n,colorLoading:t,height:"2px"}}const sG={name:"LoadingBar",common:xt,self:aG},lG=sG,cG={name:"Log",common:je,peers:{Scrollbar:Vn,Code:R2},self(e){const{textColor2:t,inputColor:n,fontSize:o,primaryColor:r}=e;return{loaderFontSize:o,loaderTextColor:t,loaderColor:n,loaderBorder:"1px solid #0000",loadingColor:r}}},uG=cG,dG={name:"Mention",common:je,peers:{InternalSelectMenu:fl,Input:mo},self(e){const{boxShadow2:t}=e;return{menuBoxShadow:t}}},fG=dG;function hG(e,t,n,o){return{itemColorHoverInverted:"#0000",itemColorActiveInverted:t,itemColorActiveHoverInverted:t,itemColorActiveCollapsedInverted:t,itemTextColorInverted:e,itemTextColorHoverInverted:n,itemTextColorChildActiveInverted:n,itemTextColorChildActiveHoverInverted:n,itemTextColorActiveInverted:n,itemTextColorActiveHoverInverted:n,itemTextColorHorizontalInverted:e,itemTextColorHoverHorizontalInverted:n,itemTextColorChildActiveHorizontalInverted:n,itemTextColorChildActiveHoverHorizontalInverted:n,itemTextColorActiveHorizontalInverted:n,itemTextColorActiveHoverHorizontalInverted:n,itemIconColorInverted:e,itemIconColorHoverInverted:n,itemIconColorActiveInverted:n,itemIconColorActiveHoverInverted:n,itemIconColorChildActiveInverted:n,itemIconColorChildActiveHoverInverted:n,itemIconColorCollapsedInverted:e,itemIconColorHorizontalInverted:e,itemIconColorHoverHorizontalInverted:n,itemIconColorActiveHorizontalInverted:n,itemIconColorActiveHoverHorizontalInverted:n,itemIconColorChildActiveHorizontalInverted:n,itemIconColorChildActiveHoverHorizontalInverted:n,arrowColorInverted:e,arrowColorHoverInverted:n,arrowColorActiveInverted:n,arrowColorActiveHoverInverted:n,arrowColorChildActiveInverted:n,arrowColorChildActiveHoverInverted:n,groupTextColorInverted:o}}function $S(e){const{borderRadius:t,textColor3:n,primaryColor:o,textColor2:r,textColor1:i,fontSize:a,dividerColor:s,hoverColor:l,primaryColorHover:c}=e;return Object.assign({borderRadius:t,color:"#0000",groupTextColor:n,itemColorHover:l,itemColorActive:Me(o,{alpha:.1}),itemColorActiveHover:Me(o,{alpha:.1}),itemColorActiveCollapsed:Me(o,{alpha:.1}),itemTextColor:r,itemTextColorHover:r,itemTextColorActive:o,itemTextColorActiveHover:o,itemTextColorChildActive:o,itemTextColorChildActiveHover:o,itemTextColorHorizontal:r,itemTextColorHoverHorizontal:c,itemTextColorActiveHorizontal:o,itemTextColorActiveHoverHorizontal:o,itemTextColorChildActiveHorizontal:o,itemTextColorChildActiveHoverHorizontal:o,itemIconColor:i,itemIconColorHover:i,itemIconColorActive:o,itemIconColorActiveHover:o,itemIconColorChildActive:o,itemIconColorChildActiveHover:o,itemIconColorCollapsed:i,itemIconColorHorizontal:i,itemIconColorHoverHorizontal:c,itemIconColorActiveHorizontal:o,itemIconColorActiveHoverHorizontal:o,itemIconColorChildActiveHorizontal:o,itemIconColorChildActiveHoverHorizontal:o,itemHeight:"42px",arrowColor:r,arrowColorHover:r,arrowColorActive:o,arrowColorActiveHover:o,arrowColorChildActive:o,arrowColorChildActiveHover:o,colorInverted:"#0000",borderColorHorizontal:"#0000",fontSize:a,dividerColor:s},hG("#BBB",o,"#FFF","#AAA"))}const pG={name:"Menu",common:xt,peers:{Tooltip:Sm,Dropdown:Pm},self:$S},mG=pG,gG={name:"Menu",common:je,peers:{Tooltip:Lu,Dropdown:Tm},self(e){const{primaryColor:t,primaryColorSuppl:n}=e,o=$S(e);return o.itemColorActive=Me(t,{alpha:.15}),o.itemColorActiveHover=Me(t,{alpha:.15}),o.itemColorActiveCollapsed=Me(t,{alpha:.15}),o.itemColorActiveInverted=n,o.itemColorActiveHoverInverted=n,o.itemColorActiveCollapsedInverted=n,o}},vG=gG,bG={titleFontSize:"18px",backSize:"22px"};function yG(e){const{textColor1:t,textColor2:n,textColor3:o,fontSize:r,fontWeightStrong:i,primaryColorHover:a,primaryColorPressed:s}=e;return Object.assign(Object.assign({},bG),{titleFontWeight:i,fontSize:r,titleTextColor:t,backColor:n,backColorHover:a,backColorPressed:s,subtitleTextColor:o})}const xG={name:"PageHeader",common:je,self:yG},CG={iconSize:"22px"};function wG(e){const{fontSize:t,warningColor:n}=e;return Object.assign(Object.assign({},CG),{fontSize:t,iconColor:n})}const _G={name:"Popconfirm",common:je,peers:{Button:Wn,Popover:Yi},self:wG},SG=_G;function AS(e){const{infoColor:t,successColor:n,warningColor:o,errorColor:r,textColor2:i,progressRailColor:a,fontSize:s,fontWeight:l}=e;return{fontSize:s,fontSizeCircle:"28px",fontWeightCircle:l,railColor:a,railHeight:"8px",iconSizeCircle:"36px",iconSizeLine:"18px",iconColor:t,iconColorInfo:t,iconColorSuccess:n,iconColorWarning:o,iconColorError:r,textColorCircle:i,textColorLineInner:"rgb(255, 255, 255)",textColorLineOuter:i,fillColor:t,fillColorInfo:t,fillColorSuccess:n,fillColorWarning:o,fillColorError:r,lineBgProcessing:"linear-gradient(90deg, rgba(255, 255, 255, .3) 0%, rgba(255, 255, 255, .5) 100%)"}}const kG={name:"Progress",common:xt,self:AS},PG=kG,TG={name:"Progress",common:je,self(e){const t=AS(e);return t.textColorLineInner="rgb(0, 0, 0)",t.lineBgProcessing="linear-gradient(90deg, rgba(255, 255, 255, .3) 0%, rgba(255, 255, 255, .5) 100%)",t}},IS=TG,RG={name:"Rate",common:je,self(e){const{railColor:t}=e;return{itemColor:t,itemColorActive:"#CCAA33",itemSize:"20px",sizeSmall:"16px",sizeMedium:"20px",sizeLarge:"24px"}}},EG=RG,$G={titleFontSizeSmall:"26px",titleFontSizeMedium:"32px",titleFontSizeLarge:"40px",titleFontSizeHuge:"48px",fontSizeSmall:"14px",fontSizeMedium:"14px",fontSizeLarge:"15px",fontSizeHuge:"16px",iconSizeSmall:"64px",iconSizeMedium:"80px",iconSizeLarge:"100px",iconSizeHuge:"125px",iconColor418:void 0,iconColor404:void 0,iconColor403:void 0,iconColor500:void 0};function OS(e){const{textColor2:t,textColor1:n,errorColor:o,successColor:r,infoColor:i,warningColor:a,lineHeight:s,fontWeightStrong:l}=e;return Object.assign(Object.assign({},$G),{lineHeight:s,titleFontWeight:l,titleTextColor:n,textColor:t,iconColorError:o,iconColorSuccess:r,iconColorInfo:i,iconColorWarning:a})}const AG={name:"Result",common:xt,self:OS},IG=AG,OG={name:"Result",common:je,self:OS},MG=OG,zG={railHeight:"4px",railWidthVertical:"4px",handleSize:"18px",dotHeight:"8px",dotWidth:"8px",dotBorderRadius:"4px"},DG={name:"Slider",common:je,self(e){const t="0 2px 8px 0 rgba(0, 0, 0, 0.12)",{railColor:n,modalColor:o,primaryColorSuppl:r,popoverColor:i,textColor2:a,cardColor:s,borderRadius:l,fontSize:c,opacityDisabled:u}=e;return Object.assign(Object.assign({},zG),{fontSize:c,markFontSize:c,railColor:n,railColorHover:n,fillColor:r,fillColorHover:r,opacityDisabled:u,handleColor:"#FFF",dotColor:s,dotColorModal:o,dotColorPopover:i,handleBoxShadow:"0px 2px 4px 0 rgba(0, 0, 0, 0.4)",handleBoxShadowHover:"0px 2px 4px 0 rgba(0, 0, 0, 0.4)",handleBoxShadowActive:"0px 2px 4px 0 rgba(0, 0, 0, 0.4)",handleBoxShadowFocus:"0px 2px 4px 0 rgba(0, 0, 0, 0.4)",indicatorColor:i,indicatorBoxShadow:t,indicatorTextColor:a,indicatorBorderRadius:l,dotBorder:`2px solid ${n}`,dotBorderActive:`2px solid ${r}`,dotBoxShadow:""})}},LG=DG;function MS(e){const{opacityDisabled:t,heightTiny:n,heightSmall:o,heightMedium:r,heightLarge:i,heightHuge:a,primaryColor:s,fontSize:l}=e;return{fontSize:l,textColor:s,sizeTiny:n,sizeSmall:o,sizeMedium:r,sizeLarge:i,sizeHuge:a,color:s,opacitySpinning:t}}const FG={name:"Spin",common:xt,self:MS},BG=FG,NG={name:"Spin",common:je,self:MS},HG=NG;function jG(e){const{textColor2:t,textColor3:n,fontSize:o,fontWeight:r}=e;return{labelFontSize:o,labelFontWeight:r,valueFontWeight:r,valueFontSize:"24px",labelTextColor:n,valuePrefixTextColor:t,valueSuffixTextColor:t,valueTextColor:t}}const VG={name:"Statistic",common:je,self:jG},WG=VG,UG={stepHeaderFontSizeSmall:"14px",stepHeaderFontSizeMedium:"16px",indicatorIndexFontSizeSmall:"14px",indicatorIndexFontSizeMedium:"16px",indicatorSizeSmall:"22px",indicatorSizeMedium:"28px",indicatorIconSizeSmall:"14px",indicatorIconSizeMedium:"18px"};function qG(e){const{fontWeightStrong:t,baseColor:n,textColorDisabled:o,primaryColor:r,errorColor:i,textColor1:a,textColor2:s}=e;return Object.assign(Object.assign({},UG),{stepHeaderFontWeight:t,indicatorTextColorProcess:n,indicatorTextColorWait:o,indicatorTextColorFinish:r,indicatorTextColorError:i,indicatorBorderColorProcess:r,indicatorBorderColorWait:o,indicatorBorderColorFinish:r,indicatorBorderColorError:i,indicatorColorProcess:r,indicatorColorWait:"#0000",indicatorColorFinish:"#0000",indicatorColorError:"#0000",splitorColorProcess:o,splitorColorWait:o,splitorColorFinish:r,splitorColorError:o,headerTextColorProcess:a,headerTextColorWait:o,headerTextColorFinish:o,headerTextColorError:i,descriptionTextColorProcess:s,descriptionTextColorWait:o,descriptionTextColorFinish:o,descriptionTextColorError:i})}const KG={name:"Steps",common:je,self:qG},GG=KG,zS={buttonHeightSmall:"14px",buttonHeightMedium:"18px",buttonHeightLarge:"22px",buttonWidthSmall:"14px",buttonWidthMedium:"18px",buttonWidthLarge:"22px",buttonWidthPressedSmall:"20px",buttonWidthPressedMedium:"24px",buttonWidthPressedLarge:"28px",railHeightSmall:"18px",railHeightMedium:"22px",railHeightLarge:"26px",railWidthSmall:"32px",railWidthMedium:"40px",railWidthLarge:"48px"},YG={name:"Switch",common:je,self(e){const{primaryColorSuppl:t,opacityDisabled:n,borderRadius:o,primaryColor:r,textColor2:i,baseColor:a}=e,s="rgba(255, 255, 255, .20)";return Object.assign(Object.assign({},zS),{iconColor:a,textColor:i,loadingColor:t,opacityDisabled:n,railColor:s,railColorActive:t,buttonBoxShadow:"0px 2px 4px 0 rgba(0, 0, 0, 0.4)",buttonColor:"#FFF",railBorderRadiusSmall:o,railBorderRadiusMedium:o,railBorderRadiusLarge:o,buttonBorderRadiusSmall:o,buttonBorderRadiusMedium:o,buttonBorderRadiusLarge:o,boxShadowFocus:`0 0 8px 0 ${Me(r,{alpha:.3})}`})}},XG=YG;function ZG(e){const{primaryColor:t,opacityDisabled:n,borderRadius:o,textColor3:r}=e,i="rgba(0, 0, 0, .14)";return Object.assign(Object.assign({},zS),{iconColor:r,textColor:"white",loadingColor:t,opacityDisabled:n,railColor:i,railColorActive:t,buttonBoxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.3), inset 0 0 1px 0 rgba(0, 0, 0, 0.05)",buttonColor:"#FFF",railBorderRadiusSmall:o,railBorderRadiusMedium:o,railBorderRadiusLarge:o,buttonBorderRadiusSmall:o,buttonBorderRadiusMedium:o,buttonBorderRadiusLarge:o,boxShadowFocus:`0 0 0 2px ${Me(t,{alpha:.2})}`})}const JG={name:"Switch",common:xt,self:ZG},QG=JG,eY={thPaddingSmall:"6px",thPaddingMedium:"12px",thPaddingLarge:"12px",tdPaddingSmall:"6px",tdPaddingMedium:"12px",tdPaddingLarge:"12px"};function tY(e){const{dividerColor:t,cardColor:n,modalColor:o,popoverColor:r,tableHeaderColor:i,tableColorStriped:a,textColor1:s,textColor2:l,borderRadius:c,fontWeightStrong:u,lineHeight:d,fontSizeSmall:f,fontSizeMedium:h,fontSizeLarge:p}=e;return Object.assign(Object.assign({},eY),{fontSizeSmall:f,fontSizeMedium:h,fontSizeLarge:p,lineHeight:d,borderRadius:c,borderColor:Ge(n,t),borderColorModal:Ge(o,t),borderColorPopover:Ge(r,t),tdColor:n,tdColorModal:o,tdColorPopover:r,tdColorStriped:Ge(n,a),tdColorStripedModal:Ge(o,a),tdColorStripedPopover:Ge(r,a),thColor:Ge(n,i),thColorModal:Ge(o,i),thColorPopover:Ge(r,i),thTextColor:s,tdTextColor:l,thFontWeight:u})}const nY={name:"Table",common:je,self:tY},oY=nY,rY={tabFontSizeSmall:"14px",tabFontSizeMedium:"14px",tabFontSizeLarge:"16px",tabGapSmallLine:"36px",tabGapMediumLine:"36px",tabGapLargeLine:"36px",tabGapSmallLineVertical:"8px",tabGapMediumLineVertical:"8px",tabGapLargeLineVertical:"8px",tabPaddingSmallLine:"6px 0",tabPaddingMediumLine:"10px 0",tabPaddingLargeLine:"14px 0",tabPaddingVerticalSmallLine:"6px 12px",tabPaddingVerticalMediumLine:"8px 16px",tabPaddingVerticalLargeLine:"10px 20px",tabGapSmallBar:"36px",tabGapMediumBar:"36px",tabGapLargeBar:"36px",tabGapSmallBarVertical:"8px",tabGapMediumBarVertical:"8px",tabGapLargeBarVertical:"8px",tabPaddingSmallBar:"4px 0",tabPaddingMediumBar:"6px 0",tabPaddingLargeBar:"10px 0",tabPaddingVerticalSmallBar:"6px 12px",tabPaddingVerticalMediumBar:"8px 16px",tabPaddingVerticalLargeBar:"10px 20px",tabGapSmallCard:"4px",tabGapMediumCard:"4px",tabGapLargeCard:"4px",tabGapSmallCardVertical:"4px",tabGapMediumCardVertical:"4px",tabGapLargeCardVertical:"4px",tabPaddingSmallCard:"8px 16px",tabPaddingMediumCard:"10px 20px",tabPaddingLargeCard:"12px 24px",tabPaddingSmallSegment:"4px 0",tabPaddingMediumSegment:"6px 0",tabPaddingLargeSegment:"8px 0",tabPaddingVerticalLargeSegment:"0 8px",tabPaddingVerticalSmallCard:"8px 12px",tabPaddingVerticalMediumCard:"10px 16px",tabPaddingVerticalLargeCard:"12px 20px",tabPaddingVerticalSmallSegment:"0 4px",tabPaddingVerticalMediumSegment:"0 6px",tabGapSmallSegment:"0",tabGapMediumSegment:"0",tabGapLargeSegment:"0",tabGapSmallSegmentVertical:"0",tabGapMediumSegmentVertical:"0",tabGapLargeSegmentVertical:"0",panePaddingSmall:"8px 0 0 0",panePaddingMedium:"12px 0 0 0",panePaddingLarge:"16px 0 0 0",closeSize:"18px",closeIconSize:"14px"};function iY(e){const{textColor2:t,primaryColor:n,textColorDisabled:o,closeIconColor:r,closeIconColorHover:i,closeIconColorPressed:a,closeColorHover:s,closeColorPressed:l,tabColor:c,baseColor:u,dividerColor:d,fontWeight:f,textColor1:h,borderRadius:p,fontSize:g,fontWeightStrong:m}=e;return Object.assign(Object.assign({},rY),{colorSegment:c,tabFontSizeCard:g,tabTextColorLine:h,tabTextColorActiveLine:n,tabTextColorHoverLine:n,tabTextColorDisabledLine:o,tabTextColorSegment:h,tabTextColorActiveSegment:t,tabTextColorHoverSegment:t,tabTextColorDisabledSegment:o,tabTextColorBar:h,tabTextColorActiveBar:n,tabTextColorHoverBar:n,tabTextColorDisabledBar:o,tabTextColorCard:h,tabTextColorHoverCard:h,tabTextColorActiveCard:n,tabTextColorDisabledCard:o,barColor:n,closeIconColor:r,closeIconColorHover:i,closeIconColorPressed:a,closeColorHover:s,closeColorPressed:l,closeBorderRadius:p,tabColor:c,tabColorSegment:u,tabBorderColor:d,tabFontWeightActive:f,tabFontWeight:f,tabBorderRadius:p,paneTextColor:t,fontWeightStrong:m})}const aY={name:"Tabs",common:je,self(e){const t=iY(e),{inputColor:n}=e;return t.colorSegment=n,t.tabColorSegment=n,t}},sY=aY;function lY(e){const{textColor1:t,textColor2:n,fontWeightStrong:o,fontSize:r}=e;return{fontSize:r,titleTextColor:t,textColor:n,titleFontWeight:o}}const cY={name:"Thing",common:je,self:lY},uY=cY,dY={titleMarginMedium:"0 0 6px 0",titleMarginLarge:"-2px 0 6px 0",titleFontSizeMedium:"14px",titleFontSizeLarge:"16px",iconSizeMedium:"14px",iconSizeLarge:"14px"},fY={name:"Timeline",common:je,self(e){const{textColor3:t,infoColorSuppl:n,errorColorSuppl:o,successColorSuppl:r,warningColorSuppl:i,textColor1:a,textColor2:s,railColor:l,fontWeightStrong:c,fontSize:u}=e;return Object.assign(Object.assign({},dY),{contentFontSize:u,titleFontWeight:c,circleBorder:`2px solid ${t}`,circleBorderInfo:`2px solid ${n}`,circleBorderError:`2px solid ${o}`,circleBorderSuccess:`2px solid ${r}`,circleBorderWarning:`2px solid ${i}`,iconColor:t,iconColorInfo:n,iconColorError:o,iconColorSuccess:r,iconColorWarning:i,titleTextColor:a,contentTextColor:s,metaTextColor:t,lineColor:l})}},hY=fY,pY={extraFontSizeSmall:"12px",extraFontSizeMedium:"12px",extraFontSizeLarge:"14px",titleFontSizeSmall:"14px",titleFontSizeMedium:"16px",titleFontSizeLarge:"16px",closeSize:"20px",closeIconSize:"16px",headerHeightSmall:"44px",headerHeightMedium:"44px",headerHeightLarge:"50px"},mY={name:"Transfer",common:je,peers:{Checkbox:Ga,Scrollbar:Vn,Input:mo,Empty:Ki,Button:Wn},self(e){const{fontWeight:t,fontSizeLarge:n,fontSizeMedium:o,fontSizeSmall:r,heightLarge:i,heightMedium:a,borderRadius:s,inputColor:l,tableHeaderColor:c,textColor1:u,textColorDisabled:d,textColor2:f,textColor3:h,hoverColor:p,closeColorHover:g,closeColorPressed:m,closeIconColor:b,closeIconColorHover:_,closeIconColorPressed:C,dividerColor:S}=e;return Object.assign(Object.assign({},pY),{itemHeightSmall:a,itemHeightMedium:a,itemHeightLarge:i,fontSizeSmall:r,fontSizeMedium:o,fontSizeLarge:n,borderRadius:s,dividerColor:S,borderColor:"#0000",listColor:l,headerColor:c,titleTextColor:u,titleTextColorDisabled:d,extraTextColor:h,extraTextColorDisabled:d,itemTextColor:f,itemTextColorDisabled:d,itemColorPending:p,titleFontWeight:t,closeColorHover:g,closeColorPressed:m,closeIconColor:b,closeIconColorHover:_,closeIconColorPressed:C})}},gY=mY;function vY(e){const{borderRadiusSmall:t,dividerColor:n,hoverColor:o,pressedColor:r,primaryColor:i,textColor3:a,textColor2:s,textColorDisabled:l,fontSize:c}=e;return{fontSize:c,lineHeight:"1.5",nodeHeight:"30px",nodeWrapperPadding:"3px 0",nodeBorderRadius:t,nodeColorHover:o,nodeColorPressed:r,nodeColorActive:Me(i,{alpha:.1}),arrowColor:a,nodeTextColor:s,nodeTextColorDisabled:l,loadingColor:i,dropMarkColor:i,lineColor:n}}const bY={name:"Tree",common:je,peers:{Checkbox:Ga,Scrollbar:Vn,Empty:Ki},self(e){const{primaryColor:t}=e,n=vY(e);return n.nodeColorActive=Me(t,{alpha:.15}),n}},DS=bY,yY={name:"TreeSelect",common:je,peers:{Tree:DS,Empty:Ki,InternalSelection:mm}},xY=yY,CY={headerFontSize1:"30px",headerFontSize2:"22px",headerFontSize3:"18px",headerFontSize4:"16px",headerFontSize5:"16px",headerFontSize6:"16px",headerMargin1:"28px 0 20px 0",headerMargin2:"28px 0 20px 0",headerMargin3:"28px 0 20px 0",headerMargin4:"28px 0 18px 0",headerMargin5:"28px 0 18px 0",headerMargin6:"28px 0 18px 0",headerPrefixWidth1:"16px",headerPrefixWidth2:"16px",headerPrefixWidth3:"12px",headerPrefixWidth4:"12px",headerPrefixWidth5:"12px",headerPrefixWidth6:"12px",headerBarWidth1:"4px",headerBarWidth2:"4px",headerBarWidth3:"3px",headerBarWidth4:"3px",headerBarWidth5:"3px",headerBarWidth6:"3px",pMargin:"16px 0 16px 0",liMargin:".25em 0 0 0",olPadding:"0 0 0 2em",ulPadding:"0 0 0 2em"};function wY(e){const{primaryColor:t,textColor2:n,borderColor:o,lineHeight:r,fontSize:i,borderRadiusSmall:a,dividerColor:s,fontWeightStrong:l,textColor1:c,textColor3:u,infoColor:d,warningColor:f,errorColor:h,successColor:p,codeColor:g}=e;return Object.assign(Object.assign({},CY),{aTextColor:t,blockquoteTextColor:n,blockquotePrefixColor:o,blockquoteLineHeight:r,blockquoteFontSize:i,codeBorderRadius:a,liTextColor:n,liLineHeight:r,liFontSize:i,hrColor:s,headerFontWeight:l,headerTextColor:c,pTextColor:n,pTextColor1Depth:c,pTextColor2Depth:n,pTextColor3Depth:u,pLineHeight:r,pFontSize:i,headerBarColor:t,headerBarColorPrimary:t,headerBarColorInfo:d,headerBarColorError:h,headerBarColorWarning:f,headerBarColorSuccess:p,textColor:n,textColor1Depth:c,textColor2Depth:n,textColor3Depth:u,textColorPrimary:t,textColorInfo:d,textColorSuccess:p,textColorWarning:f,textColorError:h,codeTextColor:n,codeColor:g,codeBorder:"1px solid #0000"})}const _Y={name:"Typography",common:je,self:wY},SY=_Y;function kY(e){const{iconColor:t,primaryColor:n,errorColor:o,textColor2:r,successColor:i,opacityDisabled:a,actionColor:s,borderColor:l,hoverColor:c,lineHeight:u,borderRadius:d,fontSize:f}=e;return{fontSize:f,lineHeight:u,borderRadius:d,draggerColor:s,draggerBorder:`1px dashed ${l}`,draggerBorderHover:`1px dashed ${n}`,itemColorHover:c,itemColorHoverError:Me(o,{alpha:.06}),itemTextColor:r,itemTextColorError:o,itemTextColorSuccess:i,itemIconColor:t,itemDisabledOpacity:a,itemBorderImageCardError:`1px solid ${o}`,itemBorderImageCard:`1px solid ${l}`}}const PY={name:"Upload",common:je,peers:{Button:Wn,Progress:IS},self(e){const{errorColor:t}=e,n=kY(e);return n.itemColorHoverError=Me(t,{alpha:.09}),n}},TY=PY,RY={name:"Watermark",common:je,self(e){const{fontFamily:t}=e;return{fontFamily:t}}},EY=RY,$Y={name:"Row",common:je},AY=$Y,IY={name:"FloatButton",common:je,self(e){const{popoverColor:t,textColor2:n,buttonColor2Hover:o,buttonColor2Pressed:r,primaryColor:i,primaryColorHover:a,primaryColorPressed:s,baseColor:l,borderRadius:c}=e;return{color:t,textColor:n,boxShadow:"0 2px 8px 0px rgba(0, 0, 0, .12)",boxShadowHover:"0 2px 12px 0px rgba(0, 0, 0, .18)",boxShadowPressed:"0 2px 12px 0px rgba(0, 0, 0, .18)",colorHover:o,colorPressed:r,colorPrimary:i,colorPrimaryHover:a,colorPrimaryPressed:s,textColorPrimary:l,borderRadiusSquare:c}}},OY=IY;function MY(e){const{primaryColor:t,baseColor:n}=e;return{color:t,iconColor:n}}const zY={name:"IconWrapper",common:je,self:MY},DY=zY,LY={name:"Image",common:je,peers:{Tooltip:Lu},self:e=>{const{textColor2:t}=e;return{toolbarIconColor:t,toolbarColor:"rgba(0, 0, 0, .35)",toolbarBoxShadow:"none",toolbarBorderRadius:"24px"}}};function FY(e){return e==null||typeof e=="string"&&e.trim()===""?null:Number(e)}function BY(e){return e.includes(".")&&(/^(-)?\d+.*(\.|0)$/.test(e)||/^\.\d+$/.test(e))}function lf(e){return e==null?!0:!Number.isNaN(e)}function f1(e,t){return typeof e!="number"?"":t===void 0?String(e):e.toFixed(t)}function cf(e){if(e===null)return null;if(typeof e=="number")return e;{const t=Number(e);return Number.isNaN(t)?null:t}}const NY=q([z("input-number-suffix",` - display: inline-block; - margin-right: 10px; - `),z("input-number-prefix",` - display: inline-block; - margin-left: 10px; - `)]),h1=800,p1=100,HY=Object.assign(Object.assign({},Be.props),{autofocus:Boolean,loading:{type:Boolean,default:void 0},placeholder:String,defaultValue:{type:Number,default:null},value:Number,step:{type:[Number,String],default:1},min:[Number,String],max:[Number,String],size:String,disabled:{type:Boolean,default:void 0},validator:Function,bordered:{type:Boolean,default:void 0},showButton:{type:Boolean,default:!0},buttonPlacement:{type:String,default:"right"},inputProps:Object,readonly:Boolean,clearable:Boolean,keyboard:{type:Object,default:{}},updateValueOnInput:{type:Boolean,default:!0},round:{type:Boolean,default:void 0},parse:Function,format:Function,precision:Number,status:String,"onUpdate:value":[Function,Array],onUpdateValue:[Function,Array],onFocus:[Function,Array],onBlur:[Function,Array],onClear:[Function,Array],onChange:[Function,Array]}),jY=be({name:"InputNumber",props:HY,setup(e){const{mergedBorderedRef:t,mergedClsPrefixRef:n,mergedRtlRef:o}=st(e),r=Be("InputNumber","-input-number",NY,YK,e,n),{localeRef:i}=Hi("InputNumber"),a=pr(e),{mergedSizeRef:s,mergedDisabledRef:l,mergedStatusRef:c}=a,u=W(null),d=W(null),f=W(null),h=W(e.defaultValue),p=We(e,"value"),g=an(p,h),m=W(""),b=te=>{const ge=String(te).split(".")[1];return ge?ge.length:0},_=te=>{const ge=[e.min,e.max,e.step,te].map(ke=>ke===void 0?0:b(ke));return Math.max(...ge)},C=kt(()=>{const{placeholder:te}=e;return te!==void 0?te:i.value.placeholder}),S=kt(()=>{const te=cf(e.step);return te!==null?te===0?1:Math.abs(te):1}),w=kt(()=>{const te=cf(e.min);return te!==null?te:null}),x=kt(()=>{const te=cf(e.max);return te!==null?te:null}),y=()=>{const{value:te}=g;if(lf(te)){const{format:ge,precision:ke}=e;ge?m.value=ge(te):te===null||ke===void 0||b(te)>ke?m.value=f1(te,void 0):m.value=f1(te,ke)}else m.value=String(te)};y();const P=te=>{const{value:ge}=g;if(te===ge){y();return}const{"onUpdate:value":ke,onUpdateValue:I,onChange:j}=e,{nTriggerFormInput:ee,nTriggerFormChange:Ce}=a;j&&$e(j,te),I&&$e(I,te),ke&&$e(ke,te),h.value=te,ee(),Ce()},k=({offset:te,doUpdateIfValid:ge,fixPrecision:ke,isInputing:I})=>{const{value:j}=m;if(I&&BY(j))return!1;const ee=(e.parse||FY)(j);if(ee===null)return ge&&P(null),null;if(lf(ee)){const Ce=b(ee),{precision:ce}=e;if(ce!==void 0&&cere){if(!ge||I)return!1;le=re}if(de!==null&&lek({offset:0,doUpdateIfValid:!1,isInputing:!1,fixPrecision:!1})===!1),E=kt(()=>{const{value:te}=g;if(e.validator&&te===null)return!1;const{value:ge}=S;return k({offset:-ge,doUpdateIfValid:!1,isInputing:!1,fixPrecision:!1})!==!1}),R=kt(()=>{const{value:te}=g;if(e.validator&&te===null)return!1;const{value:ge}=S;return k({offset:+ge,doUpdateIfValid:!1,isInputing:!1,fixPrecision:!1})!==!1});function K(te){const{onFocus:ge}=e,{nTriggerFormFocus:ke}=a;ge&&$e(ge,te),ke()}function N(te){var ge,ke;if(te.target===((ge=u.value)===null||ge===void 0?void 0:ge.wrapperElRef))return;const I=k({offset:0,doUpdateIfValid:!0,isInputing:!1,fixPrecision:!0});if(I!==!1){const Ce=(ke=u.value)===null||ke===void 0?void 0:ke.inputElRef;Ce&&(Ce.value=String(I||"")),g.value===I&&y()}else y();const{onBlur:j}=e,{nTriggerFormBlur:ee}=a;j&&$e(j,te),ee(),Ht(()=>{y()})}function D(te){const{onClear:ge}=e;ge&&$e(ge,te)}function M(){const{value:te}=R;if(!te){xe();return}const{value:ge}=g;if(ge===null)e.validator||P(pe());else{const{value:ke}=S;k({offset:ke,doUpdateIfValid:!0,isInputing:!1,fixPrecision:!0})}}function G(){const{value:te}=E;if(!te){fe();return}const{value:ge}=g;if(ge===null)e.validator||P(pe());else{const{value:ke}=S;k({offset:-ke,doUpdateIfValid:!0,isInputing:!1,fixPrecision:!0})}}const J=K,he=N;function pe(){if(e.validator)return null;const{value:te}=w,{value:ge}=x;return te!==null?Math.max(0,te):ge!==null?Math.min(0,ge):0}function B(te){D(te),P(null)}function $(te){var ge,ke,I;!((ge=f.value)===null||ge===void 0)&&ge.$el.contains(te.target)&&te.preventDefault(),!((ke=d.value)===null||ke===void 0)&&ke.$el.contains(te.target)&&te.preventDefault(),(I=u.value)===null||I===void 0||I.activate()}let A=null,Y=null,ne=null;function fe(){ne&&(window.clearTimeout(ne),ne=null),A&&(window.clearInterval(A),A=null)}let Q=null;function xe(){Q&&(window.clearTimeout(Q),Q=null),Y&&(window.clearInterval(Y),Y=null)}function H(){fe(),ne=window.setTimeout(()=>{A=window.setInterval(()=>{G()},p1)},h1),At("mouseup",document,fe,{once:!0})}function ye(){xe(),Q=window.setTimeout(()=>{Y=window.setInterval(()=>{M()},p1)},h1),At("mouseup",document,xe,{once:!0})}const Oe=()=>{Y||M()},Ne=()=>{A||G()};function L(te){var ge,ke;if(te.key==="Enter"){if(te.target===((ge=u.value)===null||ge===void 0?void 0:ge.wrapperElRef))return;k({offset:0,doUpdateIfValid:!0,isInputing:!1,fixPrecision:!0})!==!1&&((ke=u.value)===null||ke===void 0||ke.deactivate())}else if(te.key==="ArrowUp"){if(!R.value||e.keyboard.ArrowUp===!1)return;te.preventDefault(),k({offset:0,doUpdateIfValid:!0,isInputing:!1,fixPrecision:!0})!==!1&&M()}else if(te.key==="ArrowDown"){if(!E.value||e.keyboard.ArrowDown===!1)return;te.preventDefault(),k({offset:0,doUpdateIfValid:!0,isInputing:!1,fixPrecision:!0})!==!1&&G()}}function O(te){m.value=te,e.updateValueOnInput&&!e.format&&!e.parse&&e.precision===void 0&&k({offset:0,doUpdateIfValid:!0,isInputing:!0,fixPrecision:!1})}ft(g,()=>{y()});const oe={focus:()=>{var te;return(te=u.value)===null||te===void 0?void 0:te.focus()},blur:()=>{var te;return(te=u.value)===null||te===void 0?void 0:te.blur()},select:()=>{var te;return(te=u.value)===null||te===void 0?void 0:te.select()}},_e=pn("InputNumber",o,n);return Object.assign(Object.assign({},oe),{rtlEnabled:_e,inputInstRef:u,minusButtonInstRef:d,addButtonInstRef:f,mergedClsPrefix:n,mergedBordered:t,uncontrolledValue:h,mergedValue:g,mergedPlaceholder:C,displayedValueInvalid:T,mergedSize:s,mergedDisabled:l,displayedValue:m,addable:R,minusable:E,mergedStatus:c,handleFocus:J,handleBlur:he,handleClear:B,handleMouseDown:$,handleAddClick:Oe,handleMinusClick:Ne,handleAddMousedown:ye,handleMinusMousedown:H,handleKeyDown:L,handleUpdateDisplayedValue:O,mergedTheme:r,inputThemeOverrides:{paddingSmall:"0 8px 0 10px",paddingMedium:"0 8px 0 12px",paddingLarge:"0 8px 0 14px"},buttonThemeOverrides:F(()=>{const{self:{iconColorDisabled:te}}=r.value,[ge,ke,I,j]=Uo(te);return{textColorTextDisabled:`rgb(${ge}, ${ke}, ${I})`,opacityDisabled:`${j}`}})})},render(){const{mergedClsPrefix:e,$slots:t}=this,n=()=>v(X0,{text:!0,disabled:!this.minusable||this.mergedDisabled||this.readonly,focusable:!1,theme:this.mergedTheme.peers.Button,themeOverrides:this.mergedTheme.peerOverrides.Button,builtinThemeOverrides:this.buttonThemeOverrides,onClick:this.handleMinusClick,onMousedown:this.handleMinusMousedown,ref:"minusButtonInstRef"},{icon:()=>An(t["minus-icon"],()=>[v(Ut,{clsPrefix:e},{default:()=>v(LN,null)})])}),o=()=>v(X0,{text:!0,disabled:!this.addable||this.mergedDisabled||this.readonly,focusable:!1,theme:this.mergedTheme.peers.Button,themeOverrides:this.mergedTheme.peerOverrides.Button,builtinThemeOverrides:this.buttonThemeOverrides,onClick:this.handleAddClick,onMousedown:this.handleAddMousedown,ref:"addButtonInstRef"},{icon:()=>An(t["add-icon"],()=>[v(Ut,{clsPrefix:e},{default:()=>v(EN,null)})])});return v("div",{class:[`${e}-input-number`,this.rtlEnabled&&`${e}-input-number--rtl`]},v(ur,{ref:"inputInstRef",autofocus:this.autofocus,status:this.mergedStatus,bordered:this.mergedBordered,loading:this.loading,value:this.displayedValue,onUpdateValue:this.handleUpdateDisplayedValue,theme:this.mergedTheme.peers.Input,themeOverrides:this.mergedTheme.peerOverrides.Input,builtinThemeOverrides:this.inputThemeOverrides,size:this.mergedSize,placeholder:this.mergedPlaceholder,disabled:this.mergedDisabled,readonly:this.readonly,round:this.round,textDecoration:this.displayedValueInvalid?"line-through":void 0,onFocus:this.handleFocus,onBlur:this.handleBlur,onKeydown:this.handleKeyDown,onMousedown:this.handleMouseDown,onClear:this.handleClear,clearable:this.clearable,inputProps:this.inputProps,internalLoadingBeforeSuffix:!0},{prefix:()=>{var r;return this.showButton&&this.buttonPlacement==="both"?[n(),$t(t.prefix,i=>i?v("span",{class:`${e}-input-number-prefix`},i):null)]:(r=t.prefix)===null||r===void 0?void 0:r.call(t)},suffix:()=>{var r;return this.showButton?[$t(t.suffix,i=>i?v("span",{class:`${e}-input-number-suffix`},i):null),this.buttonPlacement==="right"?n():null,o()]:(r=t.suffix)===null||r===void 0?void 0:r.call(t)}}))}}),LS="n-layout-sider",FS={type:String,default:"static"},VY=z("layout",` - color: var(--n-text-color); - background-color: var(--n-color); - box-sizing: border-box; - position: relative; - z-index: auto; - flex: auto; - overflow: hidden; - transition: - box-shadow .3s var(--n-bezier), - background-color .3s var(--n-bezier), - color .3s var(--n-bezier); -`,[z("layout-scroll-container",` - overflow-x: hidden; - box-sizing: border-box; - height: 100%; - `),Z("absolute-positioned",` - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - `)]),WY={embedded:Boolean,position:FS,nativeScrollbar:{type:Boolean,default:!0},scrollbarProps:Object,onScroll:Function,contentClass:String,contentStyle:{type:[String,Object],default:""},hasSider:Boolean,siderPlacement:{type:String,default:"left"}},BS="n-layout";function UY(e){return be({name:e?"LayoutContent":"Layout",props:Object.assign(Object.assign({},Be.props),WY),setup(t){const n=W(null),o=W(null),{mergedClsPrefixRef:r,inlineThemeDisabled:i}=st(t),a=Be("Layout","-layout",VY,RS,t,r);function s(g,m){if(t.nativeScrollbar){const{value:b}=n;b&&(m===void 0?b.scrollTo(g):b.scrollTo(g,m))}else{const{value:b}=o;b&&b.scrollTo(g,m)}}at(BS,t);let l=0,c=0;const u=g=>{var m;const b=g.target;l=b.scrollLeft,c=b.scrollTop,(m=t.onScroll)===null||m===void 0||m.call(t,g)};Qp(()=>{if(t.nativeScrollbar){const g=n.value;g&&(g.scrollTop=c,g.scrollLeft=l)}});const d={display:"flex",flexWrap:"nowrap",width:"100%",flexDirection:"row"},f={scrollTo:s},h=F(()=>{const{common:{cubicBezierEaseInOut:g},self:m}=a.value;return{"--n-bezier":g,"--n-color":t.embedded?m.colorEmbedded:m.color,"--n-text-color":m.textColor}}),p=i?Pt("layout",F(()=>t.embedded?"e":""),h,t):void 0;return Object.assign({mergedClsPrefix:r,scrollableElRef:n,scrollbarInstRef:o,hasSiderStyle:d,mergedTheme:a,handleNativeElScroll:u,cssVars:i?void 0:h,themeClass:p==null?void 0:p.themeClass,onRender:p==null?void 0:p.onRender},f)},render(){var t;const{mergedClsPrefix:n,hasSider:o}=this;(t=this.onRender)===null||t===void 0||t.call(this);const r=o?this.hasSiderStyle:void 0,i=[this.themeClass,e&&`${n}-layout-content`,`${n}-layout`,`${n}-layout--${this.position}-positioned`];return v("div",{class:i,style:this.cssVars},this.nativeScrollbar?v("div",{ref:"scrollableElRef",class:[`${n}-layout-scroll-container`,this.contentClass],style:[this.contentStyle,r],onScroll:this.handleNativeElScroll},this.$slots):v(Io,Object.assign({},this.scrollbarProps,{onScroll:this.onScroll,ref:"scrollbarInstRef",theme:this.mergedTheme.peers.Scrollbar,themeOverrides:this.mergedTheme.peerOverrides.Scrollbar,contentClass:this.contentClass,contentStyle:[this.contentStyle,r]}),this.$slots))}})}const qY=UY(!1),KY=z("layout-sider",` - flex-shrink: 0; - box-sizing: border-box; - position: relative; - z-index: 1; - color: var(--n-text-color); - transition: - color .3s var(--n-bezier), - border-color .3s var(--n-bezier), - min-width .3s var(--n-bezier), - max-width .3s var(--n-bezier), - transform .3s var(--n-bezier), - background-color .3s var(--n-bezier); - background-color: var(--n-color); - display: flex; - justify-content: flex-end; -`,[Z("bordered",[V("border",` - content: ""; - position: absolute; - top: 0; - bottom: 0; - width: 1px; - background-color: var(--n-border-color); - transition: background-color .3s var(--n-bezier); - `)]),V("left-placement",[Z("bordered",[V("border",` - right: 0; - `)])]),Z("right-placement",` - justify-content: flex-start; - `,[Z("bordered",[V("border",` - left: 0; - `)]),Z("collapsed",[z("layout-toggle-button",[z("base-icon",` - transform: rotate(180deg); - `)]),z("layout-toggle-bar",[q("&:hover",[V("top",{transform:"rotate(-12deg) scale(1.15) translateY(-2px)"}),V("bottom",{transform:"rotate(12deg) scale(1.15) translateY(2px)"})])])]),z("layout-toggle-button",` - left: 0; - transform: translateX(-50%) translateY(-50%); - `,[z("base-icon",` - transform: rotate(0); - `)]),z("layout-toggle-bar",` - left: -28px; - transform: rotate(180deg); - `,[q("&:hover",[V("top",{transform:"rotate(12deg) scale(1.15) translateY(-2px)"}),V("bottom",{transform:"rotate(-12deg) scale(1.15) translateY(2px)"})])])]),Z("collapsed",[z("layout-toggle-bar",[q("&:hover",[V("top",{transform:"rotate(-12deg) scale(1.15) translateY(-2px)"}),V("bottom",{transform:"rotate(12deg) scale(1.15) translateY(2px)"})])]),z("layout-toggle-button",[z("base-icon",` - transform: rotate(0); - `)])]),z("layout-toggle-button",` - transition: - color .3s var(--n-bezier), - right .3s var(--n-bezier), - left .3s var(--n-bezier), - border-color .3s var(--n-bezier), - background-color .3s var(--n-bezier); - cursor: pointer; - width: 24px; - height: 24px; - position: absolute; - top: 50%; - right: 0; - border-radius: 50%; - display: flex; - align-items: center; - justify-content: center; - font-size: 18px; - color: var(--n-toggle-button-icon-color); - border: var(--n-toggle-button-border); - background-color: var(--n-toggle-button-color); - box-shadow: 0 2px 4px 0px rgba(0, 0, 0, .06); - transform: translateX(50%) translateY(-50%); - z-index: 1; - `,[z("base-icon",` - transition: transform .3s var(--n-bezier); - transform: rotate(180deg); - `)]),z("layout-toggle-bar",` - cursor: pointer; - height: 72px; - width: 32px; - position: absolute; - top: calc(50% - 36px); - right: -28px; - `,[V("top, bottom",` - position: absolute; - width: 4px; - border-radius: 2px; - height: 38px; - left: 14px; - transition: - background-color .3s var(--n-bezier), - transform .3s var(--n-bezier); - `),V("bottom",` - position: absolute; - top: 34px; - `),q("&:hover",[V("top",{transform:"rotate(12deg) scale(1.15) translateY(-2px)"}),V("bottom",{transform:"rotate(-12deg) scale(1.15) translateY(2px)"})]),V("top, bottom",{backgroundColor:"var(--n-toggle-bar-color)"}),q("&:hover",[V("top, bottom",{backgroundColor:"var(--n-toggle-bar-color-hover)"})])]),V("border",` - position: absolute; - top: 0; - right: 0; - bottom: 0; - width: 1px; - transition: background-color .3s var(--n-bezier); - `),z("layout-sider-scroll-container",` - flex-grow: 1; - flex-shrink: 0; - box-sizing: border-box; - height: 100%; - opacity: 0; - transition: opacity .3s var(--n-bezier); - max-width: 100%; - `),Z("show-content",[z("layout-sider-scroll-container",{opacity:1})]),Z("absolute-positioned",` - position: absolute; - left: 0; - top: 0; - bottom: 0; - `)]),GY=be({name:"LayoutToggleButton",props:{clsPrefix:{type:String,required:!0},onClick:Function},render(){const{clsPrefix:e}=this;return v("div",{class:`${e}-layout-toggle-button`,onClick:this.onClick},v(Ut,{clsPrefix:e},{default:()=>v(fm,null)}))}}),YY=be({props:{clsPrefix:{type:String,required:!0},onClick:Function},render(){const{clsPrefix:e}=this;return v("div",{onClick:this.onClick,class:`${e}-layout-toggle-bar`},v("div",{class:`${e}-layout-toggle-bar__top`}),v("div",{class:`${e}-layout-toggle-bar__bottom`}))}}),XY={position:FS,bordered:Boolean,collapsedWidth:{type:Number,default:48},width:{type:[Number,String],default:272},contentClass:String,contentStyle:{type:[String,Object],default:""},collapseMode:{type:String,default:"transform"},collapsed:{type:Boolean,default:void 0},defaultCollapsed:Boolean,showCollapsedContent:{type:Boolean,default:!0},showTrigger:{type:[Boolean,String],default:!1},nativeScrollbar:{type:Boolean,default:!0},inverted:Boolean,scrollbarProps:Object,triggerClass:String,triggerStyle:[String,Object],collapsedTriggerClass:String,collapsedTriggerStyle:[String,Object],"onUpdate:collapsed":[Function,Array],onUpdateCollapsed:[Function,Array],onAfterEnter:Function,onAfterLeave:Function,onExpand:[Function,Array],onCollapse:[Function,Array],onScroll:Function},ZY=be({name:"LayoutSider",props:Object.assign(Object.assign({},Be.props),XY),setup(e){const t=Ue(BS),n=W(null),o=W(null),r=W(e.defaultCollapsed),i=an(We(e,"collapsed"),r),a=F(()=>qt(i.value?e.collapsedWidth:e.width)),s=F(()=>e.collapseMode!=="transform"?{}:{minWidth:qt(e.width)}),l=F(()=>t?t.siderPlacement:"left");function c(w,x){if(e.nativeScrollbar){const{value:y}=n;y&&(x===void 0?y.scrollTo(w):y.scrollTo(w,x))}else{const{value:y}=o;y&&y.scrollTo(w,x)}}function u(){const{"onUpdate:collapsed":w,onUpdateCollapsed:x,onExpand:y,onCollapse:P}=e,{value:k}=i;x&&$e(x,!k),w&&$e(w,!k),r.value=!k,k?y&&$e(y):P&&$e(P)}let d=0,f=0;const h=w=>{var x;const y=w.target;d=y.scrollLeft,f=y.scrollTop,(x=e.onScroll)===null||x===void 0||x.call(e,w)};Qp(()=>{if(e.nativeScrollbar){const w=n.value;w&&(w.scrollTop=f,w.scrollLeft=d)}}),at(LS,{collapsedRef:i,collapseModeRef:We(e,"collapseMode")});const{mergedClsPrefixRef:p,inlineThemeDisabled:g}=st(e),m=Be("Layout","-layout-sider",KY,RS,e,p);function b(w){var x,y;w.propertyName==="max-width"&&(i.value?(x=e.onAfterLeave)===null||x===void 0||x.call(e):(y=e.onAfterEnter)===null||y===void 0||y.call(e))}const _={scrollTo:c},C=F(()=>{const{common:{cubicBezierEaseInOut:w},self:x}=m.value,{siderToggleButtonColor:y,siderToggleButtonBorder:P,siderToggleBarColor:k,siderToggleBarColorHover:T}=x,E={"--n-bezier":w,"--n-toggle-button-color":y,"--n-toggle-button-border":P,"--n-toggle-bar-color":k,"--n-toggle-bar-color-hover":T};return e.inverted?(E["--n-color"]=x.siderColorInverted,E["--n-text-color"]=x.textColorInverted,E["--n-border-color"]=x.siderBorderColorInverted,E["--n-toggle-button-icon-color"]=x.siderToggleButtonIconColorInverted,E.__invertScrollbar=x.__invertScrollbar):(E["--n-color"]=x.siderColor,E["--n-text-color"]=x.textColor,E["--n-border-color"]=x.siderBorderColor,E["--n-toggle-button-icon-color"]=x.siderToggleButtonIconColor),E}),S=g?Pt("layout-sider",F(()=>e.inverted?"a":"b"),C,e):void 0;return Object.assign({scrollableElRef:n,scrollbarInstRef:o,mergedClsPrefix:p,mergedTheme:m,styleMaxWidth:a,mergedCollapsed:i,scrollContainerStyle:s,siderPlacement:l,handleNativeElScroll:h,handleTransitionend:b,handleTriggerClick:u,inlineThemeDisabled:g,cssVars:C,themeClass:S==null?void 0:S.themeClass,onRender:S==null?void 0:S.onRender},_)},render(){var e;const{mergedClsPrefix:t,mergedCollapsed:n,showTrigger:o}=this;return(e=this.onRender)===null||e===void 0||e.call(this),v("aside",{class:[`${t}-layout-sider`,this.themeClass,`${t}-layout-sider--${this.position}-positioned`,`${t}-layout-sider--${this.siderPlacement}-placement`,this.bordered&&`${t}-layout-sider--bordered`,n&&`${t}-layout-sider--collapsed`,(!n||this.showCollapsedContent)&&`${t}-layout-sider--show-content`],onTransitionend:this.handleTransitionend,style:[this.inlineThemeDisabled?void 0:this.cssVars,{maxWidth:this.styleMaxWidth,width:qt(this.width)}]},this.nativeScrollbar?v("div",{class:[`${t}-layout-sider-scroll-container`,this.contentClass],onScroll:this.handleNativeElScroll,style:[this.scrollContainerStyle,{overflow:"auto"},this.contentStyle],ref:"scrollableElRef"},this.$slots):v(Io,Object.assign({},this.scrollbarProps,{onScroll:this.onScroll,ref:"scrollbarInstRef",style:this.scrollContainerStyle,contentStyle:this.contentStyle,contentClass:this.contentClass,theme:this.mergedTheme.peers.Scrollbar,themeOverrides:this.mergedTheme.peerOverrides.Scrollbar,builtinThemeOverrides:this.inverted&&this.cssVars.__invertScrollbar==="true"?{colorHover:"rgba(255, 255, 255, .4)",color:"rgba(255, 255, 255, .3)"}:void 0}),this.$slots),o?o==="bar"?v(YY,{clsPrefix:t,class:n?this.collapsedTriggerClass:this.triggerClass,style:n?this.collapsedTriggerStyle:this.triggerStyle,onClick:this.handleTriggerClick}):v(GY,{clsPrefix:t,class:n?this.collapsedTriggerClass:this.triggerClass,style:n?this.collapsedTriggerStyle:this.triggerStyle,onClick:this.handleTriggerClick}):null,this.bordered?v("div",{class:`${t}-layout-sider__border`}):null)}}),JY={extraFontSize:"12px",width:"440px"},QY={name:"Transfer",common:je,peers:{Checkbox:Ga,Scrollbar:Vn,Input:mo,Empty:Ki,Button:Wn},self(e){const{iconColorDisabled:t,iconColor:n,fontWeight:o,fontSizeLarge:r,fontSizeMedium:i,fontSizeSmall:a,heightLarge:s,heightMedium:l,heightSmall:c,borderRadius:u,inputColor:d,tableHeaderColor:f,textColor1:h,textColorDisabled:p,textColor2:g,hoverColor:m}=e;return Object.assign(Object.assign({},JY),{itemHeightSmall:c,itemHeightMedium:l,itemHeightLarge:s,fontSizeSmall:a,fontSizeMedium:i,fontSizeLarge:r,borderRadius:u,borderColor:"#0000",listColor:d,headerColor:f,titleTextColor:h,titleTextColorDisabled:p,extraTextColor:g,filterDividerColor:"#0000",itemTextColor:g,itemTextColorDisabled:p,itemColorPending:m,titleFontWeight:o,iconColor:n,iconColorDisabled:t})}},eX=QY,tX=q([z("list",` - --n-merged-border-color: var(--n-border-color); - --n-merged-color: var(--n-color); - --n-merged-color-hover: var(--n-color-hover); - margin: 0; - font-size: var(--n-font-size); - transition: - background-color .3s var(--n-bezier), - color .3s var(--n-bezier), - border-color .3s var(--n-bezier); - padding: 0; - list-style-type: none; - color: var(--n-text-color); - background-color: var(--n-merged-color); - `,[Z("show-divider",[z("list-item",[q("&:not(:last-child)",[V("divider",` - background-color: var(--n-merged-border-color); - `)])])]),Z("clickable",[z("list-item",` - cursor: pointer; - `)]),Z("bordered",` - border: 1px solid var(--n-merged-border-color); - border-radius: var(--n-border-radius); - `),Z("hoverable",[z("list-item",` - border-radius: var(--n-border-radius); - `,[q("&:hover",` - background-color: var(--n-merged-color-hover); - `,[V("divider",` - background-color: transparent; - `)])])]),Z("bordered, hoverable",[z("list-item",` - padding: 12px 20px; - `),V("header, footer",` - padding: 12px 20px; - `)]),V("header, footer",` - padding: 12px 0; - box-sizing: border-box; - transition: border-color .3s var(--n-bezier); - `,[q("&:not(:last-child)",` - border-bottom: 1px solid var(--n-merged-border-color); - `)]),z("list-item",` - position: relative; - padding: 12px 0; - box-sizing: border-box; - display: flex; - flex-wrap: nowrap; - align-items: center; - transition: - background-color .3s var(--n-bezier), - border-color .3s var(--n-bezier); - `,[V("prefix",` - margin-right: 20px; - flex: 0; - `),V("suffix",` - margin-left: 20px; - flex: 0; - `),V("main",` - flex: 1; - `),V("divider",` - height: 1px; - position: absolute; - bottom: 0; - left: 0; - right: 0; - background-color: transparent; - transition: background-color .3s var(--n-bezier); - pointer-events: none; - `)])]),al(z("list",` - --n-merged-color-hover: var(--n-color-hover-modal); - --n-merged-color: var(--n-color-modal); - --n-merged-border-color: var(--n-border-color-modal); - `)),ku(z("list",` - --n-merged-color-hover: var(--n-color-hover-popover); - --n-merged-color: var(--n-color-popover); - --n-merged-border-color: var(--n-border-color-popover); - `))]),nX=Object.assign(Object.assign({},Be.props),{size:{type:String,default:"medium"},bordered:Boolean,clickable:Boolean,hoverable:Boolean,showDivider:{type:Boolean,default:!0}}),NS="n-list",Im=be({name:"List",props:nX,setup(e){const{mergedClsPrefixRef:t,inlineThemeDisabled:n,mergedRtlRef:o}=st(e),r=pn("List",o,t),i=Be("List","-list",tX,tG,e,t);at(NS,{showDividerRef:We(e,"showDivider"),mergedClsPrefixRef:t});const a=F(()=>{const{common:{cubicBezierEaseInOut:l},self:{fontSize:c,textColor:u,color:d,colorModal:f,colorPopover:h,borderColor:p,borderColorModal:g,borderColorPopover:m,borderRadius:b,colorHover:_,colorHoverModal:C,colorHoverPopover:S}}=i.value;return{"--n-font-size":c,"--n-bezier":l,"--n-text-color":u,"--n-color":d,"--n-border-radius":b,"--n-border-color":p,"--n-border-color-modal":g,"--n-border-color-popover":m,"--n-color-modal":f,"--n-color-popover":h,"--n-color-hover":_,"--n-color-hover-modal":C,"--n-color-hover-popover":S}}),s=n?Pt("list",void 0,a,e):void 0;return{mergedClsPrefix:t,rtlEnabled:r,cssVars:n?void 0:a,themeClass:s==null?void 0:s.themeClass,onRender:s==null?void 0:s.onRender}},render(){var e;const{$slots:t,mergedClsPrefix:n,onRender:o}=this;return o==null||o(),v("ul",{class:[`${n}-list`,this.rtlEnabled&&`${n}-list--rtl`,this.bordered&&`${n}-list--bordered`,this.showDivider&&`${n}-list--show-divider`,this.hoverable&&`${n}-list--hoverable`,this.clickable&&`${n}-list--clickable`,this.themeClass],style:this.cssVars},t.header?v("div",{class:`${n}-list__header`},t.header()):null,(e=t.default)===null||e===void 0?void 0:e.call(t),t.footer?v("div",{class:`${n}-list__footer`},t.footer()):null)}}),Om=be({name:"ListItem",setup(){const e=Ue(NS,null);return e||fr("list-item","`n-list-item` must be placed in `n-list`."),{showDivider:e.showDividerRef,mergedClsPrefix:e.mergedClsPrefixRef}},render(){const{$slots:e,mergedClsPrefix:t}=this;return v("li",{class:`${t}-list-item`},e.prefix?v("div",{class:`${t}-list-item__prefix`},e.prefix()):null,e.default?v("div",{class:`${t}-list-item__main`},e):null,e.suffix?v("div",{class:`${t}-list-item__suffix`},e.suffix()):null,this.showDivider&&v("div",{class:`${t}-list-item__divider`}))}}),HS="n-loading-bar",jS="n-loading-bar-api",oX=z("loading-bar-container",` - z-index: 5999; - position: fixed; - top: 0; - left: 0; - right: 0; - height: 2px; -`,[dl({enterDuration:"0.3s",leaveDuration:"0.8s"}),z("loading-bar",` - width: 100%; - transition: - max-width 4s linear, - background .2s linear; - height: var(--n-height); - `,[Z("starting",` - background: var(--n-color-loading); - `),Z("finishing",` - background: var(--n-color-loading); - transition: - max-width .2s linear, - background .2s linear; - `),Z("error",` - background: var(--n-color-error); - transition: - max-width .2s linear, - background .2s linear; - `)])]);var Wl=globalThis&&globalThis.__awaiter||function(e,t,n,o){function r(i){return i instanceof n?i:new n(function(a){a(i)})}return new(n||(n=Promise))(function(i,a){function s(u){try{c(o.next(u))}catch(d){a(d)}}function l(u){try{c(o.throw(u))}catch(d){a(d)}}function c(u){u.done?i(u.value):r(u.value).then(s,l)}c((o=o.apply(e,t||[])).next())})};function Ul(e,t){return`${t}-loading-bar ${t}-loading-bar--${e}`}const rX=be({name:"LoadingBar",props:{containerClass:String,containerStyle:[String,Object]},setup(){const{inlineThemeDisabled:e}=st(),{props:t,mergedClsPrefixRef:n}=Ue(HS),o=W(null),r=W(!1),i=W(!1),a=W(!1),s=W(!1);let l=!1;const c=W(!1),u=F(()=>{const{loadingBarStyle:w}=t;return w?w[c.value?"error":"loading"]:""});function d(){return Wl(this,void 0,void 0,function*(){r.value=!1,a.value=!1,l=!1,c.value=!1,s.value=!0,yield Ht(),s.value=!1})}function f(){return Wl(this,arguments,void 0,function*(w=0,x=80,y="starting"){if(i.value=!0,yield d(),l)return;a.value=!0,yield Ht();const P=o.value;P&&(P.style.maxWidth=`${w}%`,P.style.transition="none",P.offsetWidth,P.className=Ul(y,n.value),P.style.transition="",P.style.maxWidth=`${x}%`)})}function h(){return Wl(this,void 0,void 0,function*(){if(l||c.value)return;i.value&&(yield Ht()),l=!0;const w=o.value;w&&(w.className=Ul("finishing",n.value),w.style.maxWidth="100%",w.offsetWidth,a.value=!1)})}function p(){if(!(l||c.value))if(!a.value)f(100,100,"error").then(()=>{c.value=!0;const w=o.value;w&&(w.className=Ul("error",n.value),w.offsetWidth,a.value=!1)});else{c.value=!0;const w=o.value;if(!w)return;w.className=Ul("error",n.value),w.style.maxWidth="100%",w.offsetWidth,a.value=!1}}function g(){r.value=!0}function m(){r.value=!1}function b(){return Wl(this,void 0,void 0,function*(){yield d()})}const _=Be("LoadingBar","-loading-bar",oX,lG,t,n),C=F(()=>{const{self:{height:w,colorError:x,colorLoading:y}}=_.value;return{"--n-height":w,"--n-color-loading":y,"--n-color-error":x}}),S=e?Pt("loading-bar",void 0,C,t):void 0;return{mergedClsPrefix:n,loadingBarRef:o,started:i,loading:a,entering:r,transitionDisabled:s,start:f,error:p,finish:h,handleEnter:g,handleAfterEnter:m,handleAfterLeave:b,mergedLoadingBarStyle:u,cssVars:e?void 0:C,themeClass:S==null?void 0:S.themeClass,onRender:S==null?void 0:S.onRender}},render(){if(!this.started)return null;const{mergedClsPrefix:e}=this;return v(fn,{name:"fade-in-transition",appear:!0,onEnter:this.handleEnter,onAfterEnter:this.handleAfterEnter,onAfterLeave:this.handleAfterLeave,css:!this.transitionDisabled},{default:()=>{var t;return(t=this.onRender)===null||t===void 0||t.call(this),dn(v("div",{class:[`${e}-loading-bar-container`,this.themeClass,this.containerClass],style:this.containerStyle},v("div",{ref:"loadingBarRef",class:[`${e}-loading-bar`],style:[this.cssVars,this.mergedLoadingBarStyle]})),[[Mn,this.loading||!this.loading&&this.entering]])}})}}),iX=Object.assign(Object.assign({},Be.props),{to:{type:[String,Object,Boolean],default:void 0},containerClass:String,containerStyle:[String,Object],loadingBarStyle:{type:Object}}),aX=be({name:"LoadingBarProvider",props:iX,setup(e){const t=Qr(),n=W(null),o={start(){var i;t.value?(i=n.value)===null||i===void 0||i.start():Ht(()=>{var a;(a=n.value)===null||a===void 0||a.start()})},error(){var i;t.value?(i=n.value)===null||i===void 0||i.error():Ht(()=>{var a;(a=n.value)===null||a===void 0||a.error()})},finish(){var i;t.value?(i=n.value)===null||i===void 0||i.finish():Ht(()=>{var a;(a=n.value)===null||a===void 0||a.finish()})}},{mergedClsPrefixRef:r}=st(e);return at(jS,o),at(HS,{props:e,mergedClsPrefixRef:r}),Object.assign(o,{loadingBarRef:n})},render(){var e,t;return v(it,null,v(nu,{disabled:this.to===!1,to:this.to||"body"},v(rX,{ref:"loadingBarRef",containerStyle:this.containerStyle,containerClass:this.containerClass})),(t=(e=this.$slots).default)===null||t===void 0?void 0:t.call(e))}});function sX(){const e=Ue(jS,null);return e===null&&fr("use-loading-bar","No outer founded."),e}const gl="n-menu",Mm="n-submenu",zm="n-menu-item-group",ql=8;function Dm(e){const t=Ue(gl),{props:n,mergedCollapsedRef:o}=t,r=Ue(Mm,null),i=Ue(zm,null),a=F(()=>n.mode==="horizontal"),s=F(()=>a.value?n.dropdownPlacement:"tmNodes"in e?"right-start":"right"),l=F(()=>{var f;return Math.max((f=n.collapsedIconSize)!==null&&f!==void 0?f:n.iconSize,n.iconSize)}),c=F(()=>{var f;return!a.value&&e.root&&o.value&&(f=n.collapsedIconSize)!==null&&f!==void 0?f:n.iconSize}),u=F(()=>{if(a.value)return;const{collapsedWidth:f,indent:h,rootIndent:p}=n,{root:g,isGroup:m}=e,b=p===void 0?h:p;return g?o.value?f/2-l.value/2:b:i&&typeof i.paddingLeftRef.value=="number"?h/2+i.paddingLeftRef.value:r&&typeof r.paddingLeftRef.value=="number"?(m?h/2:h)+r.paddingLeftRef.value:0}),d=F(()=>{const{collapsedWidth:f,indent:h,rootIndent:p}=n,{value:g}=l,{root:m}=e;return a.value||!m||!o.value?ql:(p===void 0?h:p)+g+ql-(f+g)/2});return{dropdownPlacement:s,activeIconSize:c,maxIconSize:l,paddingLeft:u,iconMarginRight:d,NMenu:t,NSubmenu:r}}const Lm={internalKey:{type:[String,Number],required:!0},root:Boolean,isGroup:Boolean,level:{type:Number,required:!0},title:[String,Function],extra:[String,Function]},VS=Object.assign(Object.assign({},Lm),{tmNode:{type:Object,required:!0},tmNodes:{type:Array,required:!0}}),lX=be({name:"MenuOptionGroup",props:VS,setup(e){at(Mm,null);const t=Dm(e);at(zm,{paddingLeftRef:t.paddingLeft});const{mergedClsPrefixRef:n,props:o}=Ue(gl);return function(){const{value:r}=n,i=t.paddingLeft.value,{nodeProps:a}=o,s=a==null?void 0:a(e.tmNode.rawNode);return v("div",{class:`${r}-menu-item-group`,role:"group"},v("div",Object.assign({},s,{class:[`${r}-menu-item-group-title`,s==null?void 0:s.class],style:[(s==null?void 0:s.style)||"",i!==void 0?`padding-left: ${i}px;`:""]}),Wt(e.title),e.extra?v(it,null," ",Wt(e.extra)):null),v("div",null,e.tmNodes.map(l=>Fm(l,o))))}}}),WS=be({name:"MenuOptionContent",props:{collapsed:Boolean,disabled:Boolean,title:[String,Function],icon:Function,extra:[String,Function],showArrow:Boolean,childActive:Boolean,hover:Boolean,paddingLeft:Number,selected:Boolean,maxIconSize:{type:Number,required:!0},activeIconSize:{type:Number,required:!0},iconMarginRight:{type:Number,required:!0},clsPrefix:{type:String,required:!0},onClick:Function,tmNode:{type:Object,required:!0},isEllipsisPlaceholder:Boolean},setup(e){const{props:t}=Ue(gl);return{menuProps:t,style:F(()=>{const{paddingLeft:n}=e;return{paddingLeft:n&&`${n}px`}}),iconStyle:F(()=>{const{maxIconSize:n,activeIconSize:o,iconMarginRight:r}=e;return{width:`${n}px`,height:`${n}px`,fontSize:`${o}px`,marginRight:`${r}px`}})}},render(){const{clsPrefix:e,tmNode:t,menuProps:{renderIcon:n,renderLabel:o,renderExtra:r,expandIcon:i}}=this,a=n?n(t.rawNode):Wt(this.icon);return v("div",{onClick:s=>{var l;(l=this.onClick)===null||l===void 0||l.call(this,s)},role:"none",class:[`${e}-menu-item-content`,{[`${e}-menu-item-content--selected`]:this.selected,[`${e}-menu-item-content--collapsed`]:this.collapsed,[`${e}-menu-item-content--child-active`]:this.childActive,[`${e}-menu-item-content--disabled`]:this.disabled,[`${e}-menu-item-content--hover`]:this.hover}],style:this.style},a&&v("div",{class:`${e}-menu-item-content__icon`,style:this.iconStyle,role:"none"},[a]),v("div",{class:`${e}-menu-item-content-header`,role:"none"},this.isEllipsisPlaceholder?this.title:o?o(t.rawNode):Wt(this.title),this.extra||r?v("span",{class:`${e}-menu-item-content-header__extra`}," ",r?r(t.rawNode):Wt(this.extra)):null),this.showArrow?v(Ut,{ariaHidden:!0,class:`${e}-menu-item-content__arrow`,clsPrefix:e},{default:()=>i?i(t.rawNode):v(BN,null)}):null)}}),US=Object.assign(Object.assign({},Lm),{rawNodes:{type:Array,default:()=>[]},tmNodes:{type:Array,default:()=>[]},tmNode:{type:Object,required:!0},disabled:Boolean,icon:Function,onClick:Function,domId:String,virtualChildActive:{type:Boolean,default:void 0},isEllipsisPlaceholder:Boolean}),Hh=be({name:"Submenu",props:US,setup(e){const t=Dm(e),{NMenu:n,NSubmenu:o}=t,{props:r,mergedCollapsedRef:i,mergedThemeRef:a}=n,s=F(()=>{const{disabled:f}=e;return o!=null&&o.mergedDisabledRef.value||r.disabled?!0:f}),l=W(!1);at(Mm,{paddingLeftRef:t.paddingLeft,mergedDisabledRef:s}),at(zm,null);function c(){const{onClick:f}=e;f&&f()}function u(){s.value||(i.value||n.toggleExpand(e.internalKey),c())}function d(f){l.value=f}return{menuProps:r,mergedTheme:a,doSelect:n.doSelect,inverted:n.invertedRef,isHorizontal:n.isHorizontalRef,mergedClsPrefix:n.mergedClsPrefixRef,maxIconSize:t.maxIconSize,activeIconSize:t.activeIconSize,iconMarginRight:t.iconMarginRight,dropdownPlacement:t.dropdownPlacement,dropdownShow:l,paddingLeft:t.paddingLeft,mergedDisabled:s,mergedValue:n.mergedValueRef,childActive:kt(()=>{var f;return(f=e.virtualChildActive)!==null&&f!==void 0?f:n.activePathRef.value.includes(e.internalKey)}),collapsed:F(()=>r.mode==="horizontal"?!1:i.value?!0:!n.mergedExpandedKeysRef.value.includes(e.internalKey)),dropdownEnabled:F(()=>!s.value&&(r.mode==="horizontal"||i.value)),handlePopoverShowChange:d,handleClick:u}},render(){var e;const{mergedClsPrefix:t,menuProps:{renderIcon:n,renderLabel:o}}=this,r=()=>{const{isHorizontal:a,paddingLeft:s,collapsed:l,mergedDisabled:c,maxIconSize:u,activeIconSize:d,title:f,childActive:h,icon:p,handleClick:g,menuProps:{nodeProps:m},dropdownShow:b,iconMarginRight:_,tmNode:C,mergedClsPrefix:S,isEllipsisPlaceholder:w,extra:x}=this,y=m==null?void 0:m(C.rawNode);return v("div",Object.assign({},y,{class:[`${S}-menu-item`,y==null?void 0:y.class],role:"menuitem"}),v(WS,{tmNode:C,paddingLeft:s,collapsed:l,disabled:c,iconMarginRight:_,maxIconSize:u,activeIconSize:d,title:f,extra:x,showArrow:!a,childActive:h,clsPrefix:S,icon:p,hover:b,onClick:g,isEllipsisPlaceholder:w}))},i=()=>v(Ou,null,{default:()=>{const{tmNodes:a,collapsed:s}=this;return s?null:v("div",{class:`${t}-submenu-children`,role:"menu"},a.map(l=>Fm(l,this.menuProps)))}});return this.root?v($m,Object.assign({size:"large",trigger:"hover"},(e=this.menuProps)===null||e===void 0?void 0:e.dropdownProps,{themeOverrides:this.mergedTheme.peerOverrides.Dropdown,theme:this.mergedTheme.peers.Dropdown,builtinThemeOverrides:{fontSizeLarge:"14px",optionIconSizeLarge:"18px"},value:this.mergedValue,disabled:!this.dropdownEnabled,placement:this.dropdownPlacement,keyField:this.menuProps.keyField,labelField:this.menuProps.labelField,childrenField:this.menuProps.childrenField,onUpdateShow:this.handlePopoverShowChange,options:this.rawNodes,onSelect:this.doSelect,inverted:this.inverted,renderIcon:n,renderLabel:o}),{default:()=>v("div",{class:`${t}-submenu`,role:"menu","aria-expanded":!this.collapsed,id:this.domId},r(),this.isHorizontal?null:i())}):v("div",{class:`${t}-submenu`,role:"menu","aria-expanded":!this.collapsed,id:this.domId},r(),i())}}),qS=Object.assign(Object.assign({},Lm),{tmNode:{type:Object,required:!0},disabled:Boolean,icon:Function,onClick:Function}),cX=be({name:"MenuOption",props:qS,setup(e){const t=Dm(e),{NSubmenu:n,NMenu:o}=t,{props:r,mergedClsPrefixRef:i,mergedCollapsedRef:a}=o,s=n?n.mergedDisabledRef:{value:!1},l=F(()=>s.value||e.disabled);function c(d){const{onClick:f}=e;f&&f(d)}function u(d){l.value||(o.doSelect(e.internalKey,e.tmNode.rawNode),c(d))}return{mergedClsPrefix:i,dropdownPlacement:t.dropdownPlacement,paddingLeft:t.paddingLeft,iconMarginRight:t.iconMarginRight,maxIconSize:t.maxIconSize,activeIconSize:t.activeIconSize,mergedTheme:o.mergedThemeRef,menuProps:r,dropdownEnabled:kt(()=>e.root&&a.value&&r.mode!=="horizontal"&&!l.value),selected:kt(()=>o.mergedValueRef.value===e.internalKey),mergedDisabled:l,handleClick:u}},render(){const{mergedClsPrefix:e,mergedTheme:t,tmNode:n,menuProps:{renderLabel:o,nodeProps:r}}=this,i=r==null?void 0:r(n.rawNode);return v("div",Object.assign({},i,{role:"menuitem",class:[`${e}-menu-item`,i==null?void 0:i.class]}),v(Fu,{theme:t.peers.Tooltip,themeOverrides:t.peerOverrides.Tooltip,trigger:"hover",placement:this.dropdownPlacement,disabled:!this.dropdownEnabled||this.title===void 0,internalExtraClass:["menu-tooltip"]},{default:()=>o?o(n.rawNode):Wt(this.title),trigger:()=>v(WS,{tmNode:n,clsPrefix:e,paddingLeft:this.paddingLeft,iconMarginRight:this.iconMarginRight,maxIconSize:this.maxIconSize,activeIconSize:this.activeIconSize,selected:this.selected,title:this.title,extra:this.extra,disabled:this.mergedDisabled,icon:this.icon,onClick:this.handleClick})}))}}),uX=be({name:"MenuDivider",setup(){const e=Ue(gl),{mergedClsPrefixRef:t,isHorizontalRef:n}=e;return()=>n.value?null:v("div",{class:`${t.value}-menu-divider`})}}),dX=Jr(VS),fX=Jr(qS),hX=Jr(US);function jh(e){return e.type==="divider"||e.type==="render"}function pX(e){return e.type==="divider"}function Fm(e,t){const{rawNode:n}=e,{show:o}=n;if(o===!1)return null;if(jh(n))return pX(n)?v(uX,Object.assign({key:e.key},n.props)):null;const{labelField:r}=t,{key:i,level:a,isGroup:s}=e,l=Object.assign(Object.assign({},n),{title:n.title||n[r],extra:n.titleExtra||n.extra,key:i,internalKey:i,level:a,root:a===0,isGroup:s});return e.children?e.isGroup?v(lX,Qn(l,dX,{tmNode:e,tmNodes:e.children,key:i})):v(Hh,Qn(l,hX,{key:i,rawNodes:n[t.childrenField],tmNodes:e.children,tmNode:e})):v(cX,Qn(l,fX,{key:i,tmNode:e}))}const m1=[q("&::before","background-color: var(--n-item-color-hover);"),V("arrow",` - color: var(--n-arrow-color-hover); - `),V("icon",` - color: var(--n-item-icon-color-hover); - `),z("menu-item-content-header",` - color: var(--n-item-text-color-hover); - `,[q("a",` - color: var(--n-item-text-color-hover); - `),V("extra",` - color: var(--n-item-text-color-hover); - `)])],g1=[V("icon",` - color: var(--n-item-icon-color-hover-horizontal); - `),z("menu-item-content-header",` - color: var(--n-item-text-color-hover-horizontal); - `,[q("a",` - color: var(--n-item-text-color-hover-horizontal); - `),V("extra",` - color: var(--n-item-text-color-hover-horizontal); - `)])],mX=q([z("menu",` - background-color: var(--n-color); - color: var(--n-item-text-color); - overflow: hidden; - transition: background-color .3s var(--n-bezier); - box-sizing: border-box; - font-size: var(--n-font-size); - padding-bottom: 6px; - `,[Z("horizontal",` - max-width: 100%; - width: 100%; - display: flex; - overflow: hidden; - padding-bottom: 0; - `,[z("submenu","margin: 0;"),z("menu-item","margin: 0;"),z("menu-item-content",` - padding: 0 20px; - border-bottom: 2px solid #0000; - `,[q("&::before","display: none;"),Z("selected","border-bottom: 2px solid var(--n-border-color-horizontal)")]),z("menu-item-content",[Z("selected",[V("icon","color: var(--n-item-icon-color-active-horizontal);"),z("menu-item-content-header",` - color: var(--n-item-text-color-active-horizontal); - `,[q("a","color: var(--n-item-text-color-active-horizontal);"),V("extra","color: var(--n-item-text-color-active-horizontal);")])]),Z("child-active",` - border-bottom: 2px solid var(--n-border-color-horizontal); - `,[z("menu-item-content-header",` - color: var(--n-item-text-color-child-active-horizontal); - `,[q("a",` - color: var(--n-item-text-color-child-active-horizontal); - `),V("extra",` - color: var(--n-item-text-color-child-active-horizontal); - `)]),V("icon",` - color: var(--n-item-icon-color-child-active-horizontal); - `)]),Rt("disabled",[Rt("selected, child-active",[q("&:focus-within",g1)]),Z("selected",[ui(null,[V("icon","color: var(--n-item-icon-color-active-hover-horizontal);"),z("menu-item-content-header",` - color: var(--n-item-text-color-active-hover-horizontal); - `,[q("a","color: var(--n-item-text-color-active-hover-horizontal);"),V("extra","color: var(--n-item-text-color-active-hover-horizontal);")])])]),Z("child-active",[ui(null,[V("icon","color: var(--n-item-icon-color-child-active-hover-horizontal);"),z("menu-item-content-header",` - color: var(--n-item-text-color-child-active-hover-horizontal); - `,[q("a","color: var(--n-item-text-color-child-active-hover-horizontal);"),V("extra","color: var(--n-item-text-color-child-active-hover-horizontal);")])])]),ui("border-bottom: 2px solid var(--n-border-color-horizontal);",g1)]),z("menu-item-content-header",[q("a","color: var(--n-item-text-color-horizontal);")])])]),Rt("responsive",[z("menu-item-content-header",` - overflow: hidden; - text-overflow: ellipsis; - `)]),Z("collapsed",[z("menu-item-content",[Z("selected",[q("&::before",` - background-color: var(--n-item-color-active-collapsed) !important; - `)]),z("menu-item-content-header","opacity: 0;"),V("arrow","opacity: 0;"),V("icon","color: var(--n-item-icon-color-collapsed);")])]),z("menu-item",` - height: var(--n-item-height); - margin-top: 6px; - position: relative; - `),z("menu-item-content",` - box-sizing: border-box; - line-height: 1.75; - height: 100%; - display: grid; - grid-template-areas: "icon content arrow"; - grid-template-columns: auto 1fr auto; - align-items: center; - cursor: pointer; - position: relative; - padding-right: 18px; - transition: - background-color .3s var(--n-bezier), - padding-left .3s var(--n-bezier), - border-color .3s var(--n-bezier); - `,[q("> *","z-index: 1;"),q("&::before",` - z-index: auto; - content: ""; - background-color: #0000; - position: absolute; - left: 8px; - right: 8px; - top: 0; - bottom: 0; - pointer-events: none; - border-radius: var(--n-border-radius); - transition: background-color .3s var(--n-bezier); - `),Z("disabled",` - opacity: .45; - cursor: not-allowed; - `),Z("collapsed",[V("arrow","transform: rotate(0);")]),Z("selected",[q("&::before","background-color: var(--n-item-color-active);"),V("arrow","color: var(--n-arrow-color-active);"),V("icon","color: var(--n-item-icon-color-active);"),z("menu-item-content-header",` - color: var(--n-item-text-color-active); - `,[q("a","color: var(--n-item-text-color-active);"),V("extra","color: var(--n-item-text-color-active);")])]),Z("child-active",[z("menu-item-content-header",` - color: var(--n-item-text-color-child-active); - `,[q("a",` - color: var(--n-item-text-color-child-active); - `),V("extra",` - color: var(--n-item-text-color-child-active); - `)]),V("arrow",` - color: var(--n-arrow-color-child-active); - `),V("icon",` - color: var(--n-item-icon-color-child-active); - `)]),Rt("disabled",[Rt("selected, child-active",[q("&:focus-within",m1)]),Z("selected",[ui(null,[V("arrow","color: var(--n-arrow-color-active-hover);"),V("icon","color: var(--n-item-icon-color-active-hover);"),z("menu-item-content-header",` - color: var(--n-item-text-color-active-hover); - `,[q("a","color: var(--n-item-text-color-active-hover);"),V("extra","color: var(--n-item-text-color-active-hover);")])])]),Z("child-active",[ui(null,[V("arrow","color: var(--n-arrow-color-child-active-hover);"),V("icon","color: var(--n-item-icon-color-child-active-hover);"),z("menu-item-content-header",` - color: var(--n-item-text-color-child-active-hover); - `,[q("a","color: var(--n-item-text-color-child-active-hover);"),V("extra","color: var(--n-item-text-color-child-active-hover);")])])]),Z("selected",[ui(null,[q("&::before","background-color: var(--n-item-color-active-hover);")])]),ui(null,m1)]),V("icon",` - grid-area: icon; - color: var(--n-item-icon-color); - transition: - color .3s var(--n-bezier), - font-size .3s var(--n-bezier), - margin-right .3s var(--n-bezier); - box-sizing: content-box; - display: inline-flex; - align-items: center; - justify-content: center; - `),V("arrow",` - grid-area: arrow; - font-size: 16px; - color: var(--n-arrow-color); - transform: rotate(180deg); - opacity: 1; - transition: - color .3s var(--n-bezier), - transform 0.2s var(--n-bezier), - opacity 0.2s var(--n-bezier); - `),z("menu-item-content-header",` - grid-area: content; - transition: - color .3s var(--n-bezier), - opacity .3s var(--n-bezier); - opacity: 1; - white-space: nowrap; - color: var(--n-item-text-color); - `,[q("a",` - outline: none; - text-decoration: none; - transition: color .3s var(--n-bezier); - color: var(--n-item-text-color); - `,[q("&::before",` - content: ""; - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - `)]),V("extra",` - font-size: .93em; - color: var(--n-group-text-color); - transition: color .3s var(--n-bezier); - `)])]),z("submenu",` - cursor: pointer; - position: relative; - margin-top: 6px; - `,[z("menu-item-content",` - height: var(--n-item-height); - `),z("submenu-children",` - overflow: hidden; - padding: 0; - `,[gm({duration:".2s"})])]),z("menu-item-group",[z("menu-item-group-title",` - margin-top: 6px; - color: var(--n-group-text-color); - cursor: default; - font-size: .93em; - height: 36px; - display: flex; - align-items: center; - transition: - padding-left .3s var(--n-bezier), - color .3s var(--n-bezier); - `)])]),z("menu-tooltip",[q("a",` - color: inherit; - text-decoration: none; - `)]),z("menu-divider",` - transition: background-color .3s var(--n-bezier); - background-color: var(--n-divider-color); - height: 1px; - margin: 6px 18px; - `)]);function ui(e,t){return[Z("hover",e,t),q("&:hover",e,t)]}const gX=Object.assign(Object.assign({},Be.props),{options:{type:Array,default:()=>[]},collapsed:{type:Boolean,default:void 0},collapsedWidth:{type:Number,default:48},iconSize:{type:Number,default:20},collapsedIconSize:{type:Number,default:24},rootIndent:Number,indent:{type:Number,default:32},labelField:{type:String,default:"label"},keyField:{type:String,default:"key"},childrenField:{type:String,default:"children"},disabledField:{type:String,default:"disabled"},defaultExpandAll:Boolean,defaultExpandedKeys:Array,expandedKeys:Array,value:[String,Number],defaultValue:{type:[String,Number],default:null},mode:{type:String,default:"vertical"},watchProps:{type:Array,default:void 0},disabled:Boolean,show:{type:Boolean,default:!0},inverted:Boolean,"onUpdate:expandedKeys":[Function,Array],onUpdateExpandedKeys:[Function,Array],onUpdateValue:[Function,Array],"onUpdate:value":[Function,Array],expandIcon:Function,renderIcon:Function,renderLabel:Function,renderExtra:Function,dropdownProps:Object,accordion:Boolean,nodeProps:Function,dropdownPlacement:{type:String,default:"bottom"},responsive:Boolean,items:Array,onOpenNamesChange:[Function,Array],onSelect:[Function,Array],onExpandedNamesChange:[Function,Array],expandedNames:Array,defaultExpandedNames:Array}),vX=be({name:"Menu",props:gX,setup(e){const{mergedClsPrefixRef:t,inlineThemeDisabled:n}=st(e),o=Be("Menu","-menu",mX,mG,e,t),r=Ue(LS,null),i=F(()=>{var B;const{collapsed:$}=e;if($!==void 0)return $;if(r){const{collapseModeRef:A,collapsedRef:Y}=r;if(A.value==="width")return(B=Y.value)!==null&&B!==void 0?B:!1}return!1}),a=F(()=>{const{keyField:B,childrenField:$,disabledField:A}=e;return Pi(e.items||e.options,{getIgnored(Y){return jh(Y)},getChildren(Y){return Y[$]},getDisabled(Y){return Y[A]},getKey(Y){var ne;return(ne=Y[B])!==null&&ne!==void 0?ne:Y.name}})}),s=F(()=>new Set(a.value.treeNodes.map(B=>B.key))),{watchProps:l}=e,c=W(null);l!=null&&l.includes("defaultValue")?Xt(()=>{c.value=e.defaultValue}):c.value=e.defaultValue;const u=We(e,"value"),d=an(u,c),f=W([]),h=()=>{f.value=e.defaultExpandAll?a.value.getNonLeafKeys():e.defaultExpandedNames||e.defaultExpandedKeys||a.value.getPath(d.value,{includeSelf:!1}).keyPath};l!=null&&l.includes("defaultExpandedKeys")?Xt(h):h();const p=Pu(e,["expandedNames","expandedKeys"]),g=an(p,f),m=F(()=>a.value.treeNodes),b=F(()=>a.value.getPath(d.value).keyPath);at(gl,{props:e,mergedCollapsedRef:i,mergedThemeRef:o,mergedValueRef:d,mergedExpandedKeysRef:g,activePathRef:b,mergedClsPrefixRef:t,isHorizontalRef:F(()=>e.mode==="horizontal"),invertedRef:We(e,"inverted"),doSelect:_,toggleExpand:S});function _(B,$){const{"onUpdate:value":A,onUpdateValue:Y,onSelect:ne}=e;Y&&$e(Y,B,$),A&&$e(A,B,$),ne&&$e(ne,B,$),c.value=B}function C(B){const{"onUpdate:expandedKeys":$,onUpdateExpandedKeys:A,onExpandedNamesChange:Y,onOpenNamesChange:ne}=e;$&&$e($,B),A&&$e(A,B),Y&&$e(Y,B),ne&&$e(ne,B),f.value=B}function S(B){const $=Array.from(g.value),A=$.findIndex(Y=>Y===B);if(~A)$.splice(A,1);else{if(e.accordion&&s.value.has(B)){const Y=$.findIndex(ne=>s.value.has(ne));Y>-1&&$.splice(Y,1)}$.push(B)}C($)}const w=B=>{const $=a.value.getPath(B??d.value,{includeSelf:!1}).keyPath;if(!$.length)return;const A=Array.from(g.value),Y=new Set([...A,...$]);e.accordion&&s.value.forEach(ne=>{Y.has(ne)&&!$.includes(ne)&&Y.delete(ne)}),C(Array.from(Y))},x=F(()=>{const{inverted:B}=e,{common:{cubicBezierEaseInOut:$},self:A}=o.value,{borderRadius:Y,borderColorHorizontal:ne,fontSize:fe,itemHeight:Q,dividerColor:xe}=A,H={"--n-divider-color":xe,"--n-bezier":$,"--n-font-size":fe,"--n-border-color-horizontal":ne,"--n-border-radius":Y,"--n-item-height":Q};return B?(H["--n-group-text-color"]=A.groupTextColorInverted,H["--n-color"]=A.colorInverted,H["--n-item-text-color"]=A.itemTextColorInverted,H["--n-item-text-color-hover"]=A.itemTextColorHoverInverted,H["--n-item-text-color-active"]=A.itemTextColorActiveInverted,H["--n-item-text-color-child-active"]=A.itemTextColorChildActiveInverted,H["--n-item-text-color-child-active-hover"]=A.itemTextColorChildActiveInverted,H["--n-item-text-color-active-hover"]=A.itemTextColorActiveHoverInverted,H["--n-item-icon-color"]=A.itemIconColorInverted,H["--n-item-icon-color-hover"]=A.itemIconColorHoverInverted,H["--n-item-icon-color-active"]=A.itemIconColorActiveInverted,H["--n-item-icon-color-active-hover"]=A.itemIconColorActiveHoverInverted,H["--n-item-icon-color-child-active"]=A.itemIconColorChildActiveInverted,H["--n-item-icon-color-child-active-hover"]=A.itemIconColorChildActiveHoverInverted,H["--n-item-icon-color-collapsed"]=A.itemIconColorCollapsedInverted,H["--n-item-text-color-horizontal"]=A.itemTextColorHorizontalInverted,H["--n-item-text-color-hover-horizontal"]=A.itemTextColorHoverHorizontalInverted,H["--n-item-text-color-active-horizontal"]=A.itemTextColorActiveHorizontalInverted,H["--n-item-text-color-child-active-horizontal"]=A.itemTextColorChildActiveHorizontalInverted,H["--n-item-text-color-child-active-hover-horizontal"]=A.itemTextColorChildActiveHoverHorizontalInverted,H["--n-item-text-color-active-hover-horizontal"]=A.itemTextColorActiveHoverHorizontalInverted,H["--n-item-icon-color-horizontal"]=A.itemIconColorHorizontalInverted,H["--n-item-icon-color-hover-horizontal"]=A.itemIconColorHoverHorizontalInverted,H["--n-item-icon-color-active-horizontal"]=A.itemIconColorActiveHorizontalInverted,H["--n-item-icon-color-active-hover-horizontal"]=A.itemIconColorActiveHoverHorizontalInverted,H["--n-item-icon-color-child-active-horizontal"]=A.itemIconColorChildActiveHorizontalInverted,H["--n-item-icon-color-child-active-hover-horizontal"]=A.itemIconColorChildActiveHoverHorizontalInverted,H["--n-arrow-color"]=A.arrowColorInverted,H["--n-arrow-color-hover"]=A.arrowColorHoverInverted,H["--n-arrow-color-active"]=A.arrowColorActiveInverted,H["--n-arrow-color-active-hover"]=A.arrowColorActiveHoverInverted,H["--n-arrow-color-child-active"]=A.arrowColorChildActiveInverted,H["--n-arrow-color-child-active-hover"]=A.arrowColorChildActiveHoverInverted,H["--n-item-color-hover"]=A.itemColorHoverInverted,H["--n-item-color-active"]=A.itemColorActiveInverted,H["--n-item-color-active-hover"]=A.itemColorActiveHoverInverted,H["--n-item-color-active-collapsed"]=A.itemColorActiveCollapsedInverted):(H["--n-group-text-color"]=A.groupTextColor,H["--n-color"]=A.color,H["--n-item-text-color"]=A.itemTextColor,H["--n-item-text-color-hover"]=A.itemTextColorHover,H["--n-item-text-color-active"]=A.itemTextColorActive,H["--n-item-text-color-child-active"]=A.itemTextColorChildActive,H["--n-item-text-color-child-active-hover"]=A.itemTextColorChildActiveHover,H["--n-item-text-color-active-hover"]=A.itemTextColorActiveHover,H["--n-item-icon-color"]=A.itemIconColor,H["--n-item-icon-color-hover"]=A.itemIconColorHover,H["--n-item-icon-color-active"]=A.itemIconColorActive,H["--n-item-icon-color-active-hover"]=A.itemIconColorActiveHover,H["--n-item-icon-color-child-active"]=A.itemIconColorChildActive,H["--n-item-icon-color-child-active-hover"]=A.itemIconColorChildActiveHover,H["--n-item-icon-color-collapsed"]=A.itemIconColorCollapsed,H["--n-item-text-color-horizontal"]=A.itemTextColorHorizontal,H["--n-item-text-color-hover-horizontal"]=A.itemTextColorHoverHorizontal,H["--n-item-text-color-active-horizontal"]=A.itemTextColorActiveHorizontal,H["--n-item-text-color-child-active-horizontal"]=A.itemTextColorChildActiveHorizontal,H["--n-item-text-color-child-active-hover-horizontal"]=A.itemTextColorChildActiveHoverHorizontal,H["--n-item-text-color-active-hover-horizontal"]=A.itemTextColorActiveHoverHorizontal,H["--n-item-icon-color-horizontal"]=A.itemIconColorHorizontal,H["--n-item-icon-color-hover-horizontal"]=A.itemIconColorHoverHorizontal,H["--n-item-icon-color-active-horizontal"]=A.itemIconColorActiveHorizontal,H["--n-item-icon-color-active-hover-horizontal"]=A.itemIconColorActiveHoverHorizontal,H["--n-item-icon-color-child-active-horizontal"]=A.itemIconColorChildActiveHorizontal,H["--n-item-icon-color-child-active-hover-horizontal"]=A.itemIconColorChildActiveHoverHorizontal,H["--n-arrow-color"]=A.arrowColor,H["--n-arrow-color-hover"]=A.arrowColorHover,H["--n-arrow-color-active"]=A.arrowColorActive,H["--n-arrow-color-active-hover"]=A.arrowColorActiveHover,H["--n-arrow-color-child-active"]=A.arrowColorChildActive,H["--n-arrow-color-child-active-hover"]=A.arrowColorChildActiveHover,H["--n-item-color-hover"]=A.itemColorHover,H["--n-item-color-active"]=A.itemColorActive,H["--n-item-color-active-hover"]=A.itemColorActiveHover,H["--n-item-color-active-collapsed"]=A.itemColorActiveCollapsed),H}),y=n?Pt("menu",F(()=>e.inverted?"a":"b"),x,e):void 0,P=Zr(),k=W(null),T=W(null);let E=!0;const R=()=>{var B;E?E=!1:(B=k.value)===null||B===void 0||B.sync({showAllItemsBeforeCalculate:!0})};function K(){return document.getElementById(P)}const N=W(-1);function D(B){N.value=e.options.length-B}function M(B){B||(N.value=-1)}const G=F(()=>{const B=N.value;return{children:B===-1?[]:e.options.slice(B)}}),J=F(()=>{const{childrenField:B,disabledField:$,keyField:A}=e;return Pi([G.value],{getIgnored(Y){return jh(Y)},getChildren(Y){return Y[B]},getDisabled(Y){return Y[$]},getKey(Y){var ne;return(ne=Y[A])!==null&&ne!==void 0?ne:Y.name}})}),he=F(()=>Pi([{}]).treeNodes[0]);function pe(){var B;if(N.value===-1)return v(Hh,{root:!0,level:0,key:"__ellpisisGroupPlaceholder__",internalKey:"__ellpisisGroupPlaceholder__",title:"···",tmNode:he.value,domId:P,isEllipsisPlaceholder:!0});const $=J.value.treeNodes[0],A=b.value,Y=!!(!((B=$.children)===null||B===void 0)&&B.some(ne=>A.includes(ne.key)));return v(Hh,{level:0,root:!0,key:"__ellpisisGroup__",internalKey:"__ellpisisGroup__",title:"···",virtualChildActive:Y,tmNode:$,domId:P,rawNodes:$.rawNode.children||[],tmNodes:$.children||[],isEllipsisPlaceholder:!0})}return{mergedClsPrefix:t,controlledExpandedKeys:p,uncontrolledExpanededKeys:f,mergedExpandedKeys:g,uncontrolledValue:c,mergedValue:d,activePath:b,tmNodes:m,mergedTheme:o,mergedCollapsed:i,cssVars:n?void 0:x,themeClass:y==null?void 0:y.themeClass,overflowRef:k,counterRef:T,updateCounter:()=>{},onResize:R,onUpdateOverflow:M,onUpdateCount:D,renderCounter:pe,getCounter:K,onRender:y==null?void 0:y.onRender,showOption:w,deriveResponsiveState:R}},render(){const{mergedClsPrefix:e,mode:t,themeClass:n,onRender:o}=this;o==null||o();const r=()=>this.tmNodes.map(l=>Fm(l,this.$props)),a=t==="horizontal"&&this.responsive,s=()=>v("div",{role:t==="horizontal"?"menubar":"menu",class:[`${e}-menu`,n,`${e}-menu--${t}`,a&&`${e}-menu--responsive`,this.mergedCollapsed&&`${e}-menu--collapsed`],style:this.cssVars},a?v(Sh,{ref:"overflowRef",onUpdateOverflow:this.onUpdateOverflow,getCounter:this.getCounter,onUpdateCount:this.onUpdateCount,updateCounter:this.updateCounter,style:{width:"100%",display:"flex",overflow:"hidden"}},{default:r,counter:this.renderCounter}):r());return a?v(cr,{onResize:this.onResize},{default:s}):s()}}),KS={icon:Function,type:{type:String,default:"info"},content:[String,Number,Function],showIcon:{type:Boolean,default:!0},closable:Boolean,keepAliveOnHover:Boolean,onClose:Function,onMouseenter:Function,onMouseleave:Function},GS="n-message-api",YS="n-message-provider",bX=q([z("message-wrapper",` - margin: var(--n-margin); - z-index: 0; - transform-origin: top center; - display: flex; - `,[gm({overflow:"visible",originalTransition:"transform .3s var(--n-bezier)",enterToProps:{transform:"scale(1)"},leaveToProps:{transform:"scale(0.85)"}})]),z("message",` - box-sizing: border-box; - display: flex; - align-items: center; - transition: - color .3s var(--n-bezier), - box-shadow .3s var(--n-bezier), - background-color .3s var(--n-bezier), - opacity .3s var(--n-bezier), - transform .3s var(--n-bezier), - margin-bottom .3s var(--n-bezier); - padding: var(--n-padding); - border-radius: var(--n-border-radius); - flex-wrap: nowrap; - overflow: hidden; - max-width: var(--n-max-width); - color: var(--n-text-color); - background-color: var(--n-color); - box-shadow: var(--n-box-shadow); - `,[V("content",` - display: inline-block; - line-height: var(--n-line-height); - font-size: var(--n-font-size); - `),V("icon",` - position: relative; - margin: var(--n-icon-margin); - height: var(--n-icon-size); - width: var(--n-icon-size); - font-size: var(--n-icon-size); - flex-shrink: 0; - `,[["default","info","success","warning","error","loading"].map(e=>Z(`${e}-type`,[q("> *",` - color: var(--n-icon-color-${e}); - transition: color .3s var(--n-bezier); - `)])),q("> *",` - position: absolute; - left: 0; - top: 0; - right: 0; - bottom: 0; - `,[qn()])]),V("close",` - margin: var(--n-close-margin); - transition: - background-color .3s var(--n-bezier), - color .3s var(--n-bezier); - flex-shrink: 0; - `,[q("&:hover",` - color: var(--n-close-icon-color-hover); - `),q("&:active",` - color: var(--n-close-icon-color-pressed); - `)])]),z("message-container",` - z-index: 6000; - position: fixed; - height: 0; - overflow: visible; - display: flex; - flex-direction: column; - align-items: center; - `,[Z("top",` - top: 12px; - left: 0; - right: 0; - `),Z("top-left",` - top: 12px; - left: 12px; - right: 0; - align-items: flex-start; - `),Z("top-right",` - top: 12px; - left: 0; - right: 12px; - align-items: flex-end; - `),Z("bottom",` - bottom: 4px; - left: 0; - right: 0; - justify-content: flex-end; - `),Z("bottom-left",` - bottom: 4px; - left: 12px; - right: 0; - justify-content: flex-end; - align-items: flex-start; - `),Z("bottom-right",` - bottom: 4px; - left: 0; - right: 12px; - justify-content: flex-end; - align-items: flex-end; - `)])]),yX={info:()=>v(Vr,null),success:()=>v(Vi,null),warning:()=>v(Wi,null),error:()=>v(ji,null),default:()=>null},xX=be({name:"Message",props:Object.assign(Object.assign({},KS),{render:Function}),setup(e){const{inlineThemeDisabled:t,mergedRtlRef:n}=st(e),{props:o,mergedClsPrefixRef:r}=Ue(YS),i=pn("Message",n,r),a=Be("Message","-message",bX,FK,o,r),s=F(()=>{const{type:c}=e,{common:{cubicBezierEaseInOut:u},self:{padding:d,margin:f,maxWidth:h,iconMargin:p,closeMargin:g,closeSize:m,iconSize:b,fontSize:_,lineHeight:C,borderRadius:S,iconColorInfo:w,iconColorSuccess:x,iconColorWarning:y,iconColorError:P,iconColorLoading:k,closeIconSize:T,closeBorderRadius:E,[Re("textColor",c)]:R,[Re("boxShadow",c)]:K,[Re("color",c)]:N,[Re("closeColorHover",c)]:D,[Re("closeColorPressed",c)]:M,[Re("closeIconColor",c)]:G,[Re("closeIconColorPressed",c)]:J,[Re("closeIconColorHover",c)]:he}}=a.value;return{"--n-bezier":u,"--n-margin":f,"--n-padding":d,"--n-max-width":h,"--n-font-size":_,"--n-icon-margin":p,"--n-icon-size":b,"--n-close-icon-size":T,"--n-close-border-radius":E,"--n-close-size":m,"--n-close-margin":g,"--n-text-color":R,"--n-color":N,"--n-box-shadow":K,"--n-icon-color-info":w,"--n-icon-color-success":x,"--n-icon-color-warning":y,"--n-icon-color-error":P,"--n-icon-color-loading":k,"--n-close-color-hover":D,"--n-close-color-pressed":M,"--n-close-icon-color":G,"--n-close-icon-color-pressed":J,"--n-close-icon-color-hover":he,"--n-line-height":C,"--n-border-radius":S}}),l=t?Pt("message",F(()=>e.type[0]),s,{}):void 0;return{mergedClsPrefix:r,rtlEnabled:i,messageProviderProps:o,handleClose(){var c;(c=e.onClose)===null||c===void 0||c.call(e)},cssVars:t?void 0:s,themeClass:l==null?void 0:l.themeClass,onRender:l==null?void 0:l.onRender,placement:o.placement}},render(){const{render:e,type:t,closable:n,content:o,mergedClsPrefix:r,cssVars:i,themeClass:a,onRender:s,icon:l,handleClose:c,showIcon:u}=this;s==null||s();let d;return v("div",{class:[`${r}-message-wrapper`,a],onMouseenter:this.onMouseenter,onMouseleave:this.onMouseleave,style:[{alignItems:this.placement.startsWith("top")?"flex-start":"flex-end"},i]},e?e(this.$props):v("div",{class:[`${r}-message ${r}-message--${t}-type`,this.rtlEnabled&&`${r}-message--rtl`]},(d=CX(l,t,r))&&u?v("div",{class:`${r}-message__icon ${r}-message__icon--${t}-type`},v(Ui,null,{default:()=>d})):null,v("div",{class:`${r}-message__content`},Wt(o)),n?v(qi,{clsPrefix:r,class:`${r}-message__close`,onClick:c,absolute:!0}):null))}});function CX(e,t,n){if(typeof e=="function")return e();{const o=t==="loading"?v(ti,{clsPrefix:n,strokeWidth:24,scale:.85}):yX[t]();return o?v(Ut,{clsPrefix:n,key:t},{default:()=>o}):null}}const wX=be({name:"MessageEnvironment",props:Object.assign(Object.assign({},KS),{duration:{type:Number,default:3e3},onAfterLeave:Function,onLeave:Function,internalKey:{type:String,required:!0},onInternalAfterLeave:Function,onHide:Function,onAfterHide:Function}),setup(e){let t=null;const n=W(!0);jt(()=>{o()});function o(){const{duration:u}=e;u&&(t=window.setTimeout(a,u))}function r(u){u.currentTarget===u.target&&t!==null&&(window.clearTimeout(t),t=null)}function i(u){u.currentTarget===u.target&&o()}function a(){const{onHide:u}=e;n.value=!1,t&&(window.clearTimeout(t),t=null),u&&u()}function s(){const{onClose:u}=e;u&&u(),a()}function l(){const{onAfterLeave:u,onInternalAfterLeave:d,onAfterHide:f,internalKey:h}=e;u&&u(),d&&d(h),f&&f()}function c(){a()}return{show:n,hide:a,handleClose:s,handleAfterLeave:l,handleMouseleave:i,handleMouseenter:r,deactivate:c}},render(){return v(Ou,{appear:!0,onAfterLeave:this.handleAfterLeave,onLeave:this.onLeave},{default:()=>[this.show?v(xX,{content:this.content,type:this.type,icon:this.icon,showIcon:this.showIcon,closable:this.closable,onClose:this.handleClose,onMouseenter:this.keepAliveOnHover?this.handleMouseenter:void 0,onMouseleave:this.keepAliveOnHover?this.handleMouseleave:void 0}):null]})}}),_X=Object.assign(Object.assign({},Be.props),{to:[String,Object],duration:{type:Number,default:3e3},keepAliveOnHover:Boolean,max:Number,placement:{type:String,default:"top"},closable:Boolean,containerClass:String,containerStyle:[String,Object]}),SX=be({name:"MessageProvider",props:_X,setup(e){const{mergedClsPrefixRef:t}=st(e),n=W([]),o=W({}),r={create(l,c){return i(l,Object.assign({type:"default"},c))},info(l,c){return i(l,Object.assign(Object.assign({},c),{type:"info"}))},success(l,c){return i(l,Object.assign(Object.assign({},c),{type:"success"}))},warning(l,c){return i(l,Object.assign(Object.assign({},c),{type:"warning"}))},error(l,c){return i(l,Object.assign(Object.assign({},c),{type:"error"}))},loading(l,c){return i(l,Object.assign(Object.assign({},c),{type:"loading"}))},destroyAll:s};at(YS,{props:e,mergedClsPrefixRef:t}),at(GS,r);function i(l,c){const u=Zr(),d=eo(Object.assign(Object.assign({},c),{content:l,key:u,destroy:()=>{var h;(h=o.value[u])===null||h===void 0||h.hide()}})),{max:f}=e;return f&&n.value.length>=f&&n.value.shift(),n.value.push(d),d}function a(l){n.value.splice(n.value.findIndex(c=>c.key===l),1),delete o.value[l]}function s(){Object.values(o.value).forEach(l=>{l.hide()})}return Object.assign({mergedClsPrefix:t,messageRefs:o,messageList:n,handleAfterLeave:a},r)},render(){var e,t,n;return v(it,null,(t=(e=this.$slots).default)===null||t===void 0?void 0:t.call(e),this.messageList.length?v(nu,{to:(n=this.to)!==null&&n!==void 0?n:"body"},v("div",{class:[`${this.mergedClsPrefix}-message-container`,`${this.mergedClsPrefix}-message-container--${this.placement}`,this.containerClass],key:"message-container",style:this.containerStyle},this.messageList.map(o=>v(wX,Object.assign({ref:r=>{r&&(this.messageRefs[o.key]=r)},internalKey:o.key,onInternalAfterLeave:this.handleAfterLeave},ja(o,["destroy"],void 0),{duration:o.duration===void 0?this.duration:o.duration,keepAliveOnHover:o.keepAliveOnHover===void 0?this.keepAliveOnHover:o.keepAliveOnHover,closable:o.closable===void 0?this.closable:o.closable}))))):null)}});function kX(){const e=Ue(GS,null);return e===null&&fr("use-message","No outer founded. See prerequisite in https://www.naiveui.com/en-US/os-theme/components/message for more details. If you want to use `useMessage` outside setup, please check https://www.naiveui.com/zh-CN/os-theme/components/message#Q-&-A."),e}const PX=be({name:"ModalEnvironment",props:Object.assign(Object.assign({},xS),{internalKey:{type:String,required:!0},onInternalAfterLeave:{type:Function,required:!0}}),setup(e){const t=W(!0);function n(){const{onInternalAfterLeave:u,internalKey:d,onAfterLeave:f}=e;u&&u(d),f&&f()}function o(){const{onPositiveClick:u}=e;u?Promise.resolve(u()).then(d=>{d!==!1&&l()}):l()}function r(){const{onNegativeClick:u}=e;u?Promise.resolve(u()).then(d=>{d!==!1&&l()}):l()}function i(){const{onClose:u}=e;u?Promise.resolve(u()).then(d=>{d!==!1&&l()}):l()}function a(u){const{onMaskClick:d,maskClosable:f}=e;d&&(d(u),f&&l())}function s(){const{onEsc:u}=e;u&&u()}function l(){t.value=!1}function c(u){t.value=u}return{show:t,hide:l,handleUpdateShow:c,handleAfterLeave:n,handleCloseClick:i,handleNegativeClick:r,handlePositiveClick:o,handleMaskClick:a,handleEsc:s}},render(){const{handleUpdateShow:e,handleAfterLeave:t,handleMaskClick:n,handleEsc:o,show:r}=this;return v(ni,Object.assign({},this.$props,{show:r,onUpdateShow:e,onMaskClick:n,onEsc:o,onAfterLeave:t,internalAppear:!0,internalModal:!0}))}}),v1="n-modal-provider",XS="n-modal-api",TX="n-modal-reactive-list",RX={to:[String,Object]},EX=be({name:"ModalProvider",props:RX,setup(){const e=Ac(64),t=$c(),n=W([]),o={};function r(l={}){const c=Zr(),u=eo(Object.assign(Object.assign({},l),{key:c,destroy:()=>{var d;(d=o[`n-modal-${c}`])===null||d===void 0||d.hide()}}));return n.value.push(u),u}function i(l){const{value:c}=n;c.splice(c.findIndex(u=>u.key===l),1)}function a(){Object.values(o).forEach(l=>{l==null||l.hide()})}const s={create:r,destroyAll:a};return at(XS,s),at(v1,{clickedRef:Ac(64),clickedPositionRef:$c()}),at(TX,n),at(v1,{clickedRef:e,clickedPositionRef:t}),Object.assign(Object.assign({},s),{modalList:n,modalInstRefs:o,handleAfterLeave:i})},render(){var e,t;return v(it,null,[this.modalList.map(n=>{var o;return v(PX,ja(n,["destroy"],{to:(o=n.to)!==null&&o!==void 0?o:this.to,ref:r=>{r===null?delete this.modalInstRefs[`n-modal-${n.key}`]:this.modalInstRefs[`n-modal-${n.key}`]=r},internalKey:n.key,onInternalAfterLeave:this.handleAfterLeave}))}),(t=(e=this.$slots).default)===null||t===void 0?void 0:t.call(e)])}});function $X(){const e=Ue(XS,null);return e===null&&fr("use-modal","No outer founded."),e}const ju="n-notification-provider",AX=be({name:"NotificationContainer",props:{scrollable:{type:Boolean,required:!0},placement:{type:String,required:!0}},setup(){const{mergedThemeRef:e,mergedClsPrefixRef:t,wipTransitionCountRef:n}=Ue(ju),o=W(null);return Xt(()=>{var r,i;n.value>0?(r=o==null?void 0:o.value)===null||r===void 0||r.classList.add("transitioning"):(i=o==null?void 0:o.value)===null||i===void 0||i.classList.remove("transitioning")}),{selfRef:o,mergedTheme:e,mergedClsPrefix:t,transitioning:n}},render(){const{$slots:e,scrollable:t,mergedClsPrefix:n,mergedTheme:o,placement:r}=this;return v("div",{ref:"selfRef",class:[`${n}-notification-container`,t&&`${n}-notification-container--scrollable`,`${n}-notification-container--${r}`]},t?v(Io,{theme:o.peers.Scrollbar,themeOverrides:o.peerOverrides.Scrollbar,contentStyle:{overflow:"hidden"}},e):e)}}),IX={info:()=>v(Vr,null),success:()=>v(Vi,null),warning:()=>v(Wi,null),error:()=>v(ji,null),default:()=>null},Bm={closable:{type:Boolean,default:!0},type:{type:String,default:"default"},avatar:Function,title:[String,Function],description:[String,Function],content:[String,Function],meta:[String,Function],action:[String,Function],onClose:{type:Function,required:!0},keepAliveOnHover:Boolean,onMouseenter:Function,onMouseleave:Function},OX=Jr(Bm),MX=be({name:"Notification",props:Bm,setup(e){const{mergedClsPrefixRef:t,mergedThemeRef:n,props:o}=Ue(ju),{inlineThemeDisabled:r,mergedRtlRef:i}=st(),a=pn("Notification",i,t),s=F(()=>{const{type:c}=e,{self:{color:u,textColor:d,closeIconColor:f,closeIconColorHover:h,closeIconColorPressed:p,headerTextColor:g,descriptionTextColor:m,actionTextColor:b,borderRadius:_,headerFontWeight:C,boxShadow:S,lineHeight:w,fontSize:x,closeMargin:y,closeSize:P,width:k,padding:T,closeIconSize:E,closeBorderRadius:R,closeColorHover:K,closeColorPressed:N,titleFontSize:D,metaFontSize:M,descriptionFontSize:G,[Re("iconColor",c)]:J},common:{cubicBezierEaseOut:he,cubicBezierEaseIn:pe,cubicBezierEaseInOut:B}}=n.value,{left:$,right:A,top:Y,bottom:ne}=lo(T);return{"--n-color":u,"--n-font-size":x,"--n-text-color":d,"--n-description-text-color":m,"--n-action-text-color":b,"--n-title-text-color":g,"--n-title-font-weight":C,"--n-bezier":B,"--n-bezier-ease-out":he,"--n-bezier-ease-in":pe,"--n-border-radius":_,"--n-box-shadow":S,"--n-close-border-radius":R,"--n-close-color-hover":K,"--n-close-color-pressed":N,"--n-close-icon-color":f,"--n-close-icon-color-hover":h,"--n-close-icon-color-pressed":p,"--n-line-height":w,"--n-icon-color":J,"--n-close-margin":y,"--n-close-size":P,"--n-close-icon-size":E,"--n-width":k,"--n-padding-left":$,"--n-padding-right":A,"--n-padding-top":Y,"--n-padding-bottom":ne,"--n-title-font-size":D,"--n-meta-font-size":M,"--n-description-font-size":G}}),l=r?Pt("notification",F(()=>e.type[0]),s,o):void 0;return{mergedClsPrefix:t,showAvatar:F(()=>e.avatar||e.type!=="default"),handleCloseClick(){e.onClose()},rtlEnabled:a,cssVars:r?void 0:s,themeClass:l==null?void 0:l.themeClass,onRender:l==null?void 0:l.onRender}},render(){var e;const{mergedClsPrefix:t}=this;return(e=this.onRender)===null||e===void 0||e.call(this),v("div",{class:[`${t}-notification-wrapper`,this.themeClass],onMouseenter:this.onMouseenter,onMouseleave:this.onMouseleave,style:this.cssVars},v("div",{class:[`${t}-notification`,this.rtlEnabled&&`${t}-notification--rtl`,this.themeClass,{[`${t}-notification--closable`]:this.closable,[`${t}-notification--show-avatar`]:this.showAvatar}],style:this.cssVars},this.showAvatar?v("div",{class:`${t}-notification__avatar`},this.avatar?Wt(this.avatar):this.type!=="default"?v(Ut,{clsPrefix:t},{default:()=>IX[this.type]()}):null):null,this.closable?v(qi,{clsPrefix:t,class:`${t}-notification__close`,onClick:this.handleCloseClick}):null,v("div",{ref:"bodyRef",class:`${t}-notification-main`},this.title?v("div",{class:`${t}-notification-main__header`},Wt(this.title)):null,this.description?v("div",{class:`${t}-notification-main__description`},Wt(this.description)):null,this.content?v("pre",{class:`${t}-notification-main__content`},Wt(this.content)):null,this.meta||this.action?v("div",{class:`${t}-notification-main-footer`},this.meta?v("div",{class:`${t}-notification-main-footer__meta`},Wt(this.meta)):null,this.action?v("div",{class:`${t}-notification-main-footer__action`},Wt(this.action)):null):null)))}}),zX=Object.assign(Object.assign({},Bm),{duration:Number,onClose:Function,onLeave:Function,onAfterEnter:Function,onAfterLeave:Function,onHide:Function,onAfterShow:Function,onAfterHide:Function}),DX=be({name:"NotificationEnvironment",props:Object.assign(Object.assign({},zX),{internalKey:{type:String,required:!0},onInternalAfterLeave:{type:Function,required:!0}}),setup(e){const{wipTransitionCountRef:t}=Ue(ju),n=W(!0);let o=null;function r(){n.value=!1,o&&window.clearTimeout(o)}function i(p){t.value++,Ht(()=>{p.style.height=`${p.offsetHeight}px`,p.style.maxHeight="0",p.style.transition="none",p.offsetHeight,p.style.transition="",p.style.maxHeight=p.style.height})}function a(p){t.value--,p.style.height="",p.style.maxHeight="";const{onAfterEnter:g,onAfterShow:m}=e;g&&g(),m&&m()}function s(p){t.value++,p.style.maxHeight=`${p.offsetHeight}px`,p.style.height=`${p.offsetHeight}px`,p.offsetHeight}function l(p){const{onHide:g}=e;g&&g(),p.style.maxHeight="0",p.offsetHeight}function c(){t.value--;const{onAfterLeave:p,onInternalAfterLeave:g,onAfterHide:m,internalKey:b}=e;p&&p(),g(b),m&&m()}function u(){const{duration:p}=e;p&&(o=window.setTimeout(r,p))}function d(p){p.currentTarget===p.target&&o!==null&&(window.clearTimeout(o),o=null)}function f(p){p.currentTarget===p.target&&u()}function h(){const{onClose:p}=e;p?Promise.resolve(p()).then(g=>{g!==!1&&r()}):r()}return jt(()=>{e.duration&&(o=window.setTimeout(r,e.duration))}),{show:n,hide:r,handleClose:h,handleAfterLeave:c,handleLeave:l,handleBeforeLeave:s,handleAfterEnter:a,handleBeforeEnter:i,handleMouseenter:d,handleMouseleave:f}},render(){return v(fn,{name:"notification-transition",appear:!0,onBeforeEnter:this.handleBeforeEnter,onAfterEnter:this.handleAfterEnter,onBeforeLeave:this.handleBeforeLeave,onLeave:this.handleLeave,onAfterLeave:this.handleAfterLeave},{default:()=>this.show?v(MX,Object.assign({},Qn(this.$props,OX),{onClose:this.handleClose,onMouseenter:this.duration&&this.keepAliveOnHover?this.handleMouseenter:void 0,onMouseleave:this.duration&&this.keepAliveOnHover?this.handleMouseleave:void 0})):null})}}),LX=q([z("notification-container",` - z-index: 4000; - position: fixed; - overflow: visible; - display: flex; - flex-direction: column; - align-items: flex-end; - `,[q(">",[z("scrollbar",` - width: initial; - overflow: visible; - height: -moz-fit-content !important; - height: fit-content !important; - max-height: 100vh !important; - `,[q(">",[z("scrollbar-container",` - height: -moz-fit-content !important; - height: fit-content !important; - max-height: 100vh !important; - `,[z("scrollbar-content",` - padding-top: 12px; - padding-bottom: 33px; - `)])])])]),Z("top, top-right, top-left",` - top: 12px; - `,[q("&.transitioning >",[z("scrollbar",[q(">",[z("scrollbar-container",` - min-height: 100vh !important; - `)])])])]),Z("bottom, bottom-right, bottom-left",` - bottom: 12px; - `,[q(">",[z("scrollbar",[q(">",[z("scrollbar-container",[z("scrollbar-content",` - padding-bottom: 12px; - `)])])])]),z("notification-wrapper",` - display: flex; - align-items: flex-end; - margin-bottom: 0; - margin-top: 12px; - `)]),Z("top, bottom",` - left: 50%; - transform: translateX(-50%); - `,[z("notification-wrapper",[q("&.notification-transition-enter-from, &.notification-transition-leave-to",` - transform: scale(0.85); - `),q("&.notification-transition-leave-from, &.notification-transition-enter-to",` - transform: scale(1); - `)])]),Z("top",[z("notification-wrapper",` - transform-origin: top center; - `)]),Z("bottom",[z("notification-wrapper",` - transform-origin: bottom center; - `)]),Z("top-right, bottom-right",[z("notification",` - margin-left: 28px; - margin-right: 16px; - `)]),Z("top-left, bottom-left",[z("notification",` - margin-left: 16px; - margin-right: 28px; - `)]),Z("top-right",` - right: 0; - `,[Kl("top-right")]),Z("top-left",` - left: 0; - `,[Kl("top-left")]),Z("bottom-right",` - right: 0; - `,[Kl("bottom-right")]),Z("bottom-left",` - left: 0; - `,[Kl("bottom-left")]),Z("scrollable",[Z("top-right",` - top: 0; - `),Z("top-left",` - top: 0; - `),Z("bottom-right",` - bottom: 0; - `),Z("bottom-left",` - bottom: 0; - `)]),z("notification-wrapper",` - margin-bottom: 12px; - `,[q("&.notification-transition-enter-from, &.notification-transition-leave-to",` - opacity: 0; - margin-top: 0 !important; - margin-bottom: 0 !important; - `),q("&.notification-transition-leave-from, &.notification-transition-enter-to",` - opacity: 1; - `),q("&.notification-transition-leave-active",` - transition: - background-color .3s var(--n-bezier), - color .3s var(--n-bezier), - opacity .3s var(--n-bezier), - transform .3s var(--n-bezier-ease-in), - max-height .3s var(--n-bezier), - margin-top .3s linear, - margin-bottom .3s linear, - box-shadow .3s var(--n-bezier); - `),q("&.notification-transition-enter-active",` - transition: - background-color .3s var(--n-bezier), - color .3s var(--n-bezier), - opacity .3s var(--n-bezier), - transform .3s var(--n-bezier-ease-out), - max-height .3s var(--n-bezier), - margin-top .3s linear, - margin-bottom .3s linear, - box-shadow .3s var(--n-bezier); - `)]),z("notification",` - background-color: var(--n-color); - color: var(--n-text-color); - transition: - background-color .3s var(--n-bezier), - color .3s var(--n-bezier), - opacity .3s var(--n-bezier), - box-shadow .3s var(--n-bezier); - font-family: inherit; - font-size: var(--n-font-size); - font-weight: 400; - position: relative; - display: flex; - overflow: hidden; - flex-shrink: 0; - padding-left: var(--n-padding-left); - padding-right: var(--n-padding-right); - width: var(--n-width); - max-width: calc(100vw - 16px - 16px); - border-radius: var(--n-border-radius); - box-shadow: var(--n-box-shadow); - box-sizing: border-box; - opacity: 1; - `,[V("avatar",[z("icon",` - color: var(--n-icon-color); - `),z("base-icon",` - color: var(--n-icon-color); - `)]),Z("show-avatar",[z("notification-main",` - margin-left: 40px; - width: calc(100% - 40px); - `)]),Z("closable",[z("notification-main",[q("> *:first-child",` - padding-right: 20px; - `)]),V("close",` - position: absolute; - top: 0; - right: 0; - margin: var(--n-close-margin); - transition: - background-color .3s var(--n-bezier), - color .3s var(--n-bezier); - `)]),V("avatar",` - position: absolute; - top: var(--n-padding-top); - left: var(--n-padding-left); - width: 28px; - height: 28px; - font-size: 28px; - display: flex; - align-items: center; - justify-content: center; - `,[z("icon","transition: color .3s var(--n-bezier);")]),z("notification-main",` - padding-top: var(--n-padding-top); - padding-bottom: var(--n-padding-bottom); - box-sizing: border-box; - display: flex; - flex-direction: column; - margin-left: 8px; - width: calc(100% - 8px); - `,[z("notification-main-footer",` - display: flex; - align-items: center; - justify-content: space-between; - margin-top: 12px; - `,[V("meta",` - font-size: var(--n-meta-font-size); - transition: color .3s var(--n-bezier-ease-out); - color: var(--n-description-text-color); - `),V("action",` - cursor: pointer; - transition: color .3s var(--n-bezier-ease-out); - color: var(--n-action-text-color); - `)]),V("header",` - font-weight: var(--n-title-font-weight); - font-size: var(--n-title-font-size); - transition: color .3s var(--n-bezier-ease-out); - color: var(--n-title-text-color); - `),V("description",` - margin-top: 8px; - font-size: var(--n-description-font-size); - white-space: pre-wrap; - word-wrap: break-word; - transition: color .3s var(--n-bezier-ease-out); - color: var(--n-description-text-color); - `),V("content",` - line-height: var(--n-line-height); - margin: 12px 0 0 0; - font-family: inherit; - white-space: pre-wrap; - word-wrap: break-word; - transition: color .3s var(--n-bezier-ease-out); - color: var(--n-text-color); - `,[q("&:first-child","margin: 0;")])])])])]);function Kl(e){const n=e.split("-")[1]==="left"?"calc(-100%)":"calc(100%)",o="0";return z("notification-wrapper",[q("&.notification-transition-enter-from, &.notification-transition-leave-to",` - transform: translate(${n}, 0); - `),q("&.notification-transition-leave-from, &.notification-transition-enter-to",` - transform: translate(${o}, 0); - `)])}const ZS="n-notification-api",FX=Object.assign(Object.assign({},Be.props),{containerClass:String,containerStyle:[String,Object],to:[String,Object],scrollable:{type:Boolean,default:!0},max:Number,placement:{type:String,default:"top-right"},keepAliveOnHover:Boolean}),BX=be({name:"NotificationProvider",props:FX,setup(e){const{mergedClsPrefixRef:t}=st(e),n=W([]),o={},r=new Set;function i(h){const p=Zr(),g=()=>{r.add(p),o[p]&&o[p].hide()},m=eo(Object.assign(Object.assign({},h),{key:p,destroy:g,hide:g,deactivate:g})),{max:b}=e;if(b&&n.value.length-r.size>=b){let _=!1,C=0;for(const S of n.value){if(!r.has(S.key)){o[S.key]&&(S.destroy(),_=!0);break}C++}_||n.value.splice(C,1)}return n.value.push(m),m}const a=["info","success","warning","error"].map(h=>p=>i(Object.assign(Object.assign({},p),{type:h})));function s(h){r.delete(h),n.value.splice(n.value.findIndex(p=>p.key===h),1)}const l=Be("Notification","-notification",LX,OK,e,t),c={create:i,info:a[0],success:a[1],warning:a[2],error:a[3],open:d,destroyAll:f},u=W(0);at(ZS,c),at(ju,{props:e,mergedClsPrefixRef:t,mergedThemeRef:l,wipTransitionCountRef:u});function d(h){return i(h)}function f(){Object.values(n.value).forEach(h=>{h.hide()})}return Object.assign({mergedClsPrefix:t,notificationList:n,notificationRefs:o,handleAfterLeave:s},c)},render(){var e,t,n;const{placement:o}=this;return v(it,null,(t=(e=this.$slots).default)===null||t===void 0?void 0:t.call(e),this.notificationList.length?v(nu,{to:(n=this.to)!==null&&n!==void 0?n:"body"},v(AX,{class:this.containerClass,style:this.containerStyle,scrollable:this.scrollable&&o!=="top"&&o!=="bottom",placement:o},{default:()=>this.notificationList.map(r=>v(DX,Object.assign({ref:i=>{const a=r.key;i===null?delete this.notificationRefs[a]:this.notificationRefs[a]=i}},ja(r,["destroy","hide","deactivate"]),{internalKey:r.key,onInternalAfterLeave:this.handleAfterLeave,keepAliveOnHover:r.keepAliveOnHover===void 0?this.keepAliveOnHover:r.keepAliveOnHover})))})):null)}});function NX(){const e=Ue(ZS,null);return e===null&&fr("use-notification","No outer `n-notification-provider` found."),e}const HX=q([z("progress",{display:"inline-block"},[z("progress-icon",` - color: var(--n-icon-color); - transition: color .3s var(--n-bezier); - `),Z("line",` - width: 100%; - display: block; - `,[z("progress-content",` - display: flex; - align-items: center; - `,[z("progress-graph",{flex:1})]),z("progress-custom-content",{marginLeft:"14px"}),z("progress-icon",` - width: 30px; - padding-left: 14px; - height: var(--n-icon-size-line); - line-height: var(--n-icon-size-line); - font-size: var(--n-icon-size-line); - `,[Z("as-text",` - color: var(--n-text-color-line-outer); - text-align: center; - width: 40px; - font-size: var(--n-font-size); - padding-left: 4px; - transition: color .3s var(--n-bezier); - `)])]),Z("circle, dashboard",{width:"120px"},[z("progress-custom-content",` - position: absolute; - left: 50%; - top: 50%; - transform: translateX(-50%) translateY(-50%); - display: flex; - align-items: center; - justify-content: center; - `),z("progress-text",` - position: absolute; - left: 50%; - top: 50%; - transform: translateX(-50%) translateY(-50%); - display: flex; - align-items: center; - color: inherit; - font-size: var(--n-font-size-circle); - color: var(--n-text-color-circle); - font-weight: var(--n-font-weight-circle); - transition: color .3s var(--n-bezier); - white-space: nowrap; - `),z("progress-icon",` - position: absolute; - left: 50%; - top: 50%; - transform: translateX(-50%) translateY(-50%); - display: flex; - align-items: center; - color: var(--n-icon-color); - font-size: var(--n-icon-size-circle); - `)]),Z("multiple-circle",` - width: 200px; - color: inherit; - `,[z("progress-text",` - font-weight: var(--n-font-weight-circle); - color: var(--n-text-color-circle); - position: absolute; - left: 50%; - top: 50%; - transform: translateX(-50%) translateY(-50%); - display: flex; - align-items: center; - justify-content: center; - transition: color .3s var(--n-bezier); - `)]),z("progress-content",{position:"relative"}),z("progress-graph",{position:"relative"},[z("progress-graph-circle",[q("svg",{verticalAlign:"bottom"}),z("progress-graph-circle-fill",` - stroke: var(--n-fill-color); - transition: - opacity .3s var(--n-bezier), - stroke .3s var(--n-bezier), - stroke-dasharray .3s var(--n-bezier); - `,[Z("empty",{opacity:0})]),z("progress-graph-circle-rail",` - transition: stroke .3s var(--n-bezier); - overflow: hidden; - stroke: var(--n-rail-color); - `)]),z("progress-graph-line",[Z("indicator-inside",[z("progress-graph-line-rail",` - height: 16px; - line-height: 16px; - border-radius: 10px; - `,[z("progress-graph-line-fill",` - height: inherit; - border-radius: 10px; - `),z("progress-graph-line-indicator",` - background: #0000; - white-space: nowrap; - text-align: right; - margin-left: 14px; - margin-right: 14px; - height: inherit; - font-size: 12px; - color: var(--n-text-color-line-inner); - transition: color .3s var(--n-bezier); - `)])]),Z("indicator-inside-label",` - height: 16px; - display: flex; - align-items: center; - `,[z("progress-graph-line-rail",` - flex: 1; - transition: background-color .3s var(--n-bezier); - `),z("progress-graph-line-indicator",` - background: var(--n-fill-color); - font-size: 12px; - transform: translateZ(0); - display: flex; - vertical-align: middle; - height: 16px; - line-height: 16px; - padding: 0 10px; - border-radius: 10px; - position: absolute; - white-space: nowrap; - color: var(--n-text-color-line-inner); - transition: - right .2s var(--n-bezier), - color .3s var(--n-bezier), - background-color .3s var(--n-bezier); - `)]),z("progress-graph-line-rail",` - position: relative; - overflow: hidden; - height: var(--n-rail-height); - border-radius: 5px; - background-color: var(--n-rail-color); - transition: background-color .3s var(--n-bezier); - `,[z("progress-graph-line-fill",` - background: var(--n-fill-color); - position: relative; - border-radius: 5px; - height: inherit; - width: 100%; - max-width: 0%; - transition: - background-color .3s var(--n-bezier), - max-width .2s var(--n-bezier); - `,[Z("processing",[q("&::after",` - content: ""; - background-image: var(--n-line-bg-processing); - animation: progress-processing-animation 2s var(--n-bezier) infinite; - `)])])])])])]),q("@keyframes progress-processing-animation",` - 0% { - position: absolute; - left: 0; - top: 0; - bottom: 0; - right: 100%; - opacity: 1; - } - 66% { - position: absolute; - left: 0; - top: 0; - bottom: 0; - right: 0; - opacity: 0; - } - 100% { - position: absolute; - left: 0; - top: 0; - bottom: 0; - right: 0; - opacity: 0; - } - `)]),jX={success:v(Vi,null),error:v(ji,null),warning:v(Wi,null),info:v(Vr,null)},VX=be({name:"ProgressLine",props:{clsPrefix:{type:String,required:!0},percentage:{type:Number,default:0},railColor:String,railStyle:[String,Object],fillColor:String,status:{type:String,required:!0},indicatorPlacement:{type:String,required:!0},indicatorTextColor:String,unit:{type:String,default:"%"},processing:{type:Boolean,required:!0},showIndicator:{type:Boolean,required:!0},height:[String,Number],railBorderRadius:[String,Number],fillBorderRadius:[String,Number]},setup(e,{slots:t}){const n=F(()=>qt(e.height)),o=F(()=>e.railBorderRadius!==void 0?qt(e.railBorderRadius):e.height!==void 0?qt(e.height,{c:.5}):""),r=F(()=>e.fillBorderRadius!==void 0?qt(e.fillBorderRadius):e.railBorderRadius!==void 0?qt(e.railBorderRadius):e.height!==void 0?qt(e.height,{c:.5}):"");return()=>{const{indicatorPlacement:i,railColor:a,railStyle:s,percentage:l,unit:c,indicatorTextColor:u,status:d,showIndicator:f,fillColor:h,processing:p,clsPrefix:g}=e;return v("div",{class:`${g}-progress-content`,role:"none"},v("div",{class:`${g}-progress-graph`,"aria-hidden":!0},v("div",{class:[`${g}-progress-graph-line`,{[`${g}-progress-graph-line--indicator-${i}`]:!0}]},v("div",{class:`${g}-progress-graph-line-rail`,style:[{backgroundColor:a,height:n.value,borderRadius:o.value},s]},v("div",{class:[`${g}-progress-graph-line-fill`,p&&`${g}-progress-graph-line-fill--processing`],style:{maxWidth:`${e.percentage}%`,backgroundColor:h,height:n.value,lineHeight:n.value,borderRadius:r.value}},i==="inside"?v("div",{class:`${g}-progress-graph-line-indicator`,style:{color:u}},t.default?t.default():`${l}${c}`):null)))),f&&i==="outside"?v("div",null,t.default?v("div",{class:`${g}-progress-custom-content`,style:{color:u},role:"none"},t.default()):d==="default"?v("div",{role:"none",class:`${g}-progress-icon ${g}-progress-icon--as-text`,style:{color:u}},l,c):v("div",{class:`${g}-progress-icon`,"aria-hidden":!0},v(Ut,{clsPrefix:g},{default:()=>jX[d]}))):null)}}}),WX={success:v(Vi,null),error:v(ji,null),warning:v(Wi,null),info:v(Vr,null)},UX=be({name:"ProgressCircle",props:{clsPrefix:{type:String,required:!0},status:{type:String,required:!0},strokeWidth:{type:Number,required:!0},fillColor:String,railColor:String,railStyle:[String,Object],percentage:{type:Number,default:0},offsetDegree:{type:Number,default:0},showIndicator:{type:Boolean,required:!0},indicatorTextColor:String,unit:String,viewBoxWidth:{type:Number,required:!0},gapDegree:{type:Number,required:!0},gapOffsetDegree:{type:Number,default:0}},setup(e,{slots:t}){function n(o,r,i){const{gapDegree:a,viewBoxWidth:s,strokeWidth:l}=e,c=50,u=0,d=c,f=0,h=2*c,p=50+l/2,g=`M ${p},${p} m ${u},${d} - a ${c},${c} 0 1 1 ${f},${-h} - a ${c},${c} 0 1 1 ${-f},${h}`,m=Math.PI*2*c,b={stroke:i,strokeDasharray:`${o/100*(m-a)}px ${s*8}px`,strokeDashoffset:`-${a/2}px`,transformOrigin:r?"center":void 0,transform:r?`rotate(${r}deg)`:void 0};return{pathString:g,pathStyle:b}}return()=>{const{fillColor:o,railColor:r,strokeWidth:i,offsetDegree:a,status:s,percentage:l,showIndicator:c,indicatorTextColor:u,unit:d,gapOffsetDegree:f,clsPrefix:h}=e,{pathString:p,pathStyle:g}=n(100,0,r),{pathString:m,pathStyle:b}=n(l,a,o),_=100+i;return v("div",{class:`${h}-progress-content`,role:"none"},v("div",{class:`${h}-progress-graph`,"aria-hidden":!0},v("div",{class:`${h}-progress-graph-circle`,style:{transform:f?`rotate(${f}deg)`:void 0}},v("svg",{viewBox:`0 0 ${_} ${_}`},v("g",null,v("path",{class:`${h}-progress-graph-circle-rail`,d:p,"stroke-width":i,"stroke-linecap":"round",fill:"none",style:g})),v("g",null,v("path",{class:[`${h}-progress-graph-circle-fill`,l===0&&`${h}-progress-graph-circle-fill--empty`],d:m,"stroke-width":i,"stroke-linecap":"round",fill:"none",style:b}))))),c?v("div",null,t.default?v("div",{class:`${h}-progress-custom-content`,role:"none"},t.default()):s!=="default"?v("div",{class:`${h}-progress-icon`,"aria-hidden":!0},v(Ut,{clsPrefix:h},{default:()=>WX[s]})):v("div",{class:`${h}-progress-text`,style:{color:u},role:"none"},v("span",{class:`${h}-progress-text__percentage`},l),v("span",{class:`${h}-progress-text__unit`},d))):null)}}});function b1(e,t,n=100){return`m ${n/2} ${n/2-e} a ${e} ${e} 0 1 1 0 ${2*e} a ${e} ${e} 0 1 1 0 -${2*e}`}const qX=be({name:"ProgressMultipleCircle",props:{clsPrefix:{type:String,required:!0},viewBoxWidth:{type:Number,required:!0},percentage:{type:Array,default:[0]},strokeWidth:{type:Number,required:!0},circleGap:{type:Number,required:!0},showIndicator:{type:Boolean,required:!0},fillColor:{type:Array,default:()=>[]},railColor:{type:Array,default:()=>[]},railStyle:{type:Array,default:()=>[]}},setup(e,{slots:t}){const n=F(()=>e.percentage.map((r,i)=>`${Math.PI*r/100*(e.viewBoxWidth/2-e.strokeWidth/2*(1+2*i)-e.circleGap*i)*2}, ${e.viewBoxWidth*8}`));return()=>{const{viewBoxWidth:o,strokeWidth:r,circleGap:i,showIndicator:a,fillColor:s,railColor:l,railStyle:c,percentage:u,clsPrefix:d}=e;return v("div",{class:`${d}-progress-content`,role:"none"},v("div",{class:`${d}-progress-graph`,"aria-hidden":!0},v("div",{class:`${d}-progress-graph-circle`},v("svg",{viewBox:`0 0 ${o} ${o}`},u.map((f,h)=>v("g",{key:h},v("path",{class:`${d}-progress-graph-circle-rail`,d:b1(o/2-r/2*(1+2*h)-i*h,r,o),"stroke-width":r,"stroke-linecap":"round",fill:"none",style:[{strokeDashoffset:0,stroke:l[h]},c[h]]}),v("path",{class:[`${d}-progress-graph-circle-fill`,f===0&&`${d}-progress-graph-circle-fill--empty`],d:b1(o/2-r/2*(1+2*h)-i*h,r,o),"stroke-width":r,"stroke-linecap":"round",fill:"none",style:{strokeDasharray:n.value[h],strokeDashoffset:0,stroke:s[h]}})))))),a&&t.default?v("div",null,v("div",{class:`${d}-progress-text`},t.default())):null)}}}),KX=Object.assign(Object.assign({},Be.props),{processing:Boolean,type:{type:String,default:"line"},gapDegree:Number,gapOffsetDegree:Number,status:{type:String,default:"default"},railColor:[String,Array],railStyle:[String,Array],color:[String,Array],viewBoxWidth:{type:Number,default:100},strokeWidth:{type:Number,default:7},percentage:[Number,Array],unit:{type:String,default:"%"},showIndicator:{type:Boolean,default:!0},indicatorPosition:{type:String,default:"outside"},indicatorPlacement:{type:String,default:"outside"},indicatorTextColor:String,circleGap:{type:Number,default:1},height:Number,borderRadius:[String,Number],fillBorderRadius:[String,Number],offsetDegree:Number}),GX=be({name:"Progress",props:KX,setup(e){const t=F(()=>e.indicatorPlacement||e.indicatorPosition),n=F(()=>{if(e.gapDegree||e.gapDegree===0)return e.gapDegree;if(e.type==="dashboard")return 75}),{mergedClsPrefixRef:o,inlineThemeDisabled:r}=st(e),i=Be("Progress","-progress",HX,PG,e,o),a=F(()=>{const{status:l}=e,{common:{cubicBezierEaseInOut:c},self:{fontSize:u,fontSizeCircle:d,railColor:f,railHeight:h,iconSizeCircle:p,iconSizeLine:g,textColorCircle:m,textColorLineInner:b,textColorLineOuter:_,lineBgProcessing:C,fontWeightCircle:S,[Re("iconColor",l)]:w,[Re("fillColor",l)]:x}}=i.value;return{"--n-bezier":c,"--n-fill-color":x,"--n-font-size":u,"--n-font-size-circle":d,"--n-font-weight-circle":S,"--n-icon-color":w,"--n-icon-size-circle":p,"--n-icon-size-line":g,"--n-line-bg-processing":C,"--n-rail-color":f,"--n-rail-height":h,"--n-text-color-circle":m,"--n-text-color-line-inner":b,"--n-text-color-line-outer":_}}),s=r?Pt("progress",F(()=>e.status[0]),a,e):void 0;return{mergedClsPrefix:o,mergedIndicatorPlacement:t,gapDeg:n,cssVars:r?void 0:a,themeClass:s==null?void 0:s.themeClass,onRender:s==null?void 0:s.onRender}},render(){const{type:e,cssVars:t,indicatorTextColor:n,showIndicator:o,status:r,railColor:i,railStyle:a,color:s,percentage:l,viewBoxWidth:c,strokeWidth:u,mergedIndicatorPlacement:d,unit:f,borderRadius:h,fillBorderRadius:p,height:g,processing:m,circleGap:b,mergedClsPrefix:_,gapDeg:C,gapOffsetDegree:S,themeClass:w,$slots:x,onRender:y}=this;return y==null||y(),v("div",{class:[w,`${_}-progress`,`${_}-progress--${e}`,`${_}-progress--${r}`],style:t,"aria-valuemax":100,"aria-valuemin":0,"aria-valuenow":l,role:e==="circle"||e==="line"||e==="dashboard"?"progressbar":"none"},e==="circle"||e==="dashboard"?v(UX,{clsPrefix:_,status:r,showIndicator:o,indicatorTextColor:n,railColor:i,fillColor:s,railStyle:a,offsetDegree:this.offsetDegree,percentage:l,viewBoxWidth:c,strokeWidth:u,gapDegree:C===void 0?e==="dashboard"?75:0:C,gapOffsetDegree:S,unit:f},x):e==="line"?v(VX,{clsPrefix:_,status:r,showIndicator:o,indicatorTextColor:n,railColor:i,fillColor:s,railStyle:a,percentage:l,processing:m,indicatorPlacement:d,unit:f,fillBorderRadius:p,railBorderRadius:h,height:g},x):e==="multiple-circle"?v(qX,{clsPrefix:_,strokeWidth:u,railColor:i,fillColor:s,railStyle:a,viewBoxWidth:c,percentage:l,showIndicator:o,circleGap:b},x):null)}}),YX={name:"QrCode",common:je,self:e=>({borderRadius:e.borderRadius})},XX=YX;function ZX(e){return{borderRadius:e.borderRadius}}const JX={name:"QrCode",common:xt,self:ZX},QX=JX,eZ=q([z("qr-code",` - background: #fff; - border-radius: var(--n-border-radius); - display: inline-flex; - `)]);var Mi;(function(e){class t{static encodeText(a,s){const l=e.QrSegment.makeSegments(a);return t.encodeSegments(l,s)}static encodeBinary(a,s){const l=e.QrSegment.makeBytes(a);return t.encodeSegments([l],s)}static encodeSegments(a,s,l=1,c=40,u=-1,d=!0){if(!(t.MIN_VERSION<=l&&l<=c&&c<=t.MAX_VERSION)||u<-1||u>7)throw new RangeError("Invalid value");let f,h;for(f=l;;f++){const b=t.getNumDataCodewords(f,s)*8,_=r.getTotalBits(a,f);if(_<=b){h=_;break}if(f>=c)throw new RangeError("Data too long")}for(const b of[t.Ecc.MEDIUM,t.Ecc.QUARTILE,t.Ecc.HIGH])d&&h<=t.getNumDataCodewords(f,b)*8&&(s=b);const p=[];for(const b of a){n(b.mode.modeBits,4,p),n(b.numChars,b.mode.numCharCountBits(f),p);for(const _ of b.getData())p.push(_)}const g=t.getNumDataCodewords(f,s)*8;n(0,Math.min(4,g-p.length),p),n(0,(8-p.length%8)%8,p);for(let b=236;p.lengthm[_>>>3]|=b<<7-(_&7)),new t(f,s,m,u)}constructor(a,s,l,c){if(this.version=a,this.errorCorrectionLevel=s,this.modules=[],this.isFunction=[],at.MAX_VERSION)throw new RangeError("Version value out of range");if(c<-1||c>7)throw new RangeError("Mask value out of range");this.size=a*4+17;const u=[];for(let f=0;f=0&&a=0&&s>>9)*1335;const c=(s<<10|l)^21522;for(let u=0;u<=5;u++)this.setFunctionModule(8,u,o(c,u));this.setFunctionModule(8,7,o(c,6)),this.setFunctionModule(8,8,o(c,7)),this.setFunctionModule(7,8,o(c,8));for(let u=9;u<15;u++)this.setFunctionModule(14-u,8,o(c,u));for(let u=0;u<8;u++)this.setFunctionModule(this.size-1-u,8,o(c,u));for(let u=8;u<15;u++)this.setFunctionModule(8,this.size-15+u,o(c,u));this.setFunctionModule(8,this.size-8,!0)}drawVersion(){if(this.version<7)return;let a=this.version;for(let l=0;l<12;l++)a=a<<1^(a>>>11)*7973;const s=this.version<<12|a;for(let l=0;l<18;l++){const c=o(s,l),u=this.size-11+l%3,d=Math.floor(l/3);this.setFunctionModule(u,d,c),this.setFunctionModule(d,u,c)}}drawFinderPattern(a,s){for(let l=-4;l<=4;l++)for(let c=-4;c<=4;c++){const u=Math.max(Math.abs(c),Math.abs(l)),d=a+c,f=s+l;d>=0&&d=0&&f{(b!==h-u||C>=f)&&m.push(_[b])});return m}drawCodewords(a){if(a.length!==Math.floor(t.getNumRawDataModules(this.version)/8))throw new RangeError("Invalid argument");let s=0;for(let l=this.size-1;l>=1;l-=2){l===6&&(l=5);for(let c=0;c>>3],7-(s&7)),s++)}}}applyMask(a){if(a<0||a>7)throw new RangeError("Mask value out of range");for(let s=0;s5&&a++):(this.finderPenaltyAddHistory(f,h),d||(a+=this.finderPenaltyCountPatterns(h)*t.PENALTY_N3),d=this.modules[u][p],f=1);a+=this.finderPenaltyTerminateAndCount(d,f,h)*t.PENALTY_N3}for(let u=0;u5&&a++):(this.finderPenaltyAddHistory(f,h),d||(a+=this.finderPenaltyCountPatterns(h)*t.PENALTY_N3),d=this.modules[p][u],f=1);a+=this.finderPenaltyTerminateAndCount(d,f,h)*t.PENALTY_N3}for(let u=0;ud+(f?1:0),s);const l=this.size*this.size,c=Math.ceil(Math.abs(s*20-l*10)/l)-1;return a+=c*t.PENALTY_N4,a}getAlignmentPatternPositions(){if(this.version===1)return[];{const a=Math.floor(this.version/7)+2,s=this.version===32?26:Math.ceil((this.version*4+4)/(a*2-2))*2,l=[6];for(let c=this.size-7;l.lengtht.MAX_VERSION)throw new RangeError("Version number out of range");let s=(16*a+128)*a+64;if(a>=2){const l=Math.floor(a/7)+2;s-=(25*l-10)*l-55,a>=7&&(s-=36)}return s}static getNumDataCodewords(a,s){return Math.floor(t.getNumRawDataModules(a)/8)-t.ECC_CODEWORDS_PER_BLOCK[s.ordinal][a]*t.NUM_ERROR_CORRECTION_BLOCKS[s.ordinal][a]}static reedSolomonComputeDivisor(a){if(a<1||a>255)throw new RangeError("Degree out of range");const s=[];for(let c=0;c0);for(const c of a){const u=c^l.shift();l.push(0),s.forEach((d,f)=>l[f]^=t.reedSolomonMultiply(d,u))}return l}static reedSolomonMultiply(a,s){if(a>>>8||s>>>8)throw new RangeError("Byte out of range");let l=0;for(let c=7;c>=0;c--)l=l<<1^(l>>>7)*285,l^=(s>>>c&1)*a;return l}finderPenaltyCountPatterns(a){const s=a[1],l=s>0&&a[2]===s&&a[3]===s*3&&a[4]===s&&a[5]===s;return(l&&a[0]>=s*4&&a[6]>=s?1:0)+(l&&a[6]>=s*4&&a[0]>=s?1:0)}finderPenaltyTerminateAndCount(a,s,l){return a&&(this.finderPenaltyAddHistory(s,l),s=0),s+=this.size,this.finderPenaltyAddHistory(s,l),this.finderPenaltyCountPatterns(l)}finderPenaltyAddHistory(a,s){s[0]===0&&(a+=this.size),s.pop(),s.unshift(a)}}t.MIN_VERSION=1,t.MAX_VERSION=40,t.PENALTY_N1=3,t.PENALTY_N2=3,t.PENALTY_N3=40,t.PENALTY_N4=10,t.ECC_CODEWORDS_PER_BLOCK=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],t.NUM_ERROR_CORRECTION_BLOCKS=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]],e.QrCode=t;function n(i,a,s){if(a<0||a>31||i>>>a)throw new RangeError("Value out of range");for(let l=a-1;l>=0;l--)s.push(i>>>l&1)}function o(i,a){return(i>>>a&1)!==0}class r{static makeBytes(a){const s=[];for(const l of a)n(l,8,s);return new r(r.Mode.BYTE,a.length,s)}static makeNumeric(a){if(!r.isNumeric(a))throw new RangeError("String contains non-numeric characters");const s=[];for(let l=0;l=1<({"--n-border-radius":o.value.self.borderRadius})),i=n?Pt("qr-code",void 0,r,e):void 0,a=W(),s=F(()=>{var f;const h=tZ[e.errorCorrectionLevel];return ms.QrCode.encodeText((f=e.value)!==null&&f!==void 0?f:"-",h)});jt(()=>{const f=W(0);let h=null;Xt(()=>{e.type!=="svg"&&(f.value,l(s.value,e.size,e.color,e.backgroundColor,h?{icon:h,iconBorderRadius:e.iconBorderRadius,iconSize:e.iconSize,iconBackgroundColor:e.iconBackgroundColor}:null))}),Xt(()=>{if(e.type==="svg")return;const{iconSrc:p}=e;if(p){let g=!1;const m=new Image;return m.src=p,m.onload=()=>{g||(h=m,f.value++)},()=>{g=!0}}})});function l(f,h,p,g,m){const b=a.value;if(!b)return;const _=h*uf,C=f.size,S=_/C;b.width=_,b.height=_;const w=b.getContext("2d");if(w){w.clearRect(0,0,b.width,b.height);for(let x=0;x=1?T:T*K,D=K<=1?T:T/K,M=E+(T-N)/2,G=R+(T-D)/2;w.drawImage(x,M,G,N,D)}}}function c(f,h=0){const p=[];return f.forEach((g,m)=>{let b=null;g.forEach((_,C)=>{if(!_&&b!==null){p.push(`M${b+h} ${m+h}h${C-b}v1H${b+h}z`),b=null;return}if(C===g.length-1){if(!_)return;b===null?p.push(`M${C+h},${m+h} h1v1H${C+h}z`):p.push(`M${b+h},${m+h} h${C+1-b}v1H${b+h}z`);return}_&&b===null&&(b=C)})}),p.join("")}function u(f,h,p){const g=f.getModules(),m=g.length,b=g;let _="";const C=``,S=``;let w="";if(p){const{iconSrc:x,iconSize:y}=p,k=Math.floor(h*.1),T=m/h,E=(y||k)*T,R=(y||k)*T,K=g.length/2-R/2,N=g.length/2-E/2;w+=``}return _+=C,_+=S,_+=w,{innerHtml:_,numCells:m}}const d=F(()=>u(s.value,e.size,e.iconSrc?{iconSrc:e.iconSrc,iconBorderRadius:e.iconBorderRadius,iconSize:e.iconSize,iconBackgroundColor:e.iconBackgroundColor}:null));return{canvasRef:a,mergedClsPrefix:t,cssVars:n?void 0:r,themeClass:i==null?void 0:i.themeClass,svgInfo:d}},render(){const{mergedClsPrefix:e,backgroundColor:t,padding:n,cssVars:o,themeClass:r,size:i,type:a}=this;return v("div",{class:[`${e}-qr-code`,r],style:Object.assign({padding:typeof n=="number"?`${n}px`:n,backgroundColor:t,width:`${i}px`,height:`${i}px`},o)},a==="canvas"?v("canvas",{ref:"canvasRef",style:{width:`${i}px`,height:`${i}px`}}):v("svg",{height:i,width:i,viewBox:`0 0 ${this.svgInfo.numCells} ${this.svgInfo.numCells}`,role:"img",innerHTML:this.svgInfo.innerHtml}))}}),oZ=v("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 36 36"},v("circle",{fill:"#FFCB4C",cx:"18",cy:"17.018",r:"17"}),v("path",{fill:"#65471B",d:"M14.524 21.036c-.145-.116-.258-.274-.312-.464-.134-.46.13-.918.59-1.021 4.528-1.021 7.577 1.363 7.706 1.465.384.306.459.845.173 1.205-.286.358-.828.401-1.211.097-.11-.084-2.523-1.923-6.182-1.098-.274.061-.554-.016-.764-.184z"}),v("ellipse",{fill:"#65471B",cx:"13.119",cy:"11.174",rx:"2.125",ry:"2.656"}),v("ellipse",{fill:"#65471B",cx:"24.375",cy:"12.236",rx:"2.125",ry:"2.656"}),v("path",{fill:"#F19020",d:"M17.276 35.149s1.265-.411 1.429-1.352c.173-.972-.624-1.167-.624-1.167s1.041-.208 1.172-1.376c.123-1.101-.861-1.363-.861-1.363s.97-.4 1.016-1.539c.038-.959-.995-1.428-.995-1.428s5.038-1.221 5.556-1.341c.516-.12 1.32-.615 1.069-1.694-.249-1.08-1.204-1.118-1.697-1.003-.494.115-6.744 1.566-8.9 2.068l-1.439.334c-.54.127-.785-.11-.404-.512.508-.536.833-1.129.946-2.113.119-1.035-.232-2.313-.433-2.809-.374-.921-1.005-1.649-1.734-1.899-1.137-.39-1.945.321-1.542 1.561.604 1.854.208 3.375-.833 4.293-2.449 2.157-3.588 3.695-2.83 6.973.828 3.575 4.377 5.876 7.952 5.048l3.152-.681z"}),v("path",{fill:"#65471B",d:"M9.296 6.351c-.164-.088-.303-.224-.391-.399-.216-.428-.04-.927.393-1.112 4.266-1.831 7.699-.043 7.843.034.433.231.608.747.391 1.154-.216.405-.74.546-1.173.318-.123-.063-2.832-1.432-6.278.047-.257.109-.547.085-.785-.042zm12.135 3.75c-.156-.098-.286-.243-.362-.424-.187-.442.023-.927.468-1.084 4.381-1.536 7.685.48 7.823.567.415.26.555.787.312 1.178-.242.39-.776.495-1.191.238-.12-.072-2.727-1.621-6.267-.379-.266.091-.553.046-.783-.096z"})),rZ=v("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 36 36"},v("path",{fill:"#FFCC4D",d:"M36 18c0 9.941-8.059 18-18 18-9.94 0-18-8.059-18-18C0 8.06 8.06 0 18 0c9.941 0 18 8.06 18 18"}),v("ellipse",{fill:"#664500",cx:"18",cy:"27",rx:"5",ry:"6"}),v("path",{fill:"#664500",d:"M5.999 11c-.208 0-.419-.065-.599-.2-.442-.331-.531-.958-.2-1.4C8.462 5.05 12.816 5 13 5c.552 0 1 .448 1 1 0 .551-.445.998-.996 1-.155.002-3.568.086-6.204 3.6-.196.262-.497.4-.801.4zm24.002 0c-.305 0-.604-.138-.801-.4-2.64-3.521-6.061-3.598-6.206-3.6-.55-.006-.994-.456-.991-1.005C22.006 5.444 22.45 5 23 5c.184 0 4.537.05 7.8 4.4.332.442.242 1.069-.2 1.4-.18.135-.39.2-.599.2zm-16.087 4.5l1.793-1.793c.391-.391.391-1.023 0-1.414s-1.023-.391-1.414 0L12.5 14.086l-1.793-1.793c-.391-.391-1.023-.391-1.414 0s-.391 1.023 0 1.414l1.793 1.793-1.793 1.793c-.391.391-.391 1.023 0 1.414.195.195.451.293.707.293s.512-.098.707-.293l1.793-1.793 1.793 1.793c.195.195.451.293.707.293s.512-.098.707-.293c.391-.391.391-1.023 0-1.414L13.914 15.5zm11 0l1.793-1.793c.391-.391.391-1.023 0-1.414s-1.023-.391-1.414 0L23.5 14.086l-1.793-1.793c-.391-.391-1.023-.391-1.414 0s-.391 1.023 0 1.414l1.793 1.793-1.793 1.793c-.391.391-.391 1.023 0 1.414.195.195.451.293.707.293s.512-.098.707-.293l1.793-1.793 1.793 1.793c.195.195.451.293.707.293s.512-.098.707-.293c.391-.391.391-1.023 0-1.414L24.914 15.5z"})),iZ=v("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 36 36"},v("ellipse",{fill:"#292F33",cx:"18",cy:"26",rx:"18",ry:"10"}),v("ellipse",{fill:"#66757F",cx:"18",cy:"24",rx:"18",ry:"10"}),v("path",{fill:"#E1E8ED",d:"M18 31C3.042 31 1 16 1 12h34c0 2-1.958 19-17 19z"}),v("path",{fill:"#77B255",d:"M35 12.056c0 5.216-7.611 9.444-17 9.444S1 17.271 1 12.056C1 6.84 8.611 3.611 18 3.611s17 3.229 17 8.445z"}),v("ellipse",{fill:"#A6D388",cx:"18",cy:"13",rx:"15",ry:"7"}),v("path",{d:"M21 17c-.256 0-.512-.098-.707-.293-2.337-2.337-2.376-4.885-.125-8.262.739-1.109.9-2.246.478-3.377-.461-1.236-1.438-1.996-1.731-2.077-.553 0-.958-.443-.958-.996 0-.552.491-.995 1.043-.995.997 0 2.395 1.153 3.183 2.625 1.034 1.933.91 4.039-.351 5.929-1.961 2.942-1.531 4.332-.125 5.738.391.391.391 1.023 0 1.414-.195.196-.451.294-.707.294zm-6-2c-.256 0-.512-.098-.707-.293-2.337-2.337-2.376-4.885-.125-8.262.727-1.091.893-2.083.494-2.947-.444-.961-1.431-1.469-1.684-1.499-.552 0-.989-.447-.989-1 0-.552.458-1 1.011-1 .997 0 2.585.974 3.36 2.423.481.899 1.052 2.761-.528 5.131-1.961 2.942-1.531 4.332-.125 5.738.391.391.391 1.023 0 1.414-.195.197-.451.295-.707.295z",fill:"#5C913B"})),aZ=v("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 36 36"},v("path",{fill:"#EF9645",d:"M15.5 2.965c1.381 0 2.5 1.119 2.5 2.5v.005L20.5.465c1.381 0 2.5 1.119 2.5 2.5V4.25l2.5-1.535c1.381 0 2.5 1.119 2.5 2.5V8.75L29 18H15.458L15.5 2.965z"}),v("path",{fill:"#FFDC5D",d:"M4.625 16.219c1.381-.611 3.354.208 4.75 2.188.917 1.3 1.187 3.151 2.391 3.344.46.073 1.234-.313 1.234-1.397V4.5s0-2 2-2 2 2 2 2v11.633c0-.029 1-.064 1-.082V2s0-2 2-2 2 2 2 2v14.053c0 .017 1 .041 1 .069V4.25s0-2 2-2 2 2 2 2v12.638c0 .118 1 .251 1 .398V8.75s0-2 2-2 2 2 2 2V24c0 6.627-5.373 12-12 12-4.775 0-8.06-2.598-9.896-5.292C8.547 28.423 8.096 26.051 8 25.334c0 0-.123-1.479-1.156-2.865-1.469-1.969-2.5-3.156-3.125-3.866-.317-.359-.625-1.707.906-2.384z"})),sZ=z("result",` - color: var(--n-text-color); - line-height: var(--n-line-height); - font-size: var(--n-font-size); - transition: - color .3s var(--n-bezier); -`,[z("result-icon",` - display: flex; - justify-content: center; - transition: color .3s var(--n-bezier); - `,[V("status-image",` - font-size: var(--n-icon-size); - width: 1em; - height: 1em; - `),z("base-icon",` - color: var(--n-icon-color); - font-size: var(--n-icon-size); - `)]),z("result-content",{marginTop:"24px"}),z("result-footer",` - margin-top: 24px; - text-align: center; - `),z("result-header",[V("title",` - margin-top: 16px; - font-weight: var(--n-title-font-weight); - transition: color .3s var(--n-bezier); - text-align: center; - color: var(--n-title-text-color); - font-size: var(--n-title-font-size); - `),V("description",` - margin-top: 4px; - text-align: center; - font-size: var(--n-font-size); - `)])]),lZ={403:()=>aZ,404:()=>oZ,418:()=>iZ,500:()=>rZ,info:()=>v(Vr,null),success:()=>v(Vi,null),warning:()=>v(Wi,null),error:()=>v(ji,null)},cZ=Object.assign(Object.assign({},Be.props),{size:{type:String,default:"medium"},status:{type:String,default:"info"},title:String,description:String}),uZ=be({name:"Result",props:cZ,setup(e){const{mergedClsPrefixRef:t,inlineThemeDisabled:n}=st(e),o=Be("Result","-result",sZ,IG,e,t),r=F(()=>{const{size:a,status:s}=e,{common:{cubicBezierEaseInOut:l},self:{textColor:c,lineHeight:u,titleTextColor:d,titleFontWeight:f,[Re("iconColor",s)]:h,[Re("fontSize",a)]:p,[Re("titleFontSize",a)]:g,[Re("iconSize",a)]:m}}=o.value;return{"--n-bezier":l,"--n-font-size":p,"--n-icon-size":m,"--n-line-height":u,"--n-text-color":c,"--n-title-font-size":g,"--n-title-font-weight":f,"--n-title-text-color":d,"--n-icon-color":h||""}}),i=n?Pt("result",F(()=>{const{size:a,status:s}=e;let l="";return a&&(l+=a[0]),s&&(l+=s[0]),l}),r,e):void 0;return{mergedClsPrefix:t,cssVars:n?void 0:r,themeClass:i==null?void 0:i.themeClass,onRender:i==null?void 0:i.onRender}},render(){var e;const{status:t,$slots:n,mergedClsPrefix:o,onRender:r}=this;return r==null||r(),v("div",{class:[`${o}-result`,this.themeClass],style:this.cssVars},v("div",{class:`${o}-result-icon`},((e=n.icon)===null||e===void 0?void 0:e.call(n))||v(Ut,{clsPrefix:o},{default:()=>lZ[t]()})),v("div",{class:`${o}-result-header`},this.title?v("div",{class:`${o}-result-header__title`},this.title):null,this.description?v("div",{class:`${o}-result-header__description`},this.description):null),n.default&&v("div",{class:`${o}-result-content`},n),n.footer&&v("div",{class:`${o}-result-footer`},n.footer()))}}),dZ=Object.assign(Object.assign({},Be.props),{trigger:String,xScrollable:Boolean,onScroll:Function,contentClass:String,contentStyle:[Object,String],size:Number}),fZ=be({name:"Scrollbar",props:dZ,setup(){const e=W(null);return Object.assign(Object.assign({},{scrollTo:(...n)=>{var o;(o=e.value)===null||o===void 0||o.scrollTo(n[0],n[1])},scrollBy:(...n)=>{var o;(o=e.value)===null||o===void 0||o.scrollBy(n[0],n[1])}}),{scrollbarInstRef:e})},render(){return v(Io,Object.assign({ref:"scrollbarInstRef"},this.$props),this.$slots)}}),hZ=fZ,pZ={name:"Skeleton",common:je,self(e){const{heightSmall:t,heightMedium:n,heightLarge:o,borderRadius:r}=e;return{color:"rgba(255, 255, 255, 0.12)",colorEnd:"rgba(255, 255, 255, 0.18)",borderRadius:r,heightSmall:t,heightMedium:n,heightLarge:o}}};function mZ(e){const{heightSmall:t,heightMedium:n,heightLarge:o,borderRadius:r}=e;return{color:"#eee",colorEnd:"#ddd",borderRadius:r,heightSmall:t,heightMedium:n,heightLarge:o}}const gZ={name:"Skeleton",common:xt,self:mZ},vZ=q([z("skeleton",` - height: 1em; - width: 100%; - transition: - --n-color-start .3s var(--n-bezier), - --n-color-end .3s var(--n-bezier), - background-color .3s var(--n-bezier); - animation: 2s skeleton-loading infinite cubic-bezier(0.36, 0, 0.64, 1); - background-color: var(--n-color-start); - `),q("@keyframes skeleton-loading",` - 0% { - background: var(--n-color-start); - } - 40% { - background: var(--n-color-end); - } - 80% { - background: var(--n-color-start); - } - 100% { - background: var(--n-color-start); - } - `)]),bZ=Object.assign(Object.assign({},Be.props),{text:Boolean,round:Boolean,circle:Boolean,height:[String,Number],width:[String,Number],size:String,repeat:{type:Number,default:1},animated:{type:Boolean,default:!0},sharp:{type:Boolean,default:!0}}),vl=be({name:"Skeleton",inheritAttrs:!1,props:bZ,setup(e){M8();const{mergedClsPrefixRef:t}=st(e),n=Be("Skeleton","-skeleton",vZ,gZ,e,t);return{mergedClsPrefix:t,style:F(()=>{var o,r;const i=n.value,{common:{cubicBezierEaseInOut:a}}=i,s=i.self,{color:l,colorEnd:c,borderRadius:u}=s;let d;const{circle:f,sharp:h,round:p,width:g,height:m,size:b,text:_,animated:C}=e;b!==void 0&&(d=s[Re("height",b)]);const S=f?(o=g??m)!==null&&o!==void 0?o:d:g,w=(r=f?g??m:m)!==null&&r!==void 0?r:d;return{display:_?"inline-block":"",verticalAlign:_?"-0.125em":"",borderRadius:f?"50%":p?"4096px":h?"":u,width:typeof S=="number"?zn(S):S,height:typeof w=="number"?zn(w):w,animation:C?"":"none","--n-bezier":a,"--n-color-start":l,"--n-color-end":c}})}},render(){const{repeat:e,style:t,mergedClsPrefix:n,$attrs:o}=this,r=v("div",Ln({class:`${n}-skeleton`,style:t},o));return e>1?v(it,null,pw(e,null).map(i=>[r,` -`])):r}}),yZ=q([q("@keyframes spin-rotate",` - from { - transform: rotate(0); - } - to { - transform: rotate(360deg); - } - `),z("spin-container",` - position: relative; - `,[z("spin-body",` - position: absolute; - top: 50%; - left: 50%; - transform: translateX(-50%) translateY(-50%); - `,[dl()])]),z("spin-body",` - display: inline-flex; - align-items: center; - justify-content: center; - flex-direction: column; - `),z("spin",` - display: inline-flex; - height: var(--n-size); - width: var(--n-size); - font-size: var(--n-size); - color: var(--n-color); - `,[Z("rotate",` - animation: spin-rotate 2s linear infinite; - `)]),z("spin-description",` - display: inline-block; - font-size: var(--n-font-size); - color: var(--n-text-color); - transition: color .3s var(--n-bezier); - margin-top: 8px; - `),z("spin-content",` - opacity: 1; - transition: opacity .3s var(--n-bezier); - pointer-events: all; - `,[Z("spinning",` - user-select: none; - -webkit-user-select: none; - pointer-events: none; - opacity: var(--n-opacity-spinning); - `)])]),xZ={small:20,medium:18,large:16},CZ=Object.assign(Object.assign({},Be.props),{contentClass:String,contentStyle:[Object,String],description:String,stroke:String,size:{type:[String,Number],default:"medium"},show:{type:Boolean,default:!0},strokeWidth:Number,rotate:{type:Boolean,default:!0},spinning:{type:Boolean,validator:()=>!0,default:void 0},delay:Number}),wZ=be({name:"Spin",props:CZ,setup(e){const{mergedClsPrefixRef:t,inlineThemeDisabled:n}=st(e),o=Be("Spin","-spin",yZ,BG,e,t),r=F(()=>{const{size:l}=e,{common:{cubicBezierEaseInOut:c},self:u}=o.value,{opacitySpinning:d,color:f,textColor:h}=u,p=typeof l=="number"?zn(l):u[Re("size",l)];return{"--n-bezier":c,"--n-opacity-spinning":d,"--n-size":p,"--n-color":f,"--n-text-color":h}}),i=n?Pt("spin",F(()=>{const{size:l}=e;return typeof l=="number"?String(l):l[0]}),r,e):void 0,a=Pu(e,["spinning","show"]),s=W(!1);return Xt(l=>{let c;if(a.value){const{delay:u}=e;if(u){c=window.setTimeout(()=>{s.value=!0},u),l(()=>{clearTimeout(c)});return}}s.value=a.value}),{mergedClsPrefix:t,active:s,mergedStrokeWidth:F(()=>{const{strokeWidth:l}=e;if(l!==void 0)return l;const{size:c}=e;return xZ[typeof c=="number"?"medium":c]}),cssVars:n?void 0:r,themeClass:i==null?void 0:i.themeClass,onRender:i==null?void 0:i.onRender}},render(){var e,t;const{$slots:n,mergedClsPrefix:o,description:r}=this,i=n.icon&&this.rotate,a=(r||n.description)&&v("div",{class:`${o}-spin-description`},r||((e=n.description)===null||e===void 0?void 0:e.call(n))),s=n.icon?v("div",{class:[`${o}-spin-body`,this.themeClass]},v("div",{class:[`${o}-spin`,i&&`${o}-spin--rotate`],style:n.default?"":this.cssVars},n.icon()),a):v("div",{class:[`${o}-spin-body`,this.themeClass]},v(ti,{clsPrefix:o,style:n.default?"":this.cssVars,stroke:this.stroke,"stroke-width":this.mergedStrokeWidth,class:`${o}-spin`}),a);return(t=this.onRender)===null||t===void 0||t.call(this),n.default?v("div",{class:[`${o}-spin-container`,this.themeClass],style:this.cssVars},v("div",{class:[`${o}-spin-content`,this.active&&`${o}-spin-content--spinning`,this.contentClass],style:this.contentStyle},n),v(fn,{name:"fade-in-transition"},{default:()=>this.active?s:null})):s}}),_Z={name:"Split",common:je},SZ=_Z,kZ=z("switch",` - height: var(--n-height); - min-width: var(--n-width); - vertical-align: middle; - user-select: none; - -webkit-user-select: none; - display: inline-flex; - outline: none; - justify-content: center; - align-items: center; -`,[V("children-placeholder",` - height: var(--n-rail-height); - display: flex; - flex-direction: column; - overflow: hidden; - pointer-events: none; - visibility: hidden; - `),V("rail-placeholder",` - display: flex; - flex-wrap: none; - `),V("button-placeholder",` - width: calc(1.75 * var(--n-rail-height)); - height: var(--n-rail-height); - `),z("base-loading",` - position: absolute; - top: 50%; - left: 50%; - transform: translateX(-50%) translateY(-50%); - font-size: calc(var(--n-button-width) - 4px); - color: var(--n-loading-color); - transition: color .3s var(--n-bezier); - `,[qn({left:"50%",top:"50%",originalTransform:"translateX(-50%) translateY(-50%)"})]),V("checked, unchecked",` - transition: color .3s var(--n-bezier); - color: var(--n-text-color); - box-sizing: border-box; - position: absolute; - white-space: nowrap; - top: 0; - bottom: 0; - display: flex; - align-items: center; - line-height: 1; - `),V("checked",` - right: 0; - padding-right: calc(1.25 * var(--n-rail-height) - var(--n-offset)); - `),V("unchecked",` - left: 0; - justify-content: flex-end; - padding-left: calc(1.25 * var(--n-rail-height) - var(--n-offset)); - `),q("&:focus",[V("rail",` - box-shadow: var(--n-box-shadow-focus); - `)]),Z("round",[V("rail","border-radius: calc(var(--n-rail-height) / 2);",[V("button","border-radius: calc(var(--n-button-height) / 2);")])]),Rt("disabled",[Rt("icon",[Z("rubber-band",[Z("pressed",[V("rail",[V("button","max-width: var(--n-button-width-pressed);")])]),V("rail",[q("&:active",[V("button","max-width: var(--n-button-width-pressed);")])]),Z("active",[Z("pressed",[V("rail",[V("button","left: calc(100% - var(--n-offset) - var(--n-button-width-pressed));")])]),V("rail",[q("&:active",[V("button","left: calc(100% - var(--n-offset) - var(--n-button-width-pressed));")])])])])])]),Z("active",[V("rail",[V("button","left: calc(100% - var(--n-button-width) - var(--n-offset))")])]),V("rail",` - overflow: hidden; - height: var(--n-rail-height); - min-width: var(--n-rail-width); - border-radius: var(--n-rail-border-radius); - cursor: pointer; - position: relative; - transition: - opacity .3s var(--n-bezier), - background .3s var(--n-bezier), - box-shadow .3s var(--n-bezier); - background-color: var(--n-rail-color); - `,[V("button-icon",` - color: var(--n-icon-color); - transition: color .3s var(--n-bezier); - font-size: calc(var(--n-button-height) - 4px); - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - display: flex; - justify-content: center; - align-items: center; - line-height: 1; - `,[qn()]),V("button",` - align-items: center; - top: var(--n-offset); - left: var(--n-offset); - height: var(--n-button-height); - width: var(--n-button-width-pressed); - max-width: var(--n-button-width); - border-radius: var(--n-button-border-radius); - background-color: var(--n-button-color); - box-shadow: var(--n-button-box-shadow); - box-sizing: border-box; - cursor: inherit; - content: ""; - position: absolute; - transition: - background-color .3s var(--n-bezier), - left .3s var(--n-bezier), - opacity .3s var(--n-bezier), - max-width .3s var(--n-bezier), - box-shadow .3s var(--n-bezier); - `)]),Z("active",[V("rail","background-color: var(--n-rail-color-active);")]),Z("loading",[V("rail",` - cursor: wait; - `)]),Z("disabled",[V("rail",` - cursor: not-allowed; - opacity: .5; - `)])]),PZ=Object.assign(Object.assign({},Be.props),{size:{type:String,default:"medium"},value:{type:[String,Number,Boolean],default:void 0},loading:Boolean,defaultValue:{type:[String,Number,Boolean],default:!1},disabled:{type:Boolean,default:void 0},round:{type:Boolean,default:!0},"onUpdate:value":[Function,Array],onUpdateValue:[Function,Array],checkedValue:{type:[String,Number,Boolean],default:!0},uncheckedValue:{type:[String,Number,Boolean],default:!1},railStyle:Function,rubberBand:{type:Boolean,default:!0},onChange:[Function,Array]});let ds;const TZ=be({name:"Switch",props:PZ,setup(e){ds===void 0&&(typeof CSS<"u"?typeof CSS.supports<"u"?ds=CSS.supports("width","max(1px)"):ds=!1:ds=!0);const{mergedClsPrefixRef:t,inlineThemeDisabled:n}=st(e),o=Be("Switch","-switch",kZ,QG,e,t),r=pr(e),{mergedSizeRef:i,mergedDisabledRef:a}=r,s=W(e.defaultValue),l=We(e,"value"),c=an(l,s),u=F(()=>c.value===e.checkedValue),d=W(!1),f=W(!1),h=F(()=>{const{railStyle:P}=e;if(P)return P({focused:f.value,checked:u.value})});function p(P){const{"onUpdate:value":k,onChange:T,onUpdateValue:E}=e,{nTriggerFormInput:R,nTriggerFormChange:K}=r;k&&$e(k,P),E&&$e(E,P),T&&$e(T,P),s.value=P,R(),K()}function g(){const{nTriggerFormFocus:P}=r;P()}function m(){const{nTriggerFormBlur:P}=r;P()}function b(){e.loading||a.value||(c.value!==e.checkedValue?p(e.checkedValue):p(e.uncheckedValue))}function _(){f.value=!0,g()}function C(){f.value=!1,m(),d.value=!1}function S(P){e.loading||a.value||P.key===" "&&(c.value!==e.checkedValue?p(e.checkedValue):p(e.uncheckedValue),d.value=!1)}function w(P){e.loading||a.value||P.key===" "&&(P.preventDefault(),d.value=!0)}const x=F(()=>{const{value:P}=i,{self:{opacityDisabled:k,railColor:T,railColorActive:E,buttonBoxShadow:R,buttonColor:K,boxShadowFocus:N,loadingColor:D,textColor:M,iconColor:G,[Re("buttonHeight",P)]:J,[Re("buttonWidth",P)]:he,[Re("buttonWidthPressed",P)]:pe,[Re("railHeight",P)]:B,[Re("railWidth",P)]:$,[Re("railBorderRadius",P)]:A,[Re("buttonBorderRadius",P)]:Y},common:{cubicBezierEaseInOut:ne}}=o.value;let fe,Q,xe;return ds?(fe=`calc((${B} - ${J}) / 2)`,Q=`max(${B}, ${J})`,xe=`max(${$}, calc(${$} + ${J} - ${B}))`):(fe=zn((bn(B)-bn(J))/2),Q=zn(Math.max(bn(B),bn(J))),xe=bn(B)>bn(J)?$:zn(bn($)+bn(J)-bn(B))),{"--n-bezier":ne,"--n-button-border-radius":Y,"--n-button-box-shadow":R,"--n-button-color":K,"--n-button-width":he,"--n-button-width-pressed":pe,"--n-button-height":J,"--n-height":Q,"--n-offset":fe,"--n-opacity-disabled":k,"--n-rail-border-radius":A,"--n-rail-color":T,"--n-rail-color-active":E,"--n-rail-height":B,"--n-rail-width":$,"--n-width":xe,"--n-box-shadow-focus":N,"--n-loading-color":D,"--n-text-color":M,"--n-icon-color":G}}),y=n?Pt("switch",F(()=>i.value[0]),x,e):void 0;return{handleClick:b,handleBlur:C,handleFocus:_,handleKeyup:S,handleKeydown:w,mergedRailStyle:h,pressed:d,mergedClsPrefix:t,mergedValue:c,checked:u,mergedDisabled:a,cssVars:n?void 0:x,themeClass:y==null?void 0:y.themeClass,onRender:y==null?void 0:y.onRender}},render(){const{mergedClsPrefix:e,mergedDisabled:t,checked:n,mergedRailStyle:o,onRender:r,$slots:i}=this;r==null||r();const{checked:a,unchecked:s,icon:l,"checked-icon":c,"unchecked-icon":u}=i,d=!(ga(l)&&ga(c)&&ga(u));return v("div",{role:"switch","aria-checked":n,class:[`${e}-switch`,this.themeClass,d&&`${e}-switch--icon`,n&&`${e}-switch--active`,t&&`${e}-switch--disabled`,this.round&&`${e}-switch--round`,this.loading&&`${e}-switch--loading`,this.pressed&&`${e}-switch--pressed`,this.rubberBand&&`${e}-switch--rubber-band`],tabindex:this.mergedDisabled?void 0:0,style:this.cssVars,onClick:this.handleClick,onFocus:this.handleFocus,onBlur:this.handleBlur,onKeyup:this.handleKeyup,onKeydown:this.handleKeydown},v("div",{class:`${e}-switch__rail`,"aria-hidden":"true",style:o},$t(a,f=>$t(s,h=>f||h?v("div",{"aria-hidden":!0,class:`${e}-switch__children-placeholder`},v("div",{class:`${e}-switch__rail-placeholder`},v("div",{class:`${e}-switch__button-placeholder`}),f),v("div",{class:`${e}-switch__rail-placeholder`},v("div",{class:`${e}-switch__button-placeholder`}),h)):null)),v("div",{class:`${e}-switch__button`},$t(l,f=>$t(c,h=>$t(u,p=>v(Ui,null,{default:()=>this.loading?v(ti,{key:"loading",clsPrefix:e,strokeWidth:20}):this.checked&&(h||f)?v("div",{class:`${e}-switch__button-icon`,key:h?"checked-icon":"icon"},h||f):!this.checked&&(p||f)?v("div",{class:`${e}-switch__button-icon`,key:p?"unchecked-icon":"icon"},p||f):null})))),$t(a,f=>f&&v("div",{key:"checked",class:`${e}-switch__checked`},f)),$t(s,f=>f&&v("div",{key:"unchecked",class:`${e}-switch__unchecked`},f)))))}}),RZ=be({name:"InjectionExtractor",props:{onSetup:Function},setup(e,{slots:t}){var n;return(n=e.onSetup)===null||n===void 0||n.call(e),()=>{var o;return(o=t.default)===null||o===void 0?void 0:o.call(t)}}}),EZ={message:kX,notification:NX,loadingBar:sX,dialog:Lq,modal:$X};function $Z({providersAndProps:e,configProviderProps:t}){let n=wx(r);const o={app:n};function r(){return v(E2,we(t),{default:()=>e.map(({type:s,Provider:l,props:c})=>v(l,we(c),{default:()=>v(RZ,{onSetup:()=>o[s]=EZ[s]()})}))})}let i;return hr&&(i=document.createElement("div"),document.body.appendChild(i),n.mount(i)),Object.assign({unmount:()=>{var s;if(n===null||i===null){lr("discrete","unmount call no need because discrete app has been unmounted");return}n.unmount(),(s=i.parentNode)===null||s===void 0||s.removeChild(i),i=null,n=null}},o)}function AZ(e,{configProviderProps:t,messageProviderProps:n,dialogProviderProps:o,notificationProviderProps:r,loadingBarProviderProps:i,modalProviderProps:a}={}){const s=[];return e.forEach(c=>{switch(c){case"message":s.push({type:c,Provider:SX,props:n});break;case"notification":s.push({type:c,Provider:BX,props:r});break;case"dialog":s.push({type:c,Provider:Dq,props:o});break;case"loadingBar":s.push({type:c,Provider:aX,props:i});break;case"modal":s.push({type:c,Provider:EX,props:a})}}),$Z({providersAndProps:s,configProviderProps:t})}function IZ(){const e=Ue(Eo,null);return F(()=>{if(e===null)return xt;const{mergedThemeRef:{value:t},mergedThemeOverridesRef:{value:n}}=e,o=(t==null?void 0:t.common)||xt;return n!=null&&n.common?Object.assign({},o,n.common):o})}const OZ=()=>({}),MZ={name:"Equation",common:je,self:OZ},zZ=MZ,DZ={name:"FloatButtonGroup",common:je,self(e){const{popoverColor:t,dividerColor:n,borderRadius:o}=e;return{color:t,buttonBorderColor:n,borderRadiusSquare:o,boxShadow:"0 2px 8px 0px rgba(0, 0, 0, .12)"}}},LZ=DZ,QS={name:"dark",common:je,Alert:dj,Anchor:wj,AutoComplete:Fj,Avatar:p2,AvatarGroup:Vj,BackTop:Uj,Badge:eV,Breadcrumb:iV,Button:Wn,ButtonGroup:jK,Calendar:CV,Card:w2,Carousel:MV,Cascader:rW,Checkbox:Ga,Code:R2,Collapse:pW,CollapseTransition:vW,ColorPicker:SV,DataTable:tU,DatePicker:mq,Descriptions:yq,Dialog:pS,Divider:Hq,Drawer:Kq,Dropdown:Tm,DynamicInput:hK,DynamicTags:CK,Element:_K,Empty:Ki,Ellipsis:N2,Equation:zZ,Flex:PK,Form:$K,GradientText:WK,Icon:EU,IconWrapper:DY,Image:LY,Input:mo,InputNumber:qK,LegacyTransfer:eX,Layout:ZK,List:oG,LoadingBar:iG,Log:uG,Menu:vG,Mention:fG,Message:NK,Modal:Eq,Notification:zK,PageHeader:xG,Pagination:L2,Popconfirm:SG,Popover:Yi,Popselect:$2,Progress:IS,QrCode:XX,Radio:V2,Rate:EG,Result:MG,Row:AY,Scrollbar:Vn,Select:M2,Skeleton:pZ,Slider:LG,Space:kS,Spin:HG,Statistic:WG,Steps:GG,Switch:XG,Table:oY,Tabs:sY,Tag:r2,Thing:uY,TimePicker:dS,Timeline:hY,Tooltip:Lu,Transfer:gY,Tree:DS,TreeSelect:xY,Typography:SY,Upload:TY,Watermark:EY,Split:SZ,FloatButton:OY,FloatButtonGroup:LZ},FZ={"aria-hidden":"true",width:"1em",height:"1em"},BZ=["xlink:href","fill"],NZ=be({__name:"SvgIcon",props:{icon:{type:String,required:!0},prefix:{type:String,default:"icon-custom"},color:{type:String,default:"currentColor"}},setup(e){const t=e,n=F(()=>`#${t.prefix}-${t.icon}`);return(o,r)=>(me(),ze("svg",FZ,[U("use",{"xlink:href":n.value,fill:e.color},null,8,BZ)]))}}),tl=(e,t={size:12})=>()=>v(vr,t,()=>v(z6,{icon:e})),ek=(e,t={size:12})=>()=>v(vr,t,()=>v(NZ,{icon:e}));function HZ(){var n,o;const e={default:jZ,blue:VZ,black:WZ,darkblue:UZ},t=((o=(n=window.settings)==null?void 0:n.theme)==null?void 0:o.color)||"default";return Object.prototype.hasOwnProperty.call(e,t)?e[t]:e.default}const jZ={header:{height:60},tags:{visible:!0,height:50},naiveThemeOverrides:{common:{primaryColor:"#316C72FF",primaryColorHover:"#316C72E3",primaryColorPressed:"#2B4C59FF",primaryColorSuppl:"#316C72E3",infoColor:"#316C72FF",infoColorHover:"#316C72E3",infoColorPressed:"#2B4C59FF",infoColorSuppl:"#316C72E3",successColor:"#18A058FF",successColorHover:"#36AD6AFF",successColorPressed:"#0C7A43FF",successColorSuppl:"#36AD6AFF",warningColor:"#F0A020FF",warningColorHover:"#FCB040FF",warningColorPressed:"#C97C10FF",warningColorSuppl:"#FCB040FF",errorColor:"#D03050FF",errorColorHover:"#DE576DFF",errorColorPressed:"#AB1F3FFF",errorColorSuppl:"#DE576DFF"}}},VZ={header:{height:60},tags:{visible:!0,height:50},naiveThemeOverrides:{common:{primaryColor:"#0665d0",primaryColorHover:"#2a84de",primaryColorPressed:"#004085",primaryColorSuppl:"#0056b3",infoColor:"#0665d0",infoColorHover:"#2a84de",infoColorPressed:"#0c5460",infoColorSuppl:"#004085",successColor:"#28a745",successColorHover:"#218838",successColorPressed:"#1e7e34",successColorSuppl:"#218838",warningColor:"#ffc107",warningColorHover:"#e0a800",warningColorPressed:"#d39e00",warningColorSuppl:"#e0a800",errorColor:"#dc3545",errorColorHover:"#c82333",errorColorPressed:"#bd2130",errorColorSuppl:"#c82333"}}},WZ={header:{height:60},tags:{visible:!0,height:50},naiveThemeOverrides:{common:{primaryColor:"#343a40",primaryColorHover:"#23272b",primaryColorPressed:"#1d2124",primaryColorSuppl:"#23272b",infoColor:"#343a40",infoColorHover:"#23272b",infoColorPressed:"#1d2124",infoColorSuppl:"#23272b",successColor:"#28a745",successColorHover:"#218838",successColorPressed:"#1e7e34",successColorSuppl:"#218838",warningColor:"#ffc107",warningColorHover:"#e0a800",warningColorPressed:"#d39e00",warningColorSuppl:"#e0a800",errorColor:"#dc3545",errorColorHover:"#c82333",errorColorPressed:"#bd2130",errorColorSuppl:"#c82333"}}},UZ={header:{height:60},tags:{visible:!0,height:50},naiveThemeOverrides:{common:{primaryColor:"#004175",primaryColorHover:"#002c4c",primaryColorPressed:"#001f35",primaryColorSuppl:"#002c4c",infoColor:"#004175",infoColorHover:"#002c4c",infoColorPressed:"#001f35",infoColorSuppl:"#002c4c",successColor:"#28a745",successColorHover:"#218838",successColorPressed:"#1e7e34",successColorSuppl:"#218838",warningColor:"#ffc107",warningColorHover:"#e0a800",warningColorPressed:"#d39e00",warningColorSuppl:"#e0a800",errorColor:"#dc3545",errorColorHover:"#c82333",errorColorPressed:"#bd2130",errorColorSuppl:"#c82333"}}},{header:qZ,tags:uNe,naiveThemeOverrides:Vh}=HZ();function Vu(e){return Zh()?(gy(e),!0):!1}function ko(e){return typeof e=="function"?e():we(e)}const tk=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const KZ=e=>e!=null,GZ=Object.prototype.toString,YZ=e=>GZ.call(e)==="[object Object]",nk=()=>{};function XZ(e,t){function n(...o){return new Promise((r,i)=>{Promise.resolve(e(()=>t.apply(this,o),{fn:t,thisArg:this,args:o})).then(r).catch(i)})}return n}const ok=e=>e();function ZZ(e=ok){const t=W(!0);function n(){t.value=!1}function o(){t.value=!0}const r=(...i)=>{t.value&&e(...i)};return{isActive:co(t),pause:n,resume:o,eventFilter:r}}function JZ(e){return e||to()}function QZ(...e){if(e.length!==1)return We(...e);const t=e[0];return typeof t=="function"?co(J3(()=>({get:t,set:nk}))):W(t)}function eJ(e,t,n={}){const{eventFilter:o=ok,...r}=n;return ft(e,XZ(o,t),r)}function tJ(e,t,n={}){const{eventFilter:o,...r}=n,{eventFilter:i,pause:a,resume:s,isActive:l}=ZZ(o);return{stop:eJ(e,t,{...r,eventFilter:i}),pause:a,resume:s,isActive:l}}function rk(e,t=!0,n){JZ()?jt(e,n):t?e():Ht(e)}function nJ(e=!1,t={}){const{truthyValue:n=!0,falsyValue:o=!1}=t,r=cn(e),i=W(e);function a(s){if(arguments.length)return i.value=s,i.value;{const l=ko(n);return i.value=i.value===l?ko(o):l,i.value}}return r?a:[i,a]}function Ia(e){var t;const n=ko(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Wr=tk?window:void 0,oJ=tk?window.document:void 0;function Nc(...e){let t,n,o,r;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,o,r]=e,t=Wr):[t,n,o,r]=e,!t)return nk;Array.isArray(n)||(n=[n]),Array.isArray(o)||(o=[o]);const i=[],a=()=>{i.forEach(u=>u()),i.length=0},s=(u,d,f,h)=>(u.addEventListener(d,f,h),()=>u.removeEventListener(d,f,h)),l=ft(()=>[Ia(t),ko(r)],([u,d])=>{if(a(),!u)return;const f=YZ(d)?{...d}:d;i.push(...n.flatMap(h=>o.map(p=>s(u,h,p,f))))},{immediate:!0,flush:"post"}),c=()=>{l(),a()};return Vu(c),c}function rJ(){const e=W(!1),t=to();return t&&jt(()=>{e.value=!0},t),e}function Nm(e){const t=rJ();return F(()=>(t.value,!!e()))}function iJ(e,t,n={}){const{window:o=Wr,...r}=n;let i;const a=Nm(()=>o&&"MutationObserver"in o),s=()=>{i&&(i.disconnect(),i=void 0)},l=F(()=>{const f=ko(e),h=(Array.isArray(f)?f:[f]).map(Ia).filter(KZ);return new Set(h)}),c=ft(()=>l.value,f=>{s(),a.value&&f.size&&(i=new MutationObserver(t),f.forEach(h=>i.observe(h,r)))},{immediate:!0,flush:"post"}),u=()=>i==null?void 0:i.takeRecords(),d=()=>{s(),c()};return Vu(d),{isSupported:a,stop:d,takeRecords:u}}function aJ(e,t={}){const{window:n=Wr}=t,o=Nm(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let r;const i=W(!1),a=c=>{i.value=c.matches},s=()=>{r&&("removeEventListener"in r?r.removeEventListener("change",a):r.removeListener(a))},l=Xt(()=>{o.value&&(s(),r=n.matchMedia(ko(e)),"addEventListener"in r?r.addEventListener("change",a):r.addListener(a),i.value=r.matches)});return Vu(()=>{l(),s(),r=void 0}),i}const Gl=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Yl="__vueuse_ssr_handlers__",sJ=lJ();function lJ(){return Yl in Gl||(Gl[Yl]=Gl[Yl]||{}),Gl[Yl]}function ik(e,t){return sJ[e]||t}function cJ(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const uJ={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},y1="vueuse-storage";function dJ(e,t,n,o={}){var r;const{flush:i="pre",deep:a=!0,listenToStorageChanges:s=!0,writeDefaults:l=!0,mergeDefaults:c=!1,shallow:u,window:d=Wr,eventFilter:f,onError:h=T=>{console.error(T)},initOnMounted:p}=o,g=(u?Oa:W)(typeof t=="function"?t():t);if(!n)try{n=ik("getDefaultStorage",()=>{var T;return(T=Wr)==null?void 0:T.localStorage})()}catch(T){h(T)}if(!n)return g;const m=ko(t),b=cJ(m),_=(r=o.serializer)!=null?r:uJ[b],{pause:C,resume:S}=tJ(g,()=>x(g.value),{flush:i,deep:a,eventFilter:f});d&&s&&rk(()=>{Nc(d,"storage",P),Nc(d,y1,k),p&&P()}),p||P();function w(T,E){d&&d.dispatchEvent(new CustomEvent(y1,{detail:{key:e,oldValue:T,newValue:E,storageArea:n}}))}function x(T){try{const E=n.getItem(e);if(T==null)w(E,null),n.removeItem(e);else{const R=_.write(T);E!==R&&(n.setItem(e,R),w(E,R))}}catch(E){h(E)}}function y(T){const E=T?T.newValue:n.getItem(e);if(E==null)return l&&m!=null&&n.setItem(e,_.write(m)),m;if(!T&&c){const R=_.read(E);return typeof c=="function"?c(R,m):b==="object"&&!Array.isArray(R)?{...m,...R}:R}else return typeof E!="string"?E:_.read(E)}function P(T){if(!(T&&T.storageArea!==n)){if(T&&T.key==null){g.value=m;return}if(!(T&&T.key!==e)){C();try{(T==null?void 0:T.newValue)!==_.write(g.value)&&(g.value=y(T))}catch(E){h(E)}finally{T?Ht(S):S()}}}}function k(T){P(T.detail)}return g}function ak(e){return aJ("(prefers-color-scheme: dark)",e)}function fJ(e={}){const{selector:t="html",attribute:n="class",initialValue:o="auto",window:r=Wr,storage:i,storageKey:a="vueuse-color-scheme",listenToStorageChanges:s=!0,storageRef:l,emitAuto:c,disableTransition:u=!0}=e,d={auto:"",light:"light",dark:"dark",...e.modes||{}},f=ak({window:r}),h=F(()=>f.value?"dark":"light"),p=l||(a==null?QZ(o):dJ(a,o,i,{window:r,listenToStorageChanges:s})),g=F(()=>p.value==="auto"?h.value:p.value),m=ik("updateHTMLAttrs",(S,w,x)=>{const y=typeof S=="string"?r==null?void 0:r.document.querySelector(S):Ia(S);if(!y)return;let P;if(u){P=r.document.createElement("style");const k="*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}";P.appendChild(document.createTextNode(k)),r.document.head.appendChild(P)}if(w==="class"){const k=x.split(/\s/g);Object.values(d).flatMap(T=>(T||"").split(/\s/g)).filter(Boolean).forEach(T=>{k.includes(T)?y.classList.add(T):y.classList.remove(T)})}else y.setAttribute(w,x);u&&(r.getComputedStyle(P).opacity,document.head.removeChild(P))});function b(S){var w;m(t,n,(w=d[S])!=null?w:S)}function _(S){e.onChanged?e.onChanged(S,b):b(S)}ft(g,_,{flush:"post",immediate:!0}),rk(()=>_(g.value));const C=F({get(){return c?p.value:g.value},set(S){p.value=S}});try{return Object.assign(C,{store:p,system:h,state:g})}catch{return C}}function hJ(e,t,n={}){const{window:o=Wr,initialValue:r="",observe:i=!1}=n,a=W(r),s=F(()=>{var c;return Ia(t)||((c=o==null?void 0:o.document)==null?void 0:c.documentElement)});function l(){var c;const u=ko(e),d=ko(s);if(d&&o){const f=(c=o.getComputedStyle(d).getPropertyValue(u))==null?void 0:c.trim();a.value=f||r}}return i&&iJ(s,l,{attributeFilter:["style","class"],window:o}),ft([s,()=>ko(e)],l,{immediate:!0}),ft(a,c=>{var u;(u=s.value)!=null&&u.style&&s.value.style.setProperty(ko(e),c)}),a}function sk(e={}){const{valueDark:t="dark",valueLight:n="",window:o=Wr}=e,r=fJ({...e,onChanged:(s,l)=>{var c;e.onChanged?(c=e.onChanged)==null||c.call(e,s==="dark",l,s):l(s)},modes:{dark:t,light:n}}),i=F(()=>r.system?r.system.value:ak({window:o}).value?"dark":"light");return F({get(){return r.value==="dark"},set(s){const l=s?"dark":"light";i.value===l?r.value="auto":r.value=l}})}const x1=["fullscreenchange","webkitfullscreenchange","webkitendfullscreen","mozfullscreenchange","MSFullscreenChange"];function pJ(e,t={}){const{document:n=oJ,autoExit:o=!1}=t,r=F(()=>{var b;return(b=Ia(e))!=null?b:n==null?void 0:n.querySelector("html")}),i=W(!1),a=F(()=>["requestFullscreen","webkitRequestFullscreen","webkitEnterFullscreen","webkitEnterFullScreen","webkitRequestFullScreen","mozRequestFullScreen","msRequestFullscreen"].find(b=>n&&b in n||r.value&&b in r.value)),s=F(()=>["exitFullscreen","webkitExitFullscreen","webkitExitFullScreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"].find(b=>n&&b in n||r.value&&b in r.value)),l=F(()=>["fullScreen","webkitIsFullScreen","webkitDisplayingFullscreen","mozFullScreen","msFullscreenElement"].find(b=>n&&b in n||r.value&&b in r.value)),c=["fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement"].find(b=>n&&b in n),u=Nm(()=>r.value&&n&&a.value!==void 0&&s.value!==void 0&&l.value!==void 0),d=()=>c?(n==null?void 0:n[c])===r.value:!1,f=()=>{if(l.value){if(n&&n[l.value]!=null)return n[l.value];{const b=r.value;if((b==null?void 0:b[l.value])!=null)return!!b[l.value]}}return!1};async function h(){if(!(!u.value||!i.value)){if(s.value)if((n==null?void 0:n[s.value])!=null)await n[s.value]();else{const b=r.value;(b==null?void 0:b[s.value])!=null&&await b[s.value]()}i.value=!1}}async function p(){if(!u.value||i.value)return;f()&&await h();const b=r.value;a.value&&(b==null?void 0:b[a.value])!=null&&(await b[a.value](),i.value=!0)}async function g(){await(i.value?h():p())}const m=()=>{const b=f();(!b||b&&d())&&(i.value=b)};return Nc(n,x1,m,!1),Nc(()=>Ia(r),x1,m,!1),o&&Vu(h),{isSupported:u,isFullscreen:i,enter:p,exit:h,toggle:g}}const Tn=cu("app",{state(){var e,t,n,o,r,i,a;return{collapsed:window.innerWidth<768,isDark:sk(),title:(e=window.settings)==null?void 0:e.title,assets_path:(t=window.settings)==null?void 0:t.assets_path,theme:(n=window.settings)==null?void 0:n.theme,version:(o=window.settings)==null?void 0:o.version,background_url:(r=window.settings)==null?void 0:r.background_url,description:(i=window.settings)==null?void 0:i.description,logo:(a=window.settings)==null?void 0:a.logo,lang:xu().value||"zh-CN",appConfig:{}}},actions:{async getConfig(){const{data:e}=await TJ();e&&(this.appConfig=e)},switchCollapsed(){this.collapsed=!this.collapsed},setCollapsed(e){this.collapsed=e},setDark(e){this.isDark=e},toggleDark(){this.isDark=!this.isDark},async switchLang(e){GC(e),location.reload()}}});function mJ(e){let t=null;class n{removeMessage(r=t,i=2e3){setTimeout(()=>{r&&(r.destroy(),r=null)},i)}showMessage(r,i,a={}){if(t&&t.type==="loading")t.type=r,t.content=i,r!=="loading"&&this.removeMessage(t,a.duration);else{const s=e[r](i,a);r==="loading"&&(t=s)}}loading(r){this.showMessage("loading",r,{duration:0})}success(r,i={}){this.showMessage("success",r,i)}error(r,i={}){this.showMessage("error",r,i)}info(r,i={}){this.showMessage("info",r,i)}warning(r,i={}){this.showMessage("warning",r,i)}}return new n}function gJ(e){return e.confirm=function(t={}){const n=!XC(t.title);return new Promise(o=>{e[t.type||"warning"]({showIcon:n,positiveText:mn.global.t("确定"),negativeText:mn.global.t("取消"),onPositiveClick:()=>{t.confirm&&t.confirm(),o(!0)},onNegativeClick:()=>{t.cancel&&t.cancel(),o(!1)},onMaskClick:()=>{t.cancel&&t.cancel(),o(!1)},...t})})},e}function vJ(){const e=Tn(),t=F(()=>({theme:e.isDark?QS:void 0,themeOverrides:Vh})),{message:n,dialog:o,notification:r,loadingBar:i}=AZ(["message","dialog","notification","loadingBar"],{configProviderProps:t});window.$loadingBar=i,window.$notification=r,window.$message=mJ(n),window.$dialog=gJ(o)}const bJ="access_token",yJ=6*60*60;function df(e){il.set(bJ,e,yJ)}function xJ(e){if(e.method==="get"&&(e.params={...e.params,t:new Date().getTime()}),mE(e))return e;const t=mC();return t.value?(e.headers.Authorization=e.headers.Authorization||t.value,e):(Pp(),Promise.reject({code:"-1",message:"未登录"}))}function CJ(e){return Promise.reject(e)}function wJ(e){return Promise.resolve((e==null?void 0:e.data)||{code:-1,message:"未知错误"})}function _J(e){var i;const t=((i=e.response)==null?void 0:i.data)||{code:-1,message:"未知错误"};let n=t.message;const{code:o,errors:r}=t;switch(o){case 401:n=n||"登录已过期";break;case 403:n=n||"没有权限";break;case 404:n=n||"资源或接口不存在";break;default:n=n||"未知异常"}return window.$message.error(n),Promise.resolve({code:o,message:n,errors:r})}function SJ(e={}){const t={headers:{"Content-Type":"application/x-www-form-urlencoded","Content-Language":xu().value||"zh-CN"},timeout:12e3},n=hE.create({...t,...e});return n.interceptors.request.use(xJ,CJ),n.interceptors.response.use(wJ,_J),n}const _t=SJ({baseURL:kJ()});function kJ(){let e=PJ(window.routerBase||"/")+"api/v1";return/^https?:\/\//.test(e)||(e=window.location.origin+e),e}function PJ(e){return e.endsWith("/")?e:"/"+e}function TJ(){return _t.get("/user/comm/config")}function RJ(){return _t.get("/user/info")}function EJ(){return _t.get("/user/getStat")}function $J(){return _t.get("/user/getSubscribe")}function AJ(){return _t.get("/user/notice/fetch")}function IJ(){return _t.get("/user/plan/fetch")}function lk(){return _t.get("/user/server/fetch")}function Hm(){return _t.get("/user/order/fetch")}function OJ(e){return _t.get("/user/order/detail?trade_no="+e)}function Wu(e){return _t.post("/user/order/cancel",{trade_no:e})}function MJ(e){return _t.get("/user/order/check?trade_no="+e)}function zJ(){return _t.get("/user/invite/fetch")}function DJ(e=1,t=10){return _t.get(`/user/invite/details?current=${e}&page_size=${t}`)}function LJ(){return _t.get("/user/invite/save")}function FJ(e){return _t.post("/user/transfer",{transfer_amount:e})}function BJ(e){return _t.post("/user/ticket/withdraw",e)}function C1(e){return _t.post("/user/update",e)}function NJ(e,t){return _t.post("/user/changePassword",{old_password:e,new_password:t})}function HJ(){return _t.get("/user/resetSecurity")}function jJ(){return _t.get("/user/stat/getTrafficLog")}function VJ(){return _t.get("/user/order/getPaymentMethod")}function ck(e,t,n){return _t.post("/user/order/save",{plan_id:e,period:t,coupon_code:n})}function WJ(e,t){return _t.post("/user/order/checkout",{trade_no:e,method:t})}function UJ(e){return _t.get("/user/plan/fetch?id="+e)}function qJ(e,t){return _t.post("/user/coupon/check",{code:e,plan_id:t})}function KJ(){return _t.get("/user/ticket/fetch")}function GJ(e,t,n){return _t.post("/user/ticket/save",{subject:e,level:t,message:n})}function YJ(e){return _t.post("/user/ticket/close",{id:e})}function XJ(e){return _t.get("/user/ticket/fetch?id="+e)}function ZJ(e,t){return _t.post("/user/ticket/reply",{id:e,message:t})}function JJ(e="",t="zh-CN"){return _t.get(`/user/knowledge/fetch?keyword=${e}&language=${t}`)}function QJ(e,t="zh-CN"){return _t.get(`/user/knowledge/fetch?id=${e}&language=${t}`)}function eQ(){return _t.get("user/telegram/getBotInfo")}const Ji=cu("user",{state:()=>({userInfo:{}}),getters:{userUUID(){var e;return(e=this.userInfo)==null?void 0:e.uuid},email(){var e;return(e=this.userInfo)==null?void 0:e.email},avatar(){return this.userInfo.avatar_url??""},role(){return[]},remind_expire(){return this.userInfo.remind_expire},remind_traffic(){return this.userInfo.remind_traffic},balance(){return this.userInfo.balance},plan_id(){return this.userInfo.plan_id},expired_at(){return this.userInfo.expired_at},plan(){return this.userInfo.plan},subscribe(){return this.userInfo.subscribe}},actions:{async getUserInfo(){try{const e=await RJ(),{data:t}=e;return t?(this.userInfo=t,t):Promise.reject(e)}catch(e){return Promise.reject(e)}},async getUserSubscribe(){try{const e=await $J(),{data:t}=e;return t?(this.userInfo.subscribe=t,this.userInfo.plan=t.plan,t):Promise.reject(e)}catch(e){return Promise.reject(e)}},async logout(){gC(),this.userInfo={},Pp()},setUserInfo(e){this.userInfo={...this.userInfo,...e}}}});function tQ(e,t){var o,r;if(!((o=e.meta)!=null&&o.requireAuth))return!0;const n=((r=e.meta)==null?void 0:r.role)||[];return!t.length||!n.length?!1:t.some(i=>n.includes(i))}function uk(e,t){const n=[];return e.forEach(o=>{if(tQ(o,t)){const r={...o,children:[]};o.children&&o.children.length?r.children=uk(o.children,t):Reflect.deleteProperty(r,"children"),n.push(r)}}),n}const dk=cu("permission",{state(){return{accessRoutes:[]}},getters:{routes(){return zx.concat(JSON.parse(JSON.stringify(this.accessRoutes)))},menus(){return this.routes.filter(e=>{var t;return e.name&&!((t=e.meta)!=null&&t.isHidden)})}},actions:{generateRoutes(e){const t=uk(Dx,e);return this.accessRoutes=t,t}}}),nQ=wc.get("activeTag"),oQ=wc.get("tags"),rQ=["/404","/login"],iQ=cu({id:"tag",state:()=>{const e=W(oQ.value),t=W(nQ.value),n=W(!1);return{tags:e,activeTag:t,reloading:n}},getters:{activeIndex:e=>()=>e.tags.findIndex(t=>t.path===e.activeTag)},actions:{setActiveTag(e){this.activeTag=e,wc.set("activeTag",e)},setTags(e){this.tags=e,wc.set("tags",e)},addTag(e={}){if(rQ.includes(e.path))return;let t=this.tags.find(n=>n.path===e.path);t?t=e:this.setTags([...this.tags,e]),this.setActiveTag(e.path)},async reloadTag(e,t){let n=this.tags.find(o=>o.path===e);n?t&&(n.keepAlive=!1):(n={path:e,keepAlive:!1},this.tags.push(n)),window.$loadingBar.start(),this.reloading=!0,await Ht(),this.reloading=!1,n.keepAlive=t,setTimeout(()=>{document.documentElement.scrollTo({left:0,top:0}),window.$loadingBar.finish()},100)},removeTag(e){this.setTags(this.tags.filter(t=>t.path!==e)),e===this.activeTag&&Gt.push(this.tags[this.tags.length-1].path)},removeOther(e){e||(e=this.activeTag),e||this.setTags(this.tags.filter(t=>t.path===e)),e!==this.activeTag&&Gt.push(this.tags[this.tags.length-1].path)},removeLeft(e){const t=this.tags.findIndex(o=>o.path===e),n=this.tags.filter((o,r)=>r>=t);this.setTags(n),n.find(o=>o.path===this.activeTag)||Gt.push(n[n.length-1].path)},removeRight(e){const t=this.tags.findIndex(o=>o.path===e),n=this.tags.filter((o,r)=>r<=t);this.setTags(n),n.find(o=>o.path===this.activeTag)||Gt.push(n[n.length-1].path)},resetTags(){this.setTags([]),this.setActiveTag("")}}});function aQ(e){e.use($5())}const sQ=["/login","/register","/forgetpassword"];function lQ(e){const t=Ji(),n=dk();e.beforeEach(async(o,r,i)=>{var s;mC().value?o.path==="/login"?i({path:((s=o.query.redirect)==null?void 0:s.toString())??"/dashboard"}):t.userUUID?i():(await Promise.all([Tn().getConfig(),t.getUserInfo().catch(c=>{gC(),Pp(),window.$message.error(c.message||"获取用户信息失败!")})]),n.generateRoutes(t.role).forEach(c=>{c.name&&!e.hasRoute(c.name)&&e.addRoute(c)}),e.addRoute(P5),i({...o,replace:!0})):sQ.includes(o.path)?i():i({path:"/login"})})}function cQ(e){T5(e),lQ(e),R5(e)}const Gt=YT({history:_T("/"),routes:zx,scrollBehavior:()=>({left:0,top:0})});function uQ(e){e.use(Gt),cQ(Gt)}const dQ=be({__name:"AppProvider",setup(e){const t=Tn(),n={"zh-CN":[zF,z0],"en-US":[B_,H_],"fa-IR":[qF,RN],"ko-KR":[jF,NB],"vi-VN":[WF,PN],"zh-TW":[LF,z0],"ja-JP":[NF,nB]};function o(){const r=Vh.common;for(const i in r)hJ(`--${TF(i)}`,document.documentElement).value=r[i]||"",i==="primaryColor"&&window.localStorage.setItem("__THEME_COLOR__",r[i]||"")}return o(),(r,i)=>{const a=E2;return me(),qe(a,{"wh-full":"",locale:n[we(t).lang][0],"date-locale":n[we(t).lang][1],theme:we(t).isDark?we(QS):void 0,"theme-overrides":we(Vh)},{default:ue(()=>[tu(r.$slots,"default")]),_:3},8,["locale","date-locale","theme","theme-overrides"])}}}),fQ=be({__name:"App",setup(e){const t=Ji();return Xt(()=>{const{balance:o,plan:r,expired_at:i,subscribe:a,email:s}=t;if(window.$crisp&&s){const l=[["Balance",(o/100).toString()],...r!=null&&r.name?[["Plan",r.name]]:[],["ExpireTime",Wo(i)],["UsedTraffic",Ps(((a==null?void 0:a.u)||0)+((a==null?void 0:a.d)||0))],["AllTraffic",Ps(a==null?void 0:a.transfer_enable)]];window.$crisp.push(["set","user:email",s]),window.$crisp.push(["set","session:data",[l]])}}),(o,r)=>{const i=Qc("router-view");return me(),qe(dQ,null,{default:ue(()=>[ie(i,null,{default:ue(({Component:a})=>[(me(),qe(eu(a)))]),_:1})]),_:1})}}}),Uu=wx(fQ);aQ(Uu);vJ();uQ(Uu);RA(Uu);Uu.mount("#app");const hQ={class:"inline-block",viewBox:"0 0 24 24",width:"1em",height:"1em"},pQ=U("path",{fill:"currentColor",d:"M6.225 4.811a1 1 0 0 0-1.414 1.414L10.586 12L4.81 17.775a1 1 0 1 0 1.414 1.414L12 13.414l5.775 5.775a1 1 0 0 0 1.414-1.414L13.414 12l5.775-5.775a1 1 0 0 0-1.414-1.414L12 10.586z"},null,-1),mQ=[pQ];function gQ(e,t){return me(),ze("svg",hQ,[...mQ])}const fk={name:"gg-close",render:gQ},vQ={"h-60":"","f-c-c":""},bQ=["src"],yQ=be({__name:"SideLogo",setup(e){const t=Tn();return(n,o)=>{const r=fk,i=zt;return me(),ze("div",vQ,[we(t).logo?(me(),ze("img",{key:0,src:we(t).logo,height:"30"},null,8,bQ)):pt("",!0),dn(U("h2",{"ml-10":"","max-w-140":"","flex-shrink-0":"","text-16":"","font-bold":"","color-primary":""},se(we(t).title),513),[[Mn,!we(t).collapsed]]),ie(i,{onClick:[o[0]||(o[0]=NP(()=>{},["stop"])),we(t).switchCollapsed],class:"absolute right-15 h-auto p-0 md:hidden",tertiary:"",size:"medium"},{icon:ue(()=>[ie(r,{class:"cursor-pointer opacity-85"})]),_:1},8,["onClick"])])}}}),xQ=be({__name:"SideMenu",setup(e){const t=Tn(),n=p=>mn.global.t(p);function o(){window.innerWidth<=950&&(t.collapsed=!0)}const r=Mx(),i=Da(),a=dk(),s=F(()=>{var p;return((p=i.meta)==null?void 0:p.activeMenu)||i.name}),l=F(()=>a.menus.reduce((m,b)=>{var C,S,w,x;const _=d(b);if((S=(C=_.meta)==null?void 0:C.group)!=null&&S.key){const y=_.meta.group.key,P=m.findIndex(k=>k.key===y);if(P!==-1)(w=m[P].children)==null||w.push(_),m[P].children=(x=m[P].children)==null?void 0:x.sort((k,T)=>k.order-T.order);else{const k={type:"group",label:n(_.meta.group.label||""),key:y,children:[_]};m.push(k)}}else m.push(_);return m.sort((y,P)=>y.order-P.order)},[]).sort((m,b)=>m.type==="group"&&b.type!=="group"?1:m.type!=="group"&&b.type==="group"?-1:m.order-b.order));function c(p,g){return nb(g)?g:"/"+[p,g].filter(m=>!!m&&m!=="/").map(m=>m.replace(/(^\/)|(\/$)/g,"")).join("/")}function u(p,g){var b;const m=((b=p.children)==null?void 0:b.filter(_=>{var C;return _.name&&!((C=_.meta)!=null&&C.isHidden)}))||[];return m.length===1?d(m[0],g):m.length>1?{children:m.map(_=>d(_,g)).sort((_,C)=>_.order-C.order)}:null}function d(p,g=""){const{title:m,order:b}=p.meta||{title:"",order:0},{name:_,path:C}=p,S=m||_||"",w=_||"",x=f(p.meta),y=b||0,P=p.meta;let k={label:n(S),key:w,path:c(g,C),icon:x!==null?x:void 0,meta:P,order:y};const T=u(p,k.path);return T&&(k={...k,...T}),k}function f(p){return p!=null&&p.customIcon?ek(p.customIcon,{size:18}):p!=null&&p.icon?tl(p.icon,{size:18}):null}function h(p,g){nb(g.path)?window.open(g.path):r.push(g.path)}return(p,g)=>{const m=vX;return me(),qe(m,{ref:"menu",class:"side-menu",accordion:"","root-indent":18,indent:0,"collapsed-icon-size":22,"collapsed-width":60,options:l.value,value:s.value,"onUpdate:value":h,onClick:g[0]||(g[0]=b=>o())},null,8,["options","value"])}}}),w1=be({__name:"index",setup(e){return(t,n)=>(me(),ze(it,null,[ie(yQ),ie(xQ)],64))}}),CQ=be({__name:"AppMain",setup(e){const t=iQ();return(n,o)=>{const r=Qc("router-view");return me(),qe(r,null,{default:ue(({Component:i,route:a})=>[we(t).reloading?pt("",!0):(me(),qe(eu(i),{key:a.fullPath}))]),_:1})}}}),wQ=be({__name:"BreadCrumb",setup(e){const t=Da();function n(o){return o!=null&&o.customIcon?ek(o.customIcon,{size:18}):o!=null&&o.icon?tl(o.icon,{size:18}):null}return(o,r)=>{const i=dV,a=lV;return me(),qe(a,null,{default:ue(()=>[(me(!0),ze(it,null,Hn(we(t).matched.filter(s=>{var l;return!!((l=s.meta)!=null&&l.title)}),s=>(me(),qe(i,{key:s.path},{default:ue(()=>[(me(),qe(eu(n(s.meta)))),nt(" "+se(o.$t(s.meta.title)),1)]),_:2},1024))),128))]),_:1})}}}),_Q={class:"inline-block",viewBox:"0 0 24 24",width:"1em",height:"1em"},SQ=U("path",{fill:"currentColor",d:"M11 13h10v-2H11m0-2h10V7H11M3 3v2h18V3M3 21h18v-2H3m0-7l4 4V8m4 9h10v-2H11z"},null,-1),kQ=[SQ];function PQ(e,t){return me(),ze("svg",_Q,[...kQ])}const TQ={name:"mdi-format-indent-decrease",render:PQ},RQ={class:"inline-block",viewBox:"0 0 24 24",width:"1em",height:"1em"},EQ=U("path",{fill:"currentColor",d:"M11 13h10v-2H11m0-2h10V7H11M3 3v2h18V3M11 17h10v-2H11M3 8v8l4-4m-4 9h18v-2H3z"},null,-1),$Q=[EQ];function AQ(e,t){return me(),ze("svg",RQ,[...$Q])}const IQ={name:"mdi-format-indent-increase",render:AQ},OQ=be({__name:"MenuCollapse",setup(e){const t=Tn();return(n,o)=>{const r=IQ,i=TQ,a=vr;return me(),qe(a,{size:"20","cursor-pointer":"",onClick:we(t).switchCollapsed},{default:ue(()=>[we(t).collapsed?(me(),qe(r,{key:0})):(me(),qe(i,{key:1}))]),_:1},8,["onClick"])}}}),MQ={class:"inline-block",viewBox:"0 0 1024 1024",width:"1em",height:"1em"},zQ=U("path",{fill:"currentColor",d:"m290 236.4l43.9-43.9a8.01 8.01 0 0 0-4.7-13.6L169 160c-5.1-.6-9.5 3.7-8.9 8.9L179 329.1c.8 6.6 8.9 9.4 13.6 4.7l43.7-43.7L370 423.7c3.1 3.1 8.2 3.1 11.3 0l42.4-42.3c3.1-3.1 3.1-8.2 0-11.3zm352.7 187.3c3.1 3.1 8.2 3.1 11.3 0l133.7-133.6l43.7 43.7a8.01 8.01 0 0 0 13.6-4.7L863.9 169c.6-5.1-3.7-9.5-8.9-8.9L694.8 179c-6.6.8-9.4 8.9-4.7 13.6l43.9 43.9L600.3 370a8.03 8.03 0 0 0 0 11.3zM845 694.9c-.8-6.6-8.9-9.4-13.6-4.7l-43.7 43.7L654 600.3a8.03 8.03 0 0 0-11.3 0l-42.4 42.3a8.03 8.03 0 0 0 0 11.3L734 787.6l-43.9 43.9a8.01 8.01 0 0 0 4.7 13.6L855 864c5.1.6 9.5-3.7 8.9-8.9zm-463.7-94.6a8.03 8.03 0 0 0-11.3 0L236.3 733.9l-43.7-43.7a8.01 8.01 0 0 0-13.6 4.7L160.1 855c-.6 5.1 3.7 9.5 8.9 8.9L329.2 845c6.6-.8 9.4-8.9 4.7-13.6L290 787.6L423.7 654c3.1-3.1 3.1-8.2 0-11.3z"},null,-1),DQ=[zQ];function LQ(e,t){return me(),ze("svg",MQ,[...DQ])}const FQ={name:"ant-design-fullscreen-outlined",render:LQ},BQ={class:"inline-block",viewBox:"0 0 1024 1024",width:"1em",height:"1em"},NQ=U("path",{fill:"currentColor",d:"M391 240.9c-.8-6.6-8.9-9.4-13.6-4.7l-43.7 43.7L200 146.3a8.03 8.03 0 0 0-11.3 0l-42.4 42.3a8.03 8.03 0 0 0 0 11.3L280 333.6l-43.9 43.9a8.01 8.01 0 0 0 4.7 13.6L401 410c5.1.6 9.5-3.7 8.9-8.9zm10.1 373.2L240.8 633c-6.6.8-9.4 8.9-4.7 13.6l43.9 43.9L146.3 824a8.03 8.03 0 0 0 0 11.3l42.4 42.3c3.1 3.1 8.2 3.1 11.3 0L333.7 744l43.7 43.7A8.01 8.01 0 0 0 391 783l18.9-160.1c.6-5.1-3.7-9.4-8.8-8.8m221.8-204.2L783.2 391c6.6-.8 9.4-8.9 4.7-13.6L744 333.6L877.7 200c3.1-3.1 3.1-8.2 0-11.3l-42.4-42.3a8.03 8.03 0 0 0-11.3 0L690.3 279.9l-43.7-43.7a8.01 8.01 0 0 0-13.6 4.7L614.1 401c-.6 5.2 3.7 9.5 8.8 8.9M744 690.4l43.9-43.9a8.01 8.01 0 0 0-4.7-13.6L623 614c-5.1-.6-9.5 3.7-8.9 8.9L633 783.1c.8 6.6 8.9 9.4 13.6 4.7l43.7-43.7L824 877.7c3.1 3.1 8.2 3.1 11.3 0l42.4-42.3c3.1-3.1 3.1-8.2 0-11.3z"},null,-1),HQ=[NQ];function jQ(e,t){return me(),ze("svg",BQ,[...HQ])}const VQ={name:"ant-design-fullscreen-exit-outlined",render:jQ},WQ=be({__name:"FullScreen",setup(e){const{isFullscreen:t,toggle:n}=pJ();return(o,r)=>{const i=VQ,a=FQ,s=vr;return me(),qe(s,{mr20:"",size:"18",style:{cursor:"pointer"},onClick:we(n)},{default:ue(()=>[we(t)?(me(),qe(i,{key:0})):(me(),qe(a,{key:1}))]),_:1},8,["onClick"])}}}),UQ={class:"inline-block",viewBox:"0 0 24 24",width:"1em",height:"1em"},qQ=U("path",{fill:"currentColor",d:"M15.88 9.29L12 13.17L8.12 9.29a.996.996 0 1 0-1.41 1.41l4.59 4.59c.39.39 1.02.39 1.41 0l4.59-4.59a.996.996 0 0 0 0-1.41c-.39-.38-1.03-.39-1.42 0"},null,-1),KQ=[qQ];function GQ(e,t){return me(),ze("svg",UQ,[...KQ])}const YQ={name:"ic-round-expand-more",render:GQ},XQ={class:"inline-block",viewBox:"0 0 32 32",width:"1em",height:"1em"},ZQ=U("path",{fill:"none",d:"M8.007 24.93A4.996 4.996 0 0 1 13 20h6a4.996 4.996 0 0 1 4.993 4.93a11.94 11.94 0 0 1-15.986 0M20.5 12.5A4.5 4.5 0 1 1 16 8a4.5 4.5 0 0 1 4.5 4.5"},null,-1),JQ=U("path",{fill:"currentColor",d:"M26.749 24.93A13.99 13.99 0 1 0 2 16a13.9 13.9 0 0 0 3.251 8.93l-.02.017c.07.084.15.156.222.239c.09.103.187.2.28.3q.418.457.87.87q.14.124.28.242q.48.415.99.782c.044.03.084.069.128.1v-.012a13.9 13.9 0 0 0 16 0v.012c.044-.031.083-.07.128-.1q.51-.368.99-.782q.14-.119.28-.242q.451-.413.87-.87c.093-.1.189-.197.28-.3c.071-.083.152-.155.222-.24ZM16 8a4.5 4.5 0 1 1-4.5 4.5A4.5 4.5 0 0 1 16 8M8.007 24.93A4.996 4.996 0 0 1 13 20h6a4.996 4.996 0 0 1 4.993 4.93a11.94 11.94 0 0 1-15.986 0"},null,-1),QQ=[ZQ,JQ];function eee(e,t){return me(),ze("svg",XQ,[...QQ])}const tee={name:"carbon-user-avatar-filled",render:eee},nee={class:"hidden md:block"},oee=be({__name:"UserAvatar",setup(e){const t=Ji(),n=i=>mn.global.t(i),o=[{label:n("个人中心"),key:"profile",icon:tl("mdi-account-outline",{size:14})},{label:n("登出"),key:"logout",icon:tl("mdi:exit-to-app",{size:14})}];function r(i){i==="logout"&&window.$dialog.confirm({title:n("提示"),type:"info",content:n("确认退出?"),confirm(){t.logout(),window.$message.success(n("已退出登录"))}}),i==="profile"&&Gt.push("/profile")}return(i,a)=>{const s=tee,l=YQ,c=zt,u=$m;return me(),qe(u,{options:o,onSelect:r},{default:ue(()=>[ie(c,{text:"",flex:"","cursor-pointer":"","items-center":""},{default:ue(()=>[ie(s,{class:"mr-0 h-20 w-20 rounded-full md:mr10 md:h-30 md:w-30"}),ie(l,{class:"h-20 w-20 md:hidden"}),U("span",nee,se(we(t).email),1)]),_:1})]),_:1})}}}),ree={class:"inline-block",viewBox:"0 0 24 24",width:"1em",height:"1em"},iee=U("path",{fill:"currentColor",d:"M11.4 18.4H.9a.9.9 0 0 1-.9-.9V7.3a.9.9 0 0 1 .9-.9h10.5zm-4.525-2.72c.058.187.229.32.431.32h.854a.45.45 0 0 0 .425-.597l.001.003l-2.15-6.34a.45.45 0 0 0-.426-.306H4.791a.45.45 0 0 0-.425.302l-.001.003l-2.154 6.34a.45.45 0 0 0 .426.596h.856a.45.45 0 0 0 .431-.323l.001-.003l.342-1.193h2.258l.351 1.195zM5.41 10.414s.16.79.294 1.245l.406 1.408H4.68l.415-1.408c.131-.455.294-1.245.294-1.245zM23.1 18.4H12.6v-12h10.5a.9.9 0 0 1 .9.9v10.2a.9.9 0 0 1-.9.9m-1.35-8.55h-2.4v-.601a.45.45 0 0 0-.45-.45h-.601a.45.45 0 0 0-.45.45v.601h-2.4a.45.45 0 0 0-.45.45v.602c0 .248.201.45.45.45h4.281a5.9 5.9 0 0 1-1.126 1.621l.001-.001a7 7 0 0 1-.637-.764l-.014-.021a.45.45 0 0 0-.602-.129l.002-.001l-.273.16l-.24.146a.45.45 0 0 0-.139.642l-.001-.001c.253.359.511.674.791.969l-.004-.004c-.28.216-.599.438-.929.645l-.05.029a.45.45 0 0 0-.159.61l-.001-.002l.298.52a.45.45 0 0 0 .628.159l-.002.001c.507-.312.94-.619 1.353-.95l-.026.02c.387.313.82.62 1.272.901l.055.032a.45.45 0 0 0 .626-.158l.001-.002l.298-.52a.45.45 0 0 0-.153-.605l-.002-.001a12 12 0 0 1-1.004-.696l.027.02a6.7 6.7 0 0 0 1.586-2.572l.014-.047h.43a.45.45 0 0 0 .45-.45v-.602a.45.45 0 0 0-.45-.447h-.001z"},null,-1),aee=[iee];function see(e,t){return me(),ze("svg",ree,[...aee])}const lee={name:"fontisto-language",render:see},cee=be({__name:"SwitchLang",setup(e){const t=Tn();return(n,o)=>{const r=lee,i=zt,a=_m;return me(),qe(a,{value:we(t).lang,"onUpdate:value":o[0]||(o[0]=s=>we(t).lang=s),options:Object.entries(we(sh)).map(([s,l])=>({label:l,value:s})),trigger:"click","on-update:value":we(t).switchLang},{default:ue(()=>[ie(i,{text:"","icon-placement":"left",class:"mr-20"},{icon:ue(()=>[ie(r)]),_:1})]),_:1},8,["value","options","on-update:value"])}}}),uee={class:"inline-block",viewBox:"0 0 24 24",width:"1em",height:"1em"},dee=U("path",{fill:"currentColor",d:"m3.55 19.09l1.41 1.41l1.8-1.79l-1.42-1.42M12 6c-3.31 0-6 2.69-6 6s2.69 6 6 6s6-2.69 6-6c0-3.32-2.69-6-6-6m8 7h3v-2h-3m-2.76 7.71l1.8 1.79l1.41-1.41l-1.79-1.8M20.45 5l-1.41-1.4l-1.8 1.79l1.42 1.42M13 1h-2v3h2M6.76 5.39L4.96 3.6L3.55 5l1.79 1.81zM1 13h3v-2H1m12 9h-2v3h2"},null,-1),fee=[dee];function hee(e,t){return me(),ze("svg",uee,[...fee])}const pee={name:"mdi-white-balance-sunny",render:hee},mee={class:"inline-block",viewBox:"0 0 24 24",width:"1em",height:"1em"},gee=U("path",{fill:"currentColor",d:"M2 12a10 10 0 0 0 13 9.54a10 10 0 0 1 0-19.08A10 10 0 0 0 2 12"},null,-1),vee=[gee];function bee(e,t){return me(),ze("svg",mee,[...vee])}const yee={name:"mdi-moon-waning-crescent",render:bee},xee=be({__name:"ThemeMode",setup(e){const t=Tn(),n=sk(),o=()=>{t.toggleDark(),nJ(n)()};return(r,i)=>{const a=yee,s=pee,l=vr;return me(),qe(l,{"mr-20":"","cursor-pointer":"",size:"18",onClick:o},{default:ue(()=>[we(n)?(me(),qe(a,{key:0})):(me(),qe(s,{key:1}))]),_:1})}}}),Cee={flex:"","items-center":""},wee={"ml-auto":"",flex:"","items-center":""},_ee=be({__name:"index",setup(e){return(t,n)=>(me(),ze(it,null,[U("div",Cee,[ie(OQ),ie(wQ)]),U("div",wee,[ie(xee),ie(cee),ie(WQ),ie(oee)])],64))}}),See={"flex-col":"","flex-1":"","overflow-hidden":""},kee={"flex-1":"","overflow-hidden":"","bg-hex-f5f6fb":"","dark:bg-hex-101014":""},Pee=be({__name:"index",setup(e){const t=Tn();function n(a){t.collapsed=a}const o=F({get:()=>r.value&&!t.collapsed,set:a=>t.collapsed=!a}),r=W(!1),i=()=>{document.body.clientWidth<=950?(r.value=!0,t.collapsed=!0):(t.collapsed=!1,r.value=!1)};return jt(()=>{window.addEventListener("resize",i),i()}),(a,s)=>{const l=ZY,c=_S,u=qY;return me(),qe(u,{"has-sider":"","wh-full":""},{default:ue(()=>[dn(ie(l,{bordered:"","collapse-mode":"transform","collapsed-width":0,width:220,"native-scrollbar":!1,collapsed:we(t).collapsed,"on-update:collapsed":n},{default:ue(()=>[ie(w1)]),_:1},8,["collapsed"]),[[Mn,!o.value]]),ie(c,{show:o.value,"onUpdate:show":s[0]||(s[0]=d=>o.value=d),width:220,placement:"left"},{default:ue(()=>[ie(l,{bordered:"","collapse-mode":"transform","collapsed-width":0,width:220,"native-scrollbar":!1,collapsed:we(t).collapsed,"on-update:collapsed":n},{default:ue(()=>[ie(w1)]),_:1},8,["collapsed"])]),_:1},8,["show"]),U("article",See,[U("header",{class:"flex items-center bg-white px-15",dark:"bg-dark border-0",style:Di(`height: ${we(qZ).height}px`)},[ie(_ee)],4),U("section",kee,[ie(CQ)])])]),_:1})}}}),br=Object.freeze(Object.defineProperty({__proto__:null,default:Pee},Symbol.toStringTag,{value:"Module"})),qu=(e,t)=>{const n=e.__vccOpts||e;for(const[o,r]of t)n[o]=r;return n},Tee={},Ree={"f-c-c":"","flex-col":"","text-14":"",color:"#6a6a6a"},Eee=U("p",null,[nt(" Copyright © 2022-present "),U("a",{href:"https://github.com/zclzone",target:"__blank",hover:"decoration-underline color-primary"}," Ronnie Zhang ")],-1),$ee=U("p",null,null,-1),Aee=[Eee,$ee];function Iee(e,t){return me(),ze("footer",Ree,Aee)}const Oee=qu(Tee,[["render",Iee]]),Mee={class:"cus-scroll-y wh-full flex-col bg-[#f5f6fb] p-5 dark:bg-hex-121212 md:p-15"},vo=be({__name:"AppPage",props:{showFooter:{type:Boolean,default:!1}},setup(e){return(t,n)=>{const o=Oee,r=Jj;return me(),qe(fn,{name:"fade-slide",mode:"out-in",appear:""},{default:ue(()=>[U("section",Mee,[tu(t.$slots,"default"),e.showFooter?(me(),qe(o,{key:0,"mt-15":""})):pt("",!0),ie(r,{bottom:20,class:"z-99999"})])]),_:3})}}}),zee={class:"inline-block",viewBox:"0 0 24 24",width:"1em",height:"1em"},Dee=U("path",{fill:"currentColor",d:"M20 2H4c-.53 0-1.04.21-1.41.59C2.21 2.96 2 3.47 2 4v12c0 .53.21 1.04.59 1.41c.37.38.88.59 1.41.59h4l4 4l4-4h4c.53 0 1.04-.21 1.41-.59S22 16.53 22 16V4c0-.53-.21-1.04-.59-1.41C21.04 2.21 20.53 2 20 2M4 16V4h16v12h-4.83L12 19.17L8.83 16m1.22-9.96c.54-.36 1.25-.54 2.14-.54c.94 0 1.69.21 2.23.62q.81.63.81 1.68c0 .44-.15.83-.44 1.2c-.29.36-.67.64-1.13.85c-.26.15-.43.3-.52.47c-.09.18-.14.4-.14.68h-2c0-.5.1-.84.29-1.08c.21-.24.55-.52 1.07-.84c.26-.14.47-.32.64-.54c.14-.21.22-.46.22-.74c0-.3-.09-.52-.27-.69c-.18-.18-.45-.26-.76-.26c-.27 0-.49.07-.69.21c-.16.14-.26.35-.26.63H9.27c-.05-.69.23-1.29.78-1.65M11 14v-2h2v2Z"},null,-1),Lee=[Dee];function Fee(e,t){return me(),ze("svg",zee,[...Lee])}const Bee={name:"mdi-tooltip-question-outline",render:Fee},Nee={class:"inline-block",viewBox:"0 0 24 24",width:"1em",height:"1em"},Hee=U("path",{fill:"currentColor",d:"M12 20a8 8 0 0 0 8-8a8 8 0 0 0-8-8a8 8 0 0 0-8 8a8 8 0 0 0 8 8m0-18a10 10 0 0 1 10 10a10 10 0 0 1-10 10C6.47 22 2 17.5 2 12A10 10 0 0 1 12 2m.5 5v5.25l4.5 2.67l-.75 1.23L11 13V7z"},null,-1),jee=[Hee];function Vee(e,t){return me(),ze("svg",Nee,[...jee])}const Wee={name:"mdi-clock-outline",render:Vee},Uee={class:"inline-block",viewBox:"0 0 24 24",width:"1em",height:"1em"},qee=U("path",{fill:"currentColor",d:"M6.18 15.64a2.18 2.18 0 0 1 2.18 2.18C8.36 19 7.38 20 6.18 20C5 20 4 19 4 17.82a2.18 2.18 0 0 1 2.18-2.18M4 4.44A15.56 15.56 0 0 1 19.56 20h-2.83A12.73 12.73 0 0 0 4 7.27zm0 5.66a9.9 9.9 0 0 1 9.9 9.9h-2.83A7.07 7.07 0 0 0 4 12.93z"},null,-1),Kee=[qee];function Gee(e,t){return me(),ze("svg",Uee,[...Kee])}const Yee={name:"mdi-rss",render:Gee},Xee={class:"inline-block",viewBox:"0 0 24 24",width:"1em",height:"1em"},Zee=U("path",{fill:"currentColor",d:"M12 21.5c-1.35-.85-3.8-1.5-5.5-1.5c-1.65 0-3.35.3-4.75 1.05c-.1.05-.15.05-.25.05c-.25 0-.5-.25-.5-.5V6c.6-.45 1.25-.75 2-1c1.11-.35 2.33-.5 3.5-.5c1.95 0 4.05.4 5.5 1.5c1.45-1.1 3.55-1.5 5.5-1.5c1.17 0 2.39.15 3.5.5c.75.25 1.4.55 2 1v14.6c0 .25-.25.5-.5.5c-.1 0-.15 0-.25-.05c-1.4-.75-3.1-1.05-4.75-1.05c-1.7 0-4.15.65-5.5 1.5M12 8v11.5c1.35-.85 3.8-1.5 5.5-1.5c1.2 0 2.4.15 3.5.5V7c-1.1-.35-2.3-.5-3.5-.5c-1.7 0-4.15.65-5.5 1.5m1 3.5c1.11-.68 2.6-1 4.5-1c.91 0 1.76.09 2.5.28V9.23c-.87-.15-1.71-.23-2.5-.23q-2.655 0-4.5.84zm4.5.17c-1.71 0-3.21.26-4.5.79v1.69c1.11-.65 2.6-.99 4.5-.99c1.04 0 1.88.08 2.5.24v-1.5c-.87-.16-1.71-.23-2.5-.23m2.5 2.9c-.87-.16-1.71-.24-2.5-.24c-1.83 0-3.33.27-4.5.8v1.69c1.11-.66 2.6-.99 4.5-.99c1.04 0 1.88.08 2.5.24z"},null,-1),Jee=[Zee];function Qee(e,t){return me(),ze("svg",Xee,[...Jee])}const ete={name:"mdi-book-open-variant",render:Qee},tte={class:"inline-block",viewBox:"0 0 24 24",width:"1em",height:"1em"},nte=U("g",{fill:"none"},[U("path",{d:"m12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.018-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01z"}),U("path",{fill:"currentColor",d:"M10.5 20a1.5 1.5 0 0 0 3 0v-6.5H20a1.5 1.5 0 0 0 0-3h-6.5V4a1.5 1.5 0 0 0-3 0v6.5H4a1.5 1.5 0 0 0 0 3h6.5z"})],-1),ote=[nte];function rte(e,t){return me(),ze("svg",tte,[...ote])}const ite={name:"mingcute-add-fill",render:rte},ate={class:"inline-block",viewBox:"0 0 1200 1200",width:"1em",height:"1em"},ste=U("path",{fill:"currentColor",d:"M0 0v545.312h545.312V0zm654.688 0v545.312H1200V0zM108.594 108.594h328.125v328.125H108.594zm654.687 0h328.125v328.125H763.281zM217.969 219.531v108.594h110.156V219.531zm653.906 0v108.594h108.594V219.531zM0 654.688V1200h545.312V654.688zm654.688 0V1200h108.595V873.438h108.594v108.595H1200V654.688h-108.594v108.595H980.469V654.688zM108.594 763.281h328.125v328.125H108.594zm109.375 108.594v110.156h110.156V871.875zm653.906 219.531V1200h108.594v-108.594zm219.531 0V1200H1200v-108.594z"},null,-1),lte=[ste];function cte(e,t){return me(),ze("svg",ate,[...lte])}const ute={name:"el-qrcode",render:cte},dte={class:"inline-block",viewBox:"0 0 24 24",width:"1em",height:"1em"},fte=U("path",{fill:"currentColor",d:"M5.503 4.627L5.5 6.75v10.504a3.25 3.25 0 0 0 3.25 3.25h8.616a2.25 2.25 0 0 1-2.122 1.5H8.75A4.75 4.75 0 0 1 4 17.254V6.75c0-.98.627-1.815 1.503-2.123M17.75 2A2.25 2.25 0 0 1 20 4.25v13a2.25 2.25 0 0 1-2.25 2.25h-9a2.25 2.25 0 0 1-2.25-2.25v-13A2.25 2.25 0 0 1 8.75 2z"},null,-1),hte=[fte];function pte(e,t){return me(),ze("svg",dte,[...hte])}const mte={name:"fluent-copy24-filled",render:pte},gte="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAIAAAAiOjnJAAAON0lEQVR4nOydX2xT5f/Hn7M11A1lAqNmTQ1CS9QiZqbTSMwqetF6IwiJBRPwhkBi5EKyGLNyxcUk7sLtxkXjBRrNUHGikZiVSIKtMYGxaIo0TlcHsesCbVbJBqNs7X7xd/Y9bF3HnvY8/87zfF4XJmDPed7n87z5PKfnc55PbbOzswhYxIULF5555hneKixMDW8BgvLVV1/xlmBtNMhYiykWi+vXr//nn394C7EwkLHK8Msvv6RSKd4qrA0YqwxffvklbwmWB5bCUmZmZlwu17Vr1yAyZoCMVUo0Gr127RpvFZYHjFVKb28vbwkyAEvhAu7cudPU1DQ+Po4QgsiYATLWAs6cOaO7CjAJGGsB8FyUFLAU3uX27dsOh2NiYkL/I0TGDJCx7vLDDz8YrgJMAsa6C6yDBIGlcI7JyUmHwzE1NWX8DUTGDJCx5vj+++/nuwowCRhrjhMnTvCWIBWwFP5HLpdramrK5/Pz/xIiYwbIWP/x3XfflbgKMAkY6z+++OIL3hJkA4yFstns2bNnqzs2EomQliMJYCx08uTJmZmZ6o599913ScuRBDCWqeei0Wg0FosRlSMJqn8rTKfTLperbBBwIqNpWjAY7O/vp6POwqiesU6ePGnyn1YkErl48SI5RZKgurGI7Js4duwYCS1SofRSeOXKlY0bNy4VAcylUP/v77//7vV6KWi0KkpnLPProM7s7CwkrRKUzlhPPfXUb7/9ttT/xc9YCKHa2tqhoSG3201UoIVRN2P9+eef93BVpRQKhc7OTlJnkwB1jUX8dYZPP/0UNuYbqGss4u+L5vP5999/n+w5rYui91iXLl168skn7/2Ziu6xdOrr669evdrY2GhaoOVRNGNRep3h1q1bXV1dNM5sORTNWJs2bRoeHr73Z6rIWAihhoaGK1euPPjgg+YEWh4VM9aFCxeWdVXV3Lhxo6enh9LJLYSKxqK9zau7u/vmzZtUhxAf5YxVLBZp91XLZDIff/wx1SHER7l7rJ9//rm1tRXnk9XdY+k4nc6RkZEVK1ZULlASlMtYbNpAptPpTz75hMFAwqJWxjLaQOJ82EzGQgi53e4//vjDZrNVqFES1MpYLNtAJpNJlZvkqmUsxm0gjx07ViwWWY4oDgoZ686dO6dOnWI54uXLl7/99luWI4qDQsbi0gZS2f1hChmLS/urwcFBNTe1qvKtsKQNJA4mvxUa+P3+n376CX9cOVAlY3FsA6nmplZVjMW3DWRHRwfH0bmgxFK4uA0kDqSWQp2BgYGWlpaKBFgaJTKWCG0gVdsfpoSxRGgDeerUqUQiwVsFO+Q3Vi6XO3PmDG8Vym1qld9Y4rSBPHHiRDKZ5K2CEfIbS5w2kEptapX8W2E2m21qaqquYR/Zb4U6drt9eHjY5XJVocdaSJ6xzLSBpIE6m1olz1gvvPDCuXPnqjuWRsZSZ1OrzBkrnU4LWKRTZFOrzMYi1f6KOB988MG///7LWwVdZDaWsG8Gq7CpVdp7rHu3gcSB0j2Wzrp160ZGRlauXFnd4eIjbcYSdh3UkX5Tq7QZ695tIHGgmrGk39QqZ8Yi2waSEnJvapXTWCK8zoBDZ2enUM9vCSKnsazys+ESb2qV8B4Lpw0kDrTvsXQ2b94cj8dramT7Fy7b9Qj1OgMOsm5qlTBj4bSBxIFNxkII+Xw++X7mSZ6MVSwWv/nmm5aWFnptICkxODi4adOmI0eOXLp0ibcWcsxan+np6c8//3zz5s3sI0N2RISQ1+s9evTo0NAQ/bDRxdrGyufzH330EaVfsMERQGNcnebm5s7OzpGREfpRpIJVjTU5OdnV1eV0OulNLY4MeqPraJq2devW7u7u0dFR+kElifWMlcvlOjo61q1bR3tSccTQ1mCgadq2bdt6enoymQz9GBPASsbKZDLhcLihoYHNXOJIYqNkPjabLRgMHj9+PJfL0Q959VjDWKlU6vDhw/X19SynEEcYSz0l2O327du39/b2TkxM0J+BihHdWMlk8uDBg3a7nf3M4chjr2oxdXV1u3fv7uvrm5qaoj8huIhrrEQisXfv3traWl4ThiOSl7ayrFq1at++fadPn87n8/TnZ7nI8BZQhoGBgV27dhF5qG0GHKl8FS7F2rVr9+/ff/bs2enpafrTtURkeA1clmg0GgwGec/LHDiCeWtchoceeujQoUOxWKxQKNCfvYWRYTzeUvT39/v9ft4TsQAc2bw14uJyudra2s6fP09/Jv8XGWYjlaVQKPT19fl8Pt6RLwOOft4aK8bj8YTD4Xg8TntmuRmLUoGPIDhXwVtj9dAuSnIwFtUCH0FwroW3RgJQKkoyNRaDAh9BcK6It0ZiEC9KMjIWswIfQXCui7dG8pAqSlI3FuMCH0GwwicvJouSFI3FpcBHEKzwKUB1RUkqxuJY4CMIVvhUoqKiJGFjcS/wEQTnenlr5ANOUZKYsQQp8BEEjLUs9yhKEjCWUAU+goCx8FlclDRlLAELfAQBY1WBUZSUcMMqIALybFgFhAKMBVABjAVQAYwFUAGMBVABjAVQAYwFUAGMBVABjAVQAYwFUAGMBdDh/PnzbW1tKvyYbKWoXIRubW3t7+8384LCXPgKhUIsFjt06JDD4eB9UaKgprGCwWA0GjVjqQXGMpienv7xxx/379+/du1a3tfIGaWMpWnarl27BgYGzFuqvLEM8vn86dOn9+3bt2rVKt5XzQdFjFVbW7t3797Lly+TstRcZJb9xNTU1Ndffx0Kherq6ngHgSlY4bMydrv9wIEDw8PDJIy0KDL4H52YmOjt7d2+fbvVt99gghU+a1JfX//WW2+lUikTzlkuMlUcMz4+fvz48UAgYLPZeIeIIljhsxoNDQ3hcJhB62VT77xnMpmenp5t27bJtDnHACt81qGxsbGjo2N8fNzMjONDZvvX6Ohod3f31q1bZXIYVvisgNPp7OrqmpycJDLXmBDesPr333+/9957zc3NvINJAKzwiY3b7f7www9v375NdpaxIkPpvENDQ0ePHvV6vbxjWz1Y4RMVr9f72WefydzcNh6Pt7e3ezwe3qGuGKzwiYfP5+vr62PfzbY0MsxGslxREueieGtcgPkCH0FYt4q0UFES53J4a5yDVIGPIDyb2wpelMS5Cr4KiRf4CMK/z7uwRUkc8by0USrwEYS/sQxEK0riaGavimqBjyACGctAkKIkjlSWehgU+AgiorEM+BYlcRSyUcKswEcQoY1lwKUoiSOMtgbGBT6CWMNYBiyLkjh66I3OpcBHEIsZy4BBURJHBo1xORb4CGJVYxnQK0rijE52RO4FPoJY3lgGxIuSOIOSGkuQAh9BJOxB2tLSMjg4aP48OJEhcqvn8Xj++usv8+cRCgl3QofDYd4SKuPVV1/lLYE8EmasYrG4ZcuWRCJh8jzMMlY8Ht+yZYv58wiFhBmrpqamvb2dtwpcHn/8cflcJaexEEJ79uwR/xdcdXbv3s1bAhXkNJbNZnv77bd5q8Biz549vCVQQcJ7LJ18Pr9x48Z0Ol31GRjcYzU3N//6669mziAscmYs/fUS8ZPWa6+9xlsCLaTNWAihmzdvPvLII9lstrrDaWcsTdOSyeSGDRuqPoPISJuxEEIrV648fPgwbxVL8uyzz8rqKsmNhRB64403hP2d81AoxFsCRSQ31urVq998803eKsqgaZrcxpL5Hksnm82uX7/+1q1blR5I9R7r+eefP3fuXHXHWgLJM5b+EubBgwd5qyhF1ueiBvJnLIRQKpXyeDz5fL6io+hlLJvNNjY21tjYWMWxVkH+jKX/UPHrr7/OW8VdXnzxRbldpYqxEELvvPNObW0tbxVzSPxc1EAVY7ndbkGm026379ixg7cK6qhiLIRQe3u7CA0HA4HA6tWreaugjkLG8nq9O3fu5K1C2tcZSlDiW6HBxYsXn376acwP0/hWWFdXd/369fvvv7+io6yIQhlL32cRDAY5Cnj55ZdVcJVyxkIIHTlyhOPocpdx5qPWUqjj9/tjsdiyHyO+FD7wwAPXr1+/77778A+xLsplLI5Ja8eOHYq4SlFjBYNBn8/Hflzp64PzUdFYXDa1rlmzJhAIMB6UI4oa65VXXmH84wY7d+5csWIFyxH5oqix2G9qFaSgxAwVvxXqzMzMPPbYY8lkcqkPEPxW6HA4RkdH5f4VvhIUzViMN7WGQiGlXKV0xlp2UyvBjBWNRltbWysXaGHUzVjMNrW6XK7nnnuO9iiiobSxEEIHDhyg/TJnKBSqqVEuzspdcAkMNrUq9VzUQOl7LJ1cLrdhw4YbN26U/D2Reywp20DioHrGor2pVco2kDhAxkJLbWolkrGkbAOJA2QsRG9Tq6xtIHEAY83R1tZG/MfG1Lxt1wFjzUFjU6si+ybKAvdYd0kmk48++mihUND/aPIeS+I2kDhAxroL2U2tqr3OUAJkrAUkEoknnnhCj4mZjCV3G0gcIGMtgNSmVrnbQOIAxiqFyAuA6mzzWgpYCsvw0ksvRSKRqpdCTdNSqZTT6aSjzhpAxiqDyf1hfr9fcVeBscrT+v9UfbjKz0UNYCksTyQSwenysHgpVKENJA5gLFMsNlYgEIhEIpzkCAQshYRR/LmoAWQsU5RkLLvdPjY2pkLDvmWBjEUSRdpA4gDGIonKrzOUAEuhKeYvheq0gcQBMhYx1GkDiQMYixhQH5wPLIWmMJZCpdpA4gAZiwxKtYHEAYxFBqgPlgBLoSn0pXDNmjVjY2NKNexbFshYBFCtDSQOYCwCQH1wMbAUmkLTNAXbQOIAGcssCraBxAGMZRZ4LloWWApN8fDDD1+9elXBhn3LAhExhZptIHGAoJgCnosuxf8FAAD//3s5fchYZyekAAAAAElFTkSuQmCC",hk="data:image/png;base64,UklGRiYGAABXRUJQVlA4WAoAAAAQAAAATwAATwAAQUxQSJ4CAAABkAVJsmlb8847eLZt27Zt27Zt27ZtG9e2bdv39tNZe++17vNPREwA/dOZo6hWhOxFssnRaNra4w+M3CJNqvLX1D7cxeDukVWTazDpXKDXrxFvXaOg9x1TDg99iOzM17Ak6Ddgc2dA0hCeZoL1k2zImMbPGvABrORlP7jBHi40l8ARzquVy/MEXOFhLqWKGYAzfCqiTGV7cAfbCko09IUA8KonX8cICIGwdnINToQgiO8vz9QMCIP0iXKsgNx8AEuk7YZg2C5BfQ7C4ZSKJdcDZAK4UyR7iSq1a1Uuri3+EZkCgt0jk1JTE8OdfJFJ8PoTsW7ZP5APx45dffiYRFTTlQfjkkQb+RhJRKXNlXuej4iW8TGaiKjAa6Wu6oiIVnBE2W8qc4h+yBVlOa7EehKBaLN8s0kQWiBT8ggShsak6ktL1xfdjQSiXhEIfLFzUrdm9es37zlt37sw+DQjoahCu0LEXLxDCRJM6f84fDIDYybV/XTx0o4xkab6sL0fQwRY+aOA19v6V8rK9sPCrRccPHhoT2meah08ePDArKYFiP+ClSqUlEXc0h5J8fGDuWozdpTE0YNys5WKAjCSLfeg0aMkjm3DVAsybmCjdYCxmm0tZKzFUtQg0E+iv98gCfm90YPY+/v6+0kMNCjKQup8eaXmJKm1e5DUnHml5lPTL7y21f4PrZVq9WF/Ky0n6qbb7AFsVWorAPttTdWKqRpusAYAx+1FlSq63REArDc0VClRZ5VZOgC3/W11xKGu7X43AOlmq+rIVGOJYSoAr6OdchC3OTod9QKQarikhqTi8z8kA/A70yM3cZ67xxk/AMkf5hdnUhkBCLrULx8Jma/fpSAARioWuhR+c0ghErjQkJvhl4hZXYCEL6Bm+5cSVlA4IGIDAAAwGQCdASpQAFAAPkEaikOioaEa2ed8KAQEtgBbJur/YPxm64bFPaPyH5r3ezvr+QGYz+G/on+Z/p35Z9rD8o+wB+lvmZ+p3+Af3D+5ewD9b/2v94D0Af9X1AP8H/uvVU/zfsMfsV7AH7O+mR7Gn7ifuB7V2Yn/RLToBFaF49vT657i4FNhTFMPtqGBnLHb4B0mdEFIcp89CJvbbCPD4/QeZhwQQzZ8BxgBYJstiZqMBJD6z585YDHszJsSre6r3yMDyPrDGOzaYTcIIILf8uoSangA/uHNmzlTvvlp4WxismwIwhrpTbKk5HA99Zt/tjf//B1f/wjF//4Oz7Ro8qdwrGruK80gZGdfcjEjVmeAY3UNq/bKHbPJeZyPGePUJYsf1pTxUT+M/1yY9sp5QEaUI/nWbM+hrV4Wv2GCz8YHB1EU6uczvWjFJmo/ILHBjfR2dpCGtC7aaJrcU2802eJTgxsCLzPMTBp+iLQAcf1z34AZndAHu/MsTUnzhvX5iBLRl0rcsyt8px9H3DpVdPqz9F30dKwOAKELHB71muyZVCqSi6Ijvf/Z3WEYi+Jy9gg4gwMX75I/kfFsZTr7B6AUO5g/bTvaEq7oh9QTCrGVLPJY2tIyTiFf6+rnBPHuJQFG2ntz1V2ZE3kFqOf1JYkNtmTx5bM42JZLzDv8lK+cZlqBMuGj5tTqsUlkszMA9vYVj/+YQXiow3o8IGtvSD8Z9yp7r5vAB/RBYfyMXHGCD2/Vj9Krhqkp9w11usppHaLv4fZw8b3KwrMeg4xklboK6/9Fk8fH9jbQr2Gh3gBR1O00KEtl0DoRpGMbFooOH7dbaaubWVWnZJSKjwKIyP/s2PwjLOOynzDVSVfh9QzyYBAtiUl2qfMRoRAekN+1zwxjUnBZz1zVVnum4pxFz4O/ytYWZA4AKd06/BG2+/aqSmflFZELL5IvsKadrnEUwQiAtJkrfXIu0S5ATyAZ8U7ztY9txpPVO65FVvH6NJPkeoxN4DJMkkeJyGkxeZyTOKOXTYLyG410M+lef83/R1x+Fufa2JlrS4UJj9uQp/8XdI+6n2yYec5INem5wZ3l+51bAhgdYqwdZhQ4nrP/8zviDM+SQAmVegbwNZIXMtlySH9p0fzgvNUc4nPYjSzoYgAAAA==",vte="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAMAAABHPGVmAAAC+lBMVEX///////7+//79//+ZfOn//v+UfumXe+f9/f9crPCZe+n7/P5Lu/Fmo+/8/v6cd+b5+f339/1ooO32+v16lOuYfeqgduqZeedQuPFVs/Bfqe92q+1xme10l+1+j+yOg+qdd+n6/v7x9/318PxStfJJvO9Qte93l+uQf+nq9PzX0PRiqu5vnO2Bje2IiOv8+v719f3y9P3y7ftPtvJNt/BVsu9Lue6Hiu2RgOubfeqbeeqXgOideuigd+f69/7w+v3z+f3n6/vf8Prp4vnH6fjp3/jA5/fXyfRZr/JHvvFXr/FrwO9Rve/Due9fsu9lpu9fvu5Yse61o+xum+uLheqJkemgdOmnkuiUe+j3/P71/P75+/7u8/318vvj7/rc6/jb1/VXsvLHwPFzye5ipu2Mhu2ymux7kOyEjOmeg+emieagfuXo9/zk9fvn8Pvt6frw6PrY7/nV7Pnr5vnJ5Pfm3PfE1/a72PTO0fSz0/NKvfJeru+Twu5roO66su1osO3Eru2Nq+1qq+yMpetyoOuCm+utneqajOipjeehiOeihOeLhualfebx8Pvp7vrN7Pni5fnV5/fQ5vfg3vfV4/bD4Pa54vXPy/OCz/KnyfK0xvLTw/K+x/GzvvGHyfCpwfB6xu+guu/Kue+Mte97ku9pue7ItO68qe5ztO2ur+1Yu+yXsuxuseuKmOuqpOqWouqtk+mWk+iKjObs9/3n5fm55fa+3vbX3Pbk1/a02/Xg1PWv3/Oc3POt1/PWwPOS1vKj1PKd0fKtyvLPw/GcyPCKw/B7ve9Cve+Hue9pxO6Cwu5zwe6Dt+62sO6Zr+6ese1/r+2Eoe2Truyfq+yapuyCpuy6n+uOnuuZm+uYleuwlepypumhkeiSi+iRhefQ1/XR3PTay/SWy/O60PKZz/KPyvLIxvCVuu9bt++Lve13ue2zt+2msO2Ro+2ms+ysqux6luzDp+t5oOqmmuqNhuqxoumkn+m1nemviufl+fqo2/S6v/Cuue2yuOxBqZCiAAAHmUlEQVRo3u2ZZ1ATQRSAd+9ISALpxJgASYBAAoGIIEW6ShdRpAjYBQTF3nvvYu+9995777333nvvbcbNJSjqDBIu+0u/yeQ2JHnfvvf2lpsLsAG4QYr/4IYkAW6aNcPrQNEz1x3Kis4AWGm+I+FAXMKOZgAf5Igs17i4uC5xWW0gwITT+BquXbrEoYfroUgewILTlsW2trauroaHbY1oLO1HjrJIkjBxYoK/ra0/BgsJWeMXVyhbtkKNz+GZ46v6+6NRpMUlILKGwVE10glCRuuZboZxa0tbKlet4FvW7UgbBoQkAzSf7qb29Z3pbtk1Fj5dplarj7SG0HTaI4vabVeGJS2MbX5qtaxofZrPlKllD6MJyzlgm3kymWxeJFnkT63n+TWUHWluOUnmPRQwcROrSGoQjkv0S0ra6WSpPMC4xIYNG94W/3be7Eryi59nsf3F+TA7Nv5xZfhbA9z3x8fG3raxUCbru7LZXddDgvh11qhgsbE921ho+T5is9n7wiEC/IK4G7sre69lutJOx2b3bAf/lIDRPbuyl1a2yFXTXpRIN7FJQqKVxSjcazK7yeXybZZofb2Fcrmu3c9FlZHBKpSA0X3k8qPOgD4ddTr5QWdIUmGbj98xceLW6GYkMqBHxMFsXZ/R9B21u2XrsjsTVD8ytxzy93f1t03IWpdhmkF29exJBKRdLXtudfv6VD/C7/q5VfB1c/NVuz3cmQmh8V2uBeo1jlud+4g62XnbusbGJx7edXd/YlLDxE3U/DO6GaZA10FMQpLOhKEj9ZfK2Y/bRRC8NZ2XstkLK0OqXlyuqCNNB4yYw+VeGWUYEbuzq9uPIiCDALzOOl31zkiMzPbdRXt5NCUt7Lmik+5GnUg0iSBIBlpVa46KuA+oGkbM6S46GEFTMrZfd9GD2tR+eM6zXwdIFY7kzUj27E31m5wkEtm3oCnpkOyZvJsqTItTjpqbJonTDEfH3uWNi1jUvd9YQI/dyZ6eHahR+Wdz7aYaJUB83G7uceP/F5Rqvw40N65ZDp6vxxqHT728ztYBFBtSvRTTWNTyGn7O02EypCURL0GSesZxp9UBAYuGoQFrzMWAnNQNxl3ZubeDwwweSrDUUCHOuQNqpt7LlTlD399v4NFjYEqO8piAcgDBEgeHWTa0UqnTF3XYGRrjrb2qZWqZwcHMwEDtm5bwR0EdlohpSYafcnQ8LTZJQNSAYGsOh2PFCX7XFpggZ6BPeNOSVDqlcTwuAIXUndJ4SH5+0/Mx3uAH0zSavuUBLUl/jeZEbVAIhGGtoqJahRWd+GQ7+hI7uxPFXvUgiV3fOnQluSiTv0gu0JQsU+SeKV4yLdfuGb1yDV+mUJwVg2IgvubOXUFPUueCQrHCu9iN5zmahpDeEr7gpSh+noIzXl4rhtGRlF+U57WsU7Gri9cp1Svvm7D0DsGTvIDUTiwGo7ie8Cak5uV9KfXFPby/Wh8wlQeRpNhcpq4OWD2htJIxq/T6F8K/XrpB4SJ9wKWRsFR9ES4fOnTVyJJ8de2qgJRFAkiWQuIxNGVoNaIkEkajnJxrDUAp8H6fknKpEigRLS+9TVkuKIWkwXWl8hgLlAhWD+Xba2PMd7COKQOve5gzo2rm92TY1cDAgS1BCWk5UKt9421+tYIDtQOEJT5tl2sDB1YxW9KIydT2MLUEAlDOpe1vxnJ1yxVtipbJjIHmtmQBk8lsZIzmUsWjWs1aAz0A/CXVWjWreVRxMZogmlN6NbO3rQFMCXMCyxi/SbB1OpM5oMg1CQTCd+np6RUHF5omMCWcBSwzJXVrSSTMxii+dXq6tbVVRYlEEtyI8VNC7Am2tkJYI5rUqjl7AfpAYzPPFOgzGMXgSK2tJFYca4MFvWoSw4KF73sMNhnQgcORSjkVKwatNHfDbzVEKg0JCUHf5+cPvrxgT0xTDidoyOxhpjxnD+FU5Kyc0qtx0yZ8qTQoKCgESQa5mClpiyR8fn7Txr2mbGwZRkA4n68KUfFXzt8cFbV59kopPyjIKgYwwnzax/T6MKhJiJSvUpkvaUrFbxWG+gARwOcyP0RVRsUPLcjn81VIqDqP3jMABcg0/8Og/EE+ZvZEGOUj4KEj9YJ6rnKZH1pGFVqmTCg/DT2FnvcpXNIkOjLQQt8sBLRp9aoARUeElklLK5jvQsktTrmNrz4WpKWlhRZ87BVlQxBIggOWT/tb27ffau/CMpURG7AwPE6HUQLx5QE/rdu6NTocp4R0isxyPXAgIWsEga9UZHQNf1uEa9UR+IpVuSr6eWNxgm9Z6lcNPPB2+smS7o2InI4OmwAm1uyPj98XDqD74aT4fWKAh/o9DTehAQnX62IXugM8oLvAC1tQvekjRze28TCqD/cklQC6nWdfD+Chnr3oSn3KdkV0sg7AQ8Qcz+Q7EEBwJzl5lg3AxFSNZokzAM6nHTUdAC5G9rfrfxOAGy9f9h0OcFH7uSL3aZj3mdy503gEwAW695h6o1OeYtlIiE0CBS/0+osX9fonNgQ+CRhzLUefoly1FiAJNmx6aAOVykYsAqcEtL0qYQ6oC5EDJ3usBrcHuBHW3M4A2KkrBNiBEAL8QPAP8x0ZyfbHp+5ubwAAAABJRU5ErkJggg==",bte="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAMAAABHPGVmAAADAFBMVEX////9/f38+/v5+fj6+vr09fT29vb49/f8/Pz3+Pju7u7y8vIHWenx8fDt7ewJZOvw8PAVfvH08/MUe/EGYOkPcO4HXekmsfwWgfILZ+wJbu4kpfsQc+7m5uYJae0hmvcJWuspuP4ekvYbkPQLa+zq6ukjxf8nwv8hl/fr6+smyP8kvf8LXukotf4oz/8HZusJYerh4eAjofkMa+8Mcu4Zh/URde8ag/Po6OgUePHd3d0s1v8djvYObu4HV+fW1tcq0/4nqfwknfgelvYfivQWw/8mrv4hqPsDgO0mq/0Nee8iyv8drPsnp/sNr/ohovoBnvUClPIjwP8jrf0Fh+nj5OM94P8z2P8jzf843f4Uyf4GqPkcifUOgfAEiO8MYusG2f0Dg/AOfe8v0f4C0/0Muvwgn/kXhPQCjvARdvAD3/4Ds/IWr/gCeesD1vcUh/Dk6e6gwOza2toA2f0Tv/0Fo/gBmfMYjPIGjunx+PvW4OoDgePS09MJ5f8W0P9C4f7x8/SHr+sgeOrg5ughZ+LP0NAx2/8i0/8Mzv8E0fcfnffr8/Y2pfXV5fTp7vCTuOs0gOkLZuZ0oeU4eeNK5v8T1//l9fsQtfvZ7/hPv/MumvLP4vDD3O+pzu/K3e7d4+zH1ehUiOLO1twj2P4ou/y53vdMsPV+wvMQsfOV2fK20O9truy71+p8r+o/m+lmlOIg4/9FyfmE3/VuyvXh6/TF6PRZzvMxsvGTw+8tjuwFcOoVcOlNkOhEgeYxcuOAqd/FztEywfkEufnK7fih3PSVzfIMu/Lb5/C35O+Fuu4jcegVYeTHx8kw5P142fe91fGr1/APnvACqu9Moe6sxuofgul70uilvti6y9Y76f8P3v4Gxfhauvfm8PZq4vaP4vVBuPWAzPFxvPFAqu5moexfreq1xuDZ3d+Uu9ubtMhC5v8MyP5P2vtW4vkem/ir5vWe5PWr3vU1zvM7ku9s0uhboeas0t04id2xwtNI1/OUz+Bsrd96odS6wcVzvuN1vNeI7X81AAAQf0lEQVRo3uzXfUzMcRwHcNzd7552t5/zBxvNaB1p2mo7TtfmyMOMPJRKedhZp4idJk9nyNaUW/FXcSGsRwlTuS7/6QFnUwtj8tCDh6EHkZiYh/f3+z1dHqbu5D9vf/in/V69P5/vt9/dsP/5nwEz/Mf8G2DYj/+GmmLAz2HUkBH9BMkIFsnQDq6PoA8XCqQCRMgYZ8UhqoECQrPVVlCLFNis6Rwg6jBoKGrAMNcUl2dXTcjP9/OrqiotL7Y94sRSIRiWoRiVuaC8ZfTUqRMm+Pn5hU0KU6vVpeWORxwHhhKeKzDYtIQ15XYQMAgyaZJ6klo9ZUp3vU0h4gRCCVP+7nJIzLUt4aNHQ6FI2Hdk4cLS14dUKCNhP/dXTQ632heFE+UXZEVs2UWm0HhcBEZRaHj4vHn9EAQGlBX+/vVWucjjLqwGM2YtAPJTExDE8I+tv9ineIQgEvOV0PmzZi1gCBQgMICwIrH62OZDcg6KZ1XYHXyTMTYUSPgCF8JWAoMi+t43vGv7Hm3EWrhkbCibF0Py/cLCnAg1kI4ahUgsYIon19BcFDiWIlBolan5SJjahej0uqiyRCjkVqK9B9MqyABC5wUEyW690tBQ3Fo6Rf29iE4XFdXrkPUt3/1pmR/HBQYyhKy+pfV4itbHxzfxWHGp2oWkptZfVABxvwq96gUZcYFLnFXmLShsSNH6KpUymYz3dVRQREeKREd3OHgV2YoHTSTSoldAoNDVPzzrpfWV8QqVSqRS8LYKen5hpEZHR5cdYlXcVMg7yvrkVVzcEraV8MKzXj5KXi7ixGIxx4nkUPTOIpGRncdkck5AEHdXIsmZ/CpudiDdSmhGjpeWGuS9KJWKOXlXqZ4Z0cmRyV1K3rl6t9ceMn72bChkLUUniYEH4T0lIe9gLr0slhooEplclsiTU+z+uKy3Q8aPBxMHpvA49gFDwF6FVKnpAMKM5KZjMhWZF+LeSgqOhkyGQssURfjAELPHMEW8rxlLZ0Zyp0Op4DyY14hK78kIYeIysHVehSJ4ikup6UhlRmZm5msfnpwvd5uYS7xDnMjsZ7u8lAoVfaOzkLVw6U1OAylLlKncWgoMKIdve0+c6FQqI7RKBU6vVNAXHLB9r6MjwbS1AWm6ppRzbiL4XQ++BcKYo2ci2PntH5FIYUuuq6trbGxra2vstOG3ELjZBHu/5O1NEOT2qQDcRNx2Bc/LeB7/K3hEebDzAkKcxkyHVqaSCt1sMiJnjjcUJCTk2fOggJRdNseb2tpiktoGx4ldKVptSlPCHhpIXdgaJ5C4hYwQVq4KJiFMyfuPd3squvV6vNRXxMTMnRtW1ZJd3ppzFghLQkKzly/uoztVhksE0uub58wJDqZt7N0Wi9FozMpKS/P3XxgT0z5369Z11dWj7fb2pARnygJ8eHaRBl9EwJ3bPAfZEQxoo4UgSTDS9KiCLkRZd2Tx4k2Lqx9YTAaDIenu8whfBTvkg96IdF9JvGYVFNTxvmqxmJKSDAaC6Mm8gKyjyOKVSPUDo8nYkxvkpZRTZLCXRChOfxo/XaNZBWhV8FWLyQQjKy9PFxu792dk29JtGx9YKi7PDPCRiQTC4cggatBpPXo3Zjqi0WiAwHAiev3eAxTZyhAY25Yit7I/70cVFdkKMpBBj5bY2nyUIvHxGs0OiiTdvw9ER5CYX5Dty0I+fUAVnv6VxCMGMjAsc1en5ebIMTTx0zcTxJBw/0JeXpRO1w9xGduXLdt5/kVuhBJ/4Ab6MOn8WmVtTk0y3hxJQqWrOD8ESU2NitLtZfNyIcxYtn79jk+ncO05bIXmT99HJMKapiyDgSIsQGAQBEnbazzQ3u5C2LAosmb5+RzcSOkfv3yxT7/mro68LAOajOrLaZMJRl1vRc9dBJc/u7Rqa3U1EGcRQgBZs/xSZaLij1++2Lk63Byly8PlsjiRGchNU3dvz8f39y7v3717JpKbe+/9xy/Z9k20CBsWDGTtnXPXVBw7YmB+u3MY+HigS8vKMhpP0+dPm7Zhw7hLX19+vrF/98wtW4KCAmiCtmyZefnDVztBmEEEZPXmkoP4SAOF5vfGt17NNabNKozjSunAt6Ut0FZa24LSGqs1LbbY2gjEMUWJZlFG4ochEZcRsi1QPshkC4HSxQUGpW2iDhgXo9uEAVGJjruXIAGMqIOwxJnoNnGLiVGXOeMt/p9zerUx0S/+tyVLOO/7e//n8pznebZPkHpyyL6a+yEdpAoRo6TRXVCp17uY9PrKAnfJ+a/2fQ4jMQYgVVWXuyTMC7eSvB4vfULF03Mvthzds+ejGgI4VNDKVTDcuFPMLEnFpSLIZK5K98/vfrBv3+fPxxiPPgpIJiixmzrRCPOBDJfU0rJnzxf1Dh0A2qKiIuPvHx9pLHDJhAyJmAuZqmCq/PX0y4xCEIbgkMzLSxJxhPJ3Iy+8RVUHCqinW44ePfrFQZVDVVRkhwzDHx926ynxitzylEIK7Rf373/5NCifPwkGCFBNTU1mTfYYKhYRp8QxSKk/vH831ZvgtLQA8tl0ERhGu0Fjnf+lBIEJSbUoNTXSxhEr+k4+vn8/IMA8uQuAAwcOgJGN315/tyQtkcKNpH/4JpWbxMG9dPS7n0ZX7HajQaORy+WrCwSR8BNASk8ViRWfPlQBCsOcvn7jAKkcwq6s6xlRiEGJnzBer799J4mBQHnz5/Mhg1GjsYKhVA+z20Icl9yJxN0Xyx4HBJTT+y5dvQoKh2Df15XPLkUTzngjP7yPehN9AMLc+fA7Z9wlE1bGqLYp83ybblx8YchNHNJ/qawMGGbmtz8+3rwxzSA4Wdj5M35Kz+OtsDr3OLoAJAI9/E4/TtyVGY0cDItSLS2eKClwCQhLMSetpzp23gYIYR6/grO6NTftgHR85/cM8GoVijJS30DxDHHS8TOVOHdDIbJhYxDflhtxHNlIdE36Lu3duRNWSJd+OXK4sWC9hygqrpmx7oiVOCP3kAh0z1Pvf6pHAWpqD9rkNqXaYpFKmRUTRdiokeXcDlC4lz/fA0Pv8ni1Wi0RsC21sEL3ZBwk9Ud05CJ67et2HApBZl732ZRKtToPEKwKv13TuZFb+sfv4hQszLHNwyUUDyaD01qS3Uh//ArKXqIQxPe30W3guuf24wOoeCgTHRwmBmxI89TYYEgUMM3pxEibHL0DkDDlm/dKGispjx3oMRiNeD/JMNsQl+2R+w+/4gTqbNy7qDcJGWKxRCJ4VtU0VcV5UotldYFlVpgBpADixd7S0u87OjqoOj52BUEHj2RJMtoChqhW1li1GoP8iLffG9bxAZS5WUjbs2AFJjBXeRabzTq/VaCX0e5HKdc/np9fWprLvcAIiwd4pC9k1YRlDfgFKryjENEi+ibQraRTDWaBytw0sUThWWUMtdImt1qHkdwLrIBYul7fRPkryorvO3qvHG6sNOOzUHq3Tiix661M8qBMwaY3UlW9fWtMJ1xUVeGDEQQHh6URiMZgnKBlkWSJJ0dzagubgMkvhZgRqlrxRJonYKuulpOqlcPtAnZKFNJ5gXqMj0AVj7x7xsTCbSqqQrGw7gPEYoERQGaCoMiEhrGNnBxnIWGg3k0yQt+MJ0RrPqUFstkQjOYGsSgxyEsXKgBgkIqTWBJcOoihoEgagsXwoayWazTYlzML2Krtbd5ySpVqkVwC8xs3QsETT3TNq9VqJWSzKUPN8ZCULy9UVDyG9hxUdrLZRDU5QjpOg1gYmGOThdkCxOFdePXVBa+jLptRnKCMny9xV5p4awVndHI+T81ksahDzbJESBkQD1HLqQxOqOeDSwPPpElk6z4lLbuBToDK4Q1OzGgduvvLaximduoKnXX2Vawo7pqX0tkFRP13SOcFdDMBKYOOYU0ieTOsKBoWVpVyBilSqXR1RissgfJANrlxLhxhNw0/pHjT2qqUC3FibjABIr4ICBC3kc668DPe30intW+esMgDNFsUlKxKq5VwDl15OW7a65gsimmornm4aStmwo7Mk2J3xSB41+ITEADQzpPN/KJNZ8XQtgzz0JxSrrHbYUSDqYYrWh6ilM/+wiYrnJyk35wyOQeAlGOKg6YESOrrx8IQdJ62nzULbAunh62YtkJWgmiUiC9qzJ0mTLmxySYLFwfbJ2jDtVmkzAShVj0yIStuulJeOclM7CRGxyWkzfw5FqYyZPr1kMFu1CgpkLGtZqDJc4SuUoR3CQwCpYjWfbTghIGd+SFzwolPaT11H9PevXu35+aOexqokyIiIbgI5nb/isEQsFHQpzBms1phxYtsjIwIEgoPmN9O/wodEYs6j1Q80SBLiF3pIjRnibGdGLmlvaMjk9RLgQBZWhubm7Frqm2YCwR9Cz8204du/L756rd6mSKDtQy/HJnw4QMA4W5WPWYBX5oSg6R2XtwOABFy0ecoze/9ZvlEf1dXV9+aZ2zWq9NqjRq5DXdkMZsxRKfpQ9DGbNB/or+vr6//RNvsipUiVjW80CkpHm42K/hRiGaosLI9xkAXIr9px9S1a9emNjay6+7XqbR2jbyaFoVBlGCQKKHz9kDeGY0B0Z3nNpDF4vOY2WylxyDpos5TuQmMBx/cXVhYW5tTVYMaRacqsmsCcnwjD8qBA4cO7dq1i+WlSIIcDi2sGjUGRqm2kJmJQbMirsPK86htXefCCMbIf3D37t2FtTk5yGwfqGMQPl8UNAJE4BD6BDh1IDE3UrrJKHATGjIxI/GJBLb4tk+PAcEZ6HXsAKPQSZDyB+4niAHzhSAOyPSug5xR9WxVGAJKEZIHg4FTbD4PMeK73rysFrUu9tJUkQ8OYYzMbOSEBMHKy202tSVw6CBEkHpWJ2Rn1xFFBQpSZ547+9pwu0bbifFJvajzLLKDCGMHJotDsnW6MASLMv/7wvhB0jP1z9RX0c8zuRVUMlQCMIpvYdAsk/DQlJgMI4J0Lvbm35EPEYMg/B1YWLwCkMB8cOvwkfNjhKmHnDlEoeKVVoUVMzBjXWkbNAmsLwUG9LeGSuvIuXzqcYGBBeFG8KG0rlprIBTc+tbtdjd+e2ZsvKm+sN5JI6owIhsQjAEGkMCcp4GlO9xHohOipGV1LV9ramoiSHS2UAFji64M+4cq9UiRSZVDZ69P1dc6a8kKUSiRBwSrMh8cMrOaTJRUNeKvnCLu7F8e3+EsZAwnN+LQeWfHRppNZrPZROkrZDYNri2fm3JWVRGEBsEucoCe4Eg7hmQkMTgF4pSs7j7P6LmpHc4c2jqZGz2zl/0jzS4Tb6dKWrOy8FsikSi6l9bOjs72bGDVYFbn9c5d9gy4ZDKFohU3BTGSK9OoF1S23Uv9JzzLy21tfs/IUHODWSYDQSHJopjJhfySGrfdgwMjHn8b5F8/0+wym1Eh0yhRMoMU7cGjsEVSmyEI3QIkY++XSAiwjbW4UyFW/m6jz5EgL2ejumUCxD+E8ilO4IxkLyhs6XG8N4OLAGSBAOwCZKMgkFDRhwdSR7pVzAlAJPpI9oIX3ML/TYkEQLhJDwAfETeQOcLUkTCOIzAuyUeymZTwlECgiSIOksQregzkIqv/4j80xD/OUfQUFCNgTKLww5SIooSkbleymX8Q/1lsWPLAf4Ug0Zh/9SSn/ncElPihyR6SvyjpFwb+//oLYHj/LyqNdWsAAAAASUVORK5CYII=",yte="data:image/png;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBwgHBgkIBwgKCgkLDRYPDQwMDRsUFRAWIB0iIiAdHx8kKDQsJCYxJx8fLT0tMTU3Ojo6Iys/RD84QzQ5OjcBCgoKDQwNGg8PGjclHyU3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3N//AABEIAFwAXAMBIgACEQEDEQH/xAAbAAACAgMBAAAAAAAAAAAAAAAABgQFAgMHAf/EAEAQAAEDAwIDBAUJBAsAAAAAAAEAAgMEBRESIQYxURNBYXEigZGhwQcUFSMkkrHC0TI1UvAWQkNiY3J0orKz4f/EABkBAAMBAQEAAAAAAAAAAAAAAAACBAMBBf/EACQRAAICAQIFBQAAAAAAAAAAAAABAhEDEjETITJBUQQUIiMz/9oADAMBAAIRAxEAPwDuKEIQAKPHXUctVJSR1cD6mLHaQtkBezIyMt5jYqQuAfKXTPj45rJImuMk0jCzTnVq0tG3q0rqVgd/QuY8HniqkhY2turuyxnsJgJXNHi87jyyUydtcnHP0jL91g/Kn4UjJ5ooakJZZd7hSnM2iqjHMEBr/URt6setSqbi/h+cY+laaJ42dHO8RuaehDsJXBrcaOSMti8QodPdbdUuDaavpZnHkI5muJ9hUxKOCEIQAIQhAAkS822E8WVNdLpdoa1zHfwEsAd/ta37xT2UlXU9pPWu73zaDnpqDT7gVpj6rM8rajS7mAlw+GAbOly946NGPjgepWGsDRnm7l7MqipnOkuUs2fQDQxu3QnPwU+onDaiJo/s2F59mB/PiqE01aI5RcXTN1PIJJaiM7gP29g/Vcy+USkNHeY5Ym7VTMkDveDg+4tXQbUXmaR7xjtJHOH+UgYUHiC1S3O70HYQ9o+HtHAZGxIbvulk/jaNMUfsSYqcD8Jurr/QOrgfqnCqdGP6rWEEZPUu0jHn0XdUr8D2qS3w1ktc0MrppcOYDnRE3IYM9+fSd5uI7k0KW7LZVfx2BCEIOAhCEACQ65xllcRqx28kp08yGh5/HSnKouNDTP0VNZTwv56ZJWtPsJXPpL5aKZ9LV1dRE5gB1BkrS5pc7ngHfHRMr0uheWuOrYvG2csL2Ubi9sEun03Z15jaSQfPO3LcjZaJbTUR656naJoc+TS7LnAD9kePTyVtbrrZ5aRj6K4URgI9HRK0AeruWVbXUUtO+NtdS4cMHEzf1WGuSN+HGTK6UTNuPZyRRsMQDD2ZOnIaDgZ6BwHq8cDGC40lFd/tNRHFJ2ZLBIcBwzvvy7lFdc4hWfaK2l0mQ+mZAMkjJPPHIAexVf0hb5uI6jtqmkfFoY0apGlp5k/iqsVOFEmZaMtjZaby2634imb9njp3gyA+i92pnLrj4pjStaLla2Vxd8/o2hsJA+uaAMkePgmhrg5oc0gg7gjvSSSTpD423G2eoQhKOC1VM8dLTy1E7tMUTC97ugAyVtSn8ode6ntUdIzI+cP+sdjYMbgnfxOkeWUsnpTZ1K3RTWCrkuD7lVzjEktXqI56fq2YHqGB6la6W9B7FQ8HkOo6xzSCDVHcH/DYr9eRNty5lVIx0MPNjfYsTHHjJjZ90LYsJTiN58Cks6VNJUht/qKfYRSsbob3BzQDt4kE/dVxgdEtVYdG19fG0l9PVB3ojJIDGZA826h61cm7W8HHzuP3p2r2AmFocMEDCsuF6smKW3SHMlMRo8Yzy9nLy09UuS323xjaVzz0ZG4/BRrfdKgXSG40tHWvjDtLhHSyODmHZwyG+GfMBbencoz25CTScTpSF4F6vTJgXhXqCgBNd+9ruetWP+qMLNYP/e93b3irHvhjPxWa8fN+jKo9KBRbjKIqV3V2wW+WWOFmuV7WN6kpcuNf87m9DIjbs0H8VmOkWdoayakn1tDmumO3kAPgpLqamGQ2Fod1I2UTh1wdRPHf2r/xKnuJaSzSXuJyOi69wCOnjG5hYD3eir7hhwdb5C3l28g96U7jcexYYm7Snng50j9UxcDHNhaes8v/ADKq9H1syzdIwoQheiTghCEAUlbw82orJ6qKuqKd85a57WNYWlwaG53GeQHf3KDNwtXPyGXtzR40/wCjgmlCzeKEnbQynJdxGm4Hr3nUbrDIer4HD85Wh3BN1b+xPRu83ub+UroCEvt8fgbiz8iRRcK3imiAE1G14c47SOI3JP8ACpEvDl6mbg3CljH9xjv/ABN6Fz22LwHFkIv9Bq487nTg/wCncfzpn4etbrPa2Uck7Z3Ne9xe1mgHU4nlk9eqs0J44oQdxQrm5bghCFoKf//Z",xte="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAMAAABHPGVmAAADAFBMVEVGpf9Do/8AZ+VIp/83m/1Lqf8AZeQmkfkymPs7nf4Cg/L1+f48n/80mvwtlfrx9/4cjPcZivX3+v4BaeQBgPEAbeg+oP/v9v4BauYBfvDn8f3u9f1Bov8/of8AZeMqlPr4+/4Oh/Qjj/ggjvcAXsoAcOnt8/0BcusIhfM4nf7l8PwSh/QAe+4AduwAee3k7/zz+P/6/P4BYMwBfO/i7vwvlvsAdevp8f3h7Prk7vsAYtLp8/0Wivb9/v7g7P0BZ+Dd6/zc6vwAYM77/f6Ns9yUuOAAZNXr9P7a6PmcvuIBaOKXu+CPtt+RtNva6fzS4vYAZdnV5fjA1++20OvY5/re6vzX5vjI3fS50u0AZdzU4/euyuixy+elxOWXudzL3vK91e2dvN+Ut9sAYdCzzemoxube6vnG2/HF2e+qyOmgweTW5vrK3/XC2fGsyOeMstvs8vvS5PnP4fXM4PXO3/PH3PPE2/O20e6zzuywzOoAcObC2O+jw+agwOGbu91AfdGmxugHYa3z9/zQ4/fN4faiweMAbuKaveEAZt4CX63Y6Py50+/B1usBdun////o8Png6ve91vG71PC80+qty+oAeOoAc+fY5PTS4fPJ2+8Bf+260ekAbeWsx+QAad4AbNjf7P3i7Pjd6PbA1/MAe+yyzesAduYwlPcZiPErkvYmj/WoxeOkwuJDn/wijPMNhPAXhO4AfOm3z+iFrNkAadIvdNBWqP1ztfwuiOoAcd44edElbs/W5PakyfVdo/IrjvF+sO1QmOtTkOC32f1OpP2Cu/q51veu0PeKuvI4kfCbwO6Su+4hie4KgOwGdeITZ80caLKgzP7C3v1erP3L4/xyrvNHmPGvzu5yqOw8kesQf+kggehGjuaBrOIeeeFnmdpXjdcCaNYQZK+TxfzB2vc6l/Vnp/GkxvBjouxbmumIsuhknOQ4g+Iuf+J6pNdzoNIcas5omMwmbbSax/hGnPVTn/MRd+d1pOF9qOBDht4NZc0yfNgYc9hfkcg4d7owc7j13NKGAAAKFElEQVRo3uzUP2gTURzA8RMjJlzj6RsM5BRPhQPjkGQIyXFGBIdzURDESRzEQVDw/LOJQw6XiFwEBwUR/DPkjyQGhMSliZI/rRohSRvBNbXipNjW0T+/e7kber73ajNkEL+06aP58fvwrn+4TRNoMsjGCTQhhIMPy1rHgRsdOPcBPvGQ68D9b31tmED/ELJjAnE7JxC3fa2mnMP4U9zUFEzAy5TrAOHDxrkNo4P9HvEAUzsIbzkbAWHm6wUaFd9aQ5VGosoY4nzsmodMc76yjz20oYFQjzGzBuKpItM0+xxT2bdgIKlfZCD7WPn8C2YS6vkYQ565gxJChyoe6gTnYbbYsBBTqPrpM8WGhCQkVr3UCTbiXzkGCCg3m1TFXxWRJCFjYVzEWxMBsepRjWIfWQiaWaQjflbZajQ5Sq56ySPeloEQGOjGCkyQYyLe7LJ9kcPJfpE8UpxHOD7xPUtFvKyybRMTEN+KkSZiLYPHhqEPsrQ1HNNYvGQCMep8MxaL+X3FZrMyV6k0i0WPF74BF+ERDxnGbH485HsYiFFRaXmu1WvM33wYDgaD4YPH5vszC9VKKwDACJnOxmhIjFH+k5C0CUhQUdRKghB+QUIozttFjI+LWcoebgu9bKEVdQic5IRG8fhJOcjxlTxlEROpLyejQDi5CAw4REQQHtXGQfL1djJKINyCELGMgD4o7KIgu+jlX99Irn0LEMAARHxbz5MXcQyj8D7xtwRGZqjIZmr5Uk12EVQBIx9fF8ibGEihNOAlN0EGgAgExOPvx0A6sy6BQYAh366VxkCmo/TnJKwiMJIZlApkZA+1Ur0dRSQBWg2AAMn6bKdA3MRCXl+SkGPAfVyCQwgRARuarE93SmRkL7Xc+4RzCySeO3VVIF5CPvfgWhyuAenteom4iY5szdV0+zmhzNfucOmo+IcgBjLPl4ZLXxRR1jRVv/JhGxnZSq08MOx/gOh0KpVKd+/zf/wghKfDdCo1vB6QVVXPHHmV20vaREdK5VneTvyRtpTnEZtwDOgrfuebCsVDjz7ltq4PyZWnkY0EHMRFyLKDxMGIh5SX5W1EZButXKeN7N8n/vownU4v3YqsEiBNPNWFd7pPtXg8GAxl3pRzpFUM5MUFAKyEiP78V/fnddEWbEDTZFUOnvnZ/XVRAQIQZaazTqT84YRhCTjx3q27LkKWVav41TtXg6PCypMXZOQApdyzV4rghP/kRMgW4BMD1kNSNdW6BRRWLn94tp+wi9tP691n3RZwWNDsxyQ7Ai5kpyROvnpGWsXtJgfIS9FFiJiAr2dPgeQmwmEl8fjTu/2EZb8pJ3uYJsIADDu7uJgY4+RijLE41JC7mJB20glT6A8pxmpCTgyotaD8NHFA4oC59DBcr1w00uPayaQ2cShJUWBQgcBosVQmI/g3OKiDDr7f992f7d3AE0rb5Xnu/e564DhK9OX8gP+ljfWJI4eaCyfO55/03fvx43LvM8EunKGc5TlpacOaAg+DRDwo1RcnzAKw7gT/5Na9ePXqrZscEo4CgZPW6iW3JSc9KG2/njhmjmDgPoDz53BS5HfhmEATHR2cUNsuubg8I2pl0DnC9V6zBCuAuYgwXVHdIgc9UN+HmkZYBccGu4AGIrH3qovLK3JYXeao3n5e3RPUTl5zgUDkwsVl9fA+IuW9DBJGAdin5NzAcfB3BCKRABKB4IXqXnlfka1k0jqm1gKPAMAOYgdBQlhZco0cdkctv00CFByHxJ/BH8/ziLAAJpj+zmBn51Q4ul5WW2Xekd2k85QAj4ZVmHNOQIIwNTUQ3a3vI6LX3yTNDQB65rdOiWyIBFmDBqbC4fBAfGRbP9oaOeqOvj2ftBNWo8OxIUhhE5AgjYH4fKXcKmuK+J+vvnuFd1WuTJ6yn1ZWMCawDdBTTD/ldvxOo6x6R1ji5ZuQEPvpP+qXG1HehD2qSESApYfZkkMfCt0G9xOfZZeI38HqIpfJZKRPfr8uLmt5nucMcPGCEAwKFyhEHo1GB0KAuOPETpicHEpsFXV/M87Iu4+ZDJ9JbdV1v17ck/IcEAhBAXoK7IDZnXIwBAZjiSW3yGmL1Y+ZfD5fa2wWZV0vbkmSACy9KY8D2C8CyFOGnBADd66tb+qnm7EjzxfRkNZ3ni6gIhffSpqmWXrTDjXk91Op1GSKuWPUDe4SbqTXdmTdM9L2UstL0trfFy+eLiCyuaZFTb9lh97DDv2NeULX9e9iW0ukzWBjF42uP2iQiPhrV6tGq9WqqU+BoWGqTxj2a8wN4J8mPAJj38S2ZsyIrxLD+XxgDVEu7owoDv/w8NDwYCJB9JDbdly5ZX9I6RltZGWvSPtyVdOUFaPhy36fzgHoCQkCuXZA3Ol0ugtQOVOPmHR3r2R9LREfI/tZUZQcIgtZ0eeTs9/6c7h8pocc9Pf3Q0/tV64we08Ps48SarXRQq1Q6Ps6DsH/GBFxnESUr6yBr41ZGjD1adBF/QBy2LsBkRcKhbGZsRmD3r7fXpF28cFKTskpXxbGxXby9fHKbGKW+W096CEYesgJvTO9121uXvqwmW1vjvyjjIx5EwXjOPwp+g007gwdHI2YWDXpeMkBF6AmvQ52adKEVHQpLm42jQSkH0AnPZOLLk3Hu4H1kosFx7NXz6lVr0N/7ytCQBz6DCR/As/z8ueQcquR/bQvnxVvfNJ9f6C/DOlvNvZ6mMoMkQh+5O1r++LLxezFG191+JtU3wpOf0L1n73Dl8v1Os9fheDLxUdlJ5KiKNrdsq3r+un971TqEOPktAl9CwGD+E8A0YNKpVIGPE/812dR+MKjkorgR6b/P+lkRT/+fH/BOGu2jEDPcdQe6GGHPx9DtfGs3O6L3H1zdL1JuPl5/+vpyuhTP+f5ff01qFar+XwDFHYRxb9mMjaSRCRnTxBpUQyj7/tB4D+DHn6qZ2MpiCttJ5LcoFlTebFEBP4+LWzP34W+B7+v9/zFeFh1pSnJMNuIaU3TmbVbRgUNDo1Op9Pt8r0eAsF2BJaViD675fw8G6IoqQ9H+yKKZuVkhhk7LGcY6HAcjXTRwB8QRbGhqoIgSKBUIu6ALO3gbglIgvhgmfsipnVMKow9cp3XyUDkQAeQTg8ZgAwgmQgSQQAqkFa7kQMPU8PCSCWRSOA6rrnOfDnIFllBFX1UQEtezQviwwaDwXz+z3Hd2nBqmQdhENlWjqzjtJxhNiRoa23bi/F4PASj0agWYQSGAE8sFra93rwm5+IjQSWXluVMxs98HIZ5724OkRgIYSgMdyp6gRhUD4LJDAIRFRu9l8mx+8os7LAMSMR+/r0fEZpGUCF2zTlGlErqsv69pHREXUcCCbuZolRSkHrdHzRHgVHOJkMk9IhEmNm9pE5xKTeqauZC4QaRAQFS4H/W6I1VXjCIEIVpZOyAVDwnFZ3CGKENXu8NHhT5bLAn8t3gB5tRcTnQFMqEAAAAAElFTkSuQmCC";var Ft={};const Cte="Á",wte="á",_te="Ă",Ste="ă",kte="∾",Pte="∿",Tte="∾̳",Rte="Â",Ete="â",$te="´",Ate="А",Ite="а",Ote="Æ",Mte="æ",zte="⁡",Dte="𝔄",Lte="𝔞",Fte="À",Bte="à",Nte="ℵ",Hte="ℵ",jte="Α",Vte="α",Wte="Ā",Ute="ā",qte="⨿",Kte="&",Gte="&",Yte="⩕",Xte="⩓",Zte="∧",Jte="⩜",Qte="⩘",ene="⩚",tne="∠",nne="⦤",one="∠",rne="⦨",ine="⦩",ane="⦪",sne="⦫",lne="⦬",cne="⦭",une="⦮",dne="⦯",fne="∡",hne="∟",pne="⊾",mne="⦝",gne="∢",vne="Å",bne="⍼",yne="Ą",xne="ą",Cne="𝔸",wne="𝕒",_ne="⩯",Sne="≈",kne="⩰",Pne="≊",Tne="≋",Rne="'",Ene="⁡",$ne="≈",Ane="≊",Ine="Å",One="å",Mne="𝒜",zne="𝒶",Dne="≔",Lne="*",Fne="≈",Bne="≍",Nne="Ã",Hne="ã",jne="Ä",Vne="ä",Wne="∳",Une="⨑",qne="≌",Kne="϶",Gne="‵",Yne="∽",Xne="⋍",Zne="∖",Jne="⫧",Qne="⊽",eoe="⌅",toe="⌆",noe="⌅",ooe="⎵",roe="⎶",ioe="≌",aoe="Б",soe="б",loe="„",coe="∵",uoe="∵",doe="∵",foe="⦰",hoe="϶",poe="ℬ",moe="ℬ",goe="Β",voe="β",boe="ℶ",yoe="≬",xoe="𝔅",Coe="𝔟",woe="⋂",_oe="◯",Soe="⋃",koe="⨀",Poe="⨁",Toe="⨂",Roe="⨆",Eoe="★",$oe="▽",Aoe="△",Ioe="⨄",Ooe="⋁",Moe="⋀",zoe="⤍",Doe="⧫",Loe="▪",Foe="▴",Boe="▾",Noe="◂",Hoe="▸",joe="␣",Voe="▒",Woe="░",Uoe="▓",qoe="█",Koe="=⃥",Goe="≡⃥",Yoe="⫭",Xoe="⌐",Zoe="𝔹",Joe="𝕓",Qoe="⊥",ere="⊥",tre="⋈",nre="⧉",ore="┐",rre="╕",ire="╖",are="╗",sre="┌",lre="╒",cre="╓",ure="╔",dre="─",fre="═",hre="┬",pre="╤",mre="╥",gre="╦",vre="┴",bre="╧",yre="╨",xre="╩",Cre="⊟",wre="⊞",_re="⊠",Sre="┘",kre="╛",Pre="╜",Tre="╝",Rre="└",Ere="╘",$re="╙",Are="╚",Ire="│",Ore="║",Mre="┼",zre="╪",Dre="╫",Lre="╬",Fre="┤",Bre="╡",Nre="╢",Hre="╣",jre="├",Vre="╞",Wre="╟",Ure="╠",qre="‵",Kre="˘",Gre="˘",Yre="¦",Xre="𝒷",Zre="ℬ",Jre="⁏",Qre="∽",eie="⋍",tie="⧅",nie="\\",oie="⟈",rie="•",iie="•",aie="≎",sie="⪮",lie="≏",cie="≎",uie="≏",die="Ć",fie="ć",hie="⩄",pie="⩉",mie="⩋",gie="∩",vie="⋒",bie="⩇",yie="⩀",xie="ⅅ",Cie="∩︀",wie="⁁",_ie="ˇ",Sie="ℭ",kie="⩍",Pie="Č",Tie="č",Rie="Ç",Eie="ç",$ie="Ĉ",Aie="ĉ",Iie="∰",Oie="⩌",Mie="⩐",zie="Ċ",Die="ċ",Lie="¸",Fie="¸",Bie="⦲",Nie="¢",Hie="·",jie="·",Vie="𝔠",Wie="ℭ",Uie="Ч",qie="ч",Kie="✓",Gie="✓",Yie="Χ",Xie="χ",Zie="ˆ",Jie="≗",Qie="↺",eae="↻",tae="⊛",nae="⊚",oae="⊝",rae="⊙",iae="®",aae="Ⓢ",sae="⊖",lae="⊕",cae="⊗",uae="○",dae="⧃",fae="≗",hae="⨐",pae="⫯",mae="⧂",gae="∲",vae="”",bae="’",yae="♣",xae="♣",Cae=":",wae="∷",_ae="⩴",Sae="≔",kae="≔",Pae=",",Tae="@",Rae="∁",Eae="∘",$ae="∁",Aae="ℂ",Iae="≅",Oae="⩭",Mae="≡",zae="∮",Dae="∯",Lae="∮",Fae="𝕔",Bae="ℂ",Nae="∐",Hae="∐",jae="©",Vae="©",Wae="℗",Uae="∳",qae="↵",Kae="✗",Gae="⨯",Yae="𝒞",Xae="𝒸",Zae="⫏",Jae="⫑",Qae="⫐",ese="⫒",tse="⋯",nse="⤸",ose="⤵",rse="⋞",ise="⋟",ase="↶",sse="⤽",lse="⩈",cse="⩆",use="≍",dse="∪",fse="⋓",hse="⩊",pse="⊍",mse="⩅",gse="∪︀",vse="↷",bse="⤼",yse="⋞",xse="⋟",Cse="⋎",wse="⋏",_se="¤",Sse="↶",kse="↷",Pse="⋎",Tse="⋏",Rse="∲",Ese="∱",$se="⌭",Ase="†",Ise="‡",Ose="ℸ",Mse="↓",zse="↡",Dse="⇓",Lse="‐",Fse="⫤",Bse="⊣",Nse="⤏",Hse="˝",jse="Ď",Vse="ď",Wse="Д",Use="д",qse="‡",Kse="⇊",Gse="ⅅ",Yse="ⅆ",Xse="⤑",Zse="⩷",Jse="°",Qse="∇",ele="Δ",tle="δ",nle="⦱",ole="⥿",rle="𝔇",ile="𝔡",ale="⥥",sle="⇃",lle="⇂",cle="´",ule="˙",dle="˝",fle="`",hle="˜",ple="⋄",mle="⋄",gle="⋄",vle="♦",ble="♦",yle="¨",xle="ⅆ",Cle="ϝ",wle="⋲",_le="÷",Sle="÷",kle="⋇",Ple="⋇",Tle="Ђ",Rle="ђ",Ele="⌞",$le="⌍",Ale="$",Ile="𝔻",Ole="𝕕",Mle="¨",zle="˙",Dle="⃜",Lle="≐",Fle="≑",Ble="≐",Nle="∸",Hle="∔",jle="⊡",Vle="⌆",Wle="∯",Ule="¨",qle="⇓",Kle="⇐",Gle="⇔",Yle="⫤",Xle="⟸",Zle="⟺",Jle="⟹",Qle="⇒",ece="⊨",tce="⇑",nce="⇕",oce="∥",rce="⤓",ice="↓",ace="↓",sce="⇓",lce="⇵",cce="̑",uce="⇊",dce="⇃",fce="⇂",hce="⥐",pce="⥞",mce="⥖",gce="↽",vce="⥟",bce="⥗",yce="⇁",xce="↧",Cce="⊤",wce="⤐",_ce="⌟",Sce="⌌",kce="𝒟",Pce="𝒹",Tce="Ѕ",Rce="ѕ",Ece="⧶",$ce="Đ",Ace="đ",Ice="⋱",Oce="▿",Mce="▾",zce="⇵",Dce="⥯",Lce="⦦",Fce="Џ",Bce="џ",Nce="⟿",Hce="É",jce="é",Vce="⩮",Wce="Ě",Uce="ě",qce="Ê",Kce="ê",Gce="≖",Yce="≕",Xce="Э",Zce="э",Jce="⩷",Qce="Ė",eue="ė",tue="≑",nue="ⅇ",oue="≒",rue="𝔈",iue="𝔢",aue="⪚",sue="È",lue="è",cue="⪖",uue="⪘",due="⪙",fue="∈",hue="⏧",pue="ℓ",mue="⪕",gue="⪗",vue="Ē",bue="ē",yue="∅",xue="∅",Cue="◻",wue="∅",_ue="▫",Sue=" ",kue=" ",Pue=" ",Tue="Ŋ",Rue="ŋ",Eue=" ",$ue="Ę",Aue="ę",Iue="𝔼",Oue="𝕖",Mue="⋕",zue="⧣",Due="⩱",Lue="ε",Fue="Ε",Bue="ε",Nue="ϵ",Hue="≖",jue="≕",Vue="≂",Wue="⪖",Uue="⪕",que="⩵",Kue="=",Gue="≂",Yue="≟",Xue="⇌",Zue="≡",Jue="⩸",Que="⧥",ede="⥱",tde="≓",nde="ℯ",ode="ℰ",rde="≐",ide="⩳",ade="≂",sde="Η",lde="η",cde="Ð",ude="ð",dde="Ë",fde="ë",hde="€",pde="!",mde="∃",gde="∃",vde="ℰ",bde="ⅇ",yde="ⅇ",xde="≒",Cde="Ф",wde="ф",_de="♀",Sde="ffi",kde="ff",Pde="ffl",Tde="𝔉",Rde="𝔣",Ede="fi",$de="◼",Ade="▪",Ide="fj",Ode="♭",Mde="fl",zde="▱",Dde="ƒ",Lde="𝔽",Fde="𝕗",Bde="∀",Nde="∀",Hde="⋔",jde="⫙",Vde="ℱ",Wde="⨍",Ude="½",qde="⅓",Kde="¼",Gde="⅕",Yde="⅙",Xde="⅛",Zde="⅔",Jde="⅖",Qde="¾",efe="⅗",tfe="⅜",nfe="⅘",ofe="⅚",rfe="⅝",ife="⅞",afe="⁄",sfe="⌢",lfe="𝒻",cfe="ℱ",ufe="ǵ",dfe="Γ",ffe="γ",hfe="Ϝ",pfe="ϝ",mfe="⪆",gfe="Ğ",vfe="ğ",bfe="Ģ",yfe="Ĝ",xfe="ĝ",Cfe="Г",wfe="г",_fe="Ġ",Sfe="ġ",kfe="≥",Pfe="≧",Tfe="⪌",Rfe="⋛",Efe="≥",$fe="≧",Afe="⩾",Ife="⪩",Ofe="⩾",Mfe="⪀",zfe="⪂",Dfe="⪄",Lfe="⋛︀",Ffe="⪔",Bfe="𝔊",Nfe="𝔤",Hfe="≫",jfe="⋙",Vfe="⋙",Wfe="ℷ",Ufe="Ѓ",qfe="ѓ",Kfe="⪥",Gfe="≷",Yfe="⪒",Xfe="⪤",Zfe="⪊",Jfe="⪊",Qfe="⪈",ehe="≩",the="⪈",nhe="≩",ohe="⋧",rhe="𝔾",ihe="𝕘",ahe="`",she="≥",lhe="⋛",che="≧",uhe="⪢",dhe="≷",fhe="⩾",hhe="≳",phe="𝒢",mhe="ℊ",ghe="≳",vhe="⪎",bhe="⪐",yhe="⪧",xhe="⩺",Che=">",whe=">",_he="≫",She="⋗",khe="⦕",Phe="⩼",The="⪆",Rhe="⥸",Ehe="⋗",$he="⋛",Ahe="⪌",Ihe="≷",Ohe="≳",Mhe="≩︀",zhe="≩︀",Dhe="ˇ",Lhe=" ",Fhe="½",Bhe="ℋ",Nhe="Ъ",Hhe="ъ",jhe="⥈",Vhe="↔",Whe="⇔",Uhe="↭",qhe="^",Khe="ℏ",Ghe="Ĥ",Yhe="ĥ",Xhe="♥",Zhe="♥",Jhe="…",Qhe="⊹",epe="𝔥",tpe="ℌ",npe="ℋ",ope="⤥",rpe="⤦",ipe="⇿",ape="∻",spe="↩",lpe="↪",cpe="𝕙",upe="ℍ",dpe="―",fpe="─",hpe="𝒽",ppe="ℋ",mpe="ℏ",gpe="Ħ",vpe="ħ",bpe="≎",ype="≏",xpe="⁃",Cpe="‐",wpe="Í",_pe="í",Spe="⁣",kpe="Î",Ppe="î",Tpe="И",Rpe="и",Epe="İ",$pe="Е",Ape="е",Ipe="¡",Ope="⇔",Mpe="𝔦",zpe="ℑ",Dpe="Ì",Lpe="ì",Fpe="ⅈ",Bpe="⨌",Npe="∭",Hpe="⧜",jpe="℩",Vpe="IJ",Wpe="ij",Upe="Ī",qpe="ī",Kpe="ℑ",Gpe="ⅈ",Ype="ℐ",Xpe="ℑ",Zpe="ı",Jpe="ℑ",Qpe="⊷",eme="Ƶ",tme="⇒",nme="℅",ome="∞",rme="⧝",ime="ı",ame="⊺",sme="∫",lme="∬",cme="ℤ",ume="∫",dme="⊺",fme="⋂",hme="⨗",pme="⨼",mme="⁣",gme="⁢",vme="Ё",bme="ё",yme="Į",xme="į",Cme="𝕀",wme="𝕚",_me="Ι",Sme="ι",kme="⨼",Pme="¿",Tme="𝒾",Rme="ℐ",Eme="∈",$me="⋵",Ame="⋹",Ime="⋴",Ome="⋳",Mme="∈",zme="⁢",Dme="Ĩ",Lme="ĩ",Fme="І",Bme="і",Nme="Ï",Hme="ï",jme="Ĵ",Vme="ĵ",Wme="Й",Ume="й",qme="𝔍",Kme="𝔧",Gme="ȷ",Yme="𝕁",Xme="𝕛",Zme="𝒥",Jme="𝒿",Qme="Ј",ege="ј",tge="Є",nge="є",oge="Κ",rge="κ",ige="ϰ",age="Ķ",sge="ķ",lge="К",cge="к",uge="𝔎",dge="𝔨",fge="ĸ",hge="Х",pge="х",mge="Ќ",gge="ќ",vge="𝕂",bge="𝕜",yge="𝒦",xge="𝓀",Cge="⇚",wge="Ĺ",_ge="ĺ",Sge="⦴",kge="ℒ",Pge="Λ",Tge="λ",Rge="⟨",Ege="⟪",$ge="⦑",Age="⟨",Ige="⪅",Oge="ℒ",Mge="«",zge="⇤",Dge="⤟",Lge="←",Fge="↞",Bge="⇐",Nge="⤝",Hge="↩",jge="↫",Vge="⤹",Wge="⥳",Uge="↢",qge="⤙",Kge="⤛",Gge="⪫",Yge="⪭",Xge="⪭︀",Zge="⤌",Jge="⤎",Qge="❲",eve="{",tve="[",nve="⦋",ove="⦏",rve="⦍",ive="Ľ",ave="ľ",sve="Ļ",lve="ļ",cve="⌈",uve="{",dve="Л",fve="л",hve="⤶",pve="“",mve="„",gve="⥧",vve="⥋",bve="↲",yve="≤",xve="≦",Cve="⟨",wve="⇤",_ve="←",Sve="←",kve="⇐",Pve="⇆",Tve="↢",Rve="⌈",Eve="⟦",$ve="⥡",Ave="⥙",Ive="⇃",Ove="⌊",Mve="↽",zve="↼",Dve="⇇",Lve="↔",Fve="↔",Bve="⇔",Nve="⇆",Hve="⇋",jve="↭",Vve="⥎",Wve="↤",Uve="⊣",qve="⥚",Kve="⋋",Gve="⧏",Yve="⊲",Xve="⊴",Zve="⥑",Jve="⥠",Qve="⥘",ebe="↿",tbe="⥒",nbe="↼",obe="⪋",rbe="⋚",ibe="≤",abe="≦",sbe="⩽",lbe="⪨",cbe="⩽",ube="⩿",dbe="⪁",fbe="⪃",hbe="⋚︀",pbe="⪓",mbe="⪅",gbe="⋖",vbe="⋚",bbe="⪋",ybe="⋚",xbe="≦",Cbe="≶",wbe="≶",_be="⪡",Sbe="≲",kbe="⩽",Pbe="≲",Tbe="⥼",Rbe="⌊",Ebe="𝔏",$be="𝔩",Abe="≶",Ibe="⪑",Obe="⥢",Mbe="↽",zbe="↼",Dbe="⥪",Lbe="▄",Fbe="Љ",Bbe="љ",Nbe="⇇",Hbe="≪",jbe="⋘",Vbe="⌞",Wbe="⇚",Ube="⥫",qbe="◺",Kbe="Ŀ",Gbe="ŀ",Ybe="⎰",Xbe="⎰",Zbe="⪉",Jbe="⪉",Qbe="⪇",e0e="≨",t0e="⪇",n0e="≨",o0e="⋦",r0e="⟬",i0e="⇽",a0e="⟦",s0e="⟵",l0e="⟵",c0e="⟸",u0e="⟷",d0e="⟷",f0e="⟺",h0e="⟼",p0e="⟶",m0e="⟶",g0e="⟹",v0e="↫",b0e="↬",y0e="⦅",x0e="𝕃",C0e="𝕝",w0e="⨭",_0e="⨴",S0e="∗",k0e="_",P0e="↙",T0e="↘",R0e="◊",E0e="◊",$0e="⧫",A0e="(",I0e="⦓",O0e="⇆",M0e="⌟",z0e="⇋",D0e="⥭",L0e="‎",F0e="⊿",B0e="‹",N0e="𝓁",H0e="ℒ",j0e="↰",V0e="↰",W0e="≲",U0e="⪍",q0e="⪏",K0e="[",G0e="‘",Y0e="‚",X0e="Ł",Z0e="ł",J0e="⪦",Q0e="⩹",e1e="<",t1e="<",n1e="≪",o1e="⋖",r1e="⋋",i1e="⋉",a1e="⥶",s1e="⩻",l1e="◃",c1e="⊴",u1e="◂",d1e="⦖",f1e="⥊",h1e="⥦",p1e="≨︀",m1e="≨︀",g1e="¯",v1e="♂",b1e="✠",y1e="✠",x1e="↦",C1e="↦",w1e="↧",_1e="↤",S1e="↥",k1e="▮",P1e="⨩",T1e="М",R1e="м",E1e="—",$1e="∺",A1e="∡",I1e=" ",O1e="ℳ",M1e="𝔐",z1e="𝔪",D1e="℧",L1e="µ",F1e="*",B1e="⫰",N1e="∣",H1e="·",j1e="⊟",V1e="−",W1e="∸",U1e="⨪",q1e="∓",K1e="⫛",G1e="…",Y1e="∓",X1e="⊧",Z1e="𝕄",J1e="𝕞",Q1e="∓",eye="𝓂",tye="ℳ",nye="∾",oye="Μ",rye="μ",iye="⊸",aye="⊸",sye="∇",lye="Ń",cye="ń",uye="∠⃒",dye="≉",fye="⩰̸",hye="≋̸",pye="ʼn",mye="≉",gye="♮",vye="ℕ",bye="♮",yye=" ",xye="≎̸",Cye="≏̸",wye="⩃",_ye="Ň",Sye="ň",kye="Ņ",Pye="ņ",Tye="≇",Rye="⩭̸",Eye="⩂",$ye="Н",Aye="н",Iye="–",Oye="⤤",Mye="↗",zye="⇗",Dye="↗",Lye="≠",Fye="≐̸",Bye="​",Nye="​",Hye="​",jye="​",Vye="≢",Wye="⤨",Uye="≂̸",qye="≫",Kye="≪",Gye=` -`,Yye="∄",Xye="∄",Zye="𝔑",Jye="𝔫",Qye="≧̸",exe="≱",txe="≱",nxe="≧̸",oxe="⩾̸",rxe="⩾̸",ixe="⋙̸",axe="≵",sxe="≫⃒",lxe="≯",cxe="≯",uxe="≫̸",dxe="↮",fxe="⇎",hxe="⫲",pxe="∋",mxe="⋼",gxe="⋺",vxe="∋",bxe="Њ",yxe="њ",xxe="↚",Cxe="⇍",wxe="‥",_xe="≦̸",Sxe="≰",kxe="↚",Pxe="⇍",Txe="↮",Rxe="⇎",Exe="≰",$xe="≦̸",Axe="⩽̸",Ixe="⩽̸",Oxe="≮",Mxe="⋘̸",zxe="≴",Dxe="≪⃒",Lxe="≮",Fxe="⋪",Bxe="⋬",Nxe="≪̸",Hxe="∤",jxe="⁠",Vxe=" ",Wxe="𝕟",Uxe="ℕ",qxe="⫬",Kxe="¬",Gxe="≢",Yxe="≭",Xxe="∦",Zxe="∉",Jxe="≠",Qxe="≂̸",eCe="∄",tCe="≯",nCe="≱",oCe="≧̸",rCe="≫̸",iCe="≹",aCe="⩾̸",sCe="≵",lCe="≎̸",cCe="≏̸",uCe="∉",dCe="⋵̸",fCe="⋹̸",hCe="∉",pCe="⋷",mCe="⋶",gCe="⧏̸",vCe="⋪",bCe="⋬",yCe="≮",xCe="≰",CCe="≸",wCe="≪̸",_Ce="⩽̸",SCe="≴",kCe="⪢̸",PCe="⪡̸",TCe="∌",RCe="∌",ECe="⋾",$Ce="⋽",ACe="⊀",ICe="⪯̸",OCe="⋠",MCe="∌",zCe="⧐̸",DCe="⋫",LCe="⋭",FCe="⊏̸",BCe="⋢",NCe="⊐̸",HCe="⋣",jCe="⊂⃒",VCe="⊈",WCe="⊁",UCe="⪰̸",qCe="⋡",KCe="≿̸",GCe="⊃⃒",YCe="⊉",XCe="≁",ZCe="≄",JCe="≇",QCe="≉",ewe="∤",twe="∦",nwe="∦",owe="⫽⃥",rwe="∂̸",iwe="⨔",awe="⊀",swe="⋠",lwe="⊀",cwe="⪯̸",uwe="⪯̸",dwe="⤳̸",fwe="↛",hwe="⇏",pwe="↝̸",mwe="↛",gwe="⇏",vwe="⋫",bwe="⋭",ywe="⊁",xwe="⋡",Cwe="⪰̸",wwe="𝒩",_we="𝓃",Swe="∤",kwe="∦",Pwe="≁",Twe="≄",Rwe="≄",Ewe="∤",$we="∦",Awe="⋢",Iwe="⋣",Owe="⊄",Mwe="⫅̸",zwe="⊈",Dwe="⊂⃒",Lwe="⊈",Fwe="⫅̸",Bwe="⊁",Nwe="⪰̸",Hwe="⊅",jwe="⫆̸",Vwe="⊉",Wwe="⊃⃒",Uwe="⊉",qwe="⫆̸",Kwe="≹",Gwe="Ñ",Ywe="ñ",Xwe="≸",Zwe="⋪",Jwe="⋬",Qwe="⋫",e_e="⋭",t_e="Ν",n_e="ν",o_e="#",r_e="№",i_e=" ",a_e="≍⃒",s_e="⊬",l_e="⊭",c_e="⊮",u_e="⊯",d_e="≥⃒",f_e=">⃒",h_e="⤄",p_e="⧞",m_e="⤂",g_e="≤⃒",v_e="<⃒",b_e="⊴⃒",y_e="⤃",x_e="⊵⃒",C_e="∼⃒",w_e="⤣",__e="↖",S_e="⇖",k_e="↖",P_e="⤧",T_e="Ó",R_e="ó",E_e="⊛",$_e="Ô",A_e="ô",I_e="⊚",O_e="О",M_e="о",z_e="⊝",D_e="Ő",L_e="ő",F_e="⨸",B_e="⊙",N_e="⦼",H_e="Œ",j_e="œ",V_e="⦿",W_e="𝔒",U_e="𝔬",q_e="˛",K_e="Ò",G_e="ò",Y_e="⧁",X_e="⦵",Z_e="Ω",J_e="∮",Q_e="↺",e2e="⦾",t2e="⦻",n2e="‾",o2e="⧀",r2e="Ō",i2e="ō",a2e="Ω",s2e="ω",l2e="Ο",c2e="ο",u2e="⦶",d2e="⊖",f2e="𝕆",h2e="𝕠",p2e="⦷",m2e="“",g2e="‘",v2e="⦹",b2e="⊕",y2e="↻",x2e="⩔",C2e="∨",w2e="⩝",_2e="ℴ",S2e="ℴ",k2e="ª",P2e="º",T2e="⊶",R2e="⩖",E2e="⩗",$2e="⩛",A2e="Ⓢ",I2e="𝒪",O2e="ℴ",M2e="Ø",z2e="ø",D2e="⊘",L2e="Õ",F2e="õ",B2e="⨶",N2e="⨷",H2e="⊗",j2e="Ö",V2e="ö",W2e="⌽",U2e="‾",q2e="⏞",K2e="⎴",G2e="⏜",Y2e="¶",X2e="∥",Z2e="∥",J2e="⫳",Q2e="⫽",eSe="∂",tSe="∂",nSe="П",oSe="п",rSe="%",iSe=".",aSe="‰",sSe="⊥",lSe="‱",cSe="𝔓",uSe="𝔭",dSe="Φ",fSe="φ",hSe="ϕ",pSe="ℳ",mSe="☎",gSe="Π",vSe="π",bSe="⋔",ySe="ϖ",xSe="ℏ",CSe="ℎ",wSe="ℏ",_Se="⨣",SSe="⊞",kSe="⨢",PSe="+",TSe="∔",RSe="⨥",ESe="⩲",$Se="±",ASe="±",ISe="⨦",OSe="⨧",MSe="±",zSe="ℌ",DSe="⨕",LSe="𝕡",FSe="ℙ",BSe="£",NSe="⪷",HSe="⪻",jSe="≺",VSe="≼",WSe="⪷",USe="≺",qSe="≼",KSe="≺",GSe="⪯",YSe="≼",XSe="≾",ZSe="⪯",JSe="⪹",QSe="⪵",eke="⋨",tke="⪯",nke="⪳",oke="≾",rke="′",ike="″",ake="ℙ",ske="⪹",lke="⪵",cke="⋨",uke="∏",dke="∏",fke="⌮",hke="⌒",pke="⌓",mke="∝",gke="∝",vke="∷",bke="∝",yke="≾",xke="⊰",Cke="𝒫",wke="𝓅",_ke="Ψ",Ske="ψ",kke=" ",Pke="𝔔",Tke="𝔮",Rke="⨌",Eke="𝕢",$ke="ℚ",Ake="⁗",Ike="𝒬",Oke="𝓆",Mke="ℍ",zke="⨖",Dke="?",Lke="≟",Fke='"',Bke='"',Nke="⇛",Hke="∽̱",jke="Ŕ",Vke="ŕ",Wke="√",Uke="⦳",qke="⟩",Kke="⟫",Gke="⦒",Yke="⦥",Xke="⟩",Zke="»",Jke="⥵",Qke="⇥",e3e="⤠",t3e="⤳",n3e="→",o3e="↠",r3e="⇒",i3e="⤞",a3e="↪",s3e="↬",l3e="⥅",c3e="⥴",u3e="⤖",d3e="↣",f3e="↝",h3e="⤚",p3e="⤜",m3e="∶",g3e="ℚ",v3e="⤍",b3e="⤏",y3e="⤐",x3e="❳",C3e="}",w3e="]",_3e="⦌",S3e="⦎",k3e="⦐",P3e="Ř",T3e="ř",R3e="Ŗ",E3e="ŗ",$3e="⌉",A3e="}",I3e="Р",O3e="р",M3e="⤷",z3e="⥩",D3e="”",L3e="”",F3e="↳",B3e="ℜ",N3e="ℛ",H3e="ℜ",j3e="ℝ",V3e="ℜ",W3e="▭",U3e="®",q3e="®",K3e="∋",G3e="⇋",Y3e="⥯",X3e="⥽",Z3e="⌋",J3e="𝔯",Q3e="ℜ",e4e="⥤",t4e="⇁",n4e="⇀",o4e="⥬",r4e="Ρ",i4e="ρ",a4e="ϱ",s4e="⟩",l4e="⇥",c4e="→",u4e="→",d4e="⇒",f4e="⇄",h4e="↣",p4e="⌉",m4e="⟧",g4e="⥝",v4e="⥕",b4e="⇂",y4e="⌋",x4e="⇁",C4e="⇀",w4e="⇄",_4e="⇌",S4e="⇉",k4e="↝",P4e="↦",T4e="⊢",R4e="⥛",E4e="⋌",$4e="⧐",A4e="⊳",I4e="⊵",O4e="⥏",M4e="⥜",z4e="⥔",D4e="↾",L4e="⥓",F4e="⇀",B4e="˚",N4e="≓",H4e="⇄",j4e="⇌",V4e="‏",W4e="⎱",U4e="⎱",q4e="⫮",K4e="⟭",G4e="⇾",Y4e="⟧",X4e="⦆",Z4e="𝕣",J4e="ℝ",Q4e="⨮",ePe="⨵",tPe="⥰",nPe=")",oPe="⦔",rPe="⨒",iPe="⇉",aPe="⇛",sPe="›",lPe="𝓇",cPe="ℛ",uPe="↱",dPe="↱",fPe="]",hPe="’",pPe="’",mPe="⋌",gPe="⋊",vPe="▹",bPe="⊵",yPe="▸",xPe="⧎",CPe="⧴",wPe="⥨",_Pe="℞",SPe="Ś",kPe="ś",PPe="‚",TPe="⪸",RPe="Š",EPe="š",$Pe="⪼",APe="≻",IPe="≽",OPe="⪰",MPe="⪴",zPe="Ş",DPe="ş",LPe="Ŝ",FPe="ŝ",BPe="⪺",NPe="⪶",HPe="⋩",jPe="⨓",VPe="≿",WPe="С",UPe="с",qPe="⊡",KPe="⋅",GPe="⩦",YPe="⤥",XPe="↘",ZPe="⇘",JPe="↘",QPe="§",eTe=";",tTe="⤩",nTe="∖",oTe="∖",rTe="✶",iTe="𝔖",aTe="𝔰",sTe="⌢",lTe="♯",cTe="Щ",uTe="щ",dTe="Ш",fTe="ш",hTe="↓",pTe="←",mTe="∣",gTe="∥",vTe="→",bTe="↑",yTe="­",xTe="Σ",CTe="σ",wTe="ς",_Te="ς",STe="∼",kTe="⩪",PTe="≃",TTe="≃",RTe="⪞",ETe="⪠",$Te="⪝",ATe="⪟",ITe="≆",OTe="⨤",MTe="⥲",zTe="←",DTe="∘",LTe="∖",FTe="⨳",BTe="⧤",NTe="∣",HTe="⌣",jTe="⪪",VTe="⪬",WTe="⪬︀",UTe="Ь",qTe="ь",KTe="⌿",GTe="⧄",YTe="/",XTe="𝕊",ZTe="𝕤",JTe="♠",QTe="♠",e5e="∥",t5e="⊓",n5e="⊓︀",o5e="⊔",r5e="⊔︀",i5e="√",a5e="⊏",s5e="⊑",l5e="⊏",c5e="⊑",u5e="⊐",d5e="⊒",f5e="⊐",h5e="⊒",p5e="□",m5e="□",g5e="⊓",v5e="⊏",b5e="⊑",y5e="⊐",x5e="⊒",C5e="⊔",w5e="▪",_5e="□",S5e="▪",k5e="→",P5e="𝒮",T5e="𝓈",R5e="∖",E5e="⌣",$5e="⋆",A5e="⋆",I5e="☆",O5e="★",M5e="ϵ",z5e="ϕ",D5e="¯",L5e="⊂",F5e="⋐",B5e="⪽",N5e="⫅",H5e="⊆",j5e="⫃",V5e="⫁",W5e="⫋",U5e="⊊",q5e="⪿",K5e="⥹",G5e="⊂",Y5e="⋐",X5e="⊆",Z5e="⫅",J5e="⊆",Q5e="⊊",eRe="⫋",tRe="⫇",nRe="⫕",oRe="⫓",rRe="⪸",iRe="≻",aRe="≽",sRe="≻",lRe="⪰",cRe="≽",uRe="≿",dRe="⪰",fRe="⪺",hRe="⪶",pRe="⋩",mRe="≿",gRe="∋",vRe="∑",bRe="∑",yRe="♪",xRe="¹",CRe="²",wRe="³",_Re="⊃",SRe="⋑",kRe="⪾",PRe="⫘",TRe="⫆",RRe="⊇",ERe="⫄",$Re="⊃",ARe="⊇",IRe="⟉",ORe="⫗",MRe="⥻",zRe="⫂",DRe="⫌",LRe="⊋",FRe="⫀",BRe="⊃",NRe="⋑",HRe="⊇",jRe="⫆",VRe="⊋",WRe="⫌",URe="⫈",qRe="⫔",KRe="⫖",GRe="⤦",YRe="↙",XRe="⇙",ZRe="↙",JRe="⤪",QRe="ß",eEe=" ",tEe="⌖",nEe="Τ",oEe="τ",rEe="⎴",iEe="Ť",aEe="ť",sEe="Ţ",lEe="ţ",cEe="Т",uEe="т",dEe="⃛",fEe="⌕",hEe="𝔗",pEe="𝔱",mEe="∴",gEe="∴",vEe="∴",bEe="Θ",yEe="θ",xEe="ϑ",CEe="ϑ",wEe="≈",_Ee="∼",SEe="  ",kEe=" ",PEe=" ",TEe="≈",REe="∼",EEe="Þ",$Ee="þ",AEe="˜",IEe="∼",OEe="≃",MEe="≅",zEe="≈",DEe="⨱",LEe="⊠",FEe="×",BEe="⨰",NEe="∭",HEe="⤨",jEe="⌶",VEe="⫱",WEe="⊤",UEe="𝕋",qEe="𝕥",KEe="⫚",GEe="⤩",YEe="‴",XEe="™",ZEe="™",JEe="▵",QEe="▿",e$e="◃",t$e="⊴",n$e="≜",o$e="▹",r$e="⊵",i$e="◬",a$e="≜",s$e="⨺",l$e="⃛",c$e="⨹",u$e="⧍",d$e="⨻",f$e="⏢",h$e="𝒯",p$e="𝓉",m$e="Ц",g$e="ц",v$e="Ћ",b$e="ћ",y$e="Ŧ",x$e="ŧ",C$e="≬",w$e="↞",_$e="↠",S$e="Ú",k$e="ú",P$e="↑",T$e="↟",R$e="⇑",E$e="⥉",$$e="Ў",A$e="ў",I$e="Ŭ",O$e="ŭ",M$e="Û",z$e="û",D$e="У",L$e="у",F$e="⇅",B$e="Ű",N$e="ű",H$e="⥮",j$e="⥾",V$e="𝔘",W$e="𝔲",U$e="Ù",q$e="ù",K$e="⥣",G$e="↿",Y$e="↾",X$e="▀",Z$e="⌜",J$e="⌜",Q$e="⌏",eAe="◸",tAe="Ū",nAe="ū",oAe="¨",rAe="_",iAe="⏟",aAe="⎵",sAe="⏝",lAe="⋃",cAe="⊎",uAe="Ų",dAe="ų",fAe="𝕌",hAe="𝕦",pAe="⤒",mAe="↑",gAe="↑",vAe="⇑",bAe="⇅",yAe="↕",xAe="↕",CAe="⇕",wAe="⥮",_Ae="↿",SAe="↾",kAe="⊎",PAe="↖",TAe="↗",RAe="υ",EAe="ϒ",$Ae="ϒ",AAe="Υ",IAe="υ",OAe="↥",MAe="⊥",zAe="⇈",DAe="⌝",LAe="⌝",FAe="⌎",BAe="Ů",NAe="ů",HAe="◹",jAe="𝒰",VAe="𝓊",WAe="⋰",UAe="Ũ",qAe="ũ",KAe="▵",GAe="▴",YAe="⇈",XAe="Ü",ZAe="ü",JAe="⦧",QAe="⦜",e6e="ϵ",t6e="ϰ",n6e="∅",o6e="ϕ",r6e="ϖ",i6e="∝",a6e="↕",s6e="⇕",l6e="ϱ",c6e="ς",u6e="⊊︀",d6e="⫋︀",f6e="⊋︀",h6e="⫌︀",p6e="ϑ",m6e="⊲",g6e="⊳",v6e="⫨",b6e="⫫",y6e="⫩",x6e="В",C6e="в",w6e="⊢",_6e="⊨",S6e="⊩",k6e="⊫",P6e="⫦",T6e="⊻",R6e="∨",E6e="⋁",$6e="≚",A6e="⋮",I6e="|",O6e="‖",M6e="|",z6e="‖",D6e="∣",L6e="|",F6e="❘",B6e="≀",N6e=" ",H6e="𝔙",j6e="𝔳",V6e="⊲",W6e="⊂⃒",U6e="⊃⃒",q6e="𝕍",K6e="𝕧",G6e="∝",Y6e="⊳",X6e="𝒱",Z6e="𝓋",J6e="⫋︀",Q6e="⊊︀",e8e="⫌︀",t8e="⊋︀",n8e="⊪",o8e="⦚",r8e="Ŵ",i8e="ŵ",a8e="⩟",s8e="∧",l8e="⋀",c8e="≙",u8e="℘",d8e="𝔚",f8e="𝔴",h8e="𝕎",p8e="𝕨",m8e="℘",g8e="≀",v8e="≀",b8e="𝒲",y8e="𝓌",x8e="⋂",C8e="◯",w8e="⋃",_8e="▽",S8e="𝔛",k8e="𝔵",P8e="⟷",T8e="⟺",R8e="Ξ",E8e="ξ",$8e="⟵",A8e="⟸",I8e="⟼",O8e="⋻",M8e="⨀",z8e="𝕏",D8e="𝕩",L8e="⨁",F8e="⨂",B8e="⟶",N8e="⟹",H8e="𝒳",j8e="𝓍",V8e="⨆",W8e="⨄",U8e="△",q8e="⋁",K8e="⋀",G8e="Ý",Y8e="ý",X8e="Я",Z8e="я",J8e="Ŷ",Q8e="ŷ",eIe="Ы",tIe="ы",nIe="¥",oIe="𝔜",rIe="𝔶",iIe="Ї",aIe="ї",sIe="𝕐",lIe="𝕪",cIe="𝒴",uIe="𝓎",dIe="Ю",fIe="ю",hIe="ÿ",pIe="Ÿ",mIe="Ź",gIe="ź",vIe="Ž",bIe="ž",yIe="З",xIe="з",CIe="Ż",wIe="ż",_Ie="ℨ",SIe="​",kIe="Ζ",PIe="ζ",TIe="𝔷",RIe="ℨ",EIe="Ж",$Ie="ж",AIe="⇝",IIe="𝕫",OIe="ℤ",MIe="𝒵",zIe="𝓏",DIe="‍",LIe="‌",FIe={Aacute:Cte,aacute:wte,Abreve:_te,abreve:Ste,ac:kte,acd:Pte,acE:Tte,Acirc:Rte,acirc:Ete,acute:$te,Acy:Ate,acy:Ite,AElig:Ote,aelig:Mte,af:zte,Afr:Dte,afr:Lte,Agrave:Fte,agrave:Bte,alefsym:Nte,aleph:Hte,Alpha:jte,alpha:Vte,Amacr:Wte,amacr:Ute,amalg:qte,amp:Kte,AMP:Gte,andand:Yte,And:Xte,and:Zte,andd:Jte,andslope:Qte,andv:ene,ang:tne,ange:nne,angle:one,angmsdaa:rne,angmsdab:ine,angmsdac:ane,angmsdad:sne,angmsdae:lne,angmsdaf:cne,angmsdag:une,angmsdah:dne,angmsd:fne,angrt:hne,angrtvb:pne,angrtvbd:mne,angsph:gne,angst:vne,angzarr:bne,Aogon:yne,aogon:xne,Aopf:Cne,aopf:wne,apacir:_ne,ap:Sne,apE:kne,ape:Pne,apid:Tne,apos:Rne,ApplyFunction:Ene,approx:$ne,approxeq:Ane,Aring:Ine,aring:One,Ascr:Mne,ascr:zne,Assign:Dne,ast:Lne,asymp:Fne,asympeq:Bne,Atilde:Nne,atilde:Hne,Auml:jne,auml:Vne,awconint:Wne,awint:Une,backcong:qne,backepsilon:Kne,backprime:Gne,backsim:Yne,backsimeq:Xne,Backslash:Zne,Barv:Jne,barvee:Qne,barwed:eoe,Barwed:toe,barwedge:noe,bbrk:ooe,bbrktbrk:roe,bcong:ioe,Bcy:aoe,bcy:soe,bdquo:loe,becaus:coe,because:uoe,Because:doe,bemptyv:foe,bepsi:hoe,bernou:poe,Bernoullis:moe,Beta:goe,beta:voe,beth:boe,between:yoe,Bfr:xoe,bfr:Coe,bigcap:woe,bigcirc:_oe,bigcup:Soe,bigodot:koe,bigoplus:Poe,bigotimes:Toe,bigsqcup:Roe,bigstar:Eoe,bigtriangledown:$oe,bigtriangleup:Aoe,biguplus:Ioe,bigvee:Ooe,bigwedge:Moe,bkarow:zoe,blacklozenge:Doe,blacksquare:Loe,blacktriangle:Foe,blacktriangledown:Boe,blacktriangleleft:Noe,blacktriangleright:Hoe,blank:joe,blk12:Voe,blk14:Woe,blk34:Uoe,block:qoe,bne:Koe,bnequiv:Goe,bNot:Yoe,bnot:Xoe,Bopf:Zoe,bopf:Joe,bot:Qoe,bottom:ere,bowtie:tre,boxbox:nre,boxdl:ore,boxdL:rre,boxDl:ire,boxDL:are,boxdr:sre,boxdR:lre,boxDr:cre,boxDR:ure,boxh:dre,boxH:fre,boxhd:hre,boxHd:pre,boxhD:mre,boxHD:gre,boxhu:vre,boxHu:bre,boxhU:yre,boxHU:xre,boxminus:Cre,boxplus:wre,boxtimes:_re,boxul:Sre,boxuL:kre,boxUl:Pre,boxUL:Tre,boxur:Rre,boxuR:Ere,boxUr:$re,boxUR:Are,boxv:Ire,boxV:Ore,boxvh:Mre,boxvH:zre,boxVh:Dre,boxVH:Lre,boxvl:Fre,boxvL:Bre,boxVl:Nre,boxVL:Hre,boxvr:jre,boxvR:Vre,boxVr:Wre,boxVR:Ure,bprime:qre,breve:Kre,Breve:Gre,brvbar:Yre,bscr:Xre,Bscr:Zre,bsemi:Jre,bsim:Qre,bsime:eie,bsolb:tie,bsol:nie,bsolhsub:oie,bull:rie,bullet:iie,bump:aie,bumpE:sie,bumpe:lie,Bumpeq:cie,bumpeq:uie,Cacute:die,cacute:fie,capand:hie,capbrcup:pie,capcap:mie,cap:gie,Cap:vie,capcup:bie,capdot:yie,CapitalDifferentialD:xie,caps:Cie,caret:wie,caron:_ie,Cayleys:Sie,ccaps:kie,Ccaron:Pie,ccaron:Tie,Ccedil:Rie,ccedil:Eie,Ccirc:$ie,ccirc:Aie,Cconint:Iie,ccups:Oie,ccupssm:Mie,Cdot:zie,cdot:Die,cedil:Lie,Cedilla:Fie,cemptyv:Bie,cent:Nie,centerdot:Hie,CenterDot:jie,cfr:Vie,Cfr:Wie,CHcy:Uie,chcy:qie,check:Kie,checkmark:Gie,Chi:Yie,chi:Xie,circ:Zie,circeq:Jie,circlearrowleft:Qie,circlearrowright:eae,circledast:tae,circledcirc:nae,circleddash:oae,CircleDot:rae,circledR:iae,circledS:aae,CircleMinus:sae,CirclePlus:lae,CircleTimes:cae,cir:uae,cirE:dae,cire:fae,cirfnint:hae,cirmid:pae,cirscir:mae,ClockwiseContourIntegral:gae,CloseCurlyDoubleQuote:vae,CloseCurlyQuote:bae,clubs:yae,clubsuit:xae,colon:Cae,Colon:wae,Colone:_ae,colone:Sae,coloneq:kae,comma:Pae,commat:Tae,comp:Rae,compfn:Eae,complement:$ae,complexes:Aae,cong:Iae,congdot:Oae,Congruent:Mae,conint:zae,Conint:Dae,ContourIntegral:Lae,copf:Fae,Copf:Bae,coprod:Nae,Coproduct:Hae,copy:jae,COPY:Vae,copysr:Wae,CounterClockwiseContourIntegral:Uae,crarr:qae,cross:Kae,Cross:Gae,Cscr:Yae,cscr:Xae,csub:Zae,csube:Jae,csup:Qae,csupe:ese,ctdot:tse,cudarrl:nse,cudarrr:ose,cuepr:rse,cuesc:ise,cularr:ase,cularrp:sse,cupbrcap:lse,cupcap:cse,CupCap:use,cup:dse,Cup:fse,cupcup:hse,cupdot:pse,cupor:mse,cups:gse,curarr:vse,curarrm:bse,curlyeqprec:yse,curlyeqsucc:xse,curlyvee:Cse,curlywedge:wse,curren:_se,curvearrowleft:Sse,curvearrowright:kse,cuvee:Pse,cuwed:Tse,cwconint:Rse,cwint:Ese,cylcty:$se,dagger:Ase,Dagger:Ise,daleth:Ose,darr:Mse,Darr:zse,dArr:Dse,dash:Lse,Dashv:Fse,dashv:Bse,dbkarow:Nse,dblac:Hse,Dcaron:jse,dcaron:Vse,Dcy:Wse,dcy:Use,ddagger:qse,ddarr:Kse,DD:Gse,dd:Yse,DDotrahd:Xse,ddotseq:Zse,deg:Jse,Del:Qse,Delta:ele,delta:tle,demptyv:nle,dfisht:ole,Dfr:rle,dfr:ile,dHar:ale,dharl:sle,dharr:lle,DiacriticalAcute:cle,DiacriticalDot:ule,DiacriticalDoubleAcute:dle,DiacriticalGrave:fle,DiacriticalTilde:hle,diam:ple,diamond:mle,Diamond:gle,diamondsuit:vle,diams:ble,die:yle,DifferentialD:xle,digamma:Cle,disin:wle,div:_le,divide:Sle,divideontimes:kle,divonx:Ple,DJcy:Tle,djcy:Rle,dlcorn:Ele,dlcrop:$le,dollar:Ale,Dopf:Ile,dopf:Ole,Dot:Mle,dot:zle,DotDot:Dle,doteq:Lle,doteqdot:Fle,DotEqual:Ble,dotminus:Nle,dotplus:Hle,dotsquare:jle,doublebarwedge:Vle,DoubleContourIntegral:Wle,DoubleDot:Ule,DoubleDownArrow:qle,DoubleLeftArrow:Kle,DoubleLeftRightArrow:Gle,DoubleLeftTee:Yle,DoubleLongLeftArrow:Xle,DoubleLongLeftRightArrow:Zle,DoubleLongRightArrow:Jle,DoubleRightArrow:Qle,DoubleRightTee:ece,DoubleUpArrow:tce,DoubleUpDownArrow:nce,DoubleVerticalBar:oce,DownArrowBar:rce,downarrow:ice,DownArrow:ace,Downarrow:sce,DownArrowUpArrow:lce,DownBreve:cce,downdownarrows:uce,downharpoonleft:dce,downharpoonright:fce,DownLeftRightVector:hce,DownLeftTeeVector:pce,DownLeftVectorBar:mce,DownLeftVector:gce,DownRightTeeVector:vce,DownRightVectorBar:bce,DownRightVector:yce,DownTeeArrow:xce,DownTee:Cce,drbkarow:wce,drcorn:_ce,drcrop:Sce,Dscr:kce,dscr:Pce,DScy:Tce,dscy:Rce,dsol:Ece,Dstrok:$ce,dstrok:Ace,dtdot:Ice,dtri:Oce,dtrif:Mce,duarr:zce,duhar:Dce,dwangle:Lce,DZcy:Fce,dzcy:Bce,dzigrarr:Nce,Eacute:Hce,eacute:jce,easter:Vce,Ecaron:Wce,ecaron:Uce,Ecirc:qce,ecirc:Kce,ecir:Gce,ecolon:Yce,Ecy:Xce,ecy:Zce,eDDot:Jce,Edot:Qce,edot:eue,eDot:tue,ee:nue,efDot:oue,Efr:rue,efr:iue,eg:aue,Egrave:sue,egrave:lue,egs:cue,egsdot:uue,el:due,Element:fue,elinters:hue,ell:pue,els:mue,elsdot:gue,Emacr:vue,emacr:bue,empty:yue,emptyset:xue,EmptySmallSquare:Cue,emptyv:wue,EmptyVerySmallSquare:_ue,emsp13:Sue,emsp14:kue,emsp:Pue,ENG:Tue,eng:Rue,ensp:Eue,Eogon:$ue,eogon:Aue,Eopf:Iue,eopf:Oue,epar:Mue,eparsl:zue,eplus:Due,epsi:Lue,Epsilon:Fue,epsilon:Bue,epsiv:Nue,eqcirc:Hue,eqcolon:jue,eqsim:Vue,eqslantgtr:Wue,eqslantless:Uue,Equal:que,equals:Kue,EqualTilde:Gue,equest:Yue,Equilibrium:Xue,equiv:Zue,equivDD:Jue,eqvparsl:Que,erarr:ede,erDot:tde,escr:nde,Escr:ode,esdot:rde,Esim:ide,esim:ade,Eta:sde,eta:lde,ETH:cde,eth:ude,Euml:dde,euml:fde,euro:hde,excl:pde,exist:mde,Exists:gde,expectation:vde,exponentiale:bde,ExponentialE:yde,fallingdotseq:xde,Fcy:Cde,fcy:wde,female:_de,ffilig:Sde,fflig:kde,ffllig:Pde,Ffr:Tde,ffr:Rde,filig:Ede,FilledSmallSquare:$de,FilledVerySmallSquare:Ade,fjlig:Ide,flat:Ode,fllig:Mde,fltns:zde,fnof:Dde,Fopf:Lde,fopf:Fde,forall:Bde,ForAll:Nde,fork:Hde,forkv:jde,Fouriertrf:Vde,fpartint:Wde,frac12:Ude,frac13:qde,frac14:Kde,frac15:Gde,frac16:Yde,frac18:Xde,frac23:Zde,frac25:Jde,frac34:Qde,frac35:efe,frac38:tfe,frac45:nfe,frac56:ofe,frac58:rfe,frac78:ife,frasl:afe,frown:sfe,fscr:lfe,Fscr:cfe,gacute:ufe,Gamma:dfe,gamma:ffe,Gammad:hfe,gammad:pfe,gap:mfe,Gbreve:gfe,gbreve:vfe,Gcedil:bfe,Gcirc:yfe,gcirc:xfe,Gcy:Cfe,gcy:wfe,Gdot:_fe,gdot:Sfe,ge:kfe,gE:Pfe,gEl:Tfe,gel:Rfe,geq:Efe,geqq:$fe,geqslant:Afe,gescc:Ife,ges:Ofe,gesdot:Mfe,gesdoto:zfe,gesdotol:Dfe,gesl:Lfe,gesles:Ffe,Gfr:Bfe,gfr:Nfe,gg:Hfe,Gg:jfe,ggg:Vfe,gimel:Wfe,GJcy:Ufe,gjcy:qfe,gla:Kfe,gl:Gfe,glE:Yfe,glj:Xfe,gnap:Zfe,gnapprox:Jfe,gne:Qfe,gnE:ehe,gneq:the,gneqq:nhe,gnsim:ohe,Gopf:rhe,gopf:ihe,grave:ahe,GreaterEqual:she,GreaterEqualLess:lhe,GreaterFullEqual:che,GreaterGreater:uhe,GreaterLess:dhe,GreaterSlantEqual:fhe,GreaterTilde:hhe,Gscr:phe,gscr:mhe,gsim:ghe,gsime:vhe,gsiml:bhe,gtcc:yhe,gtcir:xhe,gt:Che,GT:whe,Gt:_he,gtdot:She,gtlPar:khe,gtquest:Phe,gtrapprox:The,gtrarr:Rhe,gtrdot:Ehe,gtreqless:$he,gtreqqless:Ahe,gtrless:Ihe,gtrsim:Ohe,gvertneqq:Mhe,gvnE:zhe,Hacek:Dhe,hairsp:Lhe,half:Fhe,hamilt:Bhe,HARDcy:Nhe,hardcy:Hhe,harrcir:jhe,harr:Vhe,hArr:Whe,harrw:Uhe,Hat:qhe,hbar:Khe,Hcirc:Ghe,hcirc:Yhe,hearts:Xhe,heartsuit:Zhe,hellip:Jhe,hercon:Qhe,hfr:epe,Hfr:tpe,HilbertSpace:npe,hksearow:ope,hkswarow:rpe,hoarr:ipe,homtht:ape,hookleftarrow:spe,hookrightarrow:lpe,hopf:cpe,Hopf:upe,horbar:dpe,HorizontalLine:fpe,hscr:hpe,Hscr:ppe,hslash:mpe,Hstrok:gpe,hstrok:vpe,HumpDownHump:bpe,HumpEqual:ype,hybull:xpe,hyphen:Cpe,Iacute:wpe,iacute:_pe,ic:Spe,Icirc:kpe,icirc:Ppe,Icy:Tpe,icy:Rpe,Idot:Epe,IEcy:$pe,iecy:Ape,iexcl:Ipe,iff:Ope,ifr:Mpe,Ifr:zpe,Igrave:Dpe,igrave:Lpe,ii:Fpe,iiiint:Bpe,iiint:Npe,iinfin:Hpe,iiota:jpe,IJlig:Vpe,ijlig:Wpe,Imacr:Upe,imacr:qpe,image:Kpe,ImaginaryI:Gpe,imagline:Ype,imagpart:Xpe,imath:Zpe,Im:Jpe,imof:Qpe,imped:eme,Implies:tme,incare:nme,in:"∈",infin:ome,infintie:rme,inodot:ime,intcal:ame,int:sme,Int:lme,integers:cme,Integral:ume,intercal:dme,Intersection:fme,intlarhk:hme,intprod:pme,InvisibleComma:mme,InvisibleTimes:gme,IOcy:vme,iocy:bme,Iogon:yme,iogon:xme,Iopf:Cme,iopf:wme,Iota:_me,iota:Sme,iprod:kme,iquest:Pme,iscr:Tme,Iscr:Rme,isin:Eme,isindot:$me,isinE:Ame,isins:Ime,isinsv:Ome,isinv:Mme,it:zme,Itilde:Dme,itilde:Lme,Iukcy:Fme,iukcy:Bme,Iuml:Nme,iuml:Hme,Jcirc:jme,jcirc:Vme,Jcy:Wme,jcy:Ume,Jfr:qme,jfr:Kme,jmath:Gme,Jopf:Yme,jopf:Xme,Jscr:Zme,jscr:Jme,Jsercy:Qme,jsercy:ege,Jukcy:tge,jukcy:nge,Kappa:oge,kappa:rge,kappav:ige,Kcedil:age,kcedil:sge,Kcy:lge,kcy:cge,Kfr:uge,kfr:dge,kgreen:fge,KHcy:hge,khcy:pge,KJcy:mge,kjcy:gge,Kopf:vge,kopf:bge,Kscr:yge,kscr:xge,lAarr:Cge,Lacute:wge,lacute:_ge,laemptyv:Sge,lagran:kge,Lambda:Pge,lambda:Tge,lang:Rge,Lang:Ege,langd:$ge,langle:Age,lap:Ige,Laplacetrf:Oge,laquo:Mge,larrb:zge,larrbfs:Dge,larr:Lge,Larr:Fge,lArr:Bge,larrfs:Nge,larrhk:Hge,larrlp:jge,larrpl:Vge,larrsim:Wge,larrtl:Uge,latail:qge,lAtail:Kge,lat:Gge,late:Yge,lates:Xge,lbarr:Zge,lBarr:Jge,lbbrk:Qge,lbrace:eve,lbrack:tve,lbrke:nve,lbrksld:ove,lbrkslu:rve,Lcaron:ive,lcaron:ave,Lcedil:sve,lcedil:lve,lceil:cve,lcub:uve,Lcy:dve,lcy:fve,ldca:hve,ldquo:pve,ldquor:mve,ldrdhar:gve,ldrushar:vve,ldsh:bve,le:yve,lE:xve,LeftAngleBracket:Cve,LeftArrowBar:wve,leftarrow:_ve,LeftArrow:Sve,Leftarrow:kve,LeftArrowRightArrow:Pve,leftarrowtail:Tve,LeftCeiling:Rve,LeftDoubleBracket:Eve,LeftDownTeeVector:$ve,LeftDownVectorBar:Ave,LeftDownVector:Ive,LeftFloor:Ove,leftharpoondown:Mve,leftharpoonup:zve,leftleftarrows:Dve,leftrightarrow:Lve,LeftRightArrow:Fve,Leftrightarrow:Bve,leftrightarrows:Nve,leftrightharpoons:Hve,leftrightsquigarrow:jve,LeftRightVector:Vve,LeftTeeArrow:Wve,LeftTee:Uve,LeftTeeVector:qve,leftthreetimes:Kve,LeftTriangleBar:Gve,LeftTriangle:Yve,LeftTriangleEqual:Xve,LeftUpDownVector:Zve,LeftUpTeeVector:Jve,LeftUpVectorBar:Qve,LeftUpVector:ebe,LeftVectorBar:tbe,LeftVector:nbe,lEg:obe,leg:rbe,leq:ibe,leqq:abe,leqslant:sbe,lescc:lbe,les:cbe,lesdot:ube,lesdoto:dbe,lesdotor:fbe,lesg:hbe,lesges:pbe,lessapprox:mbe,lessdot:gbe,lesseqgtr:vbe,lesseqqgtr:bbe,LessEqualGreater:ybe,LessFullEqual:xbe,LessGreater:Cbe,lessgtr:wbe,LessLess:_be,lesssim:Sbe,LessSlantEqual:kbe,LessTilde:Pbe,lfisht:Tbe,lfloor:Rbe,Lfr:Ebe,lfr:$be,lg:Abe,lgE:Ibe,lHar:Obe,lhard:Mbe,lharu:zbe,lharul:Dbe,lhblk:Lbe,LJcy:Fbe,ljcy:Bbe,llarr:Nbe,ll:Hbe,Ll:jbe,llcorner:Vbe,Lleftarrow:Wbe,llhard:Ube,lltri:qbe,Lmidot:Kbe,lmidot:Gbe,lmoustache:Ybe,lmoust:Xbe,lnap:Zbe,lnapprox:Jbe,lne:Qbe,lnE:e0e,lneq:t0e,lneqq:n0e,lnsim:o0e,loang:r0e,loarr:i0e,lobrk:a0e,longleftarrow:s0e,LongLeftArrow:l0e,Longleftarrow:c0e,longleftrightarrow:u0e,LongLeftRightArrow:d0e,Longleftrightarrow:f0e,longmapsto:h0e,longrightarrow:p0e,LongRightArrow:m0e,Longrightarrow:g0e,looparrowleft:v0e,looparrowright:b0e,lopar:y0e,Lopf:x0e,lopf:C0e,loplus:w0e,lotimes:_0e,lowast:S0e,lowbar:k0e,LowerLeftArrow:P0e,LowerRightArrow:T0e,loz:R0e,lozenge:E0e,lozf:$0e,lpar:A0e,lparlt:I0e,lrarr:O0e,lrcorner:M0e,lrhar:z0e,lrhard:D0e,lrm:L0e,lrtri:F0e,lsaquo:B0e,lscr:N0e,Lscr:H0e,lsh:j0e,Lsh:V0e,lsim:W0e,lsime:U0e,lsimg:q0e,lsqb:K0e,lsquo:G0e,lsquor:Y0e,Lstrok:X0e,lstrok:Z0e,ltcc:J0e,ltcir:Q0e,lt:e1e,LT:t1e,Lt:n1e,ltdot:o1e,lthree:r1e,ltimes:i1e,ltlarr:a1e,ltquest:s1e,ltri:l1e,ltrie:c1e,ltrif:u1e,ltrPar:d1e,lurdshar:f1e,luruhar:h1e,lvertneqq:p1e,lvnE:m1e,macr:g1e,male:v1e,malt:b1e,maltese:y1e,Map:"⤅",map:x1e,mapsto:C1e,mapstodown:w1e,mapstoleft:_1e,mapstoup:S1e,marker:k1e,mcomma:P1e,Mcy:T1e,mcy:R1e,mdash:E1e,mDDot:$1e,measuredangle:A1e,MediumSpace:I1e,Mellintrf:O1e,Mfr:M1e,mfr:z1e,mho:D1e,micro:L1e,midast:F1e,midcir:B1e,mid:N1e,middot:H1e,minusb:j1e,minus:V1e,minusd:W1e,minusdu:U1e,MinusPlus:q1e,mlcp:K1e,mldr:G1e,mnplus:Y1e,models:X1e,Mopf:Z1e,mopf:J1e,mp:Q1e,mscr:eye,Mscr:tye,mstpos:nye,Mu:oye,mu:rye,multimap:iye,mumap:aye,nabla:sye,Nacute:lye,nacute:cye,nang:uye,nap:dye,napE:fye,napid:hye,napos:pye,napprox:mye,natural:gye,naturals:vye,natur:bye,nbsp:yye,nbump:xye,nbumpe:Cye,ncap:wye,Ncaron:_ye,ncaron:Sye,Ncedil:kye,ncedil:Pye,ncong:Tye,ncongdot:Rye,ncup:Eye,Ncy:$ye,ncy:Aye,ndash:Iye,nearhk:Oye,nearr:Mye,neArr:zye,nearrow:Dye,ne:Lye,nedot:Fye,NegativeMediumSpace:Bye,NegativeThickSpace:Nye,NegativeThinSpace:Hye,NegativeVeryThinSpace:jye,nequiv:Vye,nesear:Wye,nesim:Uye,NestedGreaterGreater:qye,NestedLessLess:Kye,NewLine:Gye,nexist:Yye,nexists:Xye,Nfr:Zye,nfr:Jye,ngE:Qye,nge:exe,ngeq:txe,ngeqq:nxe,ngeqslant:oxe,nges:rxe,nGg:ixe,ngsim:axe,nGt:sxe,ngt:lxe,ngtr:cxe,nGtv:uxe,nharr:dxe,nhArr:fxe,nhpar:hxe,ni:pxe,nis:mxe,nisd:gxe,niv:vxe,NJcy:bxe,njcy:yxe,nlarr:xxe,nlArr:Cxe,nldr:wxe,nlE:_xe,nle:Sxe,nleftarrow:kxe,nLeftarrow:Pxe,nleftrightarrow:Txe,nLeftrightarrow:Rxe,nleq:Exe,nleqq:$xe,nleqslant:Axe,nles:Ixe,nless:Oxe,nLl:Mxe,nlsim:zxe,nLt:Dxe,nlt:Lxe,nltri:Fxe,nltrie:Bxe,nLtv:Nxe,nmid:Hxe,NoBreak:jxe,NonBreakingSpace:Vxe,nopf:Wxe,Nopf:Uxe,Not:qxe,not:Kxe,NotCongruent:Gxe,NotCupCap:Yxe,NotDoubleVerticalBar:Xxe,NotElement:Zxe,NotEqual:Jxe,NotEqualTilde:Qxe,NotExists:eCe,NotGreater:tCe,NotGreaterEqual:nCe,NotGreaterFullEqual:oCe,NotGreaterGreater:rCe,NotGreaterLess:iCe,NotGreaterSlantEqual:aCe,NotGreaterTilde:sCe,NotHumpDownHump:lCe,NotHumpEqual:cCe,notin:uCe,notindot:dCe,notinE:fCe,notinva:hCe,notinvb:pCe,notinvc:mCe,NotLeftTriangleBar:gCe,NotLeftTriangle:vCe,NotLeftTriangleEqual:bCe,NotLess:yCe,NotLessEqual:xCe,NotLessGreater:CCe,NotLessLess:wCe,NotLessSlantEqual:_Ce,NotLessTilde:SCe,NotNestedGreaterGreater:kCe,NotNestedLessLess:PCe,notni:TCe,notniva:RCe,notnivb:ECe,notnivc:$Ce,NotPrecedes:ACe,NotPrecedesEqual:ICe,NotPrecedesSlantEqual:OCe,NotReverseElement:MCe,NotRightTriangleBar:zCe,NotRightTriangle:DCe,NotRightTriangleEqual:LCe,NotSquareSubset:FCe,NotSquareSubsetEqual:BCe,NotSquareSuperset:NCe,NotSquareSupersetEqual:HCe,NotSubset:jCe,NotSubsetEqual:VCe,NotSucceeds:WCe,NotSucceedsEqual:UCe,NotSucceedsSlantEqual:qCe,NotSucceedsTilde:KCe,NotSuperset:GCe,NotSupersetEqual:YCe,NotTilde:XCe,NotTildeEqual:ZCe,NotTildeFullEqual:JCe,NotTildeTilde:QCe,NotVerticalBar:ewe,nparallel:twe,npar:nwe,nparsl:owe,npart:rwe,npolint:iwe,npr:awe,nprcue:swe,nprec:lwe,npreceq:cwe,npre:uwe,nrarrc:dwe,nrarr:fwe,nrArr:hwe,nrarrw:pwe,nrightarrow:mwe,nRightarrow:gwe,nrtri:vwe,nrtrie:bwe,nsc:ywe,nsccue:xwe,nsce:Cwe,Nscr:wwe,nscr:_we,nshortmid:Swe,nshortparallel:kwe,nsim:Pwe,nsime:Twe,nsimeq:Rwe,nsmid:Ewe,nspar:$we,nsqsube:Awe,nsqsupe:Iwe,nsub:Owe,nsubE:Mwe,nsube:zwe,nsubset:Dwe,nsubseteq:Lwe,nsubseteqq:Fwe,nsucc:Bwe,nsucceq:Nwe,nsup:Hwe,nsupE:jwe,nsupe:Vwe,nsupset:Wwe,nsupseteq:Uwe,nsupseteqq:qwe,ntgl:Kwe,Ntilde:Gwe,ntilde:Ywe,ntlg:Xwe,ntriangleleft:Zwe,ntrianglelefteq:Jwe,ntriangleright:Qwe,ntrianglerighteq:e_e,Nu:t_e,nu:n_e,num:o_e,numero:r_e,numsp:i_e,nvap:a_e,nvdash:s_e,nvDash:l_e,nVdash:c_e,nVDash:u_e,nvge:d_e,nvgt:f_e,nvHarr:h_e,nvinfin:p_e,nvlArr:m_e,nvle:g_e,nvlt:v_e,nvltrie:b_e,nvrArr:y_e,nvrtrie:x_e,nvsim:C_e,nwarhk:w_e,nwarr:__e,nwArr:S_e,nwarrow:k_e,nwnear:P_e,Oacute:T_e,oacute:R_e,oast:E_e,Ocirc:$_e,ocirc:A_e,ocir:I_e,Ocy:O_e,ocy:M_e,odash:z_e,Odblac:D_e,odblac:L_e,odiv:F_e,odot:B_e,odsold:N_e,OElig:H_e,oelig:j_e,ofcir:V_e,Ofr:W_e,ofr:U_e,ogon:q_e,Ograve:K_e,ograve:G_e,ogt:Y_e,ohbar:X_e,ohm:Z_e,oint:J_e,olarr:Q_e,olcir:e2e,olcross:t2e,oline:n2e,olt:o2e,Omacr:r2e,omacr:i2e,Omega:a2e,omega:s2e,Omicron:l2e,omicron:c2e,omid:u2e,ominus:d2e,Oopf:f2e,oopf:h2e,opar:p2e,OpenCurlyDoubleQuote:m2e,OpenCurlyQuote:g2e,operp:v2e,oplus:b2e,orarr:y2e,Or:x2e,or:C2e,ord:w2e,order:_2e,orderof:S2e,ordf:k2e,ordm:P2e,origof:T2e,oror:R2e,orslope:E2e,orv:$2e,oS:A2e,Oscr:I2e,oscr:O2e,Oslash:M2e,oslash:z2e,osol:D2e,Otilde:L2e,otilde:F2e,otimesas:B2e,Otimes:N2e,otimes:H2e,Ouml:j2e,ouml:V2e,ovbar:W2e,OverBar:U2e,OverBrace:q2e,OverBracket:K2e,OverParenthesis:G2e,para:Y2e,parallel:X2e,par:Z2e,parsim:J2e,parsl:Q2e,part:eSe,PartialD:tSe,Pcy:nSe,pcy:oSe,percnt:rSe,period:iSe,permil:aSe,perp:sSe,pertenk:lSe,Pfr:cSe,pfr:uSe,Phi:dSe,phi:fSe,phiv:hSe,phmmat:pSe,phone:mSe,Pi:gSe,pi:vSe,pitchfork:bSe,piv:ySe,planck:xSe,planckh:CSe,plankv:wSe,plusacir:_Se,plusb:SSe,pluscir:kSe,plus:PSe,plusdo:TSe,plusdu:RSe,pluse:ESe,PlusMinus:$Se,plusmn:ASe,plussim:ISe,plustwo:OSe,pm:MSe,Poincareplane:zSe,pointint:DSe,popf:LSe,Popf:FSe,pound:BSe,prap:NSe,Pr:HSe,pr:jSe,prcue:VSe,precapprox:WSe,prec:USe,preccurlyeq:qSe,Precedes:KSe,PrecedesEqual:GSe,PrecedesSlantEqual:YSe,PrecedesTilde:XSe,preceq:ZSe,precnapprox:JSe,precneqq:QSe,precnsim:eke,pre:tke,prE:nke,precsim:oke,prime:rke,Prime:ike,primes:ake,prnap:ske,prnE:lke,prnsim:cke,prod:uke,Product:dke,profalar:fke,profline:hke,profsurf:pke,prop:mke,Proportional:gke,Proportion:vke,propto:bke,prsim:yke,prurel:xke,Pscr:Cke,pscr:wke,Psi:_ke,psi:Ske,puncsp:kke,Qfr:Pke,qfr:Tke,qint:Rke,qopf:Eke,Qopf:$ke,qprime:Ake,Qscr:Ike,qscr:Oke,quaternions:Mke,quatint:zke,quest:Dke,questeq:Lke,quot:Fke,QUOT:Bke,rAarr:Nke,race:Hke,Racute:jke,racute:Vke,radic:Wke,raemptyv:Uke,rang:qke,Rang:Kke,rangd:Gke,range:Yke,rangle:Xke,raquo:Zke,rarrap:Jke,rarrb:Qke,rarrbfs:e3e,rarrc:t3e,rarr:n3e,Rarr:o3e,rArr:r3e,rarrfs:i3e,rarrhk:a3e,rarrlp:s3e,rarrpl:l3e,rarrsim:c3e,Rarrtl:u3e,rarrtl:d3e,rarrw:f3e,ratail:h3e,rAtail:p3e,ratio:m3e,rationals:g3e,rbarr:v3e,rBarr:b3e,RBarr:y3e,rbbrk:x3e,rbrace:C3e,rbrack:w3e,rbrke:_3e,rbrksld:S3e,rbrkslu:k3e,Rcaron:P3e,rcaron:T3e,Rcedil:R3e,rcedil:E3e,rceil:$3e,rcub:A3e,Rcy:I3e,rcy:O3e,rdca:M3e,rdldhar:z3e,rdquo:D3e,rdquor:L3e,rdsh:F3e,real:B3e,realine:N3e,realpart:H3e,reals:j3e,Re:V3e,rect:W3e,reg:U3e,REG:q3e,ReverseElement:K3e,ReverseEquilibrium:G3e,ReverseUpEquilibrium:Y3e,rfisht:X3e,rfloor:Z3e,rfr:J3e,Rfr:Q3e,rHar:e4e,rhard:t4e,rharu:n4e,rharul:o4e,Rho:r4e,rho:i4e,rhov:a4e,RightAngleBracket:s4e,RightArrowBar:l4e,rightarrow:c4e,RightArrow:u4e,Rightarrow:d4e,RightArrowLeftArrow:f4e,rightarrowtail:h4e,RightCeiling:p4e,RightDoubleBracket:m4e,RightDownTeeVector:g4e,RightDownVectorBar:v4e,RightDownVector:b4e,RightFloor:y4e,rightharpoondown:x4e,rightharpoonup:C4e,rightleftarrows:w4e,rightleftharpoons:_4e,rightrightarrows:S4e,rightsquigarrow:k4e,RightTeeArrow:P4e,RightTee:T4e,RightTeeVector:R4e,rightthreetimes:E4e,RightTriangleBar:$4e,RightTriangle:A4e,RightTriangleEqual:I4e,RightUpDownVector:O4e,RightUpTeeVector:M4e,RightUpVectorBar:z4e,RightUpVector:D4e,RightVectorBar:L4e,RightVector:F4e,ring:B4e,risingdotseq:N4e,rlarr:H4e,rlhar:j4e,rlm:V4e,rmoustache:W4e,rmoust:U4e,rnmid:q4e,roang:K4e,roarr:G4e,robrk:Y4e,ropar:X4e,ropf:Z4e,Ropf:J4e,roplus:Q4e,rotimes:ePe,RoundImplies:tPe,rpar:nPe,rpargt:oPe,rppolint:rPe,rrarr:iPe,Rrightarrow:aPe,rsaquo:sPe,rscr:lPe,Rscr:cPe,rsh:uPe,Rsh:dPe,rsqb:fPe,rsquo:hPe,rsquor:pPe,rthree:mPe,rtimes:gPe,rtri:vPe,rtrie:bPe,rtrif:yPe,rtriltri:xPe,RuleDelayed:CPe,ruluhar:wPe,rx:_Pe,Sacute:SPe,sacute:kPe,sbquo:PPe,scap:TPe,Scaron:RPe,scaron:EPe,Sc:$Pe,sc:APe,sccue:IPe,sce:OPe,scE:MPe,Scedil:zPe,scedil:DPe,Scirc:LPe,scirc:FPe,scnap:BPe,scnE:NPe,scnsim:HPe,scpolint:jPe,scsim:VPe,Scy:WPe,scy:UPe,sdotb:qPe,sdot:KPe,sdote:GPe,searhk:YPe,searr:XPe,seArr:ZPe,searrow:JPe,sect:QPe,semi:eTe,seswar:tTe,setminus:nTe,setmn:oTe,sext:rTe,Sfr:iTe,sfr:aTe,sfrown:sTe,sharp:lTe,SHCHcy:cTe,shchcy:uTe,SHcy:dTe,shcy:fTe,ShortDownArrow:hTe,ShortLeftArrow:pTe,shortmid:mTe,shortparallel:gTe,ShortRightArrow:vTe,ShortUpArrow:bTe,shy:yTe,Sigma:xTe,sigma:CTe,sigmaf:wTe,sigmav:_Te,sim:STe,simdot:kTe,sime:PTe,simeq:TTe,simg:RTe,simgE:ETe,siml:$Te,simlE:ATe,simne:ITe,simplus:OTe,simrarr:MTe,slarr:zTe,SmallCircle:DTe,smallsetminus:LTe,smashp:FTe,smeparsl:BTe,smid:NTe,smile:HTe,smt:jTe,smte:VTe,smtes:WTe,SOFTcy:UTe,softcy:qTe,solbar:KTe,solb:GTe,sol:YTe,Sopf:XTe,sopf:ZTe,spades:JTe,spadesuit:QTe,spar:e5e,sqcap:t5e,sqcaps:n5e,sqcup:o5e,sqcups:r5e,Sqrt:i5e,sqsub:a5e,sqsube:s5e,sqsubset:l5e,sqsubseteq:c5e,sqsup:u5e,sqsupe:d5e,sqsupset:f5e,sqsupseteq:h5e,square:p5e,Square:m5e,SquareIntersection:g5e,SquareSubset:v5e,SquareSubsetEqual:b5e,SquareSuperset:y5e,SquareSupersetEqual:x5e,SquareUnion:C5e,squarf:w5e,squ:_5e,squf:S5e,srarr:k5e,Sscr:P5e,sscr:T5e,ssetmn:R5e,ssmile:E5e,sstarf:$5e,Star:A5e,star:I5e,starf:O5e,straightepsilon:M5e,straightphi:z5e,strns:D5e,sub:L5e,Sub:F5e,subdot:B5e,subE:N5e,sube:H5e,subedot:j5e,submult:V5e,subnE:W5e,subne:U5e,subplus:q5e,subrarr:K5e,subset:G5e,Subset:Y5e,subseteq:X5e,subseteqq:Z5e,SubsetEqual:J5e,subsetneq:Q5e,subsetneqq:eRe,subsim:tRe,subsub:nRe,subsup:oRe,succapprox:rRe,succ:iRe,succcurlyeq:aRe,Succeeds:sRe,SucceedsEqual:lRe,SucceedsSlantEqual:cRe,SucceedsTilde:uRe,succeq:dRe,succnapprox:fRe,succneqq:hRe,succnsim:pRe,succsim:mRe,SuchThat:gRe,sum:vRe,Sum:bRe,sung:yRe,sup1:xRe,sup2:CRe,sup3:wRe,sup:_Re,Sup:SRe,supdot:kRe,supdsub:PRe,supE:TRe,supe:RRe,supedot:ERe,Superset:$Re,SupersetEqual:ARe,suphsol:IRe,suphsub:ORe,suplarr:MRe,supmult:zRe,supnE:DRe,supne:LRe,supplus:FRe,supset:BRe,Supset:NRe,supseteq:HRe,supseteqq:jRe,supsetneq:VRe,supsetneqq:WRe,supsim:URe,supsub:qRe,supsup:KRe,swarhk:GRe,swarr:YRe,swArr:XRe,swarrow:ZRe,swnwar:JRe,szlig:QRe,Tab:eEe,target:tEe,Tau:nEe,tau:oEe,tbrk:rEe,Tcaron:iEe,tcaron:aEe,Tcedil:sEe,tcedil:lEe,Tcy:cEe,tcy:uEe,tdot:dEe,telrec:fEe,Tfr:hEe,tfr:pEe,there4:mEe,therefore:gEe,Therefore:vEe,Theta:bEe,theta:yEe,thetasym:xEe,thetav:CEe,thickapprox:wEe,thicksim:_Ee,ThickSpace:SEe,ThinSpace:kEe,thinsp:PEe,thkap:TEe,thksim:REe,THORN:EEe,thorn:$Ee,tilde:AEe,Tilde:IEe,TildeEqual:OEe,TildeFullEqual:MEe,TildeTilde:zEe,timesbar:DEe,timesb:LEe,times:FEe,timesd:BEe,tint:NEe,toea:HEe,topbot:jEe,topcir:VEe,top:WEe,Topf:UEe,topf:qEe,topfork:KEe,tosa:GEe,tprime:YEe,trade:XEe,TRADE:ZEe,triangle:JEe,triangledown:QEe,triangleleft:e$e,trianglelefteq:t$e,triangleq:n$e,triangleright:o$e,trianglerighteq:r$e,tridot:i$e,trie:a$e,triminus:s$e,TripleDot:l$e,triplus:c$e,trisb:u$e,tritime:d$e,trpezium:f$e,Tscr:h$e,tscr:p$e,TScy:m$e,tscy:g$e,TSHcy:v$e,tshcy:b$e,Tstrok:y$e,tstrok:x$e,twixt:C$e,twoheadleftarrow:w$e,twoheadrightarrow:_$e,Uacute:S$e,uacute:k$e,uarr:P$e,Uarr:T$e,uArr:R$e,Uarrocir:E$e,Ubrcy:$$e,ubrcy:A$e,Ubreve:I$e,ubreve:O$e,Ucirc:M$e,ucirc:z$e,Ucy:D$e,ucy:L$e,udarr:F$e,Udblac:B$e,udblac:N$e,udhar:H$e,ufisht:j$e,Ufr:V$e,ufr:W$e,Ugrave:U$e,ugrave:q$e,uHar:K$e,uharl:G$e,uharr:Y$e,uhblk:X$e,ulcorn:Z$e,ulcorner:J$e,ulcrop:Q$e,ultri:eAe,Umacr:tAe,umacr:nAe,uml:oAe,UnderBar:rAe,UnderBrace:iAe,UnderBracket:aAe,UnderParenthesis:sAe,Union:lAe,UnionPlus:cAe,Uogon:uAe,uogon:dAe,Uopf:fAe,uopf:hAe,UpArrowBar:pAe,uparrow:mAe,UpArrow:gAe,Uparrow:vAe,UpArrowDownArrow:bAe,updownarrow:yAe,UpDownArrow:xAe,Updownarrow:CAe,UpEquilibrium:wAe,upharpoonleft:_Ae,upharpoonright:SAe,uplus:kAe,UpperLeftArrow:PAe,UpperRightArrow:TAe,upsi:RAe,Upsi:EAe,upsih:$Ae,Upsilon:AAe,upsilon:IAe,UpTeeArrow:OAe,UpTee:MAe,upuparrows:zAe,urcorn:DAe,urcorner:LAe,urcrop:FAe,Uring:BAe,uring:NAe,urtri:HAe,Uscr:jAe,uscr:VAe,utdot:WAe,Utilde:UAe,utilde:qAe,utri:KAe,utrif:GAe,uuarr:YAe,Uuml:XAe,uuml:ZAe,uwangle:JAe,vangrt:QAe,varepsilon:e6e,varkappa:t6e,varnothing:n6e,varphi:o6e,varpi:r6e,varpropto:i6e,varr:a6e,vArr:s6e,varrho:l6e,varsigma:c6e,varsubsetneq:u6e,varsubsetneqq:d6e,varsupsetneq:f6e,varsupsetneqq:h6e,vartheta:p6e,vartriangleleft:m6e,vartriangleright:g6e,vBar:v6e,Vbar:b6e,vBarv:y6e,Vcy:x6e,vcy:C6e,vdash:w6e,vDash:_6e,Vdash:S6e,VDash:k6e,Vdashl:P6e,veebar:T6e,vee:R6e,Vee:E6e,veeeq:$6e,vellip:A6e,verbar:I6e,Verbar:O6e,vert:M6e,Vert:z6e,VerticalBar:D6e,VerticalLine:L6e,VerticalSeparator:F6e,VerticalTilde:B6e,VeryThinSpace:N6e,Vfr:H6e,vfr:j6e,vltri:V6e,vnsub:W6e,vnsup:U6e,Vopf:q6e,vopf:K6e,vprop:G6e,vrtri:Y6e,Vscr:X6e,vscr:Z6e,vsubnE:J6e,vsubne:Q6e,vsupnE:e8e,vsupne:t8e,Vvdash:n8e,vzigzag:o8e,Wcirc:r8e,wcirc:i8e,wedbar:a8e,wedge:s8e,Wedge:l8e,wedgeq:c8e,weierp:u8e,Wfr:d8e,wfr:f8e,Wopf:h8e,wopf:p8e,wp:m8e,wr:g8e,wreath:v8e,Wscr:b8e,wscr:y8e,xcap:x8e,xcirc:C8e,xcup:w8e,xdtri:_8e,Xfr:S8e,xfr:k8e,xharr:P8e,xhArr:T8e,Xi:R8e,xi:E8e,xlarr:$8e,xlArr:A8e,xmap:I8e,xnis:O8e,xodot:M8e,Xopf:z8e,xopf:D8e,xoplus:L8e,xotime:F8e,xrarr:B8e,xrArr:N8e,Xscr:H8e,xscr:j8e,xsqcup:V8e,xuplus:W8e,xutri:U8e,xvee:q8e,xwedge:K8e,Yacute:G8e,yacute:Y8e,YAcy:X8e,yacy:Z8e,Ycirc:J8e,ycirc:Q8e,Ycy:eIe,ycy:tIe,yen:nIe,Yfr:oIe,yfr:rIe,YIcy:iIe,yicy:aIe,Yopf:sIe,yopf:lIe,Yscr:cIe,yscr:uIe,YUcy:dIe,yucy:fIe,yuml:hIe,Yuml:pIe,Zacute:mIe,zacute:gIe,Zcaron:vIe,zcaron:bIe,Zcy:yIe,zcy:xIe,Zdot:CIe,zdot:wIe,zeetrf:_Ie,ZeroWidthSpace:SIe,Zeta:kIe,zeta:PIe,zfr:TIe,Zfr:RIe,ZHcy:EIe,zhcy:$Ie,zigrarr:AIe,zopf:IIe,Zopf:OIe,Zscr:MIe,zscr:zIe,zwj:DIe,zwnj:LIe};var pk=FIe,jm=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\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\u09FD\u0A76\u0AF0\u0C84\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-\u2E4E\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]|\uD803[\uDF55-\uDF59]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDF3C-\uDF3E]|\uD806[\uDC3B\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/,Ya={},_1={};function BIe(e){var t,n,o=_1[e];if(o)return o;for(o=_1[e]=[],t=0;t<128;t++)n=String.fromCharCode(t),/^[0-9a-z]$/i.test(n)?o.push(n):o.push("%"+("0"+t.toString(16).toUpperCase()).slice(-2));for(t=0;t"u"&&(n=!0),s=BIe(t),o=0,r=e.length;o=55296&&i<=57343){if(i>=55296&&i<=56319&&o+1=56320&&a<=57343)){l+=encodeURIComponent(e[o]+e[o+1]),o++;continue}l+="%EF%BF%BD";continue}l+=encodeURIComponent(e[o])}return l}Ku.defaultChars=";/?:@&=+$,-_.!~*'()#";Ku.componentChars="-_.!~*'()";var NIe=Ku,S1={};function HIe(e){var t,n,o=S1[e];if(o)return o;for(o=S1[e]=[],t=0;t<128;t++)n=String.fromCharCode(t),o.push(n);for(t=0;t=55296&&u<=57343?d+="���":d+=String.fromCharCode(u),r+=6;continue}if((a&248)===240&&r+91114111?d+="����":(u-=65536,d+=String.fromCharCode(55296+(u>>10),56320+(u&1023))),r+=9;continue}d+="�"}return d})}Gu.defaultChars=";/?:@&=+$,#";Gu.componentChars="";var jIe=Gu,VIe=function(t){var n="";return n+=t.protocol||"",n+=t.slashes?"//":"",n+=t.auth?t.auth+"@":"",t.hostname&&t.hostname.indexOf(":")!==-1?n+="["+t.hostname+"]":n+=t.hostname||"",n+=t.port?":"+t.port:"",n+=t.pathname||"",n+=t.search||"",n+=t.hash||"",n};function Hc(){this.protocol=null,this.slashes=null,this.auth=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.pathname=null}var WIe=/^([a-z0-9.+-]+:)/i,UIe=/:[0-9]*$/,qIe=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,KIe=["<",">",'"',"`"," ","\r",` -`," "],GIe=["{","}","|","\\","^","`"].concat(KIe),YIe=["'"].concat(GIe),k1=["%","/","?",";","#"].concat(YIe),P1=["/","?","#"],XIe=255,T1=/^[+a-z0-9A-Z_-]{0,63}$/,ZIe=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,R1={javascript:!0,"javascript:":!0},E1={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function JIe(e,t){if(e&&e instanceof Hc)return e;var n=new Hc;return n.parse(e,t),n}Hc.prototype.parse=function(e,t){var n,o,r,i,a,s=e;if(s=s.trim(),!t&&e.split("#").length===1){var l=qIe.exec(s);if(l)return this.pathname=l[1],l[2]&&(this.search=l[2]),this}var c=WIe.exec(s);if(c&&(c=c[0],r=c.toLowerCase(),this.protocol=c,s=s.substr(c.length)),(t||c||s.match(/^\/\/[^@\/]+@[^@\/]+/))&&(a=s.substr(0,2)==="//",a&&!(c&&R1[c])&&(s=s.substr(2),this.slashes=!0)),!R1[c]&&(a||c&&!E1[c])){var u=-1;for(n=0;n127?b+="x":b+=m[_];if(!b.match(T1)){var S=g.slice(0,n),w=g.slice(n+1),x=m.match(ZIe);x&&(S.push(x[1]),w.unshift(x[2])),w.length&&(s=w.join(".")+s),this.hostname=S.join(".");break}}}}this.hostname.length>XIe&&(this.hostname=""),p&&(this.hostname=this.hostname.substr(1,this.hostname.length-2))}var y=s.indexOf("#");y!==-1&&(this.hash=s.substr(y),s=s.slice(0,y));var P=s.indexOf("?");return P!==-1&&(this.search=s.substr(P),s=s.slice(0,P)),s&&(this.pathname=s),E1[r]&&this.hostname&&!this.pathname&&(this.pathname=""),this};Hc.prototype.parseHost=function(e){var t=UIe.exec(e);t&&(t=t[0],t!==":"&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)};var QIe=JIe;Ya.encode=NIe;Ya.decode=jIe;Ya.format=VIe;Ya.parse=QIe;var di={},ff,$1;function mk(){return $1||($1=1,ff=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/),ff}var hf,A1;function gk(){return A1||(A1=1,hf=/[\0-\x1F\x7F-\x9F]/),hf}var pf,I1;function eOe(){return I1||(I1=1,pf=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/),pf}var mf,O1;function vk(){return O1||(O1=1,mf=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/),mf}var M1;function tOe(){return M1||(M1=1,di.Any=mk(),di.Cc=gk(),di.Cf=eOe(),di.P=jm,di.Z=vk()),di}(function(e){function t(N){return Object.prototype.toString.call(N)}function n(N){return t(N)==="[object String]"}var o=Object.prototype.hasOwnProperty;function r(N,D){return o.call(N,D)}function i(N){var D=Array.prototype.slice.call(arguments,1);return D.forEach(function(M){if(M){if(typeof M!="object")throw new TypeError(M+"must be object");Object.keys(M).forEach(function(G){N[G]=M[G]})}}),N}function a(N,D,M){return[].concat(N.slice(0,D),M,N.slice(D+1))}function s(N){return!(N>=55296&&N<=57343||N>=64976&&N<=65007||(N&65535)===65535||(N&65535)===65534||N>=0&&N<=8||N===11||N>=14&&N<=31||N>=127&&N<=159||N>1114111)}function l(N){if(N>65535){N-=65536;var D=55296+(N>>10),M=56320+(N&1023);return String.fromCharCode(D,M)}return String.fromCharCode(N)}var c=/\\([!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~])/g,u=/&([a-z#][a-z0-9]{1,31});/gi,d=new RegExp(c.source+"|"+u.source,"gi"),f=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))$/i,h=pk;function p(N,D){var M;return r(h,D)?h[D]:D.charCodeAt(0)===35&&f.test(D)&&(M=D[1].toLowerCase()==="x"?parseInt(D.slice(2),16):parseInt(D.slice(1),10),s(M))?l(M):N}function g(N){return N.indexOf("\\")<0?N:N.replace(c,"$1")}function m(N){return N.indexOf("\\")<0&&N.indexOf("&")<0?N:N.replace(d,function(D,M,G){return M||p(D,G)})}var b=/[&<>"]/,_=/[&<>"]/g,C={"&":"&","<":"<",">":">",'"':"""};function S(N){return C[N]}function w(N){return b.test(N)?N.replace(_,S):N}var x=/[.?*+^$[\]\\(){}|-]/g;function y(N){return N.replace(x,"\\$&")}function P(N){switch(N){case 9:case 32:return!0}return!1}function k(N){if(N>=8192&&N<=8202)return!0;switch(N){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1}var T=jm;function E(N){return T.test(N)}function R(N){switch(N){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}}function K(N){return N=N.trim().replace(/\s+/g," "),"ẞ".toLowerCase()==="Ṿ"&&(N=N.replace(/ẞ/g,"ß")),N.toLowerCase().toUpperCase()}e.lib={},e.lib.mdurl=Ya,e.lib.ucmicro=tOe(),e.assign=i,e.isString=n,e.has=r,e.unescapeMd=g,e.unescapeAll=m,e.isValidEntityCode=s,e.fromCodePoint=l,e.escapeHtml=w,e.arrayReplaceAt=a,e.isSpace=P,e.isWhiteSpace=k,e.isMdAsciiPunct=R,e.isPunctChar=E,e.escapeRE=y,e.normalizeReference=K})(Ft);var Yu={},nOe=function(t,n,o){var r,i,a,s,l=-1,c=t.posMax,u=t.pos;for(t.pos=n+1,r=1;t.pos32))return s;if(r===41){if(i===0)break;i--}a++}return n===a||i!==0||(s.str=z1(t.slice(n,a)),s.pos=a,s.ok=!0),s},rOe=Ft.unescapeAll,iOe=function(t,n,o){var r,i,a=0,s=n,l={ok:!1,pos:0,lines:0,str:""};if(s>=o||(i=t.charCodeAt(s),i!==34&&i!==39&&i!==40))return l;for(s++,i===40&&(i=41);s"+zi(i.content)+""};Go.code_block=function(e,t,n,o,r){var i=e[t];return""+zi(e[t].content)+` -`};Go.fence=function(e,t,n,o,r){var i=e[t],a=i.info?sOe(i.info).trim():"",s="",l="",c,u,d,f,h;return a&&(d=a.split(/(\s+)/g),s=d[0],l=d.slice(2).join("")),n.highlight?c=n.highlight(i.content,s,l)||zi(i.content):c=zi(i.content),c.indexOf(""+c+` -`):"
"+c+`
-`};Go.image=function(e,t,n,o,r){var i=e[t];return i.attrs[i.attrIndex("alt")][1]=r.renderInlineAsText(i.children,n,o),r.renderToken(e,t,n)};Go.hardbreak=function(e,t,n){return n.xhtmlOut?`
-`:`
-`};Go.softbreak=function(e,t,n){return n.breaks?n.xhtmlOut?`
-`:`
-`:` -`};Go.text=function(e,t){return zi(e[t].content)};Go.html_block=function(e,t){return e[t].content};Go.html_inline=function(e,t){return e[t].content};function Xa(){this.rules=aOe({},Go)}Xa.prototype.renderAttrs=function(t){var n,o,r;if(!t.attrs)return"";for(r="",n=0,o=t.attrs.length;n -`:">",i)};Xa.prototype.renderInline=function(e,t,n){for(var o,r="",i=this.rules,a=0,s=e.length;a\s]/i.test(e)}function gOe(e){return/^<\/a\s*>/i.test(e)}var vOe=function(t){var n,o,r,i,a,s,l,c,u,d,f,h,p,g,m,b,_=t.tokens,C;if(t.md.options.linkify){for(o=0,r=_.length;o=0;n--){if(s=i[n],s.type==="link_close"){for(n--;i[n].level!==s.level&&i[n].type!=="link_open";)n--;continue}if(s.type==="html_inline"&&(mOe(s.content)&&p>0&&p--,gOe(s.content)&&p++),!(p>0)&&s.type==="text"&&t.md.linkify.test(s.content)){for(u=s.content,C=t.md.linkify.match(u),l=[],h=s.level,f=0,C.length>0&&C[0].index===0&&n>0&&i[n-1].type==="text_special"&&(C=C.slice(1)),c=0;cf&&(a=new t.Token("text","",0),a.content=u.slice(f,d),a.level=h,l.push(a)),a=new t.Token("link_open","a",1),a.attrs=[["href",m]],a.level=h++,a.markup="linkify",a.info="auto",l.push(a),a=new t.Token("text","",0),a.content=b,a.level=h,l.push(a),a=new t.Token("link_close","a",-1),a.level=--h,a.markup="linkify",a.info="auto",l.push(a),f=C[c].lastIndex);f=0;t--)n=e[t],n.type==="text"&&!o&&(n.content=n.content.replace(yOe,COe)),n.type==="link_open"&&n.info==="auto"&&o--,n.type==="link_close"&&n.info==="auto"&&o++}function _Oe(e){var t,n,o=0;for(t=e.length-1;t>=0;t--)n=e[t],n.type==="text"&&!o&&bk.test(n.content)&&(n.content=n.content.replace(/\+-/g,"±").replace(/\.{2,}/g,"…").replace(/([?!])…/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---(?=[^-]|$)/mg,"$1—").replace(/(^|\s)--(?=\s|$)/mg,"$1–").replace(/(^|[^-\s])--(?=[^-\s]|$)/mg,"$1–")),n.type==="link_open"&&n.info==="auto"&&o--,n.type==="link_close"&&n.info==="auto"&&o++}var SOe=function(t){var n;if(t.md.options.typographer)for(n=t.tokens.length-1;n>=0;n--)t.tokens[n].type==="inline"&&(bOe.test(t.tokens[n].content)&&wOe(t.tokens[n].children),bk.test(t.tokens[n].content)&&_Oe(t.tokens[n].children))},D1=Ft.isWhiteSpace,L1=Ft.isPunctChar,F1=Ft.isMdAsciiPunct,kOe=/['"]/,B1=/['"]/g,N1="’";function Xl(e,t,n){return e.slice(0,t)+n+e.slice(t+1)}function POe(e,t){var n,o,r,i,a,s,l,c,u,d,f,h,p,g,m,b,_,C,S,w,x;for(S=[],n=0;n=0&&!(S[_].level<=l);_--);if(S.length=_+1,o.type==="text"){r=o.content,a=0,s=r.length;e:for(;a=0)u=r.charCodeAt(i.index-1);else for(_=n-1;_>=0&&!(e[_].type==="softbreak"||e[_].type==="hardbreak");_--)if(e[_].content){u=e[_].content.charCodeAt(e[_].content.length-1);break}if(d=32,a=48&&u<=57&&(b=m=!1),m&&b&&(m=f,b=h),!m&&!b){C&&(o.content=Xl(o.content,i.index,N1));continue}if(b){for(_=S.length-1;_>=0&&(c=S[_],!(S[_].level=0;n--)t.tokens[n].type!=="inline"||!kOe.test(t.tokens[n].content)||POe(t.tokens[n].children,t)},ROe=function(t){var n,o,r,i,a,s,l=t.tokens;for(n=0,o=l.length;n=0&&(o=this.attrs[n][1]),o};Za.prototype.attrJoin=function(t,n){var o=this.attrIndex(t);o<0?this.attrPush([t,n]):this.attrs[o][1]=this.attrs[o][1]+" "+n};var Wm=Za,EOe=Wm;function yk(e,t,n){this.src=e,this.env=n,this.tokens=[],this.inlineMode=!1,this.md=t}yk.prototype.Token=EOe;var $Oe=yk,AOe=Vm,gf=[["normalize",dOe],["block",fOe],["inline",hOe],["linkify",vOe],["replacements",SOe],["smartquotes",TOe],["text_join",ROe]];function Um(){this.ruler=new AOe;for(var e=0;eo||(u=n+1,t.sCount[u]=4||(s=t.bMarks[u]+t.tShift[u],s>=t.eMarks[u])||(w=t.src.charCodeAt(s++),w!==124&&w!==45&&w!==58)||s>=t.eMarks[u]||(x=t.src.charCodeAt(s++),x!==124&&x!==45&&x!==58&&!vf(x))||w===45&&vf(x))return!1;for(;s=4||(d=H1(a),d.length&&d[0]===""&&d.shift(),d.length&&d[d.length-1]===""&&d.pop(),f=d.length,f===0||f!==p.length))return!1;if(r)return!0;for(_=t.parentType,t.parentType="table",S=t.md.block.ruler.getRules("blockquote"),h=t.push("table_open","table",1),h.map=m=[n,0],h=t.push("thead_open","thead",1),h.map=[n,n+1],h=t.push("tr_open","tr",1),h.map=[n,n+1],l=0;l=4)break;for(d=H1(a),d.length&&d[0]===""&&d.shift(),d.length&&d[d.length-1]===""&&d.pop(),u===n+2&&(h=t.push("tbody_open","tbody",1),h.map=b=[n+2,0]),h=t.push("tr_open","tr",1),h.map=[u,u+1],l=0;l=4){r++,i=r;continue}break}return t.line=i,a=t.push("code_block","code",0),a.content=t.getLines(n,i,4+t.blkIndent,!1)+` -`,a.map=[n,t.line],!0},zOe=function(t,n,o,r){var i,a,s,l,c,u,d,f=!1,h=t.bMarks[n]+t.tShift[n],p=t.eMarks[n];if(t.sCount[n]-t.blkIndent>=4||h+3>p||(i=t.src.charCodeAt(h),i!==126&&i!==96)||(c=h,h=t.skipChars(h,i),a=h-c,a<3)||(d=t.src.slice(c,h),s=t.src.slice(h,p),i===96&&s.indexOf(String.fromCharCode(i))>=0))return!1;if(r)return!0;for(l=n;l++,!(l>=o||(h=c=t.bMarks[l]+t.tShift[l],p=t.eMarks[l],h=4)&&(h=t.skipChars(h,i),!(h-c=4||t.src.charCodeAt(T)!==62)return!1;if(r)return!0;for(p=[],g=[],_=[],C=[],x=t.md.block.ruler.getRules("blockquote"),b=t.parentType,t.parentType="blockquote",f=n;f=E));f++){if(t.src.charCodeAt(T++)===62&&!P){for(l=t.sCount[f]+1,t.src.charCodeAt(T)===32?(T++,l++,i=!1,S=!0):t.src.charCodeAt(T)===9?(S=!0,(t.bsCount[f]+l)%4===3?(T++,l++,i=!1):i=!0):S=!1,h=l,p.push(t.bMarks[f]),t.bMarks[f]=T;T=E,g.push(t.bsCount[f]),t.bsCount[f]=t.sCount[f]+1+(S?1:0),_.push(t.sCount[f]),t.sCount[f]=h-l,C.push(t.tShift[f]),t.tShift[f]=T-t.bMarks[f];continue}if(u)break;for(w=!1,s=0,c=x.length;s",y.map=d=[n,0],t.md.block.tokenize(t,n,f),y=t.push("blockquote_close","blockquote",-1),y.markup=">",t.lineMax=k,t.parentType=b,d[1]=t.line,s=0;s=4||(i=t.src.charCodeAt(c++),i!==42&&i!==45&&i!==95))return!1;for(a=1;c=i||(n=e.src.charCodeAt(r++),n<48||n>57))return-1;for(;;){if(r>=i)return-1;if(n=e.src.charCodeAt(r++),n>=48&&n<=57){if(r-o>=10)return-1;continue}if(n===41||n===46)break;return-1}return r=4||t.listIndent>=0&&t.sCount[M]-t.listIndent>=4&&t.sCount[M]=t.blkIndent&&(G=!0),(T=V1(t,M))>=0){if(d=!0,R=t.bMarks[M]+t.tShift[M],b=Number(t.src.slice(R,T-1)),G&&b!==1)return!1}else if((T=j1(t,M))>=0)d=!1;else return!1;if(G&&t.skipSpaces(T)>=t.eMarks[M])return!1;if(r)return!0;for(m=t.src.charCodeAt(T-1),g=t.tokens.length,d?(D=t.push("ordered_list_open","ol",1),b!==1&&(D.attrs=[["start",b]])):D=t.push("bullet_list_open","ul",1),D.map=p=[M,0],D.markup=String.fromCharCode(m),E=!1,N=t.md.block.ruler.getRules("list"),w=t.parentType,t.parentType="list";M=_?c=1:c=C-u,c>4&&(c=1),l=u+c,D=t.push("list_item_open","li",1),D.markup=String.fromCharCode(m),D.map=f=[M,0],d&&(D.info=t.src.slice(R,T-1)),P=t.tight,y=t.tShift[M],x=t.sCount[M],S=t.listIndent,t.listIndent=t.blkIndent,t.blkIndent=l,t.tight=!0,t.tShift[M]=a-t.bMarks[M],t.sCount[M]=C,a>=_&&t.isEmpty(M+1)?t.line=Math.min(t.line+2,o):t.md.block.tokenize(t,M,o,!0),(!t.tight||E)&&(J=!1),E=t.line-M>1&&t.isEmpty(t.line-1),t.blkIndent=t.listIndent,t.listIndent=S,t.tShift[M]=y,t.sCount[M]=x,t.tight=P,D=t.push("list_item_close","li",-1),D.markup=String.fromCharCode(m),M=t.line,f[1]=M,M>=o||t.sCount[M]=4)break;for(K=!1,s=0,h=N.length;s=4||t.src.charCodeAt(x)!==91)return!1;for(;++x3)&&!(t.sCount[P]<0)){for(_=!1,u=0,d=C.length;u"u"&&(t.env.references={}),typeof t.env.references[f]>"u"&&(t.env.references[f]={title:S,href:c}),t.parentType=p,t.line=n+w+1),!0)},WOe=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","section","source","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],Xu={},UOe="[a-zA-Z_:][a-zA-Z0-9:._-]*",qOe="[^\"'=<>`\\x00-\\x20]+",KOe="'[^']*'",GOe='"[^"]*"',YOe="(?:"+qOe+"|"+KOe+"|"+GOe+")",XOe="(?:\\s+"+UOe+"(?:\\s*=\\s*"+YOe+")?)",Ck="<[A-Za-z][A-Za-z0-9\\-]*"+XOe+"*\\s*\\/?>",wk="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",ZOe="|",JOe="<[?][\\s\\S]*?[?]>",QOe="]*>",eMe="",tMe=new RegExp("^(?:"+Ck+"|"+wk+"|"+ZOe+"|"+JOe+"|"+QOe+"|"+eMe+")"),nMe=new RegExp("^(?:"+Ck+"|"+wk+")");Xu.HTML_TAG_RE=tMe;Xu.HTML_OPEN_CLOSE_TAG_RE=nMe;var oMe=WOe,rMe=Xu.HTML_OPEN_CLOSE_TAG_RE,ia=[[/^<(script|pre|style|textarea)(?=(\s|>|$))/i,/<\/(script|pre|style|textarea)>/i,!0],[/^/,!0],[/^<\?/,/\?>/,!0],[/^/,!0],[/^/,!0],[new RegExp("^|$))","i"),/^$/,!0],[new RegExp(rMe.source+"\\s*$"),/^$/,!1]],iMe=function(t,n,o,r){var i,a,s,l,c=t.bMarks[n]+t.tShift[n],u=t.eMarks[n];if(t.sCount[n]-t.blkIndent>=4||!t.md.options.html||t.src.charCodeAt(c)!==60)return!1;for(l=t.src.slice(c,u),i=0;i=4||(i=t.src.charCodeAt(c),i!==35||c>=u))return!1;for(a=1,i=t.src.charCodeAt(++c);i===35&&c6||cc&&W1(t.src.charCodeAt(s-1))&&(u=s),t.line=n+1,l=t.push("heading_open","h"+String(a),1),l.markup="########".slice(0,a),l.map=[n,t.line],l=t.push("inline","",0),l.content=t.src.slice(c,u).trim(),l.map=[n,t.line],l.children=[],l=t.push("heading_close","h"+String(a),-1),l.markup="########".slice(0,a)),!0)},sMe=function(t,n,o){var r,i,a,s,l,c,u,d,f,h=n+1,p,g=t.md.block.ruler.getRules("paragraph");if(t.sCount[n]-t.blkIndent>=4)return!1;for(p=t.parentType,t.parentType="paragraph";h3)){if(t.sCount[h]>=t.blkIndent&&(c=t.bMarks[h]+t.tShift[h],u=t.eMarks[h],c=u)))){d=f===61?1:2;break}if(!(t.sCount[h]<0)){for(i=!1,a=0,s=g.length;a3)&&!(t.sCount[u]<0)){for(i=!1,a=0,s=d.length;a0&&this.level++,this.tokens.push(o),o};Yo.prototype.isEmpty=function(t){return this.bMarks[t]+this.tShift[t]>=this.eMarks[t]};Yo.prototype.skipEmptyLines=function(t){for(var n=this.lineMax;tn;)if(!Zu(this.src.charCodeAt(--t)))return t+1;return t};Yo.prototype.skipChars=function(t,n){for(var o=this.src.length;to;)if(n!==this.src.charCodeAt(--t))return t+1;return t};Yo.prototype.getLines=function(t,n,o,r){var i,a,s,l,c,u,d,f=t;if(t>=n)return"";for(u=new Array(n-t),i=0;fo?u[i]=new Array(a-o+1).join(" ")+this.src.slice(l,c):u[i]=this.src.slice(l,c)}return u.join("")};Yo.prototype.Token=_k;var cMe=Yo,uMe=Vm,Jl=[["table",OOe,["paragraph","reference"]],["code",MOe],["fence",zOe,["paragraph","reference","blockquote","list"]],["blockquote",LOe,["paragraph","reference","blockquote","list"]],["hr",BOe,["paragraph","reference","blockquote","list"]],["list",HOe,["paragraph","reference","blockquote"]],["reference",VOe],["html_block",iMe,["paragraph","reference","blockquote"]],["heading",aMe,["paragraph","reference","blockquote"]],["lheading",sMe],["paragraph",lMe]];function Ju(){this.ruler=new uMe;for(var e=0;e=n||e.sCount[l]=u){e.line=n;break}for(i=e.line,r=0;r=e.line)throw new Error("block rule didn't increment state.line");break}if(!o)throw new Error("none of the block rules matched");e.tight=!c,e.isEmpty(e.line-1)&&(c=!0),l=e.line,l0||(o=t.pos,r=t.posMax,o+3>r)||t.src.charCodeAt(o)!==58||t.src.charCodeAt(o+1)!==47||t.src.charCodeAt(o+2)!==47||(i=t.pending.match(pMe),!i)||(a=i[1],s=t.md.linkify.matchAtStart(t.src.slice(o-a.length)),!s)||(l=s.url,l.length<=a.length)||(l=l.replace(/\*+$/,""),c=t.md.normalizeLink(l),!t.md.validateLink(c))?!1:(n||(t.pending=t.pending.slice(0,-a.length),u=t.push("link_open","a",1),u.attrs=[["href",c]],u.markup="linkify",u.info="auto",u=t.push("text","",0),u.content=t.md.normalizeLinkText(l),u=t.push("link_close","a",-1),u.markup="linkify",u.info="auto"),t.pos+=l.length-a.length,!0)},gMe=Ft.isSpace,vMe=function(t,n){var o,r,i,a=t.pos;if(t.src.charCodeAt(a)!==10)return!1;if(o=t.pending.length-1,r=t.posMax,!n)if(o>=0&&t.pending.charCodeAt(o)===32)if(o>=1&&t.pending.charCodeAt(o-1)===32){for(i=o-1;i>=1&&t.pending.charCodeAt(i-1)===32;)i--;t.pending=t.pending.slice(0,i),t.push("hardbreak","br",0)}else t.pending=t.pending.slice(0,-1),t.push("softbreak","br",0);else t.push("softbreak","br",0);for(a++;a?@[]^_`{|}~-".split("").forEach(function(e){qm[e.charCodeAt(0)]=1});var yMe=function(t,n){var o,r,i,a,s,l=t.pos,c=t.posMax;if(t.src.charCodeAt(l)!==92||(l++,l>=c))return!1;if(o=t.src.charCodeAt(l),o===10){for(n||t.push("hardbreak","br",0),l++;l=55296&&o<=56319&&l+1=56320&&r<=57343&&(a+=t.src[l+1],l++)),i="\\"+a,n||(s=t.push("text_special","",0),o<256&&qm[o]!==0?s.content=a:s.content=i,s.markup=i,s.info="escape"),t.pos=l+1,!0},xMe=function(t,n){var o,r,i,a,s,l,c,u,d=t.pos,f=t.src.charCodeAt(d);if(f!==96)return!1;for(o=d,d++,r=t.posMax;d=0;n--)o=t[n],!(o.marker!==95&&o.marker!==42)&&o.end!==-1&&(r=t[o.end],s=n>0&&t[n-1].end===o.end+1&&t[n-1].marker===o.marker&&t[n-1].token===o.token-1&&t[o.end+1].token===r.token+1,a=String.fromCharCode(o.marker),i=e.tokens[o.token],i.type=s?"strong_open":"em_open",i.tag=s?"strong":"em",i.nesting=1,i.markup=s?a+a:a,i.content="",i=e.tokens[r.token],i.type=s?"strong_close":"em_close",i.tag=s?"strong":"em",i.nesting=-1,i.markup=s?a+a:a,i.content="",s&&(e.tokens[t[n-1].token].content="",e.tokens[t[o.end+1].token].content="",n--))}ed.postProcess=function(t){var n,o=t.tokens_meta,r=t.tokens_meta.length;for(K1(t,t.delimiters),n=0;n=g)return!1;if(m=l,c=t.md.helpers.parseLinkDestination(t.src,l,t.posMax),c.ok){for(f=t.md.normalizeLink(c.str),t.md.validateLink(f)?l=c.pos:f="",m=l;l=g||t.src.charCodeAt(l)!==41)&&(b=!0),l++}if(b){if(typeof t.env.references>"u")return!1;if(l=0?i=t.src.slice(m,l++):l=a+1):l=a+1,i||(i=t.src.slice(s,a)),u=t.env.references[CMe(i)],!u)return t.pos=p,!1;f=u.href,h=u.title}return n||(t.pos=s,t.posMax=a,d=t.push("link_open","a",1),d.attrs=o=[["href",f]],h&&o.push(["title",h]),t.linkLevel++,t.md.inline.tokenize(t),t.linkLevel--,d=t.push("link_close","a",-1)),t.pos=l,t.posMax=g,!0},_Me=Ft.normalizeReference,xf=Ft.isSpace,SMe=function(t,n){var o,r,i,a,s,l,c,u,d,f,h,p,g,m="",b=t.pos,_=t.posMax;if(t.src.charCodeAt(t.pos)!==33||t.src.charCodeAt(t.pos+1)!==91||(l=t.pos+2,s=t.md.helpers.parseLinkLabel(t,t.pos+1,!1),s<0))return!1;if(c=s+1,c<_&&t.src.charCodeAt(c)===40){for(c++;c<_&&(r=t.src.charCodeAt(c),!(!xf(r)&&r!==10));c++);if(c>=_)return!1;for(g=c,d=t.md.helpers.parseLinkDestination(t.src,c,t.posMax),d.ok&&(m=t.md.normalizeLink(d.str),t.md.validateLink(m)?c=d.pos:m=""),g=c;c<_&&(r=t.src.charCodeAt(c),!(!xf(r)&&r!==10));c++);if(d=t.md.helpers.parseLinkTitle(t.src,c,t.posMax),c<_&&g!==c&&d.ok)for(f=d.str,c=d.pos;c<_&&(r=t.src.charCodeAt(c),!(!xf(r)&&r!==10));c++);else f="";if(c>=_||t.src.charCodeAt(c)!==41)return t.pos=b,!1;c++}else{if(typeof t.env.references>"u")return!1;if(c<_&&t.src.charCodeAt(c)===91?(g=c+1,c=t.md.helpers.parseLinkLabel(t,c),c>=0?a=t.src.slice(g,c++):c=s+1):c=s+1,a||(a=t.src.slice(l,s)),u=t.env.references[_Me(a)],!u)return t.pos=b,!1;m=u.href,f=u.title}return n||(i=t.src.slice(l,s),t.md.inline.parse(i,t.md,t.env,p=[]),h=t.push("image","img",0),h.attrs=o=[["src",m],["alt",""]],h.children=p,h.content=i,f&&o.push(["title",f])),t.pos=c,t.posMax=_,!0},kMe=/^([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/,PMe=/^([a-zA-Z][a-zA-Z0-9+.\-]{1,31}):([^<>\x00-\x20]*)$/,TMe=function(t,n){var o,r,i,a,s,l,c=t.pos;if(t.src.charCodeAt(c)!==60)return!1;for(s=t.pos,l=t.posMax;;){if(++c>=l||(a=t.src.charCodeAt(c),a===60))return!1;if(a===62)break}return o=t.src.slice(s+1,c),PMe.test(o)?(r=t.md.normalizeLink(o),t.md.validateLink(r)?(n||(i=t.push("link_open","a",1),i.attrs=[["href",r]],i.markup="autolink",i.info="auto",i=t.push("text","",0),i.content=t.md.normalizeLinkText(o),i=t.push("link_close","a",-1),i.markup="autolink",i.info="auto"),t.pos+=o.length+2,!0):!1):kMe.test(o)?(r=t.md.normalizeLink("mailto:"+o),t.md.validateLink(r)?(n||(i=t.push("link_open","a",1),i.attrs=[["href",r]],i.markup="autolink",i.info="auto",i=t.push("text","",0),i.content=t.md.normalizeLinkText(o),i=t.push("link_close","a",-1),i.markup="autolink",i.info="auto"),t.pos+=o.length+2,!0):!1):!1},RMe=Xu.HTML_TAG_RE;function EMe(e){return/^\s]/i.test(e)}function $Me(e){return/^<\/a\s*>/i.test(e)}function AMe(e){var t=e|32;return t>=97&&t<=122}var IMe=function(t,n){var o,r,i,a,s=t.pos;return!t.md.options.html||(i=t.posMax,t.src.charCodeAt(s)!==60||s+2>=i)||(o=t.src.charCodeAt(s+1),o!==33&&o!==63&&o!==47&&!AMe(o))||(r=t.src.slice(s).match(RMe),!r)?!1:(n||(a=t.push("html_inline","",0),a.content=r[0],EMe(a.content)&&t.linkLevel++,$Me(a.content)&&t.linkLevel--),t.pos+=r[0].length,!0)},G1=pk,OMe=Ft.has,MMe=Ft.isValidEntityCode,Y1=Ft.fromCodePoint,zMe=/^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i,DMe=/^&([a-z][a-z0-9]{1,31});/i,LMe=function(t,n){var o,r,i,a,s=t.pos,l=t.posMax;if(t.src.charCodeAt(s)!==38||s+1>=l)return!1;if(o=t.src.charCodeAt(s+1),o===35){if(i=t.src.slice(s).match(zMe),i)return n||(r=i[1][0].toLowerCase()==="x"?parseInt(i[1].slice(1),16):parseInt(i[1],10),a=t.push("text_special","",0),a.content=MMe(r)?Y1(r):Y1(65533),a.markup=i[0],a.info="entity"),t.pos+=i[0].length,!0}else if(i=t.src.slice(s).match(DMe),i&&OMe(G1,i[1]))return n||(a=t.push("text_special","",0),a.content=G1[i[1]],a.markup=i[0],a.info="entity"),t.pos+=i[0].length,!0;return!1};function X1(e){var t,n,o,r,i,a,s,l,c={},u=e.length;if(u){var d=0,f=-2,h=[];for(t=0;ti;n-=h[n]+1)if(r=e[n],r.marker===o.marker&&r.open&&r.end<0&&(s=!1,(r.close||o.open)&&(r.length+o.length)%3===0&&(r.length%3!==0||o.length%3!==0)&&(s=!0),!s)){l=n>0&&!e[n-1].open?h[n-1]+1:0,h[t]=t-n+l,h[n]=l,o.open=!1,r.end=t,r.close=!1,a=-1,f=-2;break}a!==-1&&(c[o.marker][(o.open?3:0)+(o.length||0)%3]=a)}}}var FMe=function(t){var n,o=t.tokens_meta,r=t.tokens_meta.length;for(X1(t.delimiters),n=0;n0&&r++,i[n].type==="text"&&n+10&&(this.level++,this._prev_delimiters.push(this.delimiters),this.delimiters=[],r={delimiters:this.delimiters}),this.pendingLevel=this.level,this.tokens.push(o),this.tokens_meta.push(r),o};bl.prototype.scanDelims=function(e,t){var n=e,o,r,i,a,s,l,c,u,d,f=!0,h=!0,p=this.posMax,g=this.src.charCodeAt(e);for(o=e>0?this.src.charCodeAt(e-1):32;n=e.pos)throw new Error("inline rule didn't increment state.pos");break}}else e.pos=e.posMax;t||e.pos++,s[o]=e.pos};yl.prototype.tokenize=function(e){for(var t,n,o,r=this.ruler.getRules(""),i=r.length,a=e.posMax,s=e.md.options.maxNesting;e.pos=e.pos)throw new Error("inline rule didn't increment state.pos");break}}if(t){if(e.pos>=a)break;continue}e.pending+=e.src[e.pos++]}e.pending&&e.pushPending()};yl.prototype.parse=function(e,t,n,o){var r,i,a,s=new this.State(e,t,n,o);for(this.tokenize(s),i=this.ruler2.getRules(""),a=i.length,r=0;r|$))",t.tpl_email_fuzzy="(^|"+n+'|"|\\(|'+t.src_ZCc+")("+t.src_email_name+"@"+t.tpl_host_fuzzy_strict+")",t.tpl_link_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+t.src_ZPCc+"))((?![$+<=>^`||])"+t.tpl_host_port_fuzzy_strict+t.src_path+")",t.tpl_link_no_ip_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+t.src_ZPCc+"))((?![$+<=>^`||])"+t.tpl_host_port_no_ip_fuzzy_strict+t.src_path+")",t}),_f}function Wh(e){var t=Array.prototype.slice.call(arguments,1);return t.forEach(function(n){n&&Object.keys(n).forEach(function(o){e[o]=n[o]})}),e}function td(e){return Object.prototype.toString.call(e)}function VMe(e){return td(e)==="[object String]"}function WMe(e){return td(e)==="[object Object]"}function UMe(e){return td(e)==="[object RegExp]"}function ny(e){return td(e)==="[object Function]"}function qMe(e){return e.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}var Sk={fuzzyLink:!0,fuzzyEmail:!0,fuzzyIP:!1};function KMe(e){return Object.keys(e||{}).reduce(function(t,n){return t||Sk.hasOwnProperty(n)},!1)}var GMe={"http:":{validate:function(e,t,n){var o=e.slice(t);return n.re.http||(n.re.http=new RegExp("^\\/\\/"+n.re.src_auth+n.re.src_host_port_strict+n.re.src_path,"i")),n.re.http.test(o)?o.match(n.re.http)[0].length:0}},"https:":"http:","ftp:":"http:","//":{validate:function(e,t,n){var o=e.slice(t);return n.re.no_http||(n.re.no_http=new RegExp("^"+n.re.src_auth+"(?:localhost|(?:(?:"+n.re.src_domain+")\\.)+"+n.re.src_domain_root+")"+n.re.src_port+n.re.src_host_terminator+n.re.src_path,"i")),n.re.no_http.test(o)?t>=3&&e[t-3]===":"||t>=3&&e[t-3]==="/"?0:o.match(n.re.no_http)[0].length:0}},"mailto:":{validate:function(e,t,n){var o=e.slice(t);return n.re.mailto||(n.re.mailto=new RegExp("^"+n.re.src_email_name+"@"+n.re.src_host_strict,"i")),n.re.mailto.test(o)?o.match(n.re.mailto)[0].length:0}}},YMe="a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]",XMe="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф".split("|");function ZMe(e){e.__index__=-1,e.__text_cache__=""}function JMe(e){return function(t,n){var o=t.slice(n);return e.test(o)?o.match(e)[0].length:0}}function oy(){return function(e,t){t.normalize(e)}}function jc(e){var t=e.re=jMe()(e.__opts__),n=e.__tlds__.slice();e.onCompile(),e.__tlds_replaced__||n.push(YMe),n.push(t.src_xn),t.src_tlds=n.join("|");function o(s){return s.replace("%TLDS%",t.src_tlds)}t.email_fuzzy=RegExp(o(t.tpl_email_fuzzy),"i"),t.link_fuzzy=RegExp(o(t.tpl_link_fuzzy),"i"),t.link_no_ip_fuzzy=RegExp(o(t.tpl_link_no_ip_fuzzy),"i"),t.host_fuzzy_test=RegExp(o(t.tpl_host_fuzzy_test),"i");var r=[];e.__compiled__={};function i(s,l){throw new Error('(LinkifyIt) Invalid schema "'+s+'": '+l)}Object.keys(e.__schemas__).forEach(function(s){var l=e.__schemas__[s];if(l!==null){var c={validate:null,link:null};if(e.__compiled__[s]=c,WMe(l)){UMe(l.validate)?c.validate=JMe(l.validate):ny(l.validate)?c.validate=l.validate:i(s,l),ny(l.normalize)?c.normalize=l.normalize:l.normalize?i(s,l):c.normalize=oy();return}if(VMe(l)){r.push(s);return}i(s,l)}}),r.forEach(function(s){e.__compiled__[e.__schemas__[s]]&&(e.__compiled__[s].validate=e.__compiled__[e.__schemas__[s]].validate,e.__compiled__[s].normalize=e.__compiled__[e.__schemas__[s]].normalize)}),e.__compiled__[""]={validate:null,normalize:oy()};var a=Object.keys(e.__compiled__).filter(function(s){return s.length>0&&e.__compiled__[s]}).map(qMe).join("|");e.re.schema_test=RegExp("(^|(?!_)(?:[><|]|"+t.src_ZPCc+"))("+a+")","i"),e.re.schema_search=RegExp("(^|(?!_)(?:[><|]|"+t.src_ZPCc+"))("+a+")","ig"),e.re.schema_at_start=RegExp("^"+e.re.schema_search.source,"i"),e.re.pretest=RegExp("("+e.re.schema_test.source+")|("+e.re.host_fuzzy_test.source+")|@","i"),ZMe(e)}function QMe(e,t){var n=e.__index__,o=e.__last_index__,r=e.__text_cache__.slice(n,o);this.schema=e.__schema__.toLowerCase(),this.index=n+t,this.lastIndex=o+t,this.raw=r,this.text=r,this.url=r}function Uh(e,t){var n=new QMe(e,t);return e.__compiled__[n.schema].normalize(n,e),n}function no(e,t){if(!(this instanceof no))return new no(e,t);t||KMe(e)&&(t=e,e={}),this.__opts__=Wh({},Sk,t),this.__index__=-1,this.__last_index__=-1,this.__schema__="",this.__text_cache__="",this.__schemas__=Wh({},GMe,e),this.__compiled__={},this.__tlds__=XMe,this.__tlds_replaced__=!1,this.re={},jc(this)}no.prototype.add=function(t,n){return this.__schemas__[t]=n,jc(this),this};no.prototype.set=function(t){return this.__opts__=Wh(this.__opts__,t),this};no.prototype.test=function(t){if(this.__text_cache__=t,this.__index__=-1,!t.length)return!1;var n,o,r,i,a,s,l,c,u;if(this.re.schema_test.test(t)){for(l=this.re.schema_search,l.lastIndex=0;(n=l.exec(t))!==null;)if(i=this.testSchemaAt(t,n[2],l.lastIndex),i){this.__schema__=n[2],this.__index__=n.index+n[1].length,this.__last_index__=n.index+n[0].length+i;break}}return this.__opts__.fuzzyLink&&this.__compiled__["http:"]&&(c=t.search(this.re.host_fuzzy_test),c>=0&&(this.__index__<0||c=0&&(r=t.match(this.re.email_fuzzy))!==null&&(a=r.index+r[1].length,s=r.index+r[0].length,(this.__index__<0||athis.__last_index__)&&(this.__schema__="mailto:",this.__index__=a,this.__last_index__=s))),this.__index__>=0};no.prototype.pretest=function(t){return this.re.pretest.test(t)};no.prototype.testSchemaAt=function(t,n,o){return this.__compiled__[n.toLowerCase()]?this.__compiled__[n.toLowerCase()].validate(t,o,this):0};no.prototype.match=function(t){var n=0,o=[];this.__index__>=0&&this.__text_cache__===t&&(o.push(Uh(this,n)),n=this.__last_index__);for(var r=n?t.slice(n):t;this.test(r);)o.push(Uh(this,n)),r=r.slice(this.__last_index__),n+=this.__last_index__;return o.length?o:null};no.prototype.matchAtStart=function(t){if(this.__text_cache__=t,this.__index__=-1,!t.length)return null;var n=this.re.schema_at_start.exec(t);if(!n)return null;var o=this.testSchemaAt(t,n[2],n[0].length);return o?(this.__schema__=n[2],this.__index__=n.index+n[1].length,this.__last_index__=n.index+n[0].length+o,Uh(this,0)):null};no.prototype.tlds=function(t,n){return t=Array.isArray(t)?t:[t],n?(this.__tlds__=this.__tlds__.concat(t).sort().filter(function(o,r,i){return o!==i[r-1]}).reverse(),jc(this),this):(this.__tlds__=t.slice(),this.__tlds_replaced__=!0,jc(this),this)};no.prototype.normalize=function(t){t.schema||(t.url="http://"+t.url),t.schema==="mailto:"&&!/^mailto:/i.test(t.url)&&(t.url="mailto:"+t.url)};no.prototype.onCompile=function(){};var eze=no;const ya=2147483647,Ho=36,Gm=1,nl=26,tze=38,nze=700,kk=72,Pk=128,Tk="-",oze=/^xn--/,rze=/[^\0-\x7F]/,ize=/[\x2E\u3002\uFF0E\uFF61]/g,aze={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},Sf=Ho-Gm,jo=Math.floor,kf=String.fromCharCode;function Mr(e){throw new RangeError(aze[e])}function sze(e,t){const n=[];let o=e.length;for(;o--;)n[o]=t(e[o]);return n}function Rk(e,t){const n=e.split("@");let o="";n.length>1&&(o=n[0]+"@",e=n[1]),e=e.replace(ize,".");const r=e.split("."),i=sze(r,t).join(".");return o+i}function Ym(e){const t=[];let n=0;const o=e.length;for(;n=55296&&r<=56319&&nString.fromCodePoint(...e),lze=function(e){return e>=48&&e<58?26+(e-48):e>=65&&e<91?e-65:e>=97&&e<123?e-97:Ho},ry=function(e,t){return e+22+75*(e<26)-((t!=0)<<5)},$k=function(e,t,n){let o=0;for(e=n?jo(e/nze):e>>1,e+=jo(e/t);e>Sf*nl>>1;o+=Ho)e=jo(e/Sf);return jo(o+(Sf+1)*e/(e+tze))},Xm=function(e){const t=[],n=e.length;let o=0,r=Pk,i=kk,a=e.lastIndexOf(Tk);a<0&&(a=0);for(let s=0;s=128&&Mr("not-basic"),t.push(e.charCodeAt(s));for(let s=a>0?a+1:0;s=n&&Mr("invalid-input");const f=lze(e.charCodeAt(s++));f>=Ho&&Mr("invalid-input"),f>jo((ya-o)/u)&&Mr("overflow"),o+=f*u;const h=d<=i?Gm:d>=i+nl?nl:d-i;if(fjo(ya/p)&&Mr("overflow"),u*=p}const c=t.length+1;i=$k(o-l,c,l==0),jo(o/c)>ya-r&&Mr("overflow"),r+=jo(o/c),o%=c,t.splice(o++,0,r)}return String.fromCodePoint(...t)},Zm=function(e){const t=[];e=Ym(e);const n=e.length;let o=Pk,r=0,i=kk;for(const l of e)l<128&&t.push(kf(l));const a=t.length;let s=a;for(a&&t.push(Tk);s=o&&ujo((ya-r)/c)&&Mr("overflow"),r+=(l-o)*c,o=l;for(const u of e)if(uya&&Mr("overflow"),u===o){let d=r;for(let f=Ho;;f+=Ho){const h=f<=i?Gm:f>=i+nl?nl:f-i;if(d=0))try{t.hostname=Ok.toASCII(t.hostname)}catch{}return yi.encode(yi.format(t))}function Pze(e){var t=yi.parse(e,!0);if(t.hostname&&(!t.protocol||Mk.indexOf(t.protocol)>=0))try{t.hostname=Ok.toUnicode(t.hostname)}catch{}return yi.decode(yi.format(t),yi.decode.defaultChars+"%")}function ho(e,t){if(!(this instanceof ho))return new ho(e,t);t||Os.isString(e)||(t=e||{},e="default"),this.inline=new yze,this.block=new bze,this.core=new vze,this.renderer=new gze,this.linkify=new xze,this.validateLink=Sze,this.normalizeLink=kze,this.normalizeLinkText=Pze,this.utils=Os,this.helpers=Os.assign({},mze),this.options={},this.configure(e),t&&this.set(t)}ho.prototype.set=function(e){return Os.assign(this.options,e),this};ho.prototype.configure=function(e){var t=this,n;if(Os.isString(e)&&(n=e,e=Cze[n],!e))throw new Error('Wrong `markdown-it` preset "'+n+'", check name');if(!e)throw new Error("Wrong `markdown-it` preset, can't be empty");return e.options&&t.set(e.options),e.components&&Object.keys(e.components).forEach(function(o){e.components[o].rules&&t[o].ruler.enableOnly(e.components[o].rules),e.components[o].rules2&&t[o].ruler2.enableOnly(e.components[o].rules2)}),this};ho.prototype.enable=function(e,t){var n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(function(r){n=n.concat(this[r].ruler.enable(e,!0))},this),n=n.concat(this.inline.ruler2.enable(e,!0));var o=e.filter(function(r){return n.indexOf(r)<0});if(o.length&&!t)throw new Error("MarkdownIt. Failed to enable unknown rule(s): "+o);return this};ho.prototype.disable=function(e,t){var n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(function(r){n=n.concat(this[r].ruler.disable(e,!0))},this),n=n.concat(this.inline.ruler2.disable(e,!0));var o=e.filter(function(r){return n.indexOf(r)<0});if(o.length&&!t)throw new Error("MarkdownIt. Failed to disable unknown rule(s): "+o);return this};ho.prototype.use=function(e){var t=[this].concat(Array.prototype.slice.call(arguments,1));return e.apply(e,t),this};ho.prototype.parse=function(e,t){if(typeof e!="string")throw new Error("Input data should be a String");var n=new this.core.State(e,this,t);return this.core.process(n),n.tokens};ho.prototype.render=function(e,t){return t=t||{},this.renderer.render(this.parse(e,t),this.options,t)};ho.prototype.parseInline=function(e,t){var n=new this.core.State(e,this,t);return n.inlineMode=!0,this.core.process(n),n.tokens};ho.prototype.renderInline=function(e,t){return t=t||{},this.renderer.render(this.parseInline(e,t),this.options,t)};var Tze=ho,Rze=Tze;const nd=Tp(Rze),Eze={xmlns:"http://www.w3.org/2000/svg",id:"Layer_1",viewBox:"0 0 442.19 323.31"},$ze=U("path",{d:"m72.8 140.45-12.7 145.1h42.41l8.99-102.69h.04l3.67-42.41zM124.16 37.75h-42.4l-5.57 63.61h42.4zM318.36 285.56h42.08l5.57-63.61H323.9z",class:"cls-2"},null,-1),Aze=U("path",{d:"M382.09 37.76H340l-10.84 123.9H221.09l-14.14 161.65 85.83-121.47h145.89l3.52-40.18h-70.94z",class:"cls-2"},null,-1),Ize=U("path",{d:"M149.41 121.47H3.52L0 161.66h221.09L235.23 0z",style:{fill:"#ffbc00"}},null,-1);function Oze(e,t){return me(),ze("svg",Eze,[U("defs",null,[(me(),qe(eu("style"),null,{default:ue(()=>[nt(".cls-2{fill:#000}@media (prefers-color-scheme:dark){.cls-2{fill:#fff}}")]),_:1}))]),$ze,Aze,Ize])}const Mze={render:Oze},zze={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1109 1027"},Dze=J4('',2),Lze=[Dze];function Fze(e,t){return me(),ze("svg",zze,[...Lze])}const Bze={render:Fze},Nze={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 64 64"},Hze=U("g",{fill:"#E29942","clip-path":"url(#clip0_408_56)"},[U("path",{d:"M47.158 14.428c0-.591.31-1.14.818-1.444L61.449 4.9C62.572 4.225 64 5.034 64 6.343V20.21c0 .93-.754 1.685-1.684 1.685H48.842c-.93 0-1.684-.755-1.684-1.685z"}),U("path",{"fill-rule":"evenodd",d:"M24.397 26.46a1.68 1.68 0 0 0-.818 1.443V48c0 .93-.754 1.6-1.684 1.6h-3.369c-.93 0-1.684-.67-1.684-1.6V34.976c0-1.31-1.428-2.118-2.55-1.444L.817 41.617A1.68 1.68 0 0 0 0 43.062v17.572c0 .93.754 1.684 1.684 1.684h13.474c.93 0 1.684-.754 1.684-1.684v-3.803c0-.93.754-1.493 1.684-1.493h3.369c.93 0 1.684.563 1.684 1.493v3.803c0 .93.754 1.684 1.684 1.684h13.474c.93 0 1.684-.754 1.684-1.684V19.818c0-1.309-1.428-2.118-2.55-1.444z","clip-rule":"evenodd"}),U("path",{d:"M47.16 28.8v32c0 .884.753 1.6 1.683 1.6h13.474c.93 0 1.684-.716 1.684-1.6v-32c0-.884-.754-1.6-1.684-1.6H48.843c-.93 0-1.684.716-1.684 1.6"})],-1),jze=[Hze];function Vze(e,t){return me(),ze("svg",Nze,[...jze])}const Wze={render:Vze};var Ms=(e=>(e[e.PENDING=0]="PENDING",e[e.PROCESSING=1]="PROCESSING",e[e.CANCELLED=2]="CANCELLED",e[e.COMPLETED=3]="COMPLETED",e[e.DISCOUNTED=4]="DISCOUNTED",e))(Ms||{});const Uze={0:"待支付",1:"开通中",2:"已取消",3:"已完成",4:"已折抵"},zk={month_price:"月付",quarter_price:"季付",half_year_price:"半年付",year_price:"年付",two_year_price:"两年付",three_year_price:"三年付",onetime_price:"一次性",reset_price:"流量重置包"},Qi=e=>(s4("data-v-8ed2ef0c"),e=e(),l4(),e),qze=["innerHTML"],Kze={class:"w-64"},Gze={class:"text-#666"},Yze={class:"w-64"},Xze={class:"text-#666"},Zze=Qi(()=>U("div",{class:"w-64"},[U("img",{src:gte,class:"h-30 w-30"})],-1)),Jze={class:"text-#666"},Qze={class:"w-64"},eDe={class:"text-#666"},tDe={class:"font-bold"},nDe={class:"mb-20"},oDe={class:"text-center"},rDe={class:"mt-10 text-center"},iDe=Qi(()=>U("div",{class:"w-64"},[U("img",{src:hk,class:"h-30 w-30"})],-1)),aDe={class:"text-#666"},sDe={class:"w-64"},lDe={class:"text-#666"},cDe={class:"w-64"},uDe={class:"text-#666"},dDe=Qi(()=>U("div",{class:"w-64"},[U("img",{src:vte,class:"h-30 w-30 border-rounded-5"})],-1)),fDe={class:"text-#666"},hDe=Qi(()=>U("div",{class:"w-64"},[U("img",{src:bte,class:"h-30 w-30 border-rounded-5"})],-1)),pDe={class:"text-#666"},mDe=Qi(()=>U("div",{class:"w-64"},[U("img",{src:yte,class:"h-30 w-30"})],-1)),gDe={class:"text-#666"},vDe=Qi(()=>U("div",{class:"w-64"},[U("img",{src:hk,class:"h-30 w-30"})],-1)),bDe={class:"text-#666"},yDe=Qi(()=>U("div",{class:"w-64"},[U("img",{src:xte,class:"h-30 w-30"})],-1)),xDe={class:"text-#666"},CDe={class:"p-10 text-center"},wDe={class:"mb-5 md:mb-40"},_De={key:0,class:"mb-10"},SDe={class:"font-bold"},kDe=["onClick"],PDe={class:"carousel-img flex flex-col justify-between p-20",style:{background:"rgba(0, 0, 0, 0.5) !important"}},TDe={class:"text-20"},RDe={class:"text-16 font-600 color-[hsla(0,0%,100%,.75)]"},EDe={class:"text-block mb-16 p-t-20 text-20 font-600"},$De={key:0,class:"mb-16 text-14 text-gray"},ADe={key:1,class:"mb-16 text-14 font-600 text-red-500"},IDe={key:2,class:"mb-16 text-14 text-gray"},ODe={class:"text-gray"},MDe={class:"flex items-center justify-between"},zDe={class:""},DDe={class:"text-16"},LDe={class:"text-14 text-gray"},FDe={class:"flex items-center justify-between"},BDe={class:"text-16"},NDe={class:"text-14 text-gray"},HDe={class:"flex items-center justify-between"},jDe={class:"text-16"},VDe={class:"text-14 text-gray"},WDe={class:"flex items-center justify-between"},UDe={class:"text-16"},qDe={class:"text-14 text-gray"},KDe=be({__name:"index",setup(e){const t=B=>mn.global.t(B),n=IZ(),o=new nd({html:!0}),r=B=>o.render(B),i=Tn(),a=Ji(),s=navigator.userAgent.toLowerCase();let l="unknown";s.includes("windows")?l="windows":s.includes("iphone")||s.includes("ipad")?l="ios":s.includes("macintosh")?l="mac":s.includes("android")&&(l="android");const c=W(!1),u=W();jt(()=>{});const d=W(!1),f=W(!1),h=W(""),p=W(["auto"]),g=[{label:"自动",type:"auto"},{label:"全部",type:"all"},{label:"Vless",type:"vless"},{label:"Hy1",type:"hysteria"},{label:"Hy2",type:"hysteria2"},{label:"Shadowsocks",type:"shadowsocks"},{label:"Vmess",type:"vmess"},{label:"Trojan",type:"trojan"}],m=W([]);function b(B){if(B==="auto"||B==="all"&&p.value.includes("all"))p.value=["auto"];else if(B==="all"&&!p.value.includes("all"))p.value=m.value.map($=>$.type).filter($=>$!=="auto");else{const $=p.value.includes(B);p.value=$?p.value.filter(Y=>Y!==B):[...p.value.filter(Y=>Y!=="auto"),B],EA(m.value.map(Y=>Y.type).filter(Y=>Y!=="auto"&&Y!=="all"),p.value)?p.value.push("all"):p.value=p.value.filter(Y=>Y!=="all")}p.value.length===0&&(p.value=["auto"]),_()}function _(){var $,A,Y;const B=p.value;B.includes("all")?h.value=(($=w.value)==null?void 0:$.subscribe_url)+"&types=all":B.includes("auto")?h.value=((A=w.value)==null?void 0:A.subscribe_url)+"&types=auto":h.value=((Y=w.value)==null?void 0:Y.subscribe_url)+"&types="+p.value.join(",")}function C(B){console.log(B),window.location.href=B}function S(B){return btoa(unescape(encodeURIComponent(B)))}const w=F(()=>a.subscribe);function x(){var Y,ne,fe;const B=(Y=w.value)==null?void 0:Y.transfer_enable,$=((ne=w.value)==null?void 0:ne.u)||0,A=((fe=w.value)==null?void 0:fe.d)||0;return B?Math.floor(($+A)/B*100):0}const{errorColor:y,warningColor:P,successColor:k,primaryColor:T}=n.value;function E(){const B=x();return B>=100?y:B>=70?P:k}async function R(){var fe,Q;if(!await window.$dialog.confirm({title:t("确定重置当前已用流量?"),type:"info",content:t("点击「确定」将会跳转到收银台,支付订单后系统将会清空您当月已使用流量。"),showIcon:!1}))return;const $=(fe=await Hm())==null?void 0:fe.data,A=$==null?void 0:$.find(xe=>xe.status===Ms.PENDING);if(A)if(await window.$dialog.confirm({title:t("注意"),type:"info",content:t("你还有未完成的订单,购买前需要先进行取消,确定取消先前的订单吗?"),positiveText:t("确认取消"),negativeText:t("返回我的订单"),showIcon:!1})){const H=A.trade_no;if(!await Wu(H))return}else{Gt.push("order");return}const Y=(Q=w.value)==null?void 0:Q.plan_id;if(!Y)return;const{data:ne}=await ck(Y,"reset_price");ne&&Gt.push("order/"+ne)}const K=W([]);async function N(){const{data:B}=await AJ();K.value=B,B.map($=>{var A;(A=$.tags)!=null&&A.includes("弹窗")&&(c.value=!0,u.value=$)})}const D=W([0,0,0]);async function M(){const{data:B}=await EJ();B&&(D.value=B)}const G=W(),J=W();async function he(){const{data:B}=await lk();if(B){G.value=B;const A=[...new Set(B.map(Y=>{let ne=Y.type;return Y.type==="hysteria"&&Y.version==2&&(ne="hysteria2"),ne}))];J.value=A,m.value=g.filter(Y=>A.includes(Y.type)||["auto","all"].includes(Y.type))}}function pe(){N(),a.getUserSubscribe(),M(),he()}return hn(()=>{pe()}),(B,$)=>{const A=ni,Y=mte,ne=Om,fe=vr,Q=ute,xe=ml,H=JS,ye=go,Oe=Im,Ne=Xi,L=zt,O=pl,oe=Ti,_e=ZV,te=vl,ge=Zi,ke=GX,I=ite,j=ete,ee=Yee,Ce=Wee,ce=Bee,le=vo;return me(),qe(le,{"show-footer":!1},{default:ue(()=>{var re,de,De,Le;return[ie(A,{show:c.value,"onUpdate:show":$[0]||($[0]=Pe=>c.value=Pe),class:"mx-10 max-w-100% w-600 md:mx-auto",preset:"card",title:(re=u.value)==null?void 0:re.title,size:"huge",bordered:!1,"content-style":"padding-top:0",segmented:{content:!1}},{default:ue(()=>{var Pe;return[U("div",{innerHTML:r(((Pe=u.value)==null?void 0:Pe.content)||""),class:"markdown-body custom-html-style"},null,8,qze)]}),_:1},8,["show","title"]),ie(A,{show:d.value,"onUpdate:show":$[15]||($[15]=Pe=>d.value=Pe),"transform-origin":"center","auto-focus":!1,"display-directive":"show","trap-focus":!1},{default:ue(()=>[ie(ye,{class:"max-w-100% w-300",bordered:!1,size:"huge",contentStyle:"padding:0"},{default:ue(()=>[ie(Oe,{hoverable:""},{default:ue(()=>{var Pe,Fe;return[ie(ne,{class:"p-0!"},{default:ue(()=>[U("div",{class:"flex cursor-pointer items-center pb-10 pl-20 pr-20 pt-10",onClick:$[1]||($[1]=He=>{var Ie,Qe;return((Ie=w.value)==null?void 0:Ie.subscribe_url)&&we(ma)((Qe=w.value)==null?void 0:Qe.subscribe_url)})},[U("div",Kze,[ie(Y,{class:"text-30 text-#595959"})]),U("div",Gze,se(B.$t("复制订阅地址")),1)])]),_:1}),(Pe=J.value)!=null&&Pe.includes("hysteria2")?(me(),qe(ne,{key:0,class:"p-0!"},{default:ue(()=>[U("div",{class:"flex cursor-pointer items-center pb-10 pl-20 pr-20 pt-10",onClick:$[2]||($[2]=He=>{var Ie,Qe;return((Ie=w.value)==null?void 0:Ie.subscribe_url)&&we(ma)(((Qe=w.value)==null?void 0:Qe.subscribe_url)+"&types=hysteria2")})},[U("div",Yze,[ie(fe,{size:"30"},{default:ue(()=>[ie(we(Mze))]),_:1})]),U("div",Xze,se(B.$t("复制HY2订阅地址")),1)])]),_:1})):pt("",!0),(Fe=J.value)!=null&&Fe.includes("vless")?(me(),qe(ne,{key:1,class:"p-0!"},{default:ue(()=>[U("div",{class:"flex cursor-pointer items-center pb-10 pl-20 pr-20 pt-10",onClick:$[3]||($[3]=He=>{var Ie,Qe;return((Ie=w.value)==null?void 0:Ie.subscribe_url)&&we(ma)(((Qe=w.value)==null?void 0:Qe.subscribe_url)+"&types=vless")})},[Zze,U("div",Jze,se(B.$t("复制Vless订阅地址")),1)])]),_:1})):pt("",!0),ie(ne,{class:"p-0!"},{default:ue(()=>[U("div",{class:"flex cursor-pointer items-center pb-10 pl-20 pr-20 pt-10",onClick:$[5]||($[5]=He=>{var Ie;return h.value=((Ie=w.value)==null?void 0:Ie.subscribe_url)||"",f.value=!0})},[U("div",Qze,[ie(Q,{class:"text-30 text-#595959"})]),U("div",eDe,se(B.$t("扫描二维码订阅")),1),ie(A,{show:f.value,"onUpdate:show":$[4]||($[4]=He=>f.value=He)},{default:ue(()=>[ie(ye,{class:"w-300"},{default:ue(()=>[U("div",tDe,se(B.$t("选择协议"))+":",1),U("div",nDe,[(me(!0),ze(it,null,Hn(m.value,He=>(me(),qe(xe,{key:He.type,value:He.type,checked:p.value.includes(He.type),onClick:Ie=>b(He.type)},{default:ue(()=>[nt(se(B.$t(He.label)),1)]),_:2},1032,["value","checked","onClick"]))),128))]),U("div",oDe,[ie(H,{value:h.value,"icon-src":we(i).logo,size:140,color:we(T),style:{"box-sizing":"content-box"}},null,8,["value","icon-src","color"])]),U("div",rDe,se(B.$t("使用支持扫码的客户端进行订阅")),1)]),_:1})]),_:1},8,["show"])])]),_:1}),["mac"].includes(we(l))?(me(),qe(ne,{key:2,class:"p-0!"},{default:ue(()=>[U("div",{class:"flex cursor-pointer items-center pb-10 pl-20 pr-20 pt-10",onClick:$[6]||($[6]=He=>{var Ie;return((Ie=w.value)==null?void 0:Ie.subscribe_url)&&C("clash://install-config?url="+w.value.subscribe_url+`&name=${we(i).title}`)})},[iDe,U("div",aDe,se(B.$t("导入到"))+" ClashX Meta",1)])]),_:1})):pt("",!0),["mac","android","windows"].includes(we(l))?(me(),qe(ne,{key:3,class:"p-0!"},{default:ue(()=>[U("div",{class:"flex cursor-pointer items-center pb-10 pl-20 pr-20 pt-10",onClick:$[7]||($[7]=He=>{var Ie;return((Ie=w.value)==null?void 0:Ie.subscribe_url)&&C("sing-box://import-remote-profile?url="+encodeURIComponent(w.value.subscribe_url)+`#${encodeURIComponent(we(i).title||"")}`)})},[U("div",sDe,[ie(fe,{size:"30"},{default:ue(()=>[ie(we(Wze))]),_:1})]),U("div",lDe,se(B.$t("导入到"))+" Hiddify Next",1)])]),_:1})):pt("",!0),["android","mac","ios"].includes(we(l))?(me(),qe(ne,{key:4,class:"p-0!"},{default:ue(()=>[U("div",{class:"flex cursor-pointer items-center pb-10 pl-20 pr-20 pt-10",onClick:$[8]||($[8]=He=>{var Ie;return((Ie=w.value)==null?void 0:Ie.subscribe_url)&&C("sing-box://import-remote-profile?url="+encodeURIComponent(w.value.subscribe_url)+`#${encodeURIComponent(we(i).title||"")}`)})},[U("div",cDe,[ie(fe,{size:"30"},{default:ue(()=>[ie(we(Bze))]),_:1})]),U("div",uDe,se(B.$t("导入到"))+" sing-box",1)])]),_:1})):pt("",!0),["mac","ios"].includes(we(l))?(me(),qe(ne,{key:5,class:"p-0!"},{default:ue(()=>[U("div",{class:"flex cursor-pointer items-center pb-10 pl-20 pr-20 pt-10",onClick:$[9]||($[9]=He=>{var Ie;return((Ie=w.value)==null?void 0:Ie.subscribe_url)&&C("shadowrocket://add/sub://"+S(w.value.subscribe_url).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")+`?remark=${we(i).title}`)})},[dDe,U("div",fDe,se(B.$t("导入到"))+" Shadowsocket",1)])]),_:1})):pt("",!0),["mac","ios"].includes(we(l))?(me(),qe(ne,{key:6,class:"p-0!"},{default:ue(()=>[U("div",{class:"flex cursor-pointer items-center pb-10 pl-20 pr-20 pt-10",onClick:$[10]||($[10]=He=>{var Ie;return((Ie=w.value)==null?void 0:Ie.subscribe_url)&&C("stash://install-config?url="+encodeURIComponent(w.value.subscribe_url)+`&name=${we(i).title}`)})},[hDe,U("div",pDe,se(B.$t("导入到"))+" Stash",1)])]),_:1})):pt("",!0),["android"].includes(we(l))?(me(),qe(ne,{key:7,class:"p-0!"},{default:ue(()=>[U("div",{class:"flex cursor-pointer items-center pb-10 pl-20 pr-20 pt-10",onClick:$[11]||($[11]=He=>{var Ie;return((Ie=w.value)==null?void 0:Ie.subscribe_url)&&C("clash://install-config?url="+w.value.subscribe_url+`&name=${we(i).title}`)})},[mDe,U("div",gDe,se(B.$t("导入到"))+" NekoBox",1)])]),_:1})):pt("",!0),["android"].includes(we(l))?(me(),qe(ne,{key:8,class:"p-0!"},{default:ue(()=>[U("div",{class:"flex cursor-pointer items-center pb-10 pl-20 pr-20 pt-10",onClick:$[12]||($[12]=He=>{var Ie;return((Ie=w.value)==null?void 0:Ie.subscribe_url)&&C("clash://install-config?url="+w.value.subscribe_url+`&name=${we(i).title}`)})},[vDe,U("div",bDe,se(B.$t("导入到"))+" Clash Meta",1)])]),_:1})):pt("",!0),["windows"].includes(we(l))?(me(),qe(ne,{key:9,class:"p-0!"},{default:ue(()=>[U("div",{class:"flex cursor-pointer items-center pb-10 pl-20 pr-20 pt-10",onClick:$[13]||($[13]=He=>{var Ie;return((Ie=w.value)==null?void 0:Ie.subscribe_url)&&C("clash://install-config?url="+w.value.subscribe_url+`&name=${we(i).title}`)})},[yDe,U("div",xDe,se(B.$t("导入到"))+" Clash",1)])]),_:1})):pt("",!0)]}),_:1}),ie(Ne,{class:"m-0!"}),U("div",CDe,[ie(L,{type:"primary",class:"w-100%",size:"large",onClick:$[14]||($[14]=Pe=>B.$router.push("/knowledge"))},{default:ue(()=>[nt(se(B.$t("不会使用,查看使用教程")),1)]),_:1})])]),_:1})]),_:1},8,["show"]),U("div",wDe,[D.value[1]&&D.value[1]>0||D.value[0]&&D.value[0]>0?(me(),ze("div",_De,[D.value[1]&&D.value[1]>0?(me(),qe(O,{key:0,type:"warning","show-icon":!1,bordered:!0,closable:"",class:"mb-5"},{default:ue(()=>[nt(se(D.value[1])+" "+se(B.$t("条工单正在处理中"))+" ",1),ie(L,{strong:"",text:"",onClick:$[16]||($[16]=Pe=>we(Gt).push("/ticket"))},{default:ue(()=>[nt(se(B.$t("立即查看")),1)]),_:1})]),_:1})):pt("",!0),D.value[0]&&D.value[0]>0?(me(),qe(O,{key:1,type:"error","show-icon":!1,bordered:!0,closable:"",class:"mb-5"},{default:ue(()=>[nt(se(B.$t("还有没支付的订单"))+" ",1),ie(L,{text:"",strong:"",onClick:$[17]||($[17]=Pe=>we(Gt).push("/order"))},{default:ue(()=>[nt(se(B.$t("立即支付")),1)]),_:1})]),_:1})):pt("",!0),!((de=w.value)!=null&&de.expired_at&&(((De=w.value)==null?void 0:De.expired_at)||0)>Date.now()/1e3)&&x()>=70?(me(),qe(O,{key:2,type:"info","show-icon":!1,bordered:!0,closable:"",class:"mb-5"},{default:ue(()=>[nt(se(B.$tc("当前已使用流量达{rate}%",{rate:x()}))+" ",1),ie(L,{text:"",onClick:$[18]||($[18]=Pe=>R())},{default:ue(()=>[U("span",SDe,se(B.$t("重置已用流量")),1)]),_:1})]),_:1})):pt("",!0)])):pt("",!0),dn(ie(ye,{class:"w-100% cursor-pointer overflow-hidden border-rounded-5 text-white transition hover:opacity-75",bordered:!1,"content-style":"padding: 0"},{default:ue(()=>[ie(_e,{autoplay:""},{default:ue(()=>[(me(!0),ze(it,null,Hn(K.value,Pe=>(me(),ze("div",{key:Pe.id,class:"",style:Di(Pe.img_url?`background:url(${Pe.img_url}) no-repeat;background-size: cover `:`background:url(${we(i).$state.assets_path}/images/background.svg)`),onClick:Fe=>(c.value=!0,u.value=Pe)},[U("div",PDe,[U("div",null,[ie(oe,{bordered:!1,class:"bg-#e04f1a text-12 color-white"},{default:ue(()=>[nt(se(B.$t("公告")),1)]),_:1})]),U("div",null,[U("p",TDe,se(Pe.title),1),U("p",RDe,se(we(Wo)(Pe.created_at)),1)])])],12,kDe))),128))]),_:1})]),_:1},512),[[Mn,((Le=K.value)==null?void 0:Le.length)>0]]),ie(ye,{title:B.$t("我的订阅"),class:"mt-5 border-rounded-5 md:m-t-20"},{default:ue(()=>{var Pe,Fe,He,Ie,Qe,Ct,X,ve,Ae,Ke,Ze,Je,tt,rt,vt,sn;return[w.value?(Pe=w.value)!=null&&Pe.plan_id?(me(),ze(it,{key:1},[U("div",EDe,se((He=(Fe=w.value)==null?void 0:Fe.plan)==null?void 0:He.name),1),((Ie=w.value)==null?void 0:Ie.expired_at)===null?(me(),ze("div",$De,se(B.$t("该订阅长期有效")),1)):(Qe=w.value)!=null&&Qe.expired_at&&(((Ct=w.value)==null?void 0:Ct.expired_at)??0)(((Ke=w.value)==null?void 0:Ke.reset_day)||0)?(me(),ze(it,{key:0},[nt(se(B.$tc("已用流量将在 {reset_day} 日后重置",{reset_day:(Ze=w.value)==null?void 0:Ze.reset_day})),1)],64)):pt("",!0)])),ie(ke,{type:"line",percentage:x(),processing:"",color:E()},null,8,["percentage","color"]),U("div",null,se(B.$tc("已用 {used} / 总计 {total}",{used:we(da)(((((Je=w.value)==null?void 0:Je.u)||0)+(((tt=w.value)==null?void 0:tt.d)||0))/1024/1024/1024)+" GB",total:we(da)((((rt=w.value)==null?void 0:rt.transfer_enable)||0)/1024/1024/1024)+" GB"})),1),(vt=w.value)!=null&&vt.expired_at&&(((sn=w.value)==null?void 0:sn.expired_at)||0)we(Gt).push("/plan/"+we(a).plan_id))},{default:ue(()=>[nt(se(B.$t("续费订阅")),1)]),_:1})):x()>=70?(me(),qe(L,{key:4,type:"primary",class:"mt-20",onClick:$[20]||($[20]=Dt=>R())},{default:ue(()=>[nt(se(B.$t("重置已用流量")),1)]),_:1})):pt("",!0)],64)):(me(),ze("div",{key:2,class:"cursor-pointer pt-20 text-center",onClick:$[21]||($[21]=Dt=>we(Gt).push("/plan"))},[ie(I,{class:"text-40"}),U("div",ODe,se(B.$t("购买订阅")),1)])):(me(),qe(ge,{key:0},{default:ue(()=>[ie(te,{height:"20px",width:"33%"}),ie(te,{height:"20px",width:"66%"}),ie(te,{height:"20px"})]),_:1}))]}),_:1},8,["title"]),ie(ye,{title:B.$t("捷径"),class:"m-t-20 border-rounded-5","content-style":"padding: 0"},{default:ue(()=>[ie(Oe,{hoverable:"",clickable:""},{default:ue(()=>[ie(ne,{class:"flex flex cursor-pointer justify-between p-19 hover:bg-#f6f6f6",onClick:$[22]||($[22]=Pe=>we(Gt).push("/knowledge"))},{default:ue(()=>[U("div",MDe,[U("div",zDe,[U("div",DDe,se(B.$t("查看教程")),1),U("div",LDe,se(B.$t("学习如何使用"))+" "+se(we(i).title),1)]),U("div",null,[ie(j,{class:"text-30 color-gray-500"})])])]),_:1}),ie(ne,{class:"flex cursor-pointer justify-between p-19 hover:bg-#f6f6f6",onClick:$[23]||($[23]=Pe=>d.value=!0)},{default:ue(()=>[U("div",FDe,[U("div",null,[U("div",BDe,se(B.$t("一键订阅")),1),U("div",NDe,se(B.$t("快速将节点导入对应客户端进行使用")),1)]),U("div",null,[ie(ee,{class:"text-30 color-gray-500"})])])]),_:1}),ie(ne,{class:"flex cursor-pointer justify-between p-19",onClick:$[24]||($[24]=Pe=>we(a).plan_id?we(Gt).push("/plan/"+we(a).plan_id):we(Gt).push("/plan"))},{default:ue(()=>{var Pe;return[U("div",HDe,[U("div",null,[U("div",jDe,se((Pe=w.value)!=null&&Pe.plan_id?B.$t("续费订阅"):B.$t("购买订阅")),1),U("div",VDe,se(B.$t("对您当前的订阅进行购买")),1)]),U("div",null,[ie(Ce,{class:"text-30 color-gray-500"})])])]}),_:1}),ie(ne,{class:"flex cursor-pointer justify-between p-19",onClick:$[25]||($[25]=Pe=>B.$router.push("/ticket"))},{default:ue(()=>[U("div",WDe,[U("div",null,[U("div",UDe,se(B.$t("遇到问题")),1),U("div",qDe,se(B.$t("遇到问题可以通过工单与我们沟通")),1)]),U("div",null,[ie(ce,{class:"text-30 color-gray-500"})])])]),_:1})]),_:1})]),_:1},8,["title"])])]}),_:1})}}}),GDe=qu(KDe,[["__scopeId","data-v-8ed2ef0c"]]),YDe=Object.freeze(Object.defineProperty({__proto__:null,default:GDe},Symbol.toStringTag,{value:"Module"})),XDe={class:"inline-block",viewBox:"0 0 1024 1024",width:"1em",height:"1em"},ZDe=U("path",{fill:"currentColor",d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448s448-200.6 448-448S759.4 64 512 64m0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372s372 166.6 372 372s-166.6 372-372 372m159.6-585h-59.5c-3 0-5.8 1.7-7.1 4.4l-90.6 180H511l-90.6-180a8 8 0 0 0-7.1-4.4h-60.7c-1.3 0-2.6.3-3.8 1c-3.9 2.1-5.3 7-3.2 10.9L457 515.7h-61.4c-4.4 0-8 3.6-8 8v29.9c0 4.4 3.6 8 8 8h81.7V603h-81.7c-4.4 0-8 3.6-8 8v29.9c0 4.4 3.6 8 8 8h81.7V717c0 4.4 3.6 8 8 8h54.3c4.4 0 8-3.6 8-8v-68.1h82c4.4 0 8-3.6 8-8V611c0-4.4-3.6-8-8-8h-82v-41.5h82c4.4 0 8-3.6 8-8v-29.9c0-4.4-3.6-8-8-8h-62l111.1-204.8c.6-1.2 1-2.5 1-3.8c-.1-4.4-3.7-8-8.1-8"},null,-1),JDe=[ZDe];function QDe(e,t){return me(),ze("svg",XDe,[...JDe])}const eLe={name:"ant-design-pay-circle-outlined",render:QDe},tLe={class:"inline-block",viewBox:"0 0 1024 1024",width:"1em",height:"1em"},nLe=U("path",{fill:"currentColor",d:"M668.6 320c0-4.4-3.6-8-8-8h-54.5c-3 0-5.8 1.7-7.1 4.4l-84.7 168.8H511l-84.7-168.8a8 8 0 0 0-7.1-4.4h-55.7c-1.3 0-2.6.3-3.8 1c-3.9 2.1-5.3 7-3.2 10.8l103.9 191.6h-57c-4.4 0-8 3.6-8 8v27.1c0 4.4 3.6 8 8 8h76v39h-76c-4.4 0-8 3.6-8 8v27.1c0 4.4 3.6 8 8 8h76V704c0 4.4 3.6 8 8 8h49.9c4.4 0 8-3.6 8-8v-63.5h76.3c4.4 0 8-3.6 8-8v-27.1c0-4.4-3.6-8-8-8h-76.3v-39h76.3c4.4 0 8-3.6 8-8v-27.1c0-4.4-3.6-8-8-8H564l103.7-191.6c.5-1.1.9-2.4.9-3.7M157.9 504.2a352.7 352.7 0 0 1 103.5-242.4c32.5-32.5 70.3-58.1 112.4-75.9c43.6-18.4 89.9-27.8 137.6-27.8c47.8 0 94.1 9.3 137.6 27.8c42.1 17.8 79.9 43.4 112.4 75.9c10 10 19.3 20.5 27.9 31.4l-50 39.1a8 8 0 0 0 3 14.1l156.8 38.3c5 1.2 9.9-2.6 9.9-7.7l.8-161.5c0-6.7-7.7-10.5-12.9-6.3l-47.8 37.4C770.7 146.3 648.6 82 511.5 82C277 82 86.3 270.1 82 503.8a8 8 0 0 0 8 8.2h60c4.3 0 7.8-3.5 7.9-7.8M934 512h-60c-4.3 0-7.9 3.5-8 7.8a352.7 352.7 0 0 1-103.5 242.4a352.6 352.6 0 0 1-112.4 75.9c-43.6 18.4-89.9 27.8-137.6 27.8s-94.1-9.3-137.6-27.8a352.6 352.6 0 0 1-112.4-75.9c-10-10-19.3-20.5-27.9-31.4l49.9-39.1a8 8 0 0 0-3-14.1l-156.8-38.3c-5-1.2-9.9 2.6-9.9 7.7l-.8 161.7c0 6.7 7.7 10.5 12.9 6.3l47.8-37.4C253.3 877.7 375.4 942 512.5 942C747 942 937.7 753.9 942 520.2a8 8 0 0 0-8-8.2"},null,-1),oLe=[nLe];function rLe(e,t){return me(),ze("svg",tLe,[...oLe])}const iLe={name:"ant-design-transaction-outlined",render:rLe},aLe={class:"inline-block",viewBox:"0 0 24 24",width:"1em",height:"1em"},sLe=U("path",{fill:"currentColor",d:"M19 17v2H7v-2s0-4 6-4s6 4 6 4m-3-9a3 3 0 1 0-3 3a3 3 0 0 0 3-3m3.2 5.06A5.6 5.6 0 0 1 21 17v2h3v-2s0-3.45-4.8-3.94M18 5a2.9 2.9 0 0 0-.89.14a5 5 0 0 1 0 5.72A2.9 2.9 0 0 0 18 11a3 3 0 0 0 0-6M8 10H5V7H3v3H0v2h3v3h2v-3h3Z"},null,-1),lLe=[sLe];function cLe(e,t){return me(),ze("svg",aLe,[...lLe])}const uLe={name:"mdi-invite",render:cLe},dLe={class:"text-50 font-400"},fLe={class:"m-l-10 text-20 text-#6c757d md:m-l20"},hLe={class:"text-#6c757d"},pLe={class:"flex justify-between p-b-5 p-t-5"},mLe={class:"flex justify-between p-b-5 p-t-5"},gLe={key:0},vLe={key:1},bLe={class:"flex justify-between p-b-5 p-t-5"},yLe={class:"flex justify-between p-b-5 p-t-5"},xLe={class:"m-t-10"},CLe={class:"m-b-5"},wLe={class:"m-t-10"},_Le={class:"m-b-5"},SLe={class:"flex justify-end"},kLe={class:"m-t-10"},PLe={class:"m-b-5"},TLe={class:"m-t-10"},RLe={class:"m-b-5"},ELe={class:"flex justify-end"},$Le=be({__name:"index",setup(e){const t=Tn(),n=x=>mn.global.t(x),o=[{title:n("邀请码"),key:"code",render(x){const y=`${window.location.protocol}//${window.location.host}/#/register?code=${x.code}`;return v("div",[v("span",x.code),v(zt,{size:"small",onClick:()=>ma(y),quaternary:!0,type:"info"},{default:()=>n("复制链接")})])}},{title:n("创建时间"),key:"created_at",fixed:"right",align:"right",render(x){return Wo(x.created_at)}}],r=[{title:n("发放时间"),key:"created_at",render(x){return Wo(x.created_at)}},{title:n("佣金"),key:"get_amount",fixed:"right",align:"right",render(x){return rn(x.get_amount)}}],i=W(),a=W([]);async function s(){const x=await zJ(),{data:y}=x;i.value=y.codes,a.value=y.stat}const l=W([]),c=eo({page:1,pageSize:10,showSizePicker:!0,pageSizes:[10,50,100,150],onChange:x=>{c.page=x,u()},onUpdatePageSize:x=>{c.pageSize=x,c.page=1,u()}});async function u(){const x=await DJ(c.page,c.pageSize),{data:y}=x;l.value=y}const d=W(!1);async function f(){d.value=!0;const{data:x}=await LJ();x===!0&&(window.$message.success(n("已生成")),w()),d.value=!1}const h=W(!1),p=W(),g=W(!1);async function m(){g.value=!0;const x=p.value;if(typeof x!="number"){window.$message.error(n("请输入正确的划转金额")),g.value=!1;return}const{data:y}=await FJ(x*100);y===!0&&(window.$message.success(n("划转成功")),h.value=!1,s()),g.value=!1}const b=W(!1),_=eo({method:null,account:null}),C=W(!1);async function S(){if(C.value=!0,!_.method){window.$message.error(n("提现方式不能为空")),C.value=!1;return}if(!_.account){window.$message.error(n("提现账号不能为空")),C.value=!1;return}const x=_.method,y=_.account,{data:P}=await BJ({withdraw_method:x,withdraw_account:y});P===!0&&Gt.push("/ticket"),C.value=!1}function w(){s(),u()}return hn(()=>{w()}),(x,y)=>{const P=uLe,k=wW,T=iLe,E=eLe,R=Zi,K=go,N=Nu,D=pl,M=ur,G=jY,J=ni,he=fk,pe=Du,B=vo;return me(),qe(B,null,{default:ue(()=>[ie(K,{title:x.$t("我的邀请"),class:"border-rounded-5"},{"header-extra":ue(()=>[ie(P,{class:"text-40 text-gray"})]),default:ue(()=>{var $;return[U("div",null,[U("span",dLe,[ie(k,{from:0,to:parseFloat(we(rn)(a.value[4])),active:!0,precision:2,duration:500},null,8,["to"])]),U("span",fLe,se(($=we(t).appConfig)==null?void 0:$.currency),1)]),U("div",hLe,se(x.$t("当前剩余佣金")),1),ie(R,{class:"m-t-10"},{default:ue(()=>{var A;return[ie(we(zt),{size:"small",type:"primary",onClick:y[0]||(y[0]=Y=>h.value=!0)},{icon:ue(()=>[ie(T)]),default:ue(()=>[nt(" "+se(x.$t("划转")),1)]),_:1}),(A=we(t).appConfig)!=null&&A.withdraw_close?pt("",!0):(me(),qe(we(zt),{key:0,size:"small",type:"primary",onClick:y[1]||(y[1]=Y=>b.value=!0)},{icon:ue(()=>[ie(E)]),default:ue(()=>[nt(" "+se(x.$t("推广佣金提现")),1)]),_:1}))]}),_:1})]}),_:1},8,["title"]),ie(K,{class:"m-t-15 border-rounded-5"},{default:ue(()=>{var $,A,Y,ne,fe,Q;return[U("div",pLe,[U("div",null,se(x.$t("已注册用户数")),1),U("div",null,se(x.$tc("{number} 人",{number:a.value[0]})),1)]),U("div",mLe,[U("div",null,se(x.$t("佣金比例")),1),($=we(t).appConfig)!=null&&$.commission_distribution_enable?(me(),ze("div",gLe,se(`${Math.floor((((A=we(t).appConfig)==null?void 0:A.commission_distribution_l1)||0)*a.value[3]/100)}%,${Math.floor((((Y=we(t).appConfig)==null?void 0:Y.commission_distribution_l2)||0)*a.value[3]/100)}%,${Math.floor((((ne=we(t).appConfig)==null?void 0:ne.commission_distribution_l3)||0)*a.value[3]/100)}%`),1)):(me(),ze("div",vLe,se(a.value[3])+"%",1))]),U("div",bLe,[U("div",null,se(x.$t("确认中的佣金")),1),U("div",null,se((fe=we(t).appConfig)==null?void 0:fe.currency_symbol)+" "+se(we(rn)(a.value[2])),1)]),U("div",yLe,[U("div",null,se(x.$t("累计获得佣金")),1),U("div",null,se((Q=we(t).appConfig)==null?void 0:Q.currency_symbol)+" "+se(we(rn)(a.value[1])),1)])]}),_:1}),ie(K,{title:x.$t("邀请码管理"),class:"m-t-15 border-rounded-5"},{"header-extra":ue(()=>[ie(we(zt),{size:"small",type:"primary",round:"",loading:d.value,onClick:f},{default:ue(()=>[nt(se(x.$t("生成邀请码")),1)]),_:1},8,["loading"])]),default:ue(()=>[ie(N,{columns:o,data:i.value,bordered:!0},null,8,["data"])]),_:1},8,["title"]),ie(K,{title:x.$t("佣金发放记录"),class:"m-t-15 border-rounded-5"},{default:ue(()=>[ie(N,{columns:r,data:l.value,pagination:c},null,8,["data","pagination"])]),_:1},8,["title"]),ie(J,{show:h.value,"onUpdate:show":y[6]||(y[6]=$=>h.value=$)},{default:ue(()=>[ie(K,{title:x.$t("划转"),segmented:{content:!0,footer:!0},"footer-style":"padding-top: 10px; padding-bottom:10px",class:"mx-10 max-w-100% w-600 md:mx-auto",closable:"",onClose:y[5]||(y[5]=$=>h.value=!1)},{footer:ue(()=>[U("div",SLe,[U("div",null,[ie(we(zt),{onClick:y[3]||(y[3]=$=>h.value=!1)},{default:ue(()=>[nt(se(x.$t("取消")),1)]),_:1}),ie(we(zt),{type:"primary",class:"ml-10",onClick:y[4]||(y[4]=$=>m()),loading:g.value,disabled:g.value},{default:ue(()=>[nt(se(x.$t("确定")),1)]),_:1},8,["loading","disabled"])])])]),default:ue(()=>[ie(D,{type:"warning"},{default:ue(()=>[nt(se(x.$tc("划转后的余额仅用于{title}消费使用",{title:we(t).title})),1)]),_:1}),U("div",xLe,[U("div",CLe,se(x.$t("当前推广佣金余额")),1),ie(M,{placeholder:we(rn)(a.value[4]),type:"number",disabled:""},null,8,["placeholder"])]),U("div",wLe,[U("div",_Le,se(x.$t("划转金额")),1),ie(G,{value:p.value,"onUpdate:value":y[2]||(y[2]=$=>p.value=$),min:0,placeholder:x.$t("请输入需要划转到余额的金额"),clearable:""},null,8,["value","placeholder"])])]),_:1},8,["title"])]),_:1},8,["show"]),ie(J,{show:b.value,"onUpdate:show":y[12]||(y[12]=$=>b.value=$)},{default:ue(()=>[ie(K,{title:x.$t("推广佣金划转至余额"),segmented:{content:!0,footer:!0},"footer-style":"padding-top: 10px; padding-bottom:10px",class:"mx-10 max-w-100% w-600 md:mx-auto"},{"header-extra":ue(()=>[ie(we(zt),{class:"h-auto p-2",tertiary:"",size:"large",onClick:y[7]||(y[7]=$=>b.value=!1)},{icon:ue(()=>[ie(he,{class:"cursor-pointer opacity-85"})]),_:1})]),footer:ue(()=>[U("div",ELe,[U("div",null,[ie(we(zt),{onClick:y[10]||(y[10]=$=>b.value=!1)},{default:ue(()=>[nt(se(x.$t("取消")),1)]),_:1}),ie(we(zt),{type:"primary",class:"ml-10",onClick:y[11]||(y[11]=$=>S()),loading:C.value,disabled:C.value},{default:ue(()=>[nt(se(x.$t("确定")),1)]),_:1},8,["loading","disabled"])])])]),default:ue(()=>{var $;return[U("div",kLe,[U("div",PLe,se(x.$t("提现方式")),1),ie(pe,{value:_.method,"onUpdate:value":y[8]||(y[8]=A=>_.method=A),options:($=we(t).appConfig)==null?void 0:$.withdraw_methods.map(A=>({label:A,value:A})),placeholder:x.$t("请选择提现方式")},null,8,["value","options","placeholder"])]),U("div",TLe,[U("div",RLe,se(x.$t("提现账号")),1),ie(M,{value:_.account,"onUpdate:value":y[9]||(y[9]=A=>_.account=A),placeholder:x.$t("请输入提现账号"),type:"string"},null,8,["value","placeholder"])])]}),_:1},8,["title"])]),_:1},8,["show"])]),_:1})}}}),ALe=Object.freeze(Object.defineProperty({__proto__:null,default:$Le},Symbol.toStringTag,{value:"Module"})),ILe={class:""},OLe={class:"mb-4 text-16 font-600"},MLe={class:"text-12 text-gray"},zLe=["innerHTML"],DLe=be({__name:"index",setup(e){const t=Tn(),n=new nd({html:!0}),o=f=>n.render(f);window.copy=f=>ma(f),window.jump=f=>a(f);const r=W(!1),i=W();async function a(f){const{data:h}=await QJ(f,t.lang);h&&(i.value=h),r.value=!0}const s=W(""),l=W(!0),c=W();async function u(){l.value=!0;const f=s.value,{data:h}=await JJ(f,t.lang);c.value=h,l.value=!1}function d(){u()}return hn(()=>{d()}),(f,h)=>{const p=ur,g=zt,m=bm,b=vl,_=Zi,C=Om,S=Im,w=go,x=uK,y=_S,P=vo;return me(),qe(P,{"show-footer":!1},{default:ue(()=>[ie(m,null,{default:ue(()=>[ie(p,{placeholder:f.$t("使用文档"),value:s.value,"onUpdate:value":h[0]||(h[0]=k=>s.value=k),onKeyup:h[1]||(h[1]=ws(k=>d(),["enter"]))},null,8,["placeholder","value"]),ie(g,{type:"primary",ghost:"",onClick:h[2]||(h[2]=k=>d())},{default:ue(()=>[nt(se(f.$t("搜索")),1)]),_:1})]),_:1}),l.value?(me(),qe(_,{key:0,vertical:"",class:"mt-20"},{default:ue(()=>[ie(b,{height:"20px",width:"33%"}),ie(b,{height:"20px",width:"66%"}),ie(b,{height:"20px"})]),_:1})):pt("",!0),(me(!0),ze(it,null,Hn(c.value,(k,T)=>(me(),qe(w,{key:T,title:T,class:"mt-20 border-rounded-5",contentStyle:"padding:0"},{default:ue(()=>[ie(S,{clickable:"",hoverable:""},{default:ue(()=>[(me(!0),ze(it,null,Hn(k,E=>(me(),qe(C,{key:E.id,onClick:R=>a(E.id)},{default:ue(()=>[U("div",ILe,[U("div",OLe,se(E.title),1),U("div",MLe,se(f.$t("最后更新"))+" "+se(we(zp)(E.updated_at)),1)])]),_:2},1032,["onClick"]))),128))]),_:2},1024)]),_:2},1032,["title"]))),128)),ie(y,{show:r.value,"onUpdate:show":h[3]||(h[3]=k=>r.value=k),width:"80%",placement:"right"},{default:ue(()=>{var k;return[ie(x,{title:(k=i.value)==null?void 0:k.title,closable:""},{default:ue(()=>{var T;return[U("div",{innerHTML:o(((T=i.value)==null?void 0:T.body)||""),class:"custom-html-style markdown-body"},null,8,zLe)]}),_:1},8,["title"])]}),_:1},8,["show"])]),_:1})}}}),LLe=Object.freeze(Object.defineProperty({__proto__:null,default:DLe},Symbol.toStringTag,{value:"Module"})),FLe={class:"inline-block",viewBox:"0 0 24 24",width:"1em",height:"1em"},BLe=U("path",{fill:"currentColor",d:"M11 18h2v-2h-2zm1-16A10 10 0 0 0 2 12a10 10 0 0 0 10 10a10 10 0 0 0 10-10A10 10 0 0 0 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8s8 3.59 8 8s-3.59 8-8 8m0-14a4 4 0 0 0-4 4h2a2 2 0 0 1 2-2a2 2 0 0 1 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5a4 4 0 0 0-4-4"},null,-1),NLe=[BLe];function HLe(e,t){return me(),ze("svg",FLe,[...NLe])}const jLe={name:"mdi-help-circle-outline",render:HLe},VLe={class:"flex"},WLe={class:"flex-[1]"},ULe={class:"flex flex-[2] flex-shrink-0 text-center"},qLe={class:"flex flex-1 items-center justify-center"},KLe={class:"flex flex-1 items-center justify-center"},GLe={class:"flex-1"},YLe={class:"flex"},XLe={class:"flex-[1] break-anywhere"},ZLe={class:"flex flex-[2] flex-shrink-0 items-center text-center"},JLe={class:"flex flex-[1] items-center justify-center"},QLe={class:"flex-[1]"},eFe={class:"flex-[1]"},tFe={key:0},nFe={key:1},oFe=be({__name:"index",setup(e){const t=W([]),n=W(!0);async function o(){n.value=!0;const r=await lk(),{data:i}=r;t.value=i,n.value=!1}return hn(()=>{o()}),(r,i)=>{const a=vl,s=Zi,l=jLe,c=Fu,u=Ti,d=Om,f=Im,h=Qc("router-link"),p=pl,g=vo;return me(),qe(g,null,{default:ue(()=>[n.value?(me(),qe(s,{key:0,vertical:"",class:"mt-20"},{default:ue(()=>[ie(a,{height:"20px",width:"33%"}),ie(a,{height:"20px",width:"66%"}),ie(a,{height:"20px"})]),_:1})):t.value.length>0?(me(),qe(f,{key:1,clickable:"",hoverable:""},{header:ue(()=>[U("div",VLe,[U("div",WLe,se(r.$t("名称")),1),U("div",ULe,[U("div",qLe,[nt(se(r.$t("状态"))+" ",1),ie(c,{placement:"bottom",trigger:"hover"},{trigger:ue(()=>[ie(l,{class:"m-l-3 text-16"})]),default:ue(()=>[U("span",null,se(r.$t("五分钟内节点在线情况")),1)]),_:1})]),U("div",KLe,[nt(se(r.$t("倍率"))+" ",1),ie(c,{placement:"bottom",trigger:"hover"},{trigger:ue(()=>[ie(l,{class:"m-l-3 text-16"})]),default:ue(()=>[U("span",null,se(r.$t("使用的流量将乘以倍率进行扣除")),1)]),_:1})]),U("div",GLe,se(r.$t("标签")),1)])])]),default:ue(()=>[(me(!0),ze(it,null,Hn(t.value,m=>(me(),qe(d,{key:m.id},{default:ue(()=>[U("div",YLe,[U("div",XLe,se(m.name),1),U("div",ZLe,[U("div",JLe,[U("div",{class:sr(["h-6 w-6 rounded-full",m.is_online?"bg-blue-500":"bg-red-500"])},null,2)]),U("div",QLe,[ie(u,{size:"small",round:"",class:""},{default:ue(()=>[nt(se(m.rate)+" x ",1)]),_:2},1024)]),U("div",eFe,[m.tags&&m.tags.length>0?(me(),ze("div",tFe,[(me(!0),ze(it,null,Hn(m.tags,b=>(me(),qe(u,{size:"small",round:"",key:b},{default:ue(()=>[nt(se(b),1)]),_:2},1024))),128))])):(me(),ze("span",nFe,"-"))])])])]),_:2},1024))),128))]),_:1})):(me(),qe(p,{key:2,type:"info"},{default:ue(()=>[U("div",null,[nt(se(r.$t("没有可用节点,如果您未订阅或已过期请"))+" ",1),ie(h,{class:"font-600",to:"/plan"},{default:ue(()=>[nt(se(r.$t("订阅")),1)]),_:1}),nt("。 ")])]),_:1}))]),_:1})}}}),rFe=Object.freeze(Object.defineProperty({__proto__:null,default:oFe},Symbol.toStringTag,{value:"Module"})),iFe=be({__name:"index",setup(e){const t=s=>mn.global.t(s),n=[{title:t("# 订单号"),key:"trade_no",render(s){return v(zt,{text:!0,class:"color-primary",onClick:()=>Gt.push(`/order/${s.trade_no}`)},{default:()=>s.trade_no})}},{title:t("周期"),key:"period",render(s){return v(Ti,{round:!0,size:"small"},{default:()=>t(zk[s.period])})}},{title:t("订单金额"),key:"total_amount",render(s){return rn(s.total_amount)}},{title:t("订单状态"),key:"status",render(s){const l=t(Uze[s.status]),c=v("div",{class:["h-6 w-6 rounded-full mr-5",s.status===3?"bg-green-500":"bg-red-500"]});return v("div",{class:"flex items-center"},[c,l])}},{title:t("创建时间"),key:"created_at",render(s){return Wo(s.created_at)}},{title:t("操作"),key:"actions",fixed:"right",render(s){const l=v(zt,{text:!0,type:"primary",onClick:()=>Gt.push(`/order/${s.trade_no}`)},{default:()=>t("查看详情")}),c=v(zt,{text:!0,type:"primary",disabled:s.status!==0,onClick:()=>o(s.trade_no)},{default:()=>t("取消")}),u=v(Xi,{vertical:!0});return v("div",[l,u,c])}}];async function o(s){window.$dialog.confirm({title:t("注意"),type:"info",content:t("如果您已经付款,取消订单可能会导致支付失败,确定要取消订单吗?"),async confirm(){const{data:l}=await Wu(s);l===!0&&(window.$message.success(t("取消成功")),a())}})}const r=W([]);async function i(){const s=await Hm(),{data:l}=s;r.value=l}async function a(){i()}return hn(()=>{a()}),(s,l)=>{const c=Nu,u=vo;return me(),qe(u,null,{default:ue(()=>[ie(c,{columns:n,data:r.value,bordered:!1,"scroll-x":800},null,8,["data"])]),_:1})}}}),aFe=Object.freeze(Object.defineProperty({__proto__:null,default:iFe},Symbol.toStringTag,{value:"Module"})),sFe={class:"inline-block",viewBox:"0 0 48 48",width:"1em",height:"1em"},lFe=U("g",{fill:"currentColor","fill-rule":"evenodd","clip-rule":"evenodd"},[U("path",{d:"M24 42c9.941 0 18-8.059 18-18S33.941 6 24 6S6 14.059 6 24s8.059 18 18 18m0 2c11.046 0 20-8.954 20-20S35.046 4 24 4S4 12.954 4 24s8.954 20 20 20"}),U("path",{d:"M34.67 16.259a1 1 0 0 1 .072 1.412L21.386 32.432l-8.076-7.709a1 1 0 0 1 1.38-1.446l6.59 6.29L33.259 16.33a1 1 0 0 1 1.413-.07"})],-1),cFe=[lFe];function uFe(e,t){return me(),ze("svg",sFe,[...cFe])}const Dk={name:"healthicons-yes-outline",render:uFe},dFe={class:"inline-block",viewBox:"0 0 1024 1024",width:"1em",height:"1em"},fFe=U("path",{fill:"currentColor",d:"M952.08 1.552L529.039 116.144c-10.752 2.88-34.096 2.848-44.815-.16L72.08 1.776C35.295-8.352-.336 18.176-.336 56.048V834.16c0 32.096 24.335 62.785 55.311 71.409l412.16 114.224c11.025 3.055 25.217 4.751 39.937 4.751c10.095 0 25.007-.784 38.72-4.528l423.023-114.592c31.056-8.4 55.504-39.024 55.504-71.248V56.048c.016-37.84-35.616-64.464-72.24-54.496zM479.999 956.943L71.071 843.887c-3.088-.847-7.408-6.496-7.408-9.712V66.143L467.135 177.68c3.904 1.088 8.288 1.936 12.864 2.656zm480.336-122.767c0 3.152-5.184 8.655-8.256 9.503L544 954.207v-775.92c.592-.144 1.2-.224 1.792-.384L960.32 65.775v768.4h.016zM641.999 366.303c2.88 0 5.81-.367 8.69-1.184l223.935-63.024c17.025-4.816 26.945-22.465 22.16-39.473s-22.56-26.88-39.472-22.16l-223.936 63.025c-17.024 4.816-26.944 22.464-22.16 39.472c3.968 14.128 16.815 23.344 30.783 23.344m.002 192.001c2.88 0 5.81-.368 8.69-1.185l223.935-63.024c17.025-4.816 26.945-22.465 22.16-39.473c-4.783-17.008-22.56-26.88-39.472-22.16l-223.936 63.025c-17.024 4.816-26.944 22.464-22.16 39.457c3.968 14.127 16.815 23.36 30.783 23.36m.002 192c2.88 0 5.81-.368 8.69-1.185l223.935-63.024c17.025-4.816 26.945-22.465 22.16-39.473s-22.56-26.88-39.472-22.16L633.38 687.487c-17.024 4.816-26.944 22.464-22.16 39.472c3.968 14.113 16.815 23.345 30.783 23.345M394.629 303.487l-223.934-63.025c-16.912-4.72-34.688 5.152-39.473 22.16s5.12 34.656 22.16 39.473l223.937 63.024a31.8 31.8 0 0 0 8.687 1.184c13.968 0 26.815-9.215 30.783-23.343c4.784-16.993-5.12-34.657-22.16-39.473m.002 191.999l-223.934-63.025c-16.912-4.72-34.689 5.152-39.473 22.16s5.12 34.656 22.16 39.473l223.936 63.024a31.8 31.8 0 0 0 8.688 1.184c13.968 0 26.815-9.215 30.783-23.343c4.784-16.993-5.12-34.657-22.16-39.473m.002 191.999L170.699 624.46c-16.912-4.72-34.689 5.152-39.473 22.16s5.12 34.656 22.16 39.473l223.936 63.024a31.8 31.8 0 0 0 8.688 1.184c13.968 0 26.815-9.215 30.783-23.343c4.784-17.008-5.12-34.657-22.16-39.473"},null,-1),hFe=[fFe];function pFe(e,t){return me(),ze("svg",dFe,[...hFe])}const mFe={name:"simple-line-icons-book-open",render:pFe},gFe={class:"inline-block",viewBox:"0 0 20 20",width:"1em",height:"1em"},vFe=U("path",{fill:"currentColor",d:"M10 2c-4.42 0-8 3.58-8 8s3.58 8 8 8s8-3.58 8-8s-3.58-8-8-8m-.615 12.66h-1.34l-3.24-4.54l1.341-1.25l2.569 2.4l5.141-5.931l1.34.94z"},null,-1),bFe=[vFe];function yFe(e,t){return me(),ze("svg",gFe,[...bFe])}const xFe={name:"dashicons-yes-alt",render:yFe},CFe={class:"inline-block",viewBox:"0 0 20 20",width:"1em",height:"1em"},wFe=U("path",{fill:"currentColor",d:"M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8s-8-3.58-8-8s3.58-8 8-8m1.13 9.38l.35-6.46H8.52l.35 6.46zm-.09 3.36c.24-.23.37-.55.37-.96c0-.42-.12-.74-.36-.97s-.59-.35-1.06-.35s-.82.12-1.07.35s-.37.55-.37.97c0 .41.13.73.38.96c.26.23.61.34 1.06.34s.8-.11 1.05-.34"},null,-1),_Fe=[wFe];function SFe(e,t){return me(),ze("svg",CFe,[..._Fe])}const kFe={name:"dashicons-warning",render:SFe},PFe={class:"relative max-w-full w-300",style:{"padding-bottom":"100%"}},TFe={class:"p-10 text-center"},RFe={key:1,class:"flex flex-wrap"},EFe={class:"w-100% md:flex-[2]"},$Fe={key:2,class:"mt-10 text-22"},AFe={key:3,class:"text-14 text-[rgba(0,0,0,0.45)]"},IFe={class:"flex"},OFe={class:"flex-[1] text-#49505799"},MFe={class:"flex-[2]"},zFe={class:"flex"},DFe={class:"m-t-5 flex-[1] text-#49505799"},LFe={class:"flex-[2]"},FFe={class:"flex"},BFe={class:"m-b-5 m-t-5 flex-[1] text-#49505799"},NFe={class:"flex-[2]"},HFe={class:"flex"},jFe={class:"flex-[1] text-#49505799"},VFe={class:"flex-[2]"},WFe={key:0,class:"flex"},UFe={class:"flex-[1] text-#49505799"},qFe={class:"flex-[2]"},KFe={key:1,class:"flex"},GFe={class:"flex-[1] text-#49505799"},YFe={class:"flex-[2]"},XFe={key:2,class:"flex"},ZFe={class:"flex-[1] text-#49505799"},JFe={class:"flex-[2]"},QFe={key:3,class:"flex"},e9e={class:"flex-[1] text-#49505799"},t9e={class:"flex-[2]"},n9e={key:4,class:"flex"},o9e={class:"flex-[1] text-#49505799"},r9e={class:"flex-[2]"},i9e={class:"flex"},a9e={class:"m-t-5 flex-[1] text-#49505799"},s9e={class:"flex-[2]"},l9e=["onClick"],c9e={class:"flex-[1] whitespace-nowrap"},u9e={class:"flex-[1]"},d9e=["src"],f9e={key:0,class:"w-100% md:flex-[1] md:pl-20"},h9e={class:"mt-20 border-rounded-5 bg-#2f3135 p-20 color-white"},p9e={class:"text-18 font-600"},m9e={class:"flex border-#646669 border-b-solid pb-16 pt-16"},g9e={class:"flex-[2]"},v9e={class:"flex-[1] text-right color-#f8f9fa"},b9e={key:0,class:"border-[#646669] border-b-solid pb-16 pt-16"},y9e={class:"color-#f8f9fa41"},x9e={class:"pt-16 text-right"},C9e={key:1,class:"border-[#646669] border-b-solid pb-16 pt-16"},w9e={class:"color-#f8f9fa41"},_9e={class:"pt-16 text-right"},S9e={key:2,class:"border-[#646669] border-b-solid pb-16 pt-16"},k9e={class:"color-#f8f9fa41"},P9e={class:"pt-16 text-right"},T9e={key:3,class:"border-[#646669] border-b-solid pb-16 pt-16"},R9e={class:"color-#f8f9fa41"},E9e={class:"pt-16 text-right"},$9e={key:4,class:"border-[#646669] border-b-solid pb-16 pt-16"},A9e={class:"color-#f8f9fa41"},I9e={class:"pt-16 text-right"},O9e={class:"pb-16 pt-16"},M9e={class:"color-#f8f9fa41"},z9e={class:"text-36 font-600"},D9e=be({__name:"detail",setup(e){const t=Tn(),n=Ji(),o=Da(),r=y=>mn.global.t(y);function i(y){switch(y){case 1:return{icon:"info",title:r("开通中"),subTitle:r("订单系统正在进行处理,请稍等1-3分钟。")};case 2:return{icon:"info",title:r("已取消"),subTitle:r("订单由于超时支付已被取消。")};case 3:case 4:return{icon:"info",title:r("已完成"),subTitle:r("订单已支付并开通。")}}return{icon:"error",title:r("意料之外"),subTitle:r("意料之外的状态")}}async function a(){window.$dialog.confirm({title:r("注意"),type:"info",content:r("如果您已经付款,取消订单可能会导致支付失败,确定要取消订单吗?"),async confirm(){const{data:y}=await Wu(s.value);y===!0&&(window.$message.success(r("取消成功")),x())}})}const s=W(""),l=W(),c=W(),u=W(!0);async function d(){u.value=!0;const{data:y}=await OJ(s.value);l.value=y,clearInterval(c.value),y.status===Ms.PENDING&&p(),[Ms.PENDING,Ms.PROCESSING].includes(y.status)&&(c.value=setInterval(S,1500)),u.value=!1}const f=W([]),h=W(0);async function p(){const{data:y}=await VJ();f.value=y}function g(){var P,k,T,E,R;return(((P=l.value)==null?void 0:P.plan[l.value.period])||0)-(((k=l.value)==null?void 0:k.balance_amount)||0)-(((T=l.value)==null?void 0:T.surplus_amount)||0)+(((E=l.value)==null?void 0:E.refund_amount)||0)-(((R=l.value)==null?void 0:R.discount_amount)||0)}function m(){const y=f.value[h.value];return(y!=null&&y.handling_fee_percent||y!=null&&y.handling_fee_fixed)&&g()?g()*parseFloat(y.handling_fee_percent||"0")/100+((y==null?void 0:y.handling_fee_fixed)||0):0}async function b(){const y=f.value[h.value],{data:P,type:k}=await WJ(s.value,y==null?void 0:y.id);P&&(P===!0?(window.$message.info(r("支付成功")),setTimeout(()=>{w()},500)):k===0?(_.value=!0,C.value=P):k===1&&(window.$message.info(r("正在前往收银台")),setTimeout(()=>{window.location.href=P},500)))}const _=W(!1),C=W("");async function S(){var P;const{data:y}=await MJ(s.value);y!==((P=l.value)==null?void 0:P.status)&&w()}async function w(){x(),n.getUserInfo()}async function x(){d(),_.value=!1}return hn(()=>{typeof o.params.trade_no=="string"&&(s.value=o.params.trade_no),x()}),Ma(()=>{clearInterval(c.value)}),(y,P)=>{const k=JS,T=Xi,E=go,R=ni,K=vl,N=Zi,D=kFe,M=xFe,G=mFe,J=zt,he=Dk,pe=vo;return me(),qe(pe,null,{default:ue(()=>{var B,$,A,Y,ne,fe,Q,xe,H,ye,Oe,Ne,L,O,oe,_e,te,ge,ke,I,j,ee,Ce,ce,le,re;return[ie(R,{show:_.value,"onUpdate:show":P[0]||(P[0]=de=>_.value=de),onOnAfterLeave:P[1]||(P[1]=de=>C.value="")},{default:ue(()=>[ie(E,{"content-style":"padding:10px",class:"w-auto",bordered:!1,size:"huge",role:"dialog","aria-modal":"true"},{default:ue(()=>[U("div",PFe,[C.value?(me(),qe(k,{key:0,value:C.value,class:"pay-qrcode absolute h-full! w-full!",size:"400"},null,8,["value"])):pt("",!0)]),ie(T,{class:"m-0!"}),U("div",TFe,se(y.$t("等待支付中")),1)]),_:1})]),_:1},8,["show"]),u.value?(me(),qe(N,{key:0,vertical:"",class:"mt-20"},{default:ue(()=>[ie(K,{height:"20px",width:"33%"}),ie(K,{height:"20px",width:"66%"}),ie(K,{height:"20px"})]),_:1})):(me(),ze("div",RFe,[U("div",EFe,[((B=l.value)==null?void 0:B.status)!==0?(me(),qe(E,{key:0,class:"flex text-center","items-center":"","border-rounded-5":""},{default:ue(()=>{var de,De,Le,Pe,Fe,He;return[((de=l.value)==null?void 0:de.status)===2?(me(),qe(D,{key:0,class:"text-90 color-#f9a314"})):pt("",!0),((De=l.value)==null?void 0:De.status)===3||((Le=l.value)==null?void 0:Le.status)==4?(me(),qe(M,{key:1,class:"text-90 color-#48bc19"})):pt("",!0),(Pe=l.value)!=null&&Pe.status?(me(),ze("div",$Fe,se(i(l.value.status).title),1)):pt("",!0),(Fe=l.value)!=null&&Fe.status?(me(),ze("div",AFe,se(i(l.value.status).subTitle),1)):pt("",!0),((He=l.value)==null?void 0:He.status)===3?(me(),qe(J,{key:4,"icon-placement":"left",strong:"",color:"#db4619",size:"small",round:"",class:"mt-30",onClick:P[2]||(P[2]=Ie=>y.$router.push("/knowledge"))},{icon:ue(()=>[ie(G)]),default:ue(()=>[nt(" "+se(y.$t("查看使用教程")),1)]),_:1})):pt("",!0)]}),_:1})):pt("",!0),ie(E,{class:"mt-20 border-rounded-5",title:y.$t("商品信息")},{default:ue(()=>{var de,De,Le;return[U("div",IFe,[U("div",OFe,se(y.$t("产品名称"))+":",1),U("div",MFe,se((de=l.value)==null?void 0:de.plan.name),1)]),U("div",zFe,[U("div",DFe,se(y.$t("类型/周期"))+":",1),U("div",LFe,se((De=l.value)!=null&&De.period?y.$t(we(zk)[l.value.period]):""),1)]),U("div",FFe,[U("div",BFe,se(y.$t("产品流量"))+":",1),U("div",NFe,se((Le=l.value)==null?void 0:Le.plan.transfer_enable)+" GB",1)])]}),_:1},8,["title"]),ie(E,{class:"mt-20 border-rounded-5",title:y.$t("订单信息")},{"header-extra":ue(()=>{var de;return[((de=l.value)==null?void 0:de.status)===0?(me(),qe(J,{key:0,color:"#db4619",size:"small",round:"",strong:"",onClick:P[3]||(P[3]=De=>a())},{default:ue(()=>[nt(se(y.$t("关闭订单")),1)]),_:1})):pt("",!0)]}),default:ue(()=>{var de,De,Le,Pe,Fe,He,Ie,Qe,Ct,X,ve;return[U("div",HFe,[U("div",jFe,se(y.$t("订单号"))+":",1),U("div",VFe,se((de=l.value)==null?void 0:de.trade_no),1)]),(De=l.value)!=null&&De.discount_amount&&((Le=l.value)==null?void 0:Le.discount_amount)>0?(me(),ze("div",WFe,[U("div",UFe,se(y.$t("优惠金额")),1),U("div",qFe,se(we(rn)(l.value.discount_amount)),1)])):pt("",!0),(Pe=l.value)!=null&&Pe.surplus_amount&&((Fe=l.value)==null?void 0:Fe.surplus_amount)>0?(me(),ze("div",KFe,[U("div",GFe,se(y.$t("旧订阅折抵金额")),1),U("div",YFe,se(we(rn)(l.value.surplus_amount)),1)])):pt("",!0),(He=l.value)!=null&&He.refund_amount&&((Ie=l.value)==null?void 0:Ie.refund_amount)>0?(me(),ze("div",XFe,[U("div",ZFe,se(y.$t("退款金额")),1),U("div",JFe,se(we(rn)(l.value.refund_amount)),1)])):pt("",!0),(Qe=l.value)!=null&&Qe.balance_amount&&((Ct=l.value)==null?void 0:Ct.balance_amount)>0?(me(),ze("div",QFe,[U("div",e9e,se(y.$t("余额支付 ")),1),U("div",t9e,se(we(rn)(l.value.balance_amount)),1)])):pt("",!0),((X=l.value)==null?void 0:X.status)===0&&m()>0?(me(),ze("div",n9e,[U("div",o9e,se(y.$t("支付手续费"))+":",1),U("div",r9e,se(we(rn)(m())),1)])):pt("",!0),U("div",i9e,[U("div",a9e,se(y.$t("创建时间"))+":",1),U("div",s9e,se(we(Wo)((ve=l.value)==null?void 0:ve.created_at)),1)])]}),_:1},8,["title"]),(($=l.value)==null?void 0:$.status)===0?(me(),qe(E,{key:1,title:y.$t("支付方式"),class:"mt-20","content-style":"padding:0"},{default:ue(()=>[(me(!0),ze(it,null,Hn(f.value,(de,De)=>(me(),ze("div",{key:de.id,class:sr(["border-2 border-rounded-5 p-20 border-solid flex",h.value===De?"border-#0665d0":"border-transparent"]),onClick:Le=>h.value=De},[U("div",c9e,se(de.name),1),U("div",u9e,[U("img",{class:"max-h-30",src:de.icon},null,8,d9e)])],10,l9e))),128))]),_:1},8,["title"])):pt("",!0)]),((A=l.value)==null?void 0:A.status)===0?(me(),ze("div",f9e,[U("div",h9e,[U("div",p9e,se(y.$t("订单总额")),1),U("div",m9e,[U("div",g9e,se((Y=l.value)==null?void 0:Y.plan.name),1),U("div",v9e,se((ne=we(t).appConfig)==null?void 0:ne.currency_symbol)+se(((fe=l.value)==null?void 0:fe.period)&&we(rn)((Q=l.value)==null?void 0:Q.plan[l.value.period])),1)]),(xe=l.value)!=null&&xe.surplus_amount&&((H=l.value)==null?void 0:H.surplus_amount)>0?(me(),ze("div",b9e,[U("div",y9e,se(y.$t("折抵")),1),U("div",x9e," - "+se((ye=we(t).appConfig)==null?void 0:ye.currency_symbol)+se(we(rn)((Oe=l.value)==null?void 0:Oe.surplus_amount)),1)])):pt("",!0),(Ne=l.value)!=null&&Ne.discount_amount&&((L=l.value)==null?void 0:L.discount_amount)>0?(me(),ze("div",C9e,[U("div",w9e,se(y.$t("折扣")),1),U("div",_9e," - "+se((O=we(t).appConfig)==null?void 0:O.currency_symbol)+se(we(rn)((oe=l.value)==null?void 0:oe.discount_amount)),1)])):pt("",!0),(_e=l.value)!=null&&_e.refund_amount&&((te=l.value)==null?void 0:te.refund_amount)>0?(me(),ze("div",S9e,[U("div",k9e,se(y.$t("退款")),1),U("div",P9e," - "+se((ge=we(t).appConfig)==null?void 0:ge.currency_symbol)+se(we(rn)((ke=l.value)==null?void 0:ke.refund_amount)),1)])):pt("",!0),(I=l.value)!=null&&I.balance_amount&&((j=l.value)==null?void 0:j.balance_amount)>0?(me(),ze("div",T9e,[U("div",R9e,se(y.$t("余额支付")),1),U("div",E9e," - "+se((ee=we(t).appConfig)==null?void 0:ee.currency_symbol)+se(we(rn)((Ce=l.value)==null?void 0:Ce.balance_amount)),1)])):pt("",!0),m()>0?(me(),ze("div",$9e,[U("div",A9e,se(y.$t("支付手续费")),1),U("div",I9e," + "+se((ce=we(t).appConfig)==null?void 0:ce.currency_symbol)+se(we(rn)(m())),1)])):pt("",!0),U("div",O9e,[U("div",M9e,se(y.$t("总计")),1),U("div",z9e,se((le=we(t).appConfig)==null?void 0:le.currency_symbol)+" "+se(we(rn)(g()+m()))+" "+se((re=we(t).appConfig)==null?void 0:re.currency),1)]),ie(J,{type:"primary",class:"w-100% text-white","icon-placement":"left",strong:"",onClick:P[4]||(P[4]=de=>b())},{icon:ue(()=>[ie(he)]),default:ue(()=>[nt(" "+se(y.$t("结账")),1)]),_:1})])])):pt("",!0)]))]}),_:1})}}}),L9e=Object.freeze(Object.defineProperty({__proto__:null,default:D9e},Symbol.toStringTag,{value:"Module"})),F9e={class:"inline-block",viewBox:"0 0 50 50",width:"1em",height:"1em"},B9e=U("path",{fill:"currentColor",d:"M25 42c-9.4 0-17-7.6-17-17S15.6 8 25 8s17 7.6 17 17s-7.6 17-17 17m0-32c-8.3 0-15 6.7-15 15s6.7 15 15 15s15-6.7 15-15s-6.7-15-15-15"},null,-1),N9e=U("path",{fill:"currentColor",d:"m32.283 16.302l1.414 1.415l-15.98 15.98l-1.414-1.414z"},null,-1),H9e=U("path",{fill:"currentColor",d:"m17.717 16.302l15.98 15.98l-1.414 1.415l-15.98-15.98z"},null,-1),j9e=[B9e,N9e,H9e];function V9e(e,t){return me(),ze("svg",F9e,[...j9e])}const Lk={name:"ei-close-o",render:V9e},W9e={class:"inline-block",viewBox:"0 0 50 50",width:"1em",height:"1em"},U9e=U("path",{fill:"currentColor",d:"M25 42c-9.4 0-17-7.6-17-17S15.6 8 25 8s17 7.6 17 17s-7.6 17-17 17m0-32c-8.3 0-15 6.7-15 15s6.7 15 15 15s15-6.7 15-15s-6.7-15-15-15"},null,-1),q9e=U("path",{fill:"currentColor",d:"m23 32.4l-8.7-8.7l1.4-1.4l7.3 7.3l11.3-11.3l1.4 1.4z"},null,-1),K9e=[U9e,q9e];function G9e(e,t){return me(),ze("svg",W9e,[...K9e])}const Fk={name:"ei-check",render:G9e},Y9e={class:"ml-auto mr-auto max-w-1200 w-100%"},X9e={class:"m-3 mb-4 mt-4 text-30 font-400"},Z9e={class:"card-container m-t-10 md:m-t-40"},J9e=["onClick"],Q9e={class:"vertical-bottom"},e7e={class:"text-30 font-600"},t7e={class:"p-l-5 text-16 text-gray"},n7e={key:0},o7e=["innerHTML"],r7e=be({__name:"index",setup(e){const t=Tn(),n=d=>mn.global.t(d),o=new nd({html:!0}),r=d=>o.render(d),i=W(0),a=[{value:0,label:n("全部")},{value:1,label:n("按周期")},{value:2,label:n("按流量")}],s=W([]),l=W([]);ft([l,i],d=>{s.value=d[0].filter(f=>{if(d[1]===0)return 1;if(d[1]===1)return!((f.onetime_price||0)>0);if(d[1]===2)return(f.onetime_price||0)>0})});async function c(){const{data:d}=await IJ();d.forEach(f=>{const h=u(f);f.price=h.price,f.cycle=h.cycle}),l.value=d}hn(()=>{c()});function u(d){return d.onetime_price!==null?{price:d.onetime_price/100,cycle:n("一次性")}:d.month_price!==null?{price:d.month_price/100,cycle:n("月付")}:d.quarter_price!==null?{price:d.quarter_price/100,cycle:n("季付")}:d.half_year_price!==null?{price:d.half_year_price/100,cycle:n("半年付")}:d.year_price!==null?{price:d.year_price/100,cycle:n("年付")}:d.two_year_price!==null?{price:d.two_year_price/100,cycle:n("两年付")}:d.three_year_price!==null?{price:d.three_year_price/100,cycle:n("三年付")}:{price:0,cycle:n("错误")}}return(d,f)=>{const h=fU,p=J2,g=Fk,m=Lk,b=vr,_=zt,C=go,S=vo;return me(),qe(S,null,{default:ue(()=>[U("div",Y9e,[U("h2",X9e,se(d.$t("选择最适合你的计划")),1),ie(p,{value:i.value,"onUpdate:value":f[0]||(f[0]=w=>i.value=w),name:"plan_select",class:""},{default:ue(()=>[(me(),ze(it,null,Hn(a,w=>ie(h,{key:w.value,value:w.value,label:w.label,style:{background:"--n-color"}},null,8,["value","label"])),64))]),_:1},8,["value"]),U("section",Z9e,[(me(!0),ze(it,null,Hn(s.value,w=>(me(),ze("div",{class:"card-item min-w-300 cursor-pointer",key:w.id,onClick:x=>d.$router.push("/plan/"+w.id)},[ie(C,{title:w.name,hoverable:"",class:"max-w-100% w-375"},{"header-extra":ue(()=>{var x;return[U("div",Q9e,[U("span",e7e,se((x=we(t).appConfig)==null?void 0:x.currency_symbol)+" "+se(w.price),1),U("span",t7e," /"+se(w.cycle),1)])]}),action:ue(()=>[ie(_,{strong:"",secondary:"",type:"primary"},{default:ue(()=>[nt(se(d.$t("立即订阅")),1)]),_:1})]),default:ue(()=>[we(dC)(w.content)?(me(),ze("div",n7e,[(me(!0),ze(it,null,Hn(JSON.parse(w.content),(x,y)=>(me(),ze("div",{key:y,class:sr(["vertical-center flex items-center",x.support?"":"opacity-30"])},[ie(b,{size:"30",class:"flex items-center text-[--primary-color]"},{default:ue(()=>[x.support?(me(),qe(g,{key:0})):(me(),qe(m,{key:1}))]),_:2},1024),U("div",null,se(x.feature),1)],2))),128))])):(me(),ze("div",{key:1,innerHTML:r(w.content||""),class:"markdown-body"},null,8,o7e))]),_:2},1032,["title"])],8,J9e))),128))])])]),_:1})}}}),i7e=qu(r7e,[["__scopeId","data-v-79fa0f66"]]),a7e=Object.freeze(Object.defineProperty({__proto__:null,default:i7e},Symbol.toStringTag,{value:"Module"})),s7e={class:"inline-block",viewBox:"0 0 576 512",width:"1em",height:"1em"},l7e=U("path",{fill:"currentColor",d:"M64 64C28.7 64 0 92.7 0 128v64c0 8.8 7.4 15.7 15.7 18.6C34.5 217.1 48 235 48 256s-13.5 38.9-32.3 45.4C7.4 304.3 0 311.2 0 320v64c0 35.3 28.7 64 64 64h448c35.3 0 64-28.7 64-64v-64c0-8.8-7.4-15.7-15.7-18.6C541.5 294.9 528 277 528 256s13.5-38.9 32.3-45.4c8.3-2.9 15.7-9.8 15.7-18.6v-64c0-35.3-28.7-64-64-64zm64 112v160c0 8.8 7.2 16 16 16h288c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16m-32-16c0-17.7 14.3-32 32-32h320c17.7 0 32 14.3 32 32v192c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32z"},null,-1),c7e=[l7e];function u7e(e,t){return me(),ze("svg",s7e,[...c7e])}const d7e={name:"fa6-solid-ticket",render:u7e},f7e={key:1,class:"flex flex-wrap"},h7e={class:"w-100% md:max-w-2/3"},p7e={key:0},m7e=["innerHTML"],g7e=["onClick"],v7e={class:"mt-20 w-full md:mt-0 md:max-w-1/3 sm:max-w-full md:pl-20"},b7e={class:"border-rounded-5 bg-#2f3135 p-20 color-white"},y7e={class:"flex items-center"},x7e=["placeholder"],C7e={class:"mt-0 border-rounded-5 bg-#2f3135 p-20 color-white md:mt-20"},w7e={class:"text-18 font-600"},_7e={class:"flex border-#646669 border-b-solid pb-16 pt-16"},S7e={class:"flex-[2]"},k7e={class:"flex-[1] text-right color-#f8f9fa"},P7e={key:0,class:"border-[#646669] border-b-solid pb-16 pt-16"},T7e={class:"color-#f8f9fa"},R7e={class:"flex pb-16 pt-16"},E7e={class:"flex-[2]"},$7e={class:"flex-[1] text-right color-#f8f9fa"},A7e={class:"pb-16 pt-16"},I7e={class:"color-#f8f9fa"},O7e={class:"text-36 font-600"},M7e=be({__name:"detail",setup(e){const t=Tn(),n=Da(),o=Ji(),r=T=>mn.global.t(T),i=new nd({html:!0}),a=T=>i.render(T),s={month_price:r("月付"),quarter_price:r("季付"),half_year_price:r("半年付"),year_price:r("年付"),two_year_price:r("两年付"),three_year_price:r("三年付"),onetime_price:r("一次性"),reset_price:r("流量重置包")},l=W(0),c=W([]);async function u(){const T=C.value;c.value=[];for(const E in T)E in s&&T[E]!==null&&c.value.push({name:s[E],key:E})}const d=W(""),f=W(!1),h=W();async function p(){f.value=!0;const{data:T}=await qJ(d.value,k.value);T&&(h.value=T),f.value=!1}function g(){if(!h.value||!C.value||XC(l.value))return 0;const{type:T,value:E}=h.value,R=c.value[l.value].key;return T===1?E:E*C.value[R]/100}const m=W(!1);async function b(){var E;const T=(E=x.value)==null?void 0:E.find(R=>R.status===0);if(T){const R=T.trade_no;window.$dialog.confirm({title:r("注意"),type:"info",content:r("你还有未完成的订单,购买前需要先进行取消,确定取消先前的订单吗?"),positiveText:r("确认取消"),negativeText:r("返回我的订单"),confirm(){Wu(R).then(({data:K})=>{K&&_()})},cancel(){Gt.push("/order")}});return}if(o.plan_id&&o.plan_id!=k.value&&(o.expired_at===null||o.expired_at>=Math.floor(Date.now()/1e3))){window.$dialog.confirm({title:r("注意"),type:"info",content:r("请注意,变更订阅会导致当前订阅被覆盖。"),confirm(){_()}});return}_()}async function _(){var R;m.value=!0;const T=c.value[l.value].key,{data:E}=await ck(k.value,T,(R=h.value)==null?void 0:R.code);E&&(window.$message.success(r("订单提交成功,正在跳转支付")),setTimeout(()=>{Gt.push("/order/"+E)},500)),m.value=!1}const C=W(),S=W(!0);async function w(){S.value=!0;const{data:T}=await UJ(k.value);S.value=!1,T?(C.value=T,u()):Gt.push("/plan")}const x=W();async function y(){const{data:T}=await Hm();x.value=T}function P(){w(),y()}const k=W();return hn(()=>{k.value=n.params.plan_id,P()}),(T,E)=>{const R=vl,K=Zi,N=Fk,D=Lk,M=vr,G=go,J=Xi,he=d7e,pe=zt,B=Dk,$=vo;return me(),qe($,null,{default:ue(()=>{var A,Y,ne,fe,Q,xe,H,ye;return[S.value?(me(),qe(K,{key:0,vertical:"",class:"mt-20"},{default:ue(()=>[ie(R,{height:"20px",width:"33%"}),ie(R,{height:"20px",width:"66%"}),ie(R,{height:"20px"})]),_:1})):(me(),ze("div",f7e,[U("div",h7e,[ie(G,{title:(A=C.value)==null?void 0:A.name,class:"m-auto max-w-100% border-rounded-5"},{default:ue(()=>{var Oe,Ne,L;return[we(dC)(((Oe=C.value)==null?void 0:Oe.content)||"")?(me(),ze("div",p7e,[(me(!0),ze(it,null,Hn(JSON.parse(((Ne=C.value)==null?void 0:Ne.content)||""),(O,oe)=>(me(),ze("div",{key:oe,class:sr(["vertical-center flex items-center",O.support?"":"opacity-30"])},[ie(M,{size:"30",class:"flex items-center text-[--primary-color]"},{default:ue(()=>[O.support?(me(),qe(N,{key:0})):(me(),qe(D,{key:1}))]),_:2},1024),U("div",null,se(O.feature),1)],2))),128))])):(me(),ze("div",{key:1,innerHTML:a(((L=C.value)==null?void 0:L.content)||""),class:"markdown-body"},null,8,m7e))]}),_:1},8,["title"]),ie(G,{title:T.$t("付款周期"),class:"mt-20 border-rounded-5",contentStyle:"padding:0"},{default:ue(()=>[(me(!0),ze(it,null,Hn(c.value,(Oe,Ne)=>{var L,O;return me(),ze("div",{key:Oe.key},[U("div",{class:sr(["flex justify-between border-2 border-rounded-5 border-solid p-20 text-16 cursor-pointer",Ne===l.value?"border-#0665d0":"border-transparent"]),onClick:oe=>l.value=Ne},[U("div",null,se(Oe.name),1),U("div",null,se((L=we(t).appConfig)==null?void 0:L.currency_symbol)+" "+se(we(rn)((O=C.value)==null?void 0:O[c.value[Ne].key])),1)],10,g7e),ie(J,{class:"m-0!"})])}),128))]),_:1},8,["title"])]),U("div",v7e,[U("div",b7e,[U("div",y7e,[dn(U("input",{placeholder:r("有优惠券?"),"onUpdate:modelValue":E[0]||(E[0]=Oe=>d.value=Oe),class:"min-w-0 flex-[1] border-none bg-transparent color-white outline-none"},null,8,x7e),[[LP,d.value]]),ie(pe,{type:"primary","icon-placement":"left",loading:f.value,disabled:f.value,onClick:E[1]||(E[1]=Oe=>p())},{icon:ue(()=>[ie(he)]),default:ue(()=>[nt(" "+se(T.$t("验证")),1)]),_:1},8,["loading","disabled"])])]),U("div",C7e,[U("div",w7e,se(T.$t("订单总额")),1),U("div",_7e,[U("div",S7e,se((Y=C.value)==null?void 0:Y.name),1),U("div",k7e,se((ne=we(t).appConfig)==null?void 0:ne.currency_symbol)+" "+se(we(rn)((fe=C.value)==null?void 0:fe[c.value[l.value].key])),1)]),h.value?(me(),ze("div",P7e,[U("div",T7e,se(T.$t("折扣")),1),U("div",R7e,[U("div",E7e,se((Q=h.value)==null?void 0:Q.name),1),U("div",$7e,"- "+se(we(rn)(g())),1)])])):pt("",!0),U("div",A7e,[U("div",I7e,se(T.$t("总计")),1),U("div",O7e,se((xe=we(t).appConfig)==null?void 0:xe.currency_symbol)+" "+se(we(rn)(((H=C.value)==null?void 0:H[c.value[l.value].key])-g()))+" "+se((ye=we(t).appConfig)==null?void 0:ye.currency),1)]),ie(pe,{type:"primary",class:"w-100% text-white","icon-placement":"left",strong:"",loading:m.value,disabled:m.value,onClick:E[2]||(E[2]=Oe=>b())},{icon:ue(()=>[ie(B)]),default:ue(()=>[nt(" "+se(T.$t("下单")),1)]),_:1},8,["loading","disabled"])])])]))]}),_:1})}}}),z7e=Object.freeze(Object.defineProperty({__proto__:null,default:M7e},Symbol.toStringTag,{value:"Module"})),D7e={class:"inline-block",viewBox:"0 0 256 256",width:"1em",height:"1em"},L7e=U("path",{fill:"currentColor",d:"M216 64H56a8 8 0 0 1 0-16h136a8 8 0 0 0 0-16H56a24 24 0 0 0-24 24v128a24 24 0 0 0 24 24h160a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16m-36 80a12 12 0 1 1 12-12a12 12 0 0 1-12 12"},null,-1),F7e=[L7e];function B7e(e,t){return me(),ze("svg",D7e,[...F7e])}const N7e={name:"ph-wallet-fill",render:B7e},H7e={class:"text-50 font-400"},j7e={class:"m-l-20 text-20 text-#6c757d"},V7e={class:"text-#6c757d"},W7e={class:"mt-10 max-w-500"},U7e={class:"mt-10 max-w-500"},q7e={class:"mt-10 max-w-500"},K7e={class:"mt-10 max-w-500"},G7e={class:"mb-5"},Y7e={class:"mt-10 max-w-500"},X7e={class:"mb-5"},Z7e={class:"m-0 pb-10 pt-10 text-20"},J7e={class:"mt-20"},Q7e=["href"],eBe={class:"mt-20"},tBe={class:"m-0 pb-10 pt-10 text-20"},nBe={class:"mt-20"},oBe={class:"flex justify-end"},rBe=be({__name:"index",setup(e){const t=Ji(),n=Tn(),o=C=>mn.global.t(C),r=W(""),i=W(""),a=W(""),s=W(!1);async function l(){if(s.value=!0,i.value!==a.value){window.$message.error(o("两次新密码输入不同"));return}const{data:C}=await NJ(r.value,i.value);C===!0&&window.$message.success(o("密码修改成功")),s.value=!1}const c=W(!1),u=W(!1);async function d(C){if(C==="expire"){const{data:S}=await C1({remind_expire:c.value?1:0});S===!0?window.$message.success(o("更新成功")):(window.$message.error(o("更新失败")),c.value=!c.value)}else if(C==="traffic"){const{data:S}=await C1({remind_traffic:u.value?1:0});S===!0?window.$message.success(o("更新成功")):(window.$message.error(o("更新失败")),u.value=!u.value)}}const f=W(),h=W(!1);async function p(){const{data:C}=await eQ();C&&(f.value=C)}function g(C){window.location.href=C}const m=W(!1);async function b(){const{data:C}=await HJ();C&&window.$message.success(o("重置成功"))}async function _(){t.getUserInfo(),c.value=!!t.remind_expire,u.value=!!t.remind_traffic}return hn(()=>{_()}),(C,S)=>{const w=N7e,x=go,y=ur,P=zt,k=TZ,T=pl,E=Xi,R=wZ,K=ni,N=vo;return me(),qe(N,null,{default:ue(()=>{var D,M,G,J;return[ie(x,{title:C.$t("我的钱包"),class:"border-rounded-5"},{"header-extra":ue(()=>[ie(w,{class:"text-40 color-gray"})]),default:ue(()=>{var he;return[U("div",null,[U("span",H7e,se(we(rn)(we(t).balance)),1),U("span",j7e,se((he=we(n).appConfig)==null?void 0:he.currency),1)]),U("div",V7e,se(C.$t("账户余额(仅消费)")),1)]}),_:1},8,["title"]),ie(x,{title:C.$t("修改密码"),class:"mt-20 border-rounded-5"},{default:ue(()=>[U("div",W7e,[U("label",null,se(C.$t("旧密码")),1),ie(y,{type:"password",value:r.value,"onUpdate:value":S[0]||(S[0]=he=>r.value=he),placeholder:C.$t("请输入旧密码"),maxlength:32},null,8,["value","placeholder"])]),U("div",U7e,[U("label",null,se(C.$t("新密码")),1),ie(y,{type:"password",value:i.value,"onUpdate:value":S[1]||(S[1]=he=>i.value=he),placeholder:C.$t("请输入新密码"),maxlength:32},null,8,["value","placeholder"])]),U("div",q7e,[U("label",null,se(C.$t("新密码")),1),ie(y,{type:"password",value:a.value,"onUpdate:value":S[2]||(S[2]=he=>a.value=he),placeholder:C.$t("请输入新密码"),maxlength:32},null,8,["value","placeholder"])]),ie(P,{class:"mt-20",type:"primary",onClick:l,loading:s.value,disabled:s.value},{default:ue(()=>[nt(se(C.$t("保存")),1)]),_:1},8,["loading","disabled"])]),_:1},8,["title"]),ie(x,{title:C.$t("通知"),class:"mt-20 border-rounded-5"},{default:ue(()=>[U("div",K7e,[U("div",G7e,se(C.$t("到期邮件提醒")),1),ie(k,{value:c.value,"onUpdate:value":[S[3]||(S[3]=he=>c.value=he),S[4]||(S[4]=he=>d("expire"))]},null,8,["value"])]),U("div",Y7e,[U("div",X7e,se(C.$t("流量邮件提醒")),1),ie(k,{value:u.value,"onUpdate:value":[S[5]||(S[5]=he=>u.value=he),S[6]||(S[6]=he=>d("traffic"))]},null,8,["value"])])]),_:1},8,["title"]),(M=(D=we(n))==null?void 0:D.appConfig)!=null&&M.is_telegram?(me(),qe(x,{key:0,title:C.$t("绑定Telegram"),class:"mt-20 border-rounded-5"},{"header-extra":ue(()=>[ie(P,{type:"primary",round:"",disabled:we(t).userInfo.telegram_id,onClick:S[7]||(S[7]=he=>(h.value=!0,p(),we(t).getUserSubscribe()))},{default:ue(()=>[nt(se(we(t).userInfo.telegram_id?C.$t("已绑定"):C.$t("立即开始")),1)]),_:1},8,["disabled"])]),_:1},8,["title"])):pt("",!0),(J=(G=we(n))==null?void 0:G.appConfig)!=null&&J.telegram_discuss_link?(me(),qe(x,{key:1,title:C.$t("Telegram 讨论组"),class:"mt-20 border-rounded-5"},{"header-extra":ue(()=>[ie(P,{type:"primary",round:"",onClick:S[8]||(S[8]=he=>{var pe,B;return g((B=(pe=we(n))==null?void 0:pe.appConfig)==null?void 0:B.telegram_discuss_link)})},{default:ue(()=>[nt(se(C.$t("立即加入")),1)]),_:1})]),_:1},8,["title"])):pt("",!0),ie(x,{title:C.$t("重置订阅信息"),class:"mt-20 border-rounded-5"},{default:ue(()=>[ie(T,{type:"warning"},{default:ue(()=>[nt(se(C.$t("当你的订阅地址或账户发生泄漏被他人滥用时,可以在此重置订阅信息。避免带来不必要的损失。")),1)]),_:1}),ie(P,{type:"error",size:"small",class:"mt-10",onClick:S[9]||(S[9]=he=>m.value=!0)},{default:ue(()=>[nt(se(C.$t("重置")),1)]),_:1})]),_:1},8,["title"]),ie(K,{title:C.$t("绑定Telegram"),preset:"card",show:h.value,"onUpdate:show":S[12]||(S[12]=he=>h.value=he),class:"mx-10 max-w-100% w-600 md:mx-auto",footerStyle:"padding: 10px 16px",segmented:{content:!0,footer:!0}},{footer:ue(()=>[U("div",oBe,[ie(P,{type:"primary",onClick:S[11]||(S[11]=he=>h.value=!1)},{default:ue(()=>[nt(se(C.$t("我知道了")),1)]),_:1})])]),default:ue(()=>{var he,pe,B;return[f.value&&we(t).subscribe?(me(),ze(it,{key:0},[U("div",null,[U("h2",Z7e,se(C.$t("第一步")),1),ie(E,{class:"m-0!"}),U("div",J7e,[nt(se(C.$t("打开Telegram搜索"))+" ",1),U("a",{href:"https://t.me/"+((he=f.value)==null?void 0:he.username)},"@"+se((pe=f.value)==null?void 0:pe.username),9,Q7e)])]),U("div",eBe,[U("h2",tBe,se(C.$t("第二步")),1),ie(E,{class:"m-0!"}),U("div",nBe,se(C.$t("向机器人发送你的")),1),U("code",{class:"cursor-pointer",onClick:S[10]||(S[10]=$=>{var A;return we(ma)("/bind "+((A=we(t).subscribe)==null?void 0:A.subscribe_url))})},"/bind "+se((B=we(t).subscribe)==null?void 0:B.subscribe_url),1)])],64)):(me(),qe(R,{key:1,size:"large"}))]}),_:1},8,["title","show"]),ie(K,{show:m.value,"onUpdate:show":S[13]||(S[13]=he=>m.value=he),preset:"dialog",title:C.$t("确定要重置订阅信息?"),content:C.$t("如果你的订阅地址或信息泄露可以进行此操作。重置后你的UUID及订阅将会变更,需要重新进行订阅。"),"positive-text":C.$t("确认"),"negative-text":C.$t("取消"),onPositiveClick:b},null,8,["show","title","content","positive-text","negative-text"])]}),_:1})}}}),iBe=Object.freeze(Object.defineProperty({__proto__:null,default:rBe},Symbol.toStringTag,{value:"Module"})),aBe={class:"flex justify-end"},sBe=be({__name:"index",setup(e){const t=h=>mn.global.t(h),n=[{label:t("低"),value:0},{label:t("中"),value:1},{label:t("高"),value:2}],o=[{title:t("主题"),key:"subject"},{title:t("工单级别"),key:"u",render(h){return n[h.level].label}},{title:t("工单状态"),key:"status",render(h){const p=v("div",{class:["h-6 w-6 rounded-full mr-5",h.status===1?"bg-green-500":h.reply_status===0?"bg-blue-500":"bg-red-500"]}),g=h.status===1?t("已关闭"):h.reply_status===0?t("已回复"):t("待回复");return v("div",{class:"flex items-center"},[p,g])}},{title:t("创建时间"),key:"created_at",render(h){return Wo(h.created_at)}},{title:t("最后回复时间"),key:"updated_at",render(h){return Wo(h.updated_at)}},{title:t("操作"),key:"actions",fixed:"right",render(h){const p=v(zt,{text:!0,type:"primary",onClick:()=>Gt.push(`/ticket/${h.id}`)},{default:()=>t("查看")}),g=v(zt,{text:!0,type:"primary",disabled:h.status===1,onClick:()=>c(h.id)},{default:()=>t("关闭")}),m=v(Xi,{vertical:!0});return v("div",[p,m,g])}}],r=W(!1),i=W(""),a=W(),s=W("");async function l(){const{data:h}=await GJ(i.value,a.value,s.value);h===!0&&(window.$message.success(t("创建成功")),f(),r.value=!1)}async function c(h){const{data:p}=await YJ(h);p&&(window.$message.success(t("关闭成功")),f())}const u=W([]);async function d(){const{data:h}=await KJ();u.value=h}function f(){d()}return hn(()=>{f()}),(h,p)=>{const g=ur,m=Du,b=Zi,_=go,C=ni,S=Nu,w=vo;return me(),qe(w,null,{default:ue(()=>[ie(C,{show:r.value,"onUpdate:show":p[6]||(p[6]=x=>r.value=x)},{default:ue(()=>[ie(_,{title:h.$t("新的工单"),class:"mx-10 max-w-100% w-600 md:mx-auto",segmented:{content:!0,footer:!0},closable:"",onClose:p[5]||(p[5]=x=>r.value=!1)},{footer:ue(()=>[U("div",aBe,[ie(b,null,{default:ue(()=>[ie(we(zt),{onClick:p[3]||(p[3]=x=>r.value=!1)},{default:ue(()=>[nt(se(h.$t("取消")),1)]),_:1}),ie(we(zt),{type:"primary",onClick:p[4]||(p[4]=x=>l())},{default:ue(()=>[nt(se(h.$t("确认")),1)]),_:1})]),_:1})])]),default:ue(()=>[U("div",null,[U("label",null,se(h.$t("主题")),1),ie(g,{value:i.value,"onUpdate:value":p[0]||(p[0]=x=>i.value=x),class:"mt-5",placeholder:h.$t("请输入工单主题")},null,8,["value","placeholder"])]),U("div",null,[U("label",null,se(h.$t("工单级别")),1),ie(m,{value:a.value,"onUpdate:value":p[1]||(p[1]=x=>a.value=x),options:n,placeholder:h.$t("请选项工单等级"),class:"mt-5"},null,8,["value","placeholder"])]),U("div",null,[U("label",null,se(h.$t("消息")),1),ie(g,{value:s.value,"onUpdate:value":p[2]||(p[2]=x=>s.value=x),type:"textarea",placeholder:h.$t("请描述你遇到的问题"),round:"",class:"mt-5"},null,8,["value","placeholder"])])]),_:1},8,["title"])]),_:1},8,["show"]),ie(_,{class:"border-rounded-5",title:h.$t("工单历史")},{"header-extra":ue(()=>[ie(we(zt),{type:"primary",round:"",onClick:p[7]||(p[7]=x=>r.value=!0)},{default:ue(()=>[nt(se(h.$t("新的工单")),1)]),_:1})]),default:ue(()=>[ie(S,{columns:o,data:u.value,"scroll-x":800},null,8,["data"])]),_:1},8,["title"])]),_:1})}}}),lBe=Object.freeze(Object.defineProperty({__proto__:null,default:sBe},Symbol.toStringTag,{value:"Module"})),cBe={class:"relative",style:{height:"calc(100% - 70px)"}},uBe={class:"mb-8 mt-8 text-14 text-gray"},dBe={class:"mb-8 inline-block border-rounded-5 bg-#f8f9fa pb-8 pl-16 pr-16 pt-8"},fBe=be({__name:"detail",setup(e){const t=Da(),n=h=>mn.global.t(h),o=W("");async function r(){const{data:h}=await ZJ(i.value,o.value);h===!0&&(window.$message.success(n("回复成功")),o.value="",f())}const i=W(),a=W();async function s(){const{data:h}=await XJ(i.value);h&&(a.value=h)}const l=W(null),c=W(null),u=async()=>{const h=l.value,p=c.value;h&&p&&h.scrollBy({top:p.scrollHeight,behavior:"auto"})},d=W();async function f(){await s(),await Ht(),u(),d.value=setInterval(s,2e3)}return hn(()=>{i.value=t.params.ticket_id,f()}),(h,p)=>{const g=hZ,m=ur,b=zt,_=bm,C=go,S=vo;return me(),qe(S,null,{default:ue(()=>{var w;return[ie(C,{title:(w=a.value)==null?void 0:w.subject,class:"h-full overflow-hidden"},{default:ue(()=>[U("div",cBe,[ie(g,{class:"absolute right-0 h-full",ref_key:"scrollbarRef",ref:l},{default:ue(()=>{var x;return[U("div",{ref_key:"scrollContainerRef",ref:c},[(me(!0),ze(it,null,Hn((x=a.value)==null?void 0:x.message,y=>(me(),ze("div",{key:y.id,class:sr([y.is_me?"text-right":"text-left"])},[U("div",uBe,se(we(Wo)(y.created_at)),1),U("div",dBe,se(y.message),1)],2))),128))],512)]}),_:1},512)]),ie(_,{size:"large",class:"mt-30"},{default:ue(()=>[ie(m,{type:"text",size:"large",placeholder:h.$t("输入内容回复工单"),autofocus:!0,value:o.value,"onUpdate:value":p[0]||(p[0]=x=>o.value=x),onKeyup:p[1]||(p[1]=ws(x=>r(),["enter"]))},null,8,["placeholder","value"]),ie(b,{type:"primary",size:"large",onClick:p[2]||(p[2]=x=>r())},{default:ue(()=>[nt(se(h.$t("回复")),1)]),_:1})]),_:1})]),_:1},8,["title"])]}),_:1})}}}),hBe=Object.freeze(Object.defineProperty({__proto__:null,default:fBe},Symbol.toStringTag,{value:"Module"})),pBe=be({__name:"index",setup(e){const t=i=>mn.global.t(i),n=[{title:t("记录时间"),key:"record_at",render(i){return zp(i.record_at)}},{title:t("实际上行"),key:"u",render(i){return Ps(i.u)}},{title:t("实际下行"),key:"d",render(i){return Ps(i.d)}},{title:t("扣费倍率"),key:"server_rate",render(i){return v(Ti,{size:"small",round:!0},{default:()=>i.server_rate+" x"})}},{title(){const i=v(Fu,{placement:"bottom",trigger:"hover"},{trigger:()=>v(tl("mdi-help-circle-outline",{size:16})),default:()=>t("公式:(实际上行 + 实际下行) x 扣费倍率 = 扣除流量")});return v("div",{class:"flex items-center"},[t("总计"),i])},key:"total",fixed:"right",render(i){return Ps((i.d+i.u)*parseFloat(i.server_rate))}}],o=W([]);async function r(){const{data:i}=await jJ();o.value=i}return hn(()=>{r()}),(i,a)=>{const s=pl,l=Nu,c=go,u=vo;return me(),qe(u,null,{default:ue(()=>[ie(c,{class:"border-rounded-5"},{default:ue(()=>[ie(s,{type:"info",bordered:!1,class:"mb-20"},{default:ue(()=>[nt(se(i.$t("流量明细仅保留近月数据以供查询。")),1)]),_:1}),ie(l,{columns:n,data:o.value,"scroll-x":600},null,8,["data"])]),_:1})]),_:1})}}}),mBe=Object.freeze(Object.defineProperty({__proto__:null,default:pBe},Symbol.toStringTag,{value:"Module"})),gBe={name:"NOTFOUND"},vBe={"h-full":"",flex:""};function bBe(e,t,n,o,r,i){const a=zt,s=uZ;return me(),ze("div",vBe,[ie(s,{"m-auto":"",status:"404",title:"404 Not Found",description:""},{footer:ue(()=>[ie(a,null,{default:ue(()=>[nt("Find some fun")]),_:1})]),_:1})])}const yBe=qu(gBe,[["render",bBe]]),xBe=Object.freeze(Object.defineProperty({__proto__:null,default:yBe},Symbol.toStringTag,{value:"Module"})),CBe={class:"inline-block",viewBox:"0 0 24 24",width:"1em",height:"1em"},wBe=U("g",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5"},[U("path",{d:"M2 12c0 5.523 4.477 10 10 10s10-4.477 10-10S17.523 2 12 2S2 6.477 2 12"}),U("path",{d:"M13 2.05S16 6 16 12s-3 9.95-3 9.95m-2 0S8 18 8 12s3-9.95 3-9.95M2.63 15.5h18.74m-18.74-7h18.74"})],-1),_Be=[wBe];function SBe(e,t){return me(),ze("svg",CBe,[..._Be])}const kBe={name:"iconoir-language",render:SBe},PBe={class:"inline-block",viewBox:"0 0 32 32",width:"1em",height:"1em"},TBe=U("path",{fill:"currentColor",d:"M26 30H14a2 2 0 0 1-2-2v-3h2v3h12V4H14v3h-2V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v24a2 2 0 0 1-2 2"},null,-1),RBe=U("path",{fill:"currentColor",d:"M14.59 20.59L18.17 17H4v-2h14.17l-3.58-3.59L16 10l6 6l-6 6z"},null,-1),EBe=[TBe,RBe];function $Be(e,t){return me(),ze("svg",PBe,[...EBe])}const ABe={name:"carbon-login",render:$Be},IBe=be({__name:"vueRecaptcha",props:{sitekey:{type:String,required:!0},size:{type:String,required:!1,default:"normal"},theme:{type:String,required:!1,default:"light"},hl:{type:String,required:!1},loadingTimeout:{type:Number,required:!1,default:0}},emits:{verify:e=>e!=null&&e!="",error:e=>e,expire:null,fail:null},setup(e,{expose:t,emit:n}){const o=e,r=W(null);let i=null;t({execute:function(){window.grecaptcha.execute(i)},reset:function(){window.grecaptcha.reset(i)}});function a(){i=window.grecaptcha.render(r.value,{sitekey:o.sitekey,theme:o.theme,size:o.size,callback:s=>n("verify",s),"expired-callback":()=>n("expire"),"error-callback":()=>n("fail")})}return jt(()=>{window.grecaptcha==null?new Promise((s,l)=>{let c,u=!1;window.recaptchaReady=function(){u||(u=!0,clearTimeout(c),s())};const d="recaptcha-script",f=g=>()=>{var m;u||(u=!0,clearTimeout(c),(m=document.getElementById(d))==null||m.remove(),l(g))};o.loadingTimeout>0&&(c=setTimeout(f("timeout"),o.loadingTimeout));const h=window.document,p=h.createElement("script");p.id=d,p.onerror=f("error"),p.onabort=f("aborted"),p.setAttribute("src",`https://www.recaptcha.net/recaptcha/api.js?onload=recaptchaReady&render=explicit&hl=${o.hl}&_=${+new Date}`),h.head.appendChild(p)}).then(()=>{a()}).catch(s=>{n("error",s)}):a()}),(s,l)=>(me(),ze("div",{ref_key:"recaptchaDiv",ref:r},null,512))}}),OBe=e=>_t({url:"/passport/auth/login",method:"post",data:e}),MBe=e=>_t.get("/passport/auth/token2Login?verify="+encodeURIComponent(e.verify)+"&redirect="+encodeURIComponent(e.redirect)),zBe=e=>_t({url:"/passport/auth/register",method:"post",data:e});function DBe(){return _t.get("/guest/comm/config")}function LBe(e,t){return _t.post("/passport/comm/sendEmailVerify",{email:e,recaptcha_data:t})}function FBe(e,t,n){return _t.post("/passport/auth/forget",{email:e,password:t,email_code:n})}const BBe={class:"p-24"},NBe={key:0,class:"text-center"},HBe=["src"],jBe={key:1,class:"m-1 text-center text-36 font-normal",color:"#343a40"},VBe={class:"text-muted mb-3 text-center text-14 font-400",color:"#6c757d"},WBe={class:"mt-20 w-full"},UBe={class:"mt-20 w-full"},qBe={class:"mt-20 w-full"},KBe={class:"mt-20 w-full"},GBe={class:"mt-20 w-full"},YBe={class:"mt-20 w-full"},XBe=["innerHTML"],ZBe={class:"mt-20 w-full"},JBe={class:"flex justify-between bg-[--n-color-embedded] p-x-24 p-y-16 text-#6c757d"},QBe=be({__name:"login",setup(e){const t=Tn(),n=Mx(),o=Da(),r=k=>mn.global.t(k),i=eo({email:"",email_code:"",password:"",confirm_password:"",confirm:"",invite_code:"",lock_invite_code:!1,suffix:""}),a=W(!0),s=F(()=>{var T;const k=(T=C.value)==null?void 0:T.tos_url;return"
"+mn.global.tc('我已阅读并同意 服务条款',{url:k})+"
"}),l=W(),c=W(),u=W(!1),d=W();function f(k){l.value=k,setTimeout(()=>{u.value=!1,c.value&&c.value.reset,d.value==="register"?(x(),d.value=""):d.value==="sendEmailVerify"&&(_(),d.value="")},500)}function h(){c.value&&c.value.reset()}function p(){c.value&&c.value.reset()}function g(){c.value&&c.value.reset&&c.value.reset()}const m=W(!1),b=W(0);async function _(){var E,R;if(i.email===""){window.$message.error(r("请输入邮箱地址"));return}if(m.value=!0,b.value>0){window.$message.warning(mn.global.tc("{second}秒后可重新发送",{second:b.value}));return}if((E=C.value)!=null&&E.is_recaptcha&&((R=C.value)!=null&&R.recaptcha_site_key)&&!l.value){u.value=!0,m.value=!1,d.value="sendEmailVerify";return}const k=i.suffix?`${i.email}${i.suffix}`:i.email,{data:T}=await LBe(k,l.value);if(T===!0){window.$message.success(r("发送成功")),b.value=60;const K=setInterval(()=>{b.value--,b.value===0&&clearInterval(K)},1e3);l.value=""}m.value=!1}const C=W();async function S(){var T,E;const{data:k}=await DBe();k&&(C.value=k,tb(k.email_whitelist_suffix)&&(i.suffix=(T=k.email_whitelist_suffix)!=null&&T[0]?"@"+((E=k.email_whitelist_suffix)==null?void 0:E[0]):""),k.tos_url&&(a.value=!1))}const w=W(!1);async function x(){var K,N,D;const{email:k,password:T,confirm_password:E,email_code:R}=i;switch(y.value){case"login":{if(!k||!T){window.$message.warning(r("请输入用户名和密码"));return}w.value=!0;const{data:M}=await OBe({email:k,password:T.toString()});w.value=!1,M!=null&&M.auth_data&&(window.$message.success(r("登录成功")),df(M==null?void 0:M.auth_data),n.push(((K=o.query.redirect)==null?void 0:K.toString())??"/dashboard"));break}case"register":{if(i.email===""){window.$message.error(r("请输入邮箱地址"));return}const{password:M,confirm_password:G,invite_code:J,email_code:he}=i,pe=i.suffix?`${i.email}${i.suffix}`:i.email;if(!pe||!M){window.$message.warning(r("请输入账号密码"));return}if(M!==G){window.$message.warning(r("请确保两次密码输入一致"));return}if((N=C.value)!=null&&N.is_recaptcha&&((D=C.value)!=null&&D.recaptcha_site_key)&&!l.value){l.value||(u.value=!0),d.value="register";return}w.value=!0;const{data:B}=await zBe({email:pe,password:M,invite_code:J,email_code:he,recaptcha_data:l.value});w.value=!1,B!=null&&B.auth_data&&(window.$message.success(r("注册成功")),df(B.auth_data),n.push("/")),l.value="";break}case"forgetpassword":{if(k===""){window.$message.error(r("请输入邮箱地址"));return}if(!k||!T){window.$message.warning(r("请输入账号密码"));return}if(T!==E){window.$message.warning(r("请确保两次密码输入一致"));return}w.value=!0;const M=i.suffix?`${i.email}${i.suffix}`:i.email,{data:G}=await FBe(M,T,R);w.value=!1,G&&(window.$message.success(r("重置密码成功,正在返回登录")),setTimeout(()=>{n.push("/login")},500))}}}const y=F(()=>{const k=o.path;return k.includes("login")?"login":k.includes("register")?"register":k.includes("forgetpassword")?"forgetpassword":""}),P=async()=>{["register","forgetpassword"].includes(y.value)&&S(),o.query.code&&(i.lock_invite_code=!0,i.invite_code=o.query.code);const{verify:k,redirect:T}=o.query;if(k&&T){const{data:E}=await MBe({verify:k,redirect:T});E!=null&&E.auth_data&&(window.$message.success(r("登录成功")),df(E==null?void 0:E.auth_data),n.push(T.toString()))}};return Xt(()=>{P()}),(k,T)=>{const E=ni,R=ur,K=Du,N=bm,D=zt,M=ml,G=ABe,J=Qc("router-link"),he=Xi,pe=kBe,B=_m,$=go;return me(),ze(it,null,[ie(E,{show:u.value,"onUpdate:show":T[0]||(T[0]=A=>u.value=A)},{default:ue(()=>{var A,Y,ne;return[(A=C.value)!=null&&A.is_recaptcha&&((Y=C.value)!=null&&Y.recaptcha_site_key)?(me(),qe(we(IBe),{key:0,sitekey:(ne=C.value)==null?void 0:ne.recaptcha_site_key,size:"normal",theme:"light","loading-timeout":3e4,onVerify:f,onExpire:h,onFail:p,onError:g,ref_key:"vueRecaptchaRef",ref:c},null,8,["sitekey"])):pt("",!0)]}),_:1},8,["show"]),U("div",{class:"wh-full flex items-center justify-center",style:Di(we(t).background_url&&`background:url(${we(t).background_url}) no-repeat center center / cover;`)},[ie($,{class:"m-auto max-w-450 rounded-5 bg-[--n-color] shadow-black","content-style":"padding: 0;"},{default:ue(()=>{var A,Y,ne;return[U("div",BBe,[we(t).logo?(me(),ze("div",NBe,[U("img",{src:we(t).logo,class:"mb-1em max-w-100%"},null,8,HBe)])):(me(),ze("h1",jBe,se(we(t).title),1)),U("h5",VBe,se(we(t).description||" "),1),U("div",WBe,[ie(N,null,{default:ue(()=>{var fe,Q,xe;return[ie(R,{value:i.email,"onUpdate:value":T[1]||(T[1]=H=>i.email=H),autofocus:"",placeholder:k.$t("邮箱"),maxlength:40},null,8,["value","placeholder"]),["register","forgetpassword"].includes(y.value)&&we(tb)((fe=C.value)==null?void 0:fe.email_whitelist_suffix)?(me(),qe(K,{key:0,value:i.suffix,"onUpdate:value":T[2]||(T[2]=H=>i.suffix=H),options:((xe=(Q=C.value)==null?void 0:Q.email_whitelist_suffix)==null?void 0:xe.map(H=>({value:`@${H}`,label:`@${H}`})))||[],class:"flex-[1]","consistent-menu-width":!1},null,8,["value","options"])):pt("",!0)]}),_:1})]),dn(U("div",UBe,[ie(N,{class:"flex"},{default:ue(()=>[ie(R,{value:i.email_code,"onUpdate:value":T[3]||(T[3]=fe=>i.email_code=fe),placeholder:k.$t("邮箱验证码")},null,8,["value","placeholder"]),ie(D,{type:"primary",onClick:T[4]||(T[4]=fe=>_()),loading:m.value,disabled:m.value||b.value>0},{default:ue(()=>[nt(se(b.value||k.$t("发送")),1)]),_:1},8,["loading","disabled"])]),_:1})],512),[[Mn,["register"].includes(y.value)&&((A=C.value)==null?void 0:A.is_email_verify)||["forgetpassword"].includes(y.value)]]),U("div",qBe,[ie(R,{value:i.password,"onUpdate:value":T[5]||(T[5]=fe=>i.password=fe),class:"",type:"password","show-password-on":"click",placeholder:k.$t("密码"),maxlength:40,onKeydown:T[6]||(T[6]=ws(fe=>["login"].includes(y.value)&&x(),["enter"]))},null,8,["value","placeholder"])]),dn(U("div",KBe,[ie(R,{value:i.confirm_password,"onUpdate:value":T[7]||(T[7]=fe=>i.confirm_password=fe),type:"password","show-password-on":"click",placeholder:k.$t("再次输入密码"),maxlength:40,onKeydown:T[8]||(T[8]=ws(fe=>["forgetpassword"].includes(y.value)&&x(),["enter"]))},null,8,["value","placeholder"])],512),[[Mn,["register","forgetpassword"].includes(y.value)]]),dn(U("div",GBe,[ie(R,{value:i.invite_code,"onUpdate:value":T[9]||(T[9]=fe=>i.invite_code=fe),placeholder:[k.$t("邀请码"),(Y=C.value)!=null&&Y.is_invite_force?`(${k.$t("必填")})`:`(${k.$t("选填")})`],maxlength:20,disabled:i.lock_invite_code,onKeydown:T[10]||(T[10]=ws(fe=>x(),["enter"]))},null,8,["value","placeholder","disabled"])],512),[[Mn,["register"].includes(y.value)]]),dn(U("div",YBe,[ie(M,{checked:a.value,"onUpdate:checked":T[11]||(T[11]=fe=>a.value=fe),class:"text-bold text-16"},{default:ue(()=>[U("div",{innerHTML:s.value},null,8,XBe)]),_:1},8,["checked"])],512),[[Mn,["register"].includes(y.value)&&((ne=C.value)==null?void 0:ne.tos_url)]]),U("div",ZBe,[ie(D,{class:"h-36 w-full rounded-5 text-16",type:"primary","icon-placement":"left",onClick:T[12]||(T[12]=fe=>x()),loading:w.value,disabled:w.value||!a.value&&["register"].includes(y.value)},{icon:ue(()=>[ie(G)]),default:ue(()=>[nt(" "+se(["login"].includes(y.value)?k.$t("登入"):["register"].includes(y.value)?k.$t("注册"):k.$t("重置密码")),1)]),_:1},8,["loading","disabled"])])]),U("div",JBe,[U("div",null,[["login"].includes(y.value)?(me(),ze(it,{key:0},[ie(J,{to:"/register",class:"text-#6c757d"},{default:ue(()=>[nt(se(k.$t("注册")),1)]),_:1}),ie(he,{vertical:""}),ie(J,{to:"/forgetpassword",class:"text-#6c757d"},{default:ue(()=>[nt(se(k.$t("忘记密码")),1)]),_:1})],64)):(me(),qe(J,{key:1,to:"/login",class:"text-#6c757d"},{default:ue(()=>[nt(se(k.$t("返回登入")),1)]),_:1}))]),U("div",null,[ie(B,{value:we(t).lang,"onUpdate:value":T[13]||(T[13]=fe=>we(t).lang=fe),options:Object.entries(we(sh)).map(([fe,Q])=>({label:Q,value:fe})),trigger:"click","on-update:value":we(t).switchLang},{default:ue(()=>[ie(D,{text:"","icon-placement":"left"},{icon:ue(()=>[ie(pe)]),default:ue(()=>[nt(" "+se(we(sh)[we(t).lang]),1)]),_:1})]),_:1},8,["value","options","on-update:value"])])])]}),_:1})],4)],64)}}}),Pf=Object.freeze(Object.defineProperty({__proto__:null,default:QBe},Symbol.toStringTag,{value:"Module"})),eNe={请求失败:"Request failed",月付:"Monthly",季付:"Quarterly",半年付:"Semi-Annually",年付:"Annually",两年付:"Biennially",三年付:"Triennially",一次性:"One Time",重置流量包:"Data Reset Package",待支付:"Pending Payment",开通中:"Pending Active",已取消:"Canceled",已完成:"Completed",已折抵:"Converted",待确认:"Pending",发放中:"Confirming",已发放:"Completed",无效:"Invalid",个人中心:"User Center",登出:"Logout",搜索:"Search",仪表盘:"Dashboard",订阅:"Subscription",我的订阅:"My Subscription",购买订阅:"Purchase Subscription",财务:"Billing",我的订单:"My Orders",我的邀请:"My Invitation",用户:"Account",我的工单:"My Tickets",流量明细:"Transfer Data Details",使用文档:"Knowledge Base",绑定Telegram获取更多服务:"Not link to Telegram yet",点击这里进行绑定:"Please click here to link to Telegram",公告:"Announcements",总览:"Overview",该订阅长期有效:"The subscription is valid for an unlimited time",已过期:"Expired","已用 {used} / 总计 {total}":"{used} Used / Total {total}",查看订阅:"View Subscription",邮箱:"Email",邮箱验证码:"Email verification code",发送:"Send",重置密码:"Reset Password",返回登入:"Back to Login",邀请码:"Invitation Code",复制链接:"Copy Link",完成时间:"Complete Time",佣金:"Commission",已注册用户数:"Registered users",佣金比例:"Commission rate",确认中的佣金:"Pending commission","佣金将会在确认后会到达你的佣金账户。":"The commission will reach your commission account after review.",邀请码管理:"Invitation Code Management",生成邀请码:"Generate invitation code",佣金发放记录:"Commission Income Record",复制成功:"Copied successfully",密码:"Password",登入:"Login",注册:"Register",忘记密码:"Forgot password","# 订单号":"Order Number #",周期:"Type / Cycle",订单金额:"Order Amount",订单状态:"Order Status",创建时间:"Creation Time",操作:"Action",查看详情:"View Details",请选择支付方式:"Please select a payment method",请检查信用卡支付信息:"Please check credit card payment information",订单详情:"Order Details",折扣:"Discount",折抵:"Converted",退款:"Refund",支付方式:"Payment Method",填写信用卡支付信息:"Please fill in credit card payment information","您的信用卡信息只会被用作当次扣款,系统并不会保存,这是我们认为最安全的。":"We will not collect your credit card information, credit card number and other details only use to verify the current transaction.",订单总额:"Order Total",总计:"Total",结账:"Checkout",等待支付中:"Waiting for payment","订单系统正在进行处理,请稍等1-3分钟。":"Order system is being processed, please wait 1 to 3 minutes.","订单由于超时支付已被取消。":"The order has been canceled due to overtime payment.","订单已支付并开通。":"The order has been paid and the service is activated.",选择订阅:"Select a Subscription",立即订阅:"Subscribe now",配置订阅:"Configure Subscription",付款周期:"Payment Cycle","有优惠券?":"Have coupons?",验证:"Verify",下单:"Order","变更订阅会导致当前订阅被新订阅覆盖,请注意。":"Attention please, change subscription will overwrite your current subscription.",该订阅无法续费:"This subscription cannot be renewed",选择其他订阅:"Choose another subscription",我的钱包:"My Wallet","账户余额(仅消费)":"Account Balance (For billing only)","推广佣金(可提现)":"Invitation Commission (Can be used to withdraw)",钱包组成部分:"Wallet Details",划转:"Transfer",推广佣金提现:"Invitation Commission Withdrawal",修改密码:"Change Password",保存:"Save",旧密码:"Old Password",新密码:"New Password",请输入旧密码:"Please enter the old password",请输入新密码:"Please enter the new password",通知:"Notification",到期邮件提醒:"Subscription expiration email reminder",流量邮件提醒:"Insufficient transfer data email alert",绑定Telegram:"Link to Telegram",立即开始:"Start Now",重置订阅信息:"Reset Subscription",重置:"Reset","确定要重置订阅信息?":"Do you want to reset subscription?","如果你的订阅地址或信息泄露可以进行此操作。重置后你的UUID及订阅将会变更,需要重新进行订阅。":"In case of your account information or subscription leak, this option is for reset. After resetting your UUID and subscription will change, you need to re-subscribe.",重置成功:"Reset successfully",两次新密码输入不同:"Two new passwords entered do not match",两次密码输入不同:"The passwords entered do not match","邀请码(选填)":"Invitation code (Optional)",'我已阅读并同意 服务条款':'I have read and agree to the terms of service',请同意服务条款:"Please agree to the terms of service",名称:"Name",标签:"Tags",状态:"Status",节点五分钟内节点在线情况:"Access Point online status in the last 5 minutes",倍率:"Rate",使用的流量将乘以倍率进行扣除:"The transfer data usage will be multiplied by the transfer data rate deducted.",更多操作:"Action","没有可用节点,如果您未订阅或已过期请":"No access points are available. If you have not subscribed or the subscription has expired, please","确定重置当前已用流量?":"Are you sure to reset your current data usage?","点击「确定」将会跳转到收银台,支付订单后系统将会清空您当月已使用流量。":'Click "Confirm" and you will be redirected to the payment page. The system will empty your current month"s usage after your purchase.',确定:"Confirm",低:"Low",中:"Medium",高:"High",主题:"Subject",工单级别:"Ticket Priority",工单状态:"Ticket Status",最后回复:"Last Reply",已关闭:"Closed",待回复:"Pending Reply",已回复:"Replied",查看:"View",关闭:"Cancel",新的工单:"My Tickets",确认:"Confirm",请输入工单主题:"Please enter a subject",工单等级:"Ticket Priority",请选择工单等级:"Please select the ticket priority",消息:"Message",请描述你遇到的问题:"Please describe the problem you encountered",记录时间:"Record Time",实际上行:"Actual Upload",实际下行:"Actual Download",合计:"Total","公式:(实际上行 + 实际下行) x 扣费倍率 = 扣除流量":"Formula: (Actual Upload + Actual Download) x Deduction Rate = Deduct Transfer Data",复制订阅地址:"Copy Subscription URL",导入到:"Export to",一键订阅:"Quick Subscription",复制订阅:"Copy Subscription URL",推广佣金划转至余额:"Transfer Invitation Commission to Account Balance","划转后的余额仅用于{title}消费使用":"The transferred balance will be used for {title} payments only",当前推广佣金余额:"Current invitation balance",划转金额:"Transfer amount",请输入需要划转到余额的金额:"Please enter the amount to be transferred to the balance","输入内容回复工单...":"Please enter to reply to the ticket...",申请提现:"Apply For Withdrawal",取消:"Cancel",提现方式:"Withdrawal Method",请选择提现方式:"Please select a withdrawal method",提现账号:"Withdrawal Account",请输入提现账号:"Please enter the withdrawal account",我知道了:"I got it",第一步:"First Step",第二步:"Second Step",打开Telegram搜索:"Open Telegram and Search ",向机器人发送你的:"Send the following command to bot","最后更新: {date}":"Last Updated: {date}",还有没支付的订单:"There are still unpaid orders",立即支付:"Pay Now",条工单正在处理中:"tickets are in process",立即查看:"View Now",节点状态:"Access Point Status",商品信息:"Product Information",产品名称:"Product Name","类型/周期":"Type / Cycle",产品流量:"Product Transfer Data",订单信息:"Order Details",关闭订单:"Close order",订单号:"Order Number",优惠金额:"Discount amount",旧订阅折抵金额:"Old subscription converted amount",退款金额:"Refunded amount",余额支付:"Balance payment",工单历史:"Ticket History","已用流量将在 {reset_day} 日后重置":"Used data will reset after {reset_day} days",已用流量已在今日重置:"Data usage has been reset today",重置已用流量:"Reset used data",查看节点状态:"View Access Point status","当前已使用流量达{rate}%":"Currently used data up to {rate}%",节点名称:"Access Point Name","于 {date} 到期,距离到期还有 {day} 天。":"Will expire on {date}, {day} days before expiration.","Telegram 讨论组":"Telegram Discussion Group",立即加入:"Join Now","该订阅无法续费,仅允许新用户购买":"This subscription cannot be renewed and is only available to new users.",重置当月流量:"Reset current month usage","流量明细仅保留近月数据以供查询。":'Only keep the most recent month"s usage for checking the transfer data details.',扣费倍率:"Fee deduction rate",支付手续费:"Payment fee",续费订阅:"Renewal Subscription",学习如何使用:"Learn how to use",快速将节点导入对应客户端进行使用:"Quickly export subscription into the client app",对您当前的订阅进行续费:"Renew your current subscription",对您当前的订阅进行购买:"Purchase your current subscription",捷径:"Shortcut","不会使用,查看使用教程":"I am a newbie, view the tutorial",使用支持扫码的客户端进行订阅:"Use a client app that supports scanning QR code to subscribe",扫描二维码订阅:"Scan QR code to subscribe",续费:"Renewal",购买:"Purchase",查看教程:"View Tutorial",注意:"Attention","你还有未完成的订单,购买前需要先进行取消,确定取消先前的订单吗?":"You still have an unpaid order. You need to cancel it before purchasing. Are you sure you want to cancel the previous order?",确定取消:"Confirm Cancel",返回我的订单:"Back to My Order","如果你已经付款,取消订单可能会导致支付失败,确定取消订单吗?":"If you have already paid, canceling the order may cause the payment to fail. Are you sure you want to cancel the order?",选择最适合你的计划:"Choose the right plan for you",全部:"All",按周期:"By Cycle",遇到问题:"I have a problem",遇到问题可以通过工单与我们沟通:"If you have any problems, you can contact us via ticket",按流量:"Pay As You Go",搜索文档:"Search Documents",技术支持:"Technical Support",当前剩余佣金:"Current commission remaining",三级分销比例:"Three-level Distribution Ratio",累计获得佣金:"Cumulative commission earned","您邀请的用户再次邀请用户将按照订单金额乘以分销等级的比例进行分成。":"The users you invite to re-invite users will be divided according to the order amount multiplied by the distribution level.",发放时间:"Commission Time","{number} 人":"{number} people","当你的订阅地址或账户发生泄漏被他人滥用时,可以在此重置订阅信息。避免带来不必要的损失。":"If your subscription address or account is leaked and misused by others, you can reset your subscription information here to prevent unnecessary losses.",再次输入密码:"Enter password again",返回登陆:"Return to Login",选填:"Optional",必填:"Required",最后回复时间:"Last Reply Time",请选项工单等级:"Please Select Ticket Priority",回复:"Reply",输入内容回复工单:"Enter Content to Reply to Ticket",已生成:"Generated",选择协议:"Select Protocol",自动:"Automatic",流量重置包:"Data Reset Package",复制失败:"Copy failed",提示:"Notification","确认退出?":"Confirm Logout?",已退出登录:"Logged out successfully",请输入邮箱地址:"Enter email address","{second}秒后可重新发送":"Resend available in {second} seconds",发送成功:"Sent successfully",请输入账号密码:"Enter account and password",请确保两次密码输入一致:"Ensure password entries match",注册成功:"Registration successful","重置密码成功,正在返回登录":"Password reset successful, returning to login",确认取消:"Confirm Cancel","请注意,变更订阅会导致当前订阅被覆盖。":"Please note that changing the subscription will overwrite the current subscription.","订单提交成功,正在跳转支付":"Order submitted successfully, redirecting to payment.",回复成功:"Reply Successful",工单详情:"Ticket Details",登录成功:"Login Successful","确定退出?":"Are you sure you want to exit?",支付成功:"Payment Successful",正在前往收银台:"Proceeding to Checkout",请输入正确的划转金额:"Please enter the correct transfer amount",划转成功:"Transfer Successful",提现方式不能为空:"Withdrawal method cannot be empty",提现账号不能为空:"Withdrawal account cannot be empty",已绑定:"Already Bound",创建成功:"Creation successful",关闭成功:"Shutdown successful"},Bk=Object.freeze(Object.defineProperty({__proto__:null,default:eNe},Symbol.toStringTag,{value:"Module"})),tNe={请求失败:"درخواست انجام نشد",月付:"ماهانه",季付:"سه ماهه",半年付:"نیم سال",年付:"سالانه",两年付:"دو سال",三年付:"سه سال",一次性:"یک‌باره",重置流量包:"بازنشانی بسته های داده",待支付:"در انتظار پرداخت",开通中:"ایجاید",已取消:"صرف نظر شد",已完成:"به پایان رسید",已折抵:"تخفیف داده شده است",待确认:"در حال بررسی",发放中:"صدور",已发放:"صادر شده",无效:"نامعتبر",个人中心:"پروفایل",登出:"خروج",搜索:"جستجو",仪表盘:"داشبرد",订阅:"اشتراک",我的订阅:"اشتراک من",购买订阅:"خرید اشتراک",财务:"امور مالی",我的订单:"درخواست های من",我的邀请:"دعوتنامه های من",用户:"کاربر",我的工单:"درخواست های من",流量明细:"جزئیات\\nعبورو مرور در\\nمحیط آموزشی",使用文档:"کار با مستندات",绑定Telegram获取更多服务:"برای خدمات بیشتر تلگرام را ببندید",点击这里进行绑定:"برای اتصال اینجا را کلیک کنید",公告:"هشدارها",总览:"بررسی کلی",该订阅长期有效:"این اشتراک برای مدت طولانی معتبر است",已过期:"منقضی شده","已用 {used} / 总计 {total}":"استفاده شده {used} / مجموع {total}",查看订阅:"مشاهده عضویت ها",邮箱:"ایمیل",邮箱验证码:"کد تایید ایمیل شما",发送:"ارسال",重置密码:"بازنشانی رمز عبور",返回登入:"بازگشت به صفحه ورود",邀请码:"کد دعوت شما",复制链接:"کپی‌کردن لینک",完成时间:"زمان پایان",佣金:"کمیسیون",已注册用户数:"تعداد کاربران ثبت نام شده",佣金比例:"نرخ کمیسیون",确认中的佣金:"کمیسیون تایید شده","佣金将会在确认后会到达你的佣金账户。":"کمیسیون پس از تایید به حساب کمیسیون شما واریز خواهد شد",邀请码管理:"مدیریت کد دعوت",生成邀请码:"یک کد دعوت ایجاد کنید",佣金发放记录:"سابقه پرداخت کمیسیون",复制成功:"آدرس URL با موفقیت کپی شد",密码:"رمز عبور",登入:"ورود",注册:"ثبت‌نام",忘记密码:"رمز عبور فراموش شده","# 订单号":"# شماره سفارش",周期:"چرخه",订单金额:"مقدار سفارش",订单状态:"وضعیت سفارش",创建时间:"ساختن",操作:"عملیات",查看详情:"مشاهده جزئیات",请选择支付方式:"لطفا نوع پرداخت را انتخاب کنید",请检查信用卡支付信息:"لطفا اطلاعات پرداخت کارت اعتباری خود را بررسی کنید",订单详情:"اطلاعات سفارش",折扣:"ذخیره",折抵:"折抵",退款:"بازگشت هزینه",支付方式:"روش پرداخت",填写信用卡支付信息:"لطفا اطلاعات پرداخت کارت اعتباری خود را بررسی کنید","您的信用卡信息只会被用作当次扣款,系统并不会保存,这是我们认为最安全的。":"اطلاعات کارت اعتباری شما فقط برای بدهی فعلی استفاده می شود، سیستم آن را ذخیره نمی کند، که ما فکر می کنیم امن ترین است.",订单总额:"مجموع سفارش",总计:"مجموع",结账:"پرداخت",等待支付中:"در انتظار پرداخت","订单系统正在进行处理,请稍等1-3分钟。":"سیستم سفارش در حال پردازش است، لطفا 1-3 دقیقه صبر کنید.","订单由于超时支付已被取消。":"سفارش به دلیل پرداخت اضافه کاری لغو شده است","订单已支付并开通。":"سفارش پرداخت و باز شد.",选择订阅:"انتخاب اشتراک",立即订阅:"همین حالا مشترک شوید",配置订阅:"پیکربندی اشتراک",付款周期:"چرخه پرداخت","有优惠券?":"یک کوپن دارید؟",验证:"تأیید",下单:"ایجاد سفارش","变更订阅会导致当前订阅被新订阅覆盖,请注意。":"لطفاً توجه داشته باشید، تغییر یک اشتراک باعث می‌شود که اشتراک فعلی توسط اشتراک جدید بازنویسی شود.",该订阅无法续费:"این اشتراک قابل تمدید نیست",选择其他订阅:"اشتراک دیگری را انتخاب کنید",我的钱包:"کیف پول من","账户余额(仅消费)":"موجودی حساب (فقط خرج کردن)","推广佣金(可提现)":"کمیسیون ارتقاء (قابل برداشت)",钱包组成部分:"اجزای کیف پول",划转:"منتقل کردن",推广佣金提现:"انصراف کمیسیون ارتقاء",修改密码:"تغییر کلمه عبور",保存:"ذخیره کردن",旧密码:"گذرواژه قدیمی",新密码:"رمز عبور جدید",请输入旧密码:", رمز عبور مورد نیاز است",请输入新密码:"گذاشتن گذرواژه",通知:"اعلانات",到期邮件提醒:"یادآوری ایمیل انقضا",流量邮件提醒:"یادآوری ایمیل ترافیک",绑定Telegram:"تلگرام را ببندید",立即开始:"امروز شروع کنید",重置订阅信息:"بازنشانی اطلاعات اشتراک",重置:"تغییر","确定要重置订阅信息?":"آیا مطمئن هستید که می خواهید اطلاعات اشتراک خود را بازنشانی کنید؟","如果你的订阅地址或信息泄露可以进行此操作。重置后你的UUID及订阅将会变更,需要重新进行订阅。":"اگر آدرس یا اطلاعات اشتراک شما لو رفته باشد، این کار را می توان انجام داد. پس از تنظیم مجدد، Uuid و اشتراک شما تغییر خواهد کرد و باید دوباره مشترک شوید.",重置成功:"بازنشانی با موفقیت انجام شد",两次新密码输入不同:"رمز جدید را دو بار وارد کنید",两次密码输入不同:"رمز جدید را دو بار وارد کنید","邀请码(选填)":"کد دعوت (اختیاری)",'我已阅读并同意 服务条款':"من شرایط خدمات را خوانده‌ام و با آن موافقم",请同意服务条款:"لطفاً با شرایط خدمات موافقت کنید",名称:"نام ویژگی محصول",标签:"برچسب‌ها",状态:"وضعیت",节点五分钟内节点在线情况:"وضعیت آنلاین گره را در عرض پنج دقیقه ثبت کنید",倍率:"بزرگنمایی",使用的流量将乘以倍率进行扣除:"جریان استفاده شده در ضریب برای کسر ضرب خواهد شد",更多操作:"اکشن های بیشتر","没有可用节点,如果您未订阅或已过期请":"هیچ گره ای در دسترس نیست، اگر مشترک نیستید یا منقضی شده اید، لطفاً","确定重置当前已用流量?":"آیا مطمئن هستید که می خواهید داده های استفاده شده فعلی را بازنشانی کنید؟","点击「确定」将会跳转到收银台,支付订单后系统将会清空您当月已使用流量。":"برای رفتن به صندوقدار روی 'OK' کلیک کنید. پس از پرداخت سفارش، سیستم اطلاعاتی را که برای ماه استفاده کرده اید پاک می کند.",确定:"تأیید",低:"پایین",中:"متوسط",高:"بالا",主题:"موضوع",工单级别:"سطح بلیط",工单状态:"وضعیت درخواست",最后回复:"آخرین پاسخ",已关闭:"پایان‌یافته",待回复:"در انتظار پاسخ",已回复:"پاسخ داده",查看:"بازدیدها",关闭:"بستن",新的工单:"سفارش کار جدید",确认:"تاييدات",请输入工单主题:"لطفا موضوع بلیط را وارد کنید",工单等级:"سطح سفارش کار",请选择工单等级:"لطفا سطح بلیط را انتخاب کنید",消息:"پیام ها",请描述你遇到的问题:"لطفا مشکلی که با آن مواجه شدید را شرح دهید",记录时间:"زمان ضبط",实际上行:"نقطه ضعف واقعی",实际下行:"نقطه ضعف واقعی",合计:"تعداد ارزش‌ها","公式:(实际上行 + 实际下行) x 扣费倍率 = 扣除流量":"فرمول: (خط واقعی + پایین دست واقعی) x نرخ کسر = ترافیک کسر شده",复制订阅地址:"آدرس اشتراک را کپی کنید",导入到:"واردات در:",一键订阅:"اشتراک با یک کلیک",复制订阅:"اشتراک را کپی کنید",推广佣金划转至余额:"کمیسیون ارتقاء به موجودی منتقل می شود","划转后的余额仅用于{title}消费使用":"موجودی منتقل شده فقط برای مصرف {title} استفاده می شود",当前推广佣金余额:"موجودی کمیسیون ترفیع فعلی",划转金额:"مقدار انتقال",请输入需要划转到余额的金额:"لطفا مبلغی را که باید به موجودی منتقل شود وارد کنید","输入内容回复工单...":"برای پاسخ به تیکت محتوا را وارد کنید...",申请提现:"برای انصراف اقدام کنید",取消:"انصراف",提现方式:"روش برداشت",请选择提现方式:"لطفاً یک روش برداشت را انتخاب کنید",提现账号:"حساب برداشت",请输入提现账号:"لطفا حساب برداشت را وارد کنید",我知道了:"می فهمم",第一步:"گام ۱",第二步:"گام ۲",打开Telegram搜索:"جستجوی تلگرام را باز کنید",向机器人发送你的:"ربات های خود را بفرستید","最后更新: {date}":"آخرین به روز رسانی: {date}",还有没支付的订单:"هنوز سفارشات پرداخت نشده وجود دارد",立即支付:"اکنون پرداخت کنید",条工单正在处理中:"بلیط در حال پردازش است",立即查看:"آن را در عمل ببینید",节点状态:"وضعیت گره",商品信息:"مشتریان ثبت نام شده",产品名称:"عنوان کالا","类型/周期":"نوع/چرخه",产品流量:"جریان محصول",订单信息:"اطلاعات سفارش",关闭订单:"سفارش بستن",订单号:"شماره سفارش",优惠金额:"قیمت با تخفیف",旧订阅折抵金额:"مبلغ تخفیف اشتراک قدیمی",退款金额:"کل مبلغ مسترد شده",余额支付:"پرداخت مانده",工单历史:"تاریخچه بلیط","已用流量将在 {reset_day} 日后重置":"داده‌های استفاده شده ظرف {reset_day} روز بازنشانی می‌شوند",已用流量已在今日重置:"امروز بازنشانی داده استفاده شده است",重置已用流量:"بازنشانی داده های استفاده شده",查看节点状态:"مشاهده وضعیت گره","当前已使用流量达{rate}%":"ترافیک استفاده شده در حال حاضر در {rate}%",节点名称:"نام گره","于 {date} 到期,距离到期还有 {day} 天。":"در {date} منقضی می‌شود که {day} روز دیگر است.","Telegram 讨论组":"گروه گفتگوی تلگرام",立即加入:"حالا پیوستن","该订阅无法续费,仅允许新用户购买":"این اشتراک قابل تمدید نیست، فقط کاربران جدید مجاز به خرید آن هستند",重置当月流量:"بازنشانی ترافیک ماه جاری","流量明细仅保留近月数据以供查询。":"جزئیات ترافیک فقط داده های ماه های اخیر را برای پرس و جو حفظ می کند.",扣费倍率:"نرخ کسر",支付手续费:"پرداخت هزینه های پردازش",续费订阅:"تمدید اشتراک",学习如何使用:"نحوه استفاده را یاد بگیرید",快速将节点导入对应客户端进行使用:"به سرعت گره ها را برای استفاده به مشتری مربوطه وارد کنید",对您当前的订阅进行续费:"با اشتراک فعلی خود خرید کنید",对您当前的订阅进行购买:"با اشتراک فعلی خود خرید کنید",捷径:"میانبر","不会使用,查看使用教程":"استفاده نمی شود، به آموزش مراجعه کنید",使用支持扫码的客户端进行订阅:"برای اشتراک از کلاینتی استفاده کنید که از کد اسکن پشتیبانی می کند",扫描二维码订阅:"برای اشتراک، کد QR را اسکن کنید",续费:"تمدید",购买:"خرید",查看教程:"مشاهده آموزش",注意:"یادداشت!","你还有未完成的订单,购买前需要先进行取消,确定取消先前的订单吗?":"هنوز سفارشات ناتمام دارید. قبل از خرید باید آن را لغو کنید. آیا مطمئن هستید که می‌خواهید سفارش قبلی را لغو کنید؟",确定取消:"تایید لغو",返回我的订单:"بازگشت به سفارش من","如果你已经付款,取消订单可能会导致支付失败,确定取消订单吗?":"اگر قبلاً پرداخت کرده‌اید، لغو سفارش ممکن است باعث عدم موفقیت در پرداخت شود. آیا مطمئن هستید که می‌خواهید سفارش را لغو کنید؟",选择最适合你的计划:"طرحی را انتخاب کنید که مناسب شما باشد",全部:"تمام",按周期:"توسط چرخه",遇到问题:"ما یک مشکل داریم",遇到问题可以通过工单与我们沟通:"در صورت بروز مشکل می توانید از طریق تیکت با ما در ارتباط باشید",按流量:"با جریان",搜索文档:"جستجوی اسناد",技术支持:"دریافت پشتیبانی",当前剩余佣金:"کمیسیون فعلی باقی مانده",三级分销比例:"نسبت توزیع سه لایه",累计获得佣金:"کمیسیون انباشته شده","您邀请的用户再次邀请用户将按照订单金额乘以分销等级的比例进行分成。":"کاربرانی که برای دعوت مجدد از کاربران دعوت می کنید بر اساس نسبت مقدار سفارش ضرب در سطح توزیع تقسیم می شوند.",发放时间:"زمان پرداخت","{number} 人":"{number} نفر","当你的订阅地址或账户发生泄漏被他人滥用时,可以在此重置订阅信息。避免带来不必要的损失。":"در صورت انتشار آدرس یا حساب اشتراک شما و سوء استفاده از آن توسط دیگران، می‌توانید اطلاعات اشتراک خود را در اینجا بازنشانی کنید تا از زیان‌های غیرضروری جلوگیری شود.",再次输入密码:"ورود مجدد رمز عبور",返回登陆:"بازگشت به ورود",选填:"اختیاری",必填:"الزامی",最后回复时间:"زمان آخرین پاسخ",请选项工单等级:"لطفاً اولویت تیکت را انتخاب کنید",回复:"پاسخ",输入内容回复工单:"محتوا را برای پاسخ به تیکت وارد کنید",已生成:"تولید شده",选择协议:"انتخاب پروتکل",自动:"خودکار",流量重置包:"بسته بازنشانی داده",复制失败:"کپی ناموفق بود",提示:"اطلاع","确认退出?":"تأیید خروج?",已退出登录:"با موفقیت خارج شده",请输入邮箱地址:"آدرس ایمیل را وارد کنید","{second}秒后可重新发送":"{second} ثانیه دیگر می‌توانید مجدداً ارسال کنید",发送成功:"با موفقیت ارسال شد",请输入账号密码:"نام کاربری و رمز عبور را وارد کنید",请确保两次密码输入一致:"اطمینان حاصل کنید که ورودهای رمز عبور مطابقت دارند",注册成功:"ثبت نام با موفقیت انجام شد","重置密码成功,正在返回登录":"با موفقیت رمز عبور بازنشانی شد، در حال بازگشت به صفحه ورود",确认取消:"تایید لغو","请注意,变更订阅会导致当前订阅被覆盖。":"لطفاً توجه داشته باشید که تغییر اشتراک موجب ایجاد اشتراک فعلی می‌شود.","订单提交成功,正在跳转支付":"سفارش با موفقیت ثبت شد، به پرداخت هدایت می‌شود.",回复成功:"پاسخ با موفقیت ارسال شد",工单详情:"جزئیات تیکت",登录成功:"ورود موفقیت‌آمیز","确定退出?":"آیا مطمئن هستید که می‌خواهید خارج شوید؟",支付成功:"پرداخت موفق",正在前往收银台:"در حال رفتن به صندوق پرداخت",请输入正确的划转金额:"لطفا مبلغ انتقال صحیح را وارد کنید",划转成功:"انتقال موفق",提现方式不能为空:"روش برداشت نمی‌تواند خالی باشد",提现账号不能为空:"حساب برداشت نمی‌تواند خالی باشد",已绑定:"قبلاً متصل شده",创建成功:"ایجاد موفقیت‌آمیز",关闭成功:"خاموش کردن موفق"},Nk=Object.freeze(Object.defineProperty({__proto__:null,default:tNe},Symbol.toStringTag,{value:"Module"})),nNe={请求失败:"リクエストエラー",月付:"月間プラン",季付:"3か月プラン",半年付:"半年プラン",年付:"年間プラン",两年付:"2年プラン",三年付:"3年プラン",一次性:"一括払い",重置流量包:"使用済みデータをリセット",待支付:"お支払い待ち",开通中:"開通中",已取消:"キャンセル済み",已完成:"済み",已折抵:"控除済み",待确认:"承認待ち",发放中:"処理中",已发放:"処理済み",无效:"無効",个人中心:"会員メニュー",登出:"ログアウト",搜索:"検索",仪表盘:"ダッシュボード",订阅:"サブスクリプションプラン",我的订阅:"マイプラン",购买订阅:"プランの購入",财务:"ファイナンス",我的订单:"注文履歴",我的邀请:"招待リスト",用户:"ユーザー",我的工单:"お問い合わせ",流量明细:"データ通信明細",使用文档:"ナレッジベース",绑定Telegram获取更多服务:"Telegramと連携し各種便利な通知を受け取ろう",点击这里进行绑定:"こちらをクリックして連携開始",公告:"お知らせ",总览:"概要",该订阅长期有效:"時間制限なし",已过期:"期限切れ","已用 {used} / 总计 {total}":"使用済み {used} / 合計 {total}",查看订阅:"プランを表示",邮箱:"E-mail アドレス",邮箱验证码:"確認コード",发送:"送信",重置密码:"パスワードを変更",返回登入:"ログインページへ戻る",邀请码:"招待コード",复制链接:"URLをコピー",完成时间:"完了日時",佣金:"コミッション金額",已注册用户数:"登録済みユーザー数",佣金比例:"コミッションレート",确认中的佣金:"承認待ちのコミッション","佣金将会在确认后会到达你的佣金账户。":"コミッションは承認処理完了後にカウントされます",邀请码管理:"招待コードの管理",生成邀请码:"招待コードを生成",佣金发放记录:"コミッション履歴",复制成功:"クリップボードにコピーされました",密码:"パスワード",登入:"ログイン",注册:"新規登録",忘记密码:"パスワードをお忘れの方","# 订单号":"受注番号",周期:"サイクル",订单金额:"ご注文金額",订单状态:"ご注文状況",创建时间:"作成日時",操作:"アクション",查看详情:"詳細を表示",请选择支付方式:"支払い方法をお選びください",请检查信用卡支付信息:"クレジットカード決済情報をご確認ください",订单详情:"ご注文詳細",折扣:"割引",折抵:"控除",退款:"払い戻し",支付方式:"お支払い方法",填写信用卡支付信息:"クレジットカード決済情報をご入力ください。","您的信用卡信息只会被用作当次扣款,系统并不会保存,这是我们认为最安全的。":"お客様のカード情報は今回限りリクエストされ、記録に残ることはございません",订单总额:"ご注文の合計金額",总计:"合計金額",结账:"チェックアウト",等待支付中:"お支払い待ち","订单系统正在进行处理,请稍等1-3分钟。":"システム処理中です、しばらくお待ちください","订单由于超时支付已被取消。":"ご注文はキャンセルされました","订单已支付并开通。":"お支払いが完了しました、プランはご利用可能です",选择订阅:"プランをお選びください",立即订阅:"今すぐ購入",配置订阅:"プランの内訳",付款周期:"お支払いサイクル","有优惠券?":"キャンペーンコード",验证:"確定",下单:"チェックアウト","变更订阅会导致当前订阅被新订阅覆盖,请注意。":"プランを変更なされます場合は、既存のプランが新規プランによって上書きされます、ご注意下さい",该订阅无法续费:"該当プランは継続利用できません",选择其他订阅:"その他のプランを選択",我的钱包:"マイウォレット","账户余额(仅消费)":"残高(サービスの購入のみ)","推广佣金(可提现)":"招待によるコミッション(出金可)",钱包组成部分:"ウォレットの内訳",划转:"お振替",推广佣金提现:"コミッションのお引き出し",修改密码:"パスワードの変更",保存:"変更を保存",旧密码:"現在のパスワード",新密码:"新しいパスワード",请输入旧密码:"現在のパスワードをご入力ください",请输入新密码:"新しいパスワードをご入力ください",通知:"お知らせ",到期邮件提醒:"期限切れ前にメールで通知",流量邮件提醒:"データ量不足時にメールで通知",绑定Telegram:"Telegramと連携",立即开始:"今すぐ連携開始",重置订阅信息:"サブスクリプションURLの変更",重置:"変更","确定要重置订阅信息?":"サブスクリプションURLをご変更なされますか?","如果你的订阅地址或信息泄露可以进行此操作。重置后你的UUID及订阅将会变更,需要重新进行订阅。":"サブスクリプションのURL及び情報が外部に漏れた場合にご操作ください。操作後はUUIDやURLが変更され、再度サブスクリプションのインポートが必要になります。",重置成功:"変更完了",两次新密码输入不同:"ご入力されました新しいパスワードが一致しません",两次密码输入不同:"ご入力されましたパスワードが一致しません","邀请码(选填)":"招待コード (オプション)",'我已阅读并同意 服务条款':"ご利用規約に同意します",请同意服务条款:"ご利用規約に同意してください",名称:"名称",标签:"ラベル",状态:"ステータス",节点五分钟内节点在线情况:"5分間のオンラインステータス",倍率:"適応レート",使用的流量将乘以倍率进行扣除:"通信量は該当レートに基き計算されます",更多操作:"アクション","没有可用节点,如果您未订阅或已过期请":"ご利用可能なサーバーがありません,プランの期限切れまたは購入なされていない場合は","确定重置当前已用流量?":"利用済みデータ量をリセットしますか?","点击「确定」将会跳转到收银台,支付订单后系统将会清空您当月已使用流量。":"「確定」をクリックし次のページへ移動,お支払い後に当月分のデータ通信量は即時リセットされます",确定:"確定",低:"低",中:"中",高:"高",主题:"タイトル",工单级别:"プライオリティ",工单状态:"進捗状況",最后回复:"最終回答日時",已关闭:"終了",待回复:"対応待ち",已回复:"回答済み",查看:"閲覧",关闭:"終了",新的工单:"新規お問い合わせ",确认:"確定",请输入工单主题:"お問い合わせタイトルをご入力ください",工单等级:"ご希望のプライオリティ",请选择工单等级:"ご希望のプライオリティをお選びください",消息:"メッセージ",请描述你遇到的问题:"お問い合わせ内容をご入力ください",记录时间:"記録日時",实际上行:"アップロード",实际下行:"ダウンロード",合计:"合計","公式:(实际上行 + 实际下行) x 扣费倍率 = 扣除流量":"計算式:(アップロード + ダウンロード) x 適応レート = 使用済みデータ通信量",复制订阅地址:"サブスクリプションのURLをコピー",导入到:"インポート先:",一键订阅:"ワンクリックインポート",复制订阅:"サブスクリプションのURLをコピー",推广佣金划转至余额:"コミッションを残高へ振替","划转后的余额仅用于{title}消费使用":"振替済みの残高は{title}でのみご利用可能です",当前推广佣金余额:"現在のコミッション金額",划转金额:"振替金額",请输入需要划转到余额的金额:"振替金額をご入力ください","输入内容回复工单...":"お問い合わせ内容をご入力ください...",申请提现:"出金申請",取消:"キャンセル",提现方式:"お振込み先",请选择提现方式:"お振込み先をお選びください",提现账号:"お振り込み先口座",请输入提现账号:"お振込み先口座をご入力ください",我知道了:"了解",第一步:"ステップその1",第二步:"ステップその2",打开Telegram搜索:"Telegramを起動後に右記内容を入力し検索",向机器人发送你的:"テレグラムボットへ下記内容を送信","最后更新: {date}":"最終更新日: {date}",还有没支付的订单:"未払いのご注文があります",立即支付:"チェックアウト",条工单正在处理中:"件のお問い合わせ",立即查看:"閲覧",节点状态:"サーバーステータス",商品信息:"プラン詳細",产品名称:"プラン名","类型/周期":"サイクル",产品流量:"ご利用可能データ量",订单信息:"オーダー情報",关闭订单:"注文をキャンセル",订单号:"受注番号",优惠金额:"'割引額",旧订阅折抵金额:"既存プラン控除額",退款金额:"返金額",余额支付:"残高ご利用分",工单历史:"お問い合わせ履歴","已用流量将在 {reset_day} 日后重置":"利用済みデータ量は {reset_day} 日後にリセットします",已用流量已在今日重置:"利用済みデータ量は本日リセットされました",重置已用流量:"利用済みデータ量をリセット",查看节点状态:"接続先サーバのステータス","当前已使用流量达{rate}%":"データ使用量が{rate}%になりました",节点名称:"サーバー名","于 {date} 到期,距离到期还有 {day} 天。":"ご利用期限は {date} まで,期限まであと {day} 日","Telegram 讨论组":"Telegramグループ",立即加入:"今すぐ参加","该订阅无法续费,仅允许新用户购买":"該当プランは継続利用できません、新規ユーザーのみが購入可能です",重置当月流量:"使用済みデータ量のカウントリセット","流量明细仅保留近月数据以供查询。":"データ通信明細は当月分のみ表示されます",扣费倍率:"適応レート",支付手续费:"お支払い手数料",续费订阅:"購読更新",学习如何使用:"ご利用ガイド",快速将节点导入对应客户端进行使用:"最短ルートでサーバー情報をアプリにインポートして使用する",对您当前的订阅进行续费:"ご利用中のサブスクの継続料金を支払う",对您当前的订阅进行购买:"ご利用中のサブスクを再度購入する",捷径:"ショートカット","不会使用,查看使用教程":"ご利用方法がわからない方はナレッジベースをご閲覧ください",使用支持扫码的客户端进行订阅:"使用支持扫码的客户端进行订阅",扫描二维码订阅:"QRコードをスキャンしてサブスクを設定",续费:"更新",购买:"購入",查看教程:"チュートリアルを表示",注意:"注意","你还有未完成的订单,购买前需要先进行取消,确定取消先前的订单吗?":"まだ購入が完了していないオーダーがあります。購入前にそちらをキャンセルする必要がありますが、キャンセルしてよろしいですか?",确定取消:"キャンセル",返回我的订单:"注文履歴に戻る","如果你已经付款,取消订单可能会导致支付失败,确定取消订单吗?":"もし既にお支払いが完了していると、注文をキャンセルすると支払いが失敗となる可能性があります。キャンセルしてもよろしいですか?",选择最适合你的计划:"あなたにピッタリのプランをお選びください",全部:"全て",按周期:"期間順",遇到问题:"何かお困りですか?",遇到问题可以通过工单与我们沟通:"何かお困りでしたら、お問い合わせからご連絡ください。",按流量:"データ通信量順",搜索文档:"ドキュメント内を検索",技术支持:"テクニカルサポート",当前剩余佣金:"コミッション残高",三级分销比例:"3ティア比率",累计获得佣金:"累計獲得コミッション金額","您邀请的用户再次邀请用户将按照订单金额乘以分销等级的比例进行分成。":"お客様に招待された方が更に別の方を招待された場合、お客様は支払われるオーダーからティア分配分の比率分を受け取ることができます。",发放时间:"手数料支払時間","{number} 人":"{number} 人","当你的订阅地址或账户发生泄漏被他人滥用时,可以在此重置订阅信息。避免带来不必要的损失。":"購読アドレスまたはアカウントが漏れて他者に悪用された場合、不必要な損失を防ぐためにここで購読情報をリセットできます。",再次输入密码:"パスワードを再入力してください",返回登陆:"ログインに戻る",选填:"任意",必填:"必須",最后回复时间:"最終返信時刻",请选项工单等级:"チケットの優先度を選択してください",回复:"返信",输入内容回复工单:"チケットへの返信内容を入力",已生成:"生成済み",选择协议:"プロトコルの選択",自动:"自動",流量重置包:"データリセットパッケージ",复制失败:"コピーに失敗しました",提示:"通知","确认退出?":"ログアウトを確認?",已退出登录:"正常にログアウトしました",请输入邮箱地址:"メールアドレスを入力してください","{second}秒后可重新发送":"{second} 秒後に再送信可能",发送成功:"送信成功",请输入账号密码:"アカウントとパスワードを入力してください",请确保两次密码输入一致:"パスワードの入力が一致していることを確認してください",注册成功:"登録が成功しました","重置密码成功,正在返回登录":"パスワードのリセットが成功しました。ログインに戻っています",确认取消:"キャンセルの確認","请注意,变更订阅会导致当前订阅被覆盖。":"購読の変更は現在の購読を上書きします。","订单提交成功,正在跳转支付":"注文が成功裏に送信されました。支払いにリダイレクトしています。",回复成功:"返信が成功しました",工单详情:"チケットの詳細",登录成功:"ログイン成功","确定退出?":"本当に退出しますか?",支付成功:"支払い成功",正在前往收银台:"チェックアウトに進行中",请输入正确的划转金额:"正しい振替金額を入力してください",划转成功:"振替成功",提现方式不能为空:"出金方法は空にできません",提现账号不能为空:"出金口座を空にすることはできません",已绑定:"既にバインドされています",创建成功:"作成成功",关闭成功:"閉鎖成功"},Hk=Object.freeze(Object.defineProperty({__proto__:null,default:nNe},Symbol.toStringTag,{value:"Module"})),oNe={请求失败:"요청실패",月付:"월간",季付:"3개월간",半年付:"반년간",年付:"1년간",两年付:"2년마다",三年付:"3년마다",一次性:"한 번",重置流量包:"데이터 재설정 패키지",待支付:"지불 보류중",开通中:"보류 활성화",已取消:"취소 됨",已完成:"완료",已折抵:"변환",待确认:"보류중",发放中:"확인중",已发放:"완료",无效:"유효하지 않음",个人中心:"사용자 센터",登出:"로그아웃",搜索:"검색",仪表盘:"대시보드",订阅:"구독",我的订阅:"나의 구독",购买订阅:"구독 구매 내역",财务:"청구",我的订单:"나의 주문",我的邀请:"나의 초청",用户:"사용자 센터",我的工单:"나의 티켓",流量明细:"데이터 세부 정보 전송",使用文档:"사용 설명서",绑定Telegram获取更多服务:"텔레그램에 아직 연결되지 않았습니다",点击这里进行绑定:"텔레그램에 연결되도록 여기를 눌러주세요",公告:"발표",总览:"개요",该订阅长期有效:"구독은 무제한으로 유효합니다",已过期:"만료","已用 {used} / 总计 {total}":"{date}에 만료됩니다, 만료 {day}이 전, {reset_day}후 데이터 전송 재설정",查看订阅:"구독 보기",邮箱:"이메일",邮箱验证码:"이메일 확인 코드",发送:"보내기",重置密码:"비밀번호 재설정",返回登入:"로그인 다시하기",邀请码:"초청 코드",复制链接:"링크 복사",完成时间:"완료 시간",佣金:"수수료",已注册用户数:"등록 된 사용자들",佣金比例:"수수료율",确认中的佣金:"수수료 상태","佣金将会在确认后会到达你的佣金账户。":"수수료는 검토 후 수수료 계정에서 확인할 수 있습니다",邀请码管理:"초청 코드 관리",生成邀请码:"초청 코드 생성하기",佣金发放记录:"수수료 지불 기록",复制成功:"복사 성공",密码:"비밀번호",登入:"로그인",注册:"등록하기",忘记密码:"비밀번호를 잊으셨나요","# 订单号":"주문 번호 #",周期:"유형/기간",订单金额:"주문량",订单状态:"주문 상태",创建时间:"생성 시간",操作:"설정",查看详情:"세부사항 보기",请选择支付方式:"지불 방식을 선택 해주세요",请检查信用卡支付信息:"신용카드 지불 정보를 확인 해주세요",订单详情:"주문 세부사항",折扣:"할인",折抵:"변환",退款:"환불",支付方式:"지불 방식",填写信用卡支付信息:"신용카드 지불 정보를 적으세요","您的信用卡信息只会被用作当次扣款,系统并不会保存,这是我们认为最安全的。":"현재 거래를 확인하는 데 사용하는 귀하의 신용 카드 정보, 신용 카드 번호 및 기타 세부 정보를 수집하지 않습니다.",订单总额:"전체주문",总计:"전체",结账:"결제하기",等待支付中:"결제 대기 중","订单系统正在进行处理,请稍等1-3分钟。":"주문 시스템이 처리 중입니다. 1-3분 정도 기다려 주십시오.","订单由于超时支付已被取消。":"결제 시간 초과로 인해 주문이 취소되었습니다.","订单已支付并开通。":"주문이 결제되고 개통되었습니다.",选择订阅:"구독 선택하기",立即订阅:"지금 구독하기",配置订阅:"구독 환경 설정하기",付款周期:"지불 기간","有优惠券?":"쿠폰을 가지고 있나요?",验证:"확인",下单:"주문","变更订阅会导致当前订阅被新订阅覆盖,请注意。":"주의하십시오. 구독을 변경하면 현재 구독을 덮어씁니다",该订阅无法续费:"이 구독은 갱신할 수 없습니다.",选择其他订阅:"다른 구독 선택",我的钱包:"나의 지갑","账户余额(仅消费)":"계정 잔액(결제 전용)","推广佣金(可提现)":"초청수수료(인출하는 데 사용할 수 있습니다)",钱包组成部分:"지갑 세부사항",划转:"이체하기",推广佣金提现:"초청 수수료 인출",修改密码:"비밀번호 변경",保存:"저장하기",旧密码:"이전 비밀번호",新密码:"새로운 비밀번호",请输入旧密码:"이전 비밀번호를 입력해주세요",请输入新密码:"새로운 비밀번호를 입력해주세요",通知:"공고",到期邮件提醒:"구독 만료 이메일 알림",流量邮件提醒:"불충분한 데이터 이메일 전송 알림",绑定Telegram:"탤레그램으로 연결",立即开始:"지금 시작하기",重置订阅信息:"구독 재설정하기",重置:"재설정","确定要重置订阅信息?":"구독을 재설정하시겠습니까?","如果你的订阅地址或信息泄露可以进行此操作。重置后你的UUID及订阅将会变更,需要重新进行订阅。":"계정 정보나 구독이 누출된 경우 이 옵션은 UUID를 재설정하는 데 사용되며 재설정 후에 구독이 변경되므로 다시 구독해야 합니다.",重置成功:"재설정 성공",两次新密码输入不同:"입력한 두 개의 새 비밀번호가 일치하지 않습니다.",两次密码输入不同:"입력한 비밀번호가 일치하지 않습니다.","邀请码(选填)":"초청 코드(선택 사항)",'我已阅读并同意 服务条款':"을 읽었으며 이에 동의합니다 서비스 약관",请同意服务条款:"서비스 약관에 동의해주세요",名称:"이름",标签:"태그",状态:"설정",节点五分钟内节点在线情况:"지난 5분 동안의 액세스 포인트 온라인 상태",倍率:"요금",使用的流量将乘以倍率进行扣除:"사용된 전송 데이터에 전송 데이터 요금을 뺀 값을 곱합니다.",更多操作:"설정","没有可用节点,如果您未订阅或已过期请":"사용 가능한 액세스 포인트가 없습니다. 구독을 신청하지 않았거나 구독이 만료된 경우","确定重置当前已用流量?":"현재 사용 중인 데이터를 재설정 하시겠습니까?","点击「确定」将会跳转到收银台,支付订单后系统将会清空您当月已使用流量。":'확인"을 클릭하면 결제 페이지로 이동됩니다. 주문이 완료되면 시스템에서 해당 월의 사용 데이터를 삭제합니다.',确定:"확인",低:"낮음",中:"중간",高:"높음",主题:"주제",工单级别:"티켓 우선 순위",工单状态:"티켓 상태",最后回复:"생성 시간",已关闭:"마지막 답장",待回复:"설정",已回复:"닫힘",查看:"보기",关闭:"닫기",新的工单:"새로운 티켓",确认:"확인",请输入工单主题:"제목을 입력하세요",工单等级:"티켓 우선순위",请选择工单等级:"티켓 우선순위를 선택해주세요",消息:"메세지",请描述你遇到的问题:"문제를 설명하십시오 발생한",记录时间:"기록 시간",实际上行:"실제 업로드",实际下行:"실제 다운로드",合计:"전체","公式:(实际上行 + 实际下行) x 扣费倍率 = 扣除流量":"공식: (실제 업로드 + 실제 다운로드) x 공제율 = 전송 데이터 공제",复制订阅地址:"구독 URL 복사",导入到:"내보내기",一键订阅:"빠른 구독",复制订阅:"구독 URL 복사",推广佣金划转至余额:"초청 수수료를 계좌 잔액으로 이체","划转后的余额仅用于{title}消费使用":"이체된 잔액은 {title} 소비에만 사용됩니다.",当前推广佣金余额:"현재 홍보 수수료 잔액",请输入需要划转到余额的金额:"잔액으로 이체할 금액을 입력하세요.",取消:"취소",提现方式:"인출 방법",请选择提现方式:"인출 방법을 선택해주세요",提现账号:"인출 계좌",请输入提现账号:"인출 계좌를 입력해주세요",我知道了:"알겠습니다.",第一步:"첫번째 단계",第二步:"두번째 단계",打开Telegram搜索:"텔레그램 열기 및 탐색",向机器人发送你的:"봇에 다음 명령을 보냅니다","最后更新: {date}":"마지막 업데이트{date}",还有没支付的订单:"미결제 주문이 있습니다",立即支付:"즉시 지불",条工单正在处理中:"티켓이 처리 중입니다",立即查看:"제목을 입력하세요",节点状态:"노드 상태",商品信息:"제품 정보",产品名称:"제품 명칭","类型/周期":"종류/기간",产品流量:"제품 데이터 용량",订单信息:"주문 정보",关闭订单:"주문 취소",订单号:"주문 번호",优惠金额:"할인 가격",旧订阅折抵金额:"기존 패키지 공제 금액",退款金额:"환불 금액",余额支付:"잔액 지불",工单历史:"티켓 기록","已用流量将在 {reset_day} 日后重置":"{reset_day}일 후에 사용한 데이터가 재설정됩니다",已用流量已在今日重置:"오늘 이미 사용한 데이터가 재설정되었습니다",重置已用流量:"사용한 데이터 재설정",查看节点状态:"노드 상태 확인","当前已使用流量达{rate}%":"현재 사용한 데이터 비율이 {rate}%에 도달했습니다",节点名称:"환불 금액","于 {date} 到期,距离到期还有 {day} 天。":"{day}까지, 만료 {day}일 전.","Telegram 讨论组":"텔레그램으로 문의하세요",立即加入:"지금 가입하세요","该订阅无法续费,仅允许新用户购买":"이 구독은 갱신할 수 없습니다. 신규 사용자만 구매할 수 있습니다.",重置当月流量:"이번 달 트래픽 초기화","流量明细仅保留近月数据以供查询。":"귀하의 트래픽 세부 정보는 최근 몇 달 동안만 유지됩니다",扣费倍率:"수수료 공제율",支付手续费:"수수료 지불",续费订阅:"구독 갱신",学习如何使用:"사용 방법 배우기",快速将节点导入对应客户端进行使用:"빠르게 노드를 해당 클라이언트로 가져와 사용하기",对您当前的订阅进行续费:"현재 구독 갱신",对您当前的订阅进行购买:"현재 구독 구매",捷径:"단축키","不会使用,查看使用教程":"사용 방법을 모르겠다면 사용 설명서 확인",使用支持扫码的客户端进行订阅:"스캔 가능한 클라이언트로 구독하기",扫描二维码订阅:"QR 코드 스캔하여 구독",续费:"갱신",购买:"구매",查看教程:"사용 설명서 보기",注意:"주의","你还有未完成的订单,购买前需要先进行取消,确定取消先前的订单吗?":"미완료된 주문이 있습니다. 구매 전에 취소해야 합니다. 이전 주문을 취소하시겠습니까?",确定取消:"취소 확인",返回我的订单:"내 주문으로 돌아가기","如果你已经付款,取消订单可能会导致支付失败,确定取消订单吗?":"이미 결제를 했을 경우 주문 취소는 결제 실패로 이어질 수 있습니다. 주문을 취소하시겠습니까?",选择最适合你的计划:"가장 적합한 요금제 선택",全部:"전체",按周期:"주기별",遇到问题:"문제 발생",遇到问题可以通过工单与我们沟通:"문제가 발생하면 서포트 티켓을 통해 문의하세요",按流量:"트래픽별",搜索文档:"문서 검색",技术支持:"기술 지원",当前剩余佣金:"현재 잔여 수수료",三级分销比例:"삼수준 분배 비율",累计获得佣金:"누적 수수료 획득","您邀请的用户再次邀请用户将按照订单金额乘以分销等级的比例进行分成。":"초대한 사용자가 다시 초대하면 주문 금액에 분배 비율을 곱하여 분배됩니다.",发放时间:"수수료 지급 시간","{number} 人":"{number} 명","当你的订阅地址或账户发生泄漏被他人滥用时,可以在此重置订阅信息。避免带来不必要的损失。":"구독 주소 또는 계정이 유출되어 다른 사람에게 남용되는 경우 여기에서 구독 정보를 재설정하여 불필요한 손실을 방지할 수 있습니다.",再次输入密码:"비밀번호를 다시 입력하세요",返回登陆:"로그인으로 돌아가기",选填:"선택 사항",必填:"필수",最后回复时间:"최근 답장 시간",请选项工单等级:"티켓 우선 순위 선택",回复:"답장",输入内容回复工单:"티켓에 대한 내용 입력",已生成:"생성됨",选择协议:"프로토콜 선택",自动:"자동",流量重置包:"데이터 리셋 패키지",复制失败:"복사 실패",提示:"알림","确认退出?":"로그아웃 확인?",已退出登录:"로그아웃 완료",请输入邮箱地址:"이메일 주소를 입력하세요","{second}秒后可重新发送":"{second} 초 후에 다시 전송 가능",发送成功:"전송 성공",请输入账号密码:"계정과 비밀번호를 입력하세요",请确保两次密码输入一致:"비밀번호 입력이 일치하는지 확인하세요",注册成功:"등록 성공","重置密码成功,正在返回登录":"비밀번호 재설정 성공, 로그인 페이지로 돌아가는 중",确认取消:"취소 확인","请注意,变更订阅会导致当前订阅被覆盖。":"구독 변경은 현재 구독을 덮어씁니다.","订单提交成功,正在跳转支付":"주문이 성공적으로 제출되었습니다. 지불로 이동 중입니다.",回复成功:"답장 성공",工单详情:"티켓 상세 정보",登录成功:"로그인 성공","确定退出?":"확실히 종료하시겠습니까?",支付成功:"결제 성공",正在前往收银台:"결제 진행 중",请输入正确的划转金额:"정확한 이체 금액을 입력하세요",划转成功:"이체 성공",提现方式不能为空:"출금 방식은 비워 둘 수 없습니다",提现账号不能为空:"출금 계좌는 비워 둘 수 없습니다",已绑定:"이미 연결됨",创建成功:"생성 성공",关闭成功:"종료 성공"},jk=Object.freeze(Object.defineProperty({__proto__:null,default:oNe},Symbol.toStringTag,{value:"Module"})),rNe={请求失败:"Yêu Cầu Thất Bại",月付:"Tháng",季付:"Hàng Quý",半年付:"6 Tháng",年付:"Năm",两年付:"Hai Năm",三年付:"Ba Năm",一次性:"Dài Hạn",重置流量包:"Cập Nhật Dung Lượng",待支付:"Đợi Thanh Toán",开通中:"Đang xử lý",已取消:"Đã Hủy",已完成:"Thực Hiện",已折抵:"Quy Đổi",待确认:"Đợi Xác Nhận",发放中:"Đang Xác Nhận",已发放:"Hoàn Thành",无效:"Không Hợp Lệ",个人中心:"Trung Tâm Kiểm Soát",登出:"Đăng Xuất",搜索:"Tìm Kiếm",仪表盘:"Trang Chủ",订阅:"Gói Dịch Vụ",我的订阅:"Gói Dịch Vụ Của Tôi",购买订阅:"Mua Gói Dịch Vụ",财务:"Tài Chính",我的订单:"Đơn Hàng Của Tôi",我的邀请:"Lời Mời Của Tôi",用户:"Người Dùng",我的工单:"Liên Hệ Với Chúng Tôi",流量明细:"Chi Tiết Dung Lượng",使用文档:"Tài liệu sử dụng",绑定Telegram获取更多服务:"Liên kết Telegram thêm dịch vụ",点击这里进行绑定:"Ấn vào để liên kết",公告:"Thông Báo",总览:"Tổng Quat",该订阅长期有效:"Gói này có thời hạn dài",已过期:"Tài khoản hết hạn","已用 {used} / 总计 {total}":"Đã sử dụng {used} / Tổng dung lượng {total}",查看订阅:"Xem Dịch Vụ",邮箱:"E-mail",邮箱验证码:"Mã xác minh mail",发送:"Gửi",重置密码:"Đặt Lại Mật Khẩu",返回登入:"Về đăng nhập",邀请码:"Mã mời",复制链接:"Sao chép đường dẫn",完成时间:"Thời gian hoàn thành",佣金:"Tiền hoa hồng",已注册用户数:"Số người dùng đã đăng ký",佣金比例:"Tỷ lệ hoa hồng",确认中的佣金:"Hoa hồng đang xác nhận","佣金将会在确认后会到达你的佣金账户。":"Sau khi xác nhận tiền hoa hồng sẽ gửi đến tài khoản hoa hồng của bạn.",邀请码管理:"Quản lý mã mời",生成邀请码:"Tạo mã mời",佣金发放记录:"Hồ sơ hoa hồng",复制成功:"Sao chép thành công",密码:"Mật khẩu",登入:"Đăng nhập",注册:"Đăng ký",忘记密码:"Quên mật khẩu","# 订单号":"# Mã đơn hàng",周期:"Chu Kỳ",订单金额:"Tiền đơn hàng",订单状态:"Trạng thái đơn",创建时间:"Thời gian tạo",操作:"Thao tác",查看详情:"Xem chi tiết",请选择支付方式:"Chọn phương thức thanh toán",请检查信用卡支付信息:"Hãy kiểm tra thông tin thẻ thanh toán",订单详情:"Chi tiết đơn hàng",折扣:"Chiết khấu",折抵:"Giảm giá",退款:"Hoàn lại",支付方式:"Phương thức thanh toán",填写信用卡支付信息:"Điền thông tin Thẻ Tín Dụng","您的信用卡信息只会被用作当次扣款,系统并不会保存,这是我们认为最安全的。":"Thông tin thẻ tín dụng của bạn sẽ chỉ được sử dụng cho lần thanh toán này, hệ thống sẽ không lưu thông tin đó, chúng tôi nghĩ đây à cách an toàn nhất.",订单总额:"Tổng tiền đơn hàng",总计:"Tổng",结账:"Kết toán",等待支付中:"Đang chờ thanh toán","订单系统正在进行处理,请稍等1-3分钟。":"Hệ thống đang xử lý đơn hàng, vui lòng đợi 1-3p.","订单由于超时支付已被取消。":"Do quá giờ nên đã hủy đơn hàng.","订单已支付并开通。":"Đơn hàng đã thanh toán và mở.",选择订阅:"Chọn gói",立即订阅:"Mua gói ngay",配置订阅:"Thiết lập gói",付款周期:"Chu kỳ thanh toán","有优惠券?":"Có phiếu giảm giá?",验证:"Xác minh",下单:"Đặt hàng","变更订阅会导致当前订阅被新订阅覆盖,请注意。":"Việc thay đổi gói dịch vụ sẽ thay thế gói hiện tại bằng gói mới, xin lưu ý.",该订阅无法续费:"Gói này không thể gia hạn",选择其他订阅:"Chọn gói dịch vụ khác",我的钱包:"Ví tiền của tôi","账户余额(仅消费)":"Số dư tài khoản (Chỉ tiêu dùng)","推广佣金(可提现)":"Tiền hoa hồng giới thiệu (Được rút)",钱包组成部分:"Thành phần ví tiền",划转:"Chuyển khoản",推广佣金提现:"Rút tiền hoa hồng giới thiệu",修改密码:"Đổi mật khẩu",保存:"Lưu",旧密码:"Mật khẩu cũ",新密码:"Mật khẩu mới",请输入旧密码:"Hãy nhập mật khẩu cũ",请输入新密码:"Hãy nhập mật khẩu mới",通知:"Thông Báo",到期邮件提醒:"Mail nhắc đến hạn",流量邮件提醒:"Mail nhắc dung lượng",绑定Telegram:"Liên kết Telegram",立即开始:"Bắt Đầu",重置订阅信息:"Reset thông tin gói",重置:"Reset","确定要重置订阅信息?":"Xác nhận reset thông tin gói?","如果你的订阅地址或信息泄露可以进行此操作。重置后你的UUID及订阅将会变更,需要重新进行订阅。":"Nếu địa chỉ hoặc thông tin gói dịch vụ của bạn bị tiết lộ có thể tiến hành thao tác này. Sau khi reset UUID sẽ thay đổi.",重置成功:"Reset thành công",两次新密码输入不同:"Mật khẩu mới xác nhận không khớp",两次密码输入不同:"Mật khẩu xác nhận không khớp","邀请码(选填)":"Mã mời(Điền)",'我已阅读并同意 服务条款':"Tôi đã đọc và đồng ý điều khoản dịch vụ",请同意服务条款:"Hãy đồng ý điều khoản dịch vụ",名称:"Tên",标签:"Nhãn",状态:"Trạng thái",节点五分钟内节点在线情况:"Node trạng thái online trong vòng 5 phút",倍率:"Bội số",使用的流量将乘以倍率进行扣除:"Dung lượng sử dụng nhân với bội số rồi khấu trừ",更多操作:"Thêm thao tác","没有可用节点,如果您未订阅或已过期请":"Chưa có node khả dụng, nếu bạn chưa mua gói hoặc đã hết hạn hãy","确定重置当前已用流量?":"确定重置当前已用流量?","点击「确定」将会跳转到收银台,支付订单后系统将会清空您当月已使用流量。":"Ấn 「OK」 sẽ chuyển đến trang thanh toán, sau khi thanh toán đơn hàng hệ thống sẽ xóa dung lượng đã dùng tháng này của bạn.",确定:"OK",低:"Thấp",中:"Vừa",高:"Cao",主题:"Chủ Đề",工单级别:"Cấp độ",工单状态:"Trạng thái",最后回复:"Trả lời gần đây",已关闭:"Đã đóng",待回复:"Chờ trả lời",已回复:"Đã trả lời",查看:"Xem",关闭:"Đóng",新的工单:"Việc mới",确认:"OK",请输入工单主题:"Hãy nhập chủ đề công việc",工单等级:"Cấp độ công việc",请选择工单等级:"Hãy chọn cấp độ công việc",消息:"Thông tin",请描述你遇到的问题:"Hãy mô tả vấn đề gặp phải",记录时间:"Thời gian ghi",实际上行:"Upload thực tế",实际下行:"Download thực tế",合计:"Cộng","公式:(实际上行 + 实际下行) x 扣费倍率 = 扣除流量":"Công thức: (upload thực tế + download thực tế) x bội số trừ phí = Dung lượng khấu trừ",复制订阅地址:"Sao chép liên kết",导入到:"Nhập vào",一键订阅:"Nhấp chuột để đồng bộ máy chủ",复制订阅:"Sao chép liên kết",推广佣金划转至余额:"Chuyển khoản hoa hồng giới thiệu đến số dư","划转后的余额仅用于{title}消费使用":"Số dư sau khi chuyển khoản chỉ dùng để tiêu dùng {title}",当前推广佣金余额:"Số dư hoa hồng giới thiệu hiện tại",划转金额:"Chuyển tiền",请输入需要划转到余额的金额:"Hãy nhậo số tiền muốn chuyển đến số dư","输入内容回复工单...":"Nhập nội dung trả lời công việc...",申请提现:"Yêu cầu rút tiền",取消:"Hủy",提现方式:"Phương thức rút tiền",请选择提现方式:"Hãy chọn phương thức rút tiền",提现账号:"Rút về tào khoản",请输入提现账号:"Hãy chọn tài khoản rút tiền",我知道了:"OK",第一步:"Bước 1",第二步:"Bước 2",打开Telegram搜索:"Mở Telegram tìm kiếm",向机器人发送你的:"Gửi cho bot","最后更新: {date}":"Cập nhật gần đây: {date}",还有没支付的订单:"Có đơn hàng chưa thanh toán",立即支付:"Thanh toán ngay",条工单正在处理中:" công việc đang xử lý",立即查看:"Xem Ngay",节点状态:"Trạng thái node",商品信息:"Thông tin",产品名称:"Tên sản phẩm","类型/周期":"Loại/Chu kỳ",产品流量:"Dung Lượng",订单信息:"Thông tin đơn hàng",关闭订单:"Đóng đơn hàng",订单号:"Mã đơn hàng",优惠金额:"Tiền ưu đãi",旧订阅折抵金额:"Tiền giảm giá gói cũ",退款金额:"Số tiền hoàn lại",余额支付:"Thanh toán số dư",工单历史:"Lịch sử đơn hàng","已用流量将在 {reset_day} 日后重置":"Dữ liệu đã sử dụng sẽ được đặt lại sau {reset_day} ngày",已用流量已在今日重置:"Dữ liệu đã sử dụng đã được đặt lại trong ngày hôm nay",重置已用流量:"Đặt lại dữ liệu đã sử dụng",查看节点状态:"Xem trạng thái nút","当前已使用流量达{rate}%":"Dữ liệu đã sử dụng hiện tại đạt {rate}%",节点名称:"Tên node","于 {date} 到期,距离到期还有 {day} 天。":"Hết hạn vào {date}, còn {day} ngày.","Telegram 讨论组":"Nhóm Telegram",立即加入:"Vào ngay","该订阅无法续费,仅允许新用户购买":"Đăng ký này không thể gia hạn, chỉ người dùng mới được phép mua",重置当月流量:"Đặt lại dung lượng tháng hiện tại","流量明细仅保留近月数据以供查询。":"Chi tiết dung lượng chỉ lưu dữ liệu của những tháng gần đây để truy vấn.",扣费倍率:"Tỷ lệ khấu trừ",支付手续费:"Phí thủ tục",续费订阅:"Gia hạn đăng ký",学习如何使用:"Hướng dẫn sử dụng",快速将节点导入对应客户端进行使用:"Bạn cần phải mua gói này",对您当前的订阅进行续费:"Gia hạn gói hiện tại",对您当前的订阅进行购买:"Mua gói bạn đã chọn",捷径:"Phím tắt","不会使用,查看使用教程":"Mua gói này nếu bạn đăng ký",使用支持扫码的客户端进行订阅:"Sử dụng ứng dụng quét mã để đăng ký",扫描二维码订阅:"Quét mã QR để đăng ký",续费:"Gia hạn",购买:"Mua",查看教程:"Xem hướng dẫn",注意:"Chú Ý","你还有未完成的订单,购买前需要先进行取消,确定取消先前的订单吗?":"Bạn vẫn còn đơn đặt hàng chưa hoàn thành. Bạn cần hủy trước khi mua. Bạn có chắc chắn muốn hủy đơn đặt hàng trước đó không ?",确定取消:"Đúng/không",返回我的订单:"Quay lại đơn đặt hàng của tôi","如果你已经付款,取消订单可能会导致支付失败,确定取消订单吗?":"Nếu bạn đã thanh toán, việc hủy đơn hàng có thể khiến việc thanh toán không thành công. Bạn có chắc chắn muốn hủy đơn hàng không ?",选择最适合你的计划:"Chọn kế hoạch phù hợp với bạn nhất",全部:"Tất cả",按周期:"Chu kỳ",遇到问题:"Chúng tôi có một vấn đề",遇到问题可以通过工单与我们沟通:"Nếu bạn gặp sự cố, bạn có thể liên lạc với chúng tôi thông qua ",按流量:"Theo lưu lượng",搜索文档:"Tìm kiếm tài liệu",技术支持:"Hỗ trợ kỹ thuật",当前剩余佣金:"Số dư hoa hồng hiện tại",三级分销比例:"Tỷ lệ phân phối cấp 3",累计获得佣金:"Tổng hoa hồng đã nhận","您邀请的用户再次邀请用户将按照订单金额乘以分销等级的比例进行分成。":"Người dùng bạn mời lại mời người dùng sẽ được chia theo tỷ lệ của số tiền đơn hàng nhân với cấp độ phân phối.",发放时间:"Thời gian thanh toán hoa hồng","{number} 人":"{number} người","当你的订阅地址或账户发生泄漏被他人滥用时,可以在此重置订阅信息。避免带来不必要的损失。":"Nếu địa chỉ đăng ký hoặc tài khoản của bạn bị rò rỉ và bị người khác lạm dụng, bạn có thể đặt lại thông tin đăng ký tại đây để tránh mất mát không cần thiết.",再次输入密码:"Nhập lại mật khẩu",返回登陆:"Quay lại Đăng nhập",选填:"Tùy chọn",必填:"Bắt buộc",最后回复时间:"Thời gian Trả lời Cuối cùng",请选项工单等级:"Vui lòng Chọn Mức độ Ưu tiên Công việc",回复:"Trả lời",输入内容回复工单:"Nhập Nội dung để Trả lời Công việc",已生成:"Đã tạo",选择协议:"Chọn Giao thức",自动:"Tự động",流量重置包:"Gói Reset Dữ liệu",复制失败:"Sao chép thất bại",提示:"Thông báo","确认退出?":"Xác nhận Đăng xuất?",已退出登录:"Đã đăng xuất thành công",请输入邮箱地址:"Nhập địa chỉ email","{second}秒后可重新发送":"Gửi lại sau {second} giây",发送成功:"Gửi thành công",请输入账号密码:"Nhập tên đăng nhập và mật khẩu",请确保两次密码输入一致:"Đảm bảo hai lần nhập mật khẩu giống nhau",注册成功:"Đăng ký thành công","重置密码成功,正在返回登录":"Đặt lại mật khẩu thành công, đang quay trở lại trang đăng nhập",确认取消:"Xác nhận Hủy","请注意,变更订阅会导致当前订阅被覆盖。":"Vui lòng lưu ý rằng thay đổi đăng ký sẽ ghi đè lên đăng ký hiện tại.","订单提交成功,正在跳转支付":"Đơn hàng đã được gửi thành công, đang chuyển hướng đến thanh toán.",回复成功:"Trả lời thành công",工单详情:"Chi tiết Ticket",登录成功:"Đăng nhập thành công","确定退出?":"Xác nhận thoát?",支付成功:"Thanh toán thành công",正在前往收银台:"Đang tiến hành thanh toán",请输入正确的划转金额:"Vui lòng nhập số tiền chuyển đúng",划转成功:"Chuyển khoản thành công",提现方式不能为空:"Phương thức rút tiền không được để trống",提现账号不能为空:"Tài khoản rút tiền không được để trống",已绑定:"Đã liên kết",创建成功:"Tạo thành công",关闭成功:"Đóng thành công"},Vk=Object.freeze(Object.defineProperty({__proto__:null,default:rNe},Symbol.toStringTag,{value:"Module"})),iNe={请求失败:"请求失败",月付:"月付",季付:"季付",半年付:"半年付",年付:"年付",两年付:"两年付",三年付:"三年付",一次性:"一次性",重置流量包:"重置流量包",待支付:"待支付",开通中:"开通中",已取消:"已取消",已完成:"已完成",已折抵:"已折抵",待确认:"待确认",发放中:"发放中",已发放:"已发放",无效:"无效",个人中心:"个人中心",登出:"登出",搜索:"搜索",仪表盘:"仪表盘",订阅:"订阅",我的订阅:"我的订阅",购买订阅:"购买订阅",财务:"财务",我的订单:"我的订单",我的邀请:"我的邀请",用户:"用户",我的工单:"我的工单",流量明细:"流量明细",使用文档:"使用文档",绑定Telegram获取更多服务:"绑定 Telegram 获取更多服务",点击这里进行绑定:"点击这里进行绑定",公告:"公告",总览:"总览",该订阅长期有效:"该订阅长期有效",已过期:"已过期","已用 {used} / 总计 {total}":"已用 {used} / 总计 {total}",查看订阅:"查看订阅",邮箱:"邮箱",邮箱验证码:"邮箱验证码",发送:"发送",重置密码:"重置密码",返回登入:"返回登入",邀请码:"邀请码",复制链接:"复制链接",完成时间:"完成时间",佣金:"佣金",已注册用户数:"已注册用户数",佣金比例:"佣金比例",确认中的佣金:"确认中的佣金","佣金将会在确认后会到达你的佣金账户。":"佣金将会在确认后到达您的佣金账户。",邀请码管理:"邀请码管理",生成邀请码:"生成邀请码",佣金发放记录:"佣金发放记录",复制成功:"复制成功",密码:"密码",登入:"登入",注册:"注册",忘记密码:"忘记密码","# 订单号":"# 订单号",周期:"周期",订单金额:"订单金额",订单状态:"订单状态",创建时间:"创建时间",操作:"操作",查看详情:"查看详情",请选择支付方式:"请选择支付方式",请检查信用卡支付信息:"请检查信用卡支付信息",订单详情:"订单详情",折扣:"折扣",折抵:"折抵",退款:"退款",支付方式:"支付方式",填写信用卡支付信息:"填写信用卡支付信息","您的信用卡信息只会被用作当次扣款,系统并不会保存,这是我们认为最安全的。":"您的信用卡信息只会用于当次扣款,系统并不会保存,我们认为这是最安全的。",订单总额:"订单总额",总计:"总计",结账:"结账",等待支付中:"等待支付中","订单系统正在进行处理,请稍等1-3分钟。":"订单系统正在进行处理,请等候 1-3 分钟。","订单由于超时支付已被取消。":"订单由于超时支付已被取消。","订单已支付并开通。":"订单已支付并开通。",选择订阅:"选择订阅",立即订阅:"立即订阅",配置订阅:"配置订阅",付款周期:"付款周期","有优惠券?":"有优惠券?",验证:"验证",下单:"下单","变更订阅会导致当前订阅被新订阅覆盖,请注意。":"请注意,变更订阅会导致当前订阅被新订阅覆盖。",该订阅无法续费:"该订阅无法续费",选择其他订阅:"选择其它订阅",我的钱包:"我的钱包","账户余额(仅消费)":"账户余额(仅消费)","推广佣金(可提现)":"推广佣金(可提现)",钱包组成部分:"钱包组成部分",划转:"划转",推广佣金提现:"推广佣金提现",修改密码:"修改密码",保存:"保存",旧密码:"旧密码",新密码:"新密码",请输入旧密码:"请输入旧密码",请输入新密码:"请输入新密码",通知:"通知",到期邮件提醒:"到期邮件提醒",流量邮件提醒:"流量邮件提醒",绑定Telegram:"绑定 Telegram",立即开始:"立即开始",重置订阅信息:"重置订阅信息",重置:"重置","确定要重置订阅信息?":"确定要重置订阅信息?","如果你的订阅地址或信息泄露可以进行此操作。重置后你的UUID及订阅将会变更,需要重新进行订阅。":"如果您的订阅地址或信息发生泄露可以执行此操作。重置后您的 UUID 及订阅将会变更,需要重新导入订阅。",重置成功:"重置成功",两次新密码输入不同:"两次新密码输入不同",两次密码输入不同:"两次密码输入不同","邀请码(选填)":"邀请码(选填)",'我已阅读并同意 服务条款':'我已阅读并同意 服务条款',请同意服务条款:"请同意服务条款",名称:"名称",标签:"标签",状态:"状态",节点五分钟内节点在线情况:"五分钟内节点在线情况",倍率:"倍率",使用的流量将乘以倍率进行扣除:"使用的流量将乘以倍率进行扣除",更多操作:"更多操作","没有可用节点,如果您未订阅或已过期请":"没有可用节点,如果您未订阅或已过期请","确定重置当前已用流量?":"确定重置当前已用流量?","点击「确定」将会跳转到收银台,支付订单后系统将会清空您当月已使用流量。":"点击「确定」将会跳转到收银台,支付订单后系统将会清空您当月已使用流量。",确定:"确定",低:"低",中:"中",高:"高",主题:"主题",工单级别:"工单级别",工单状态:"工单状态",最后回复:"最后回复",已关闭:"已关闭",待回复:"待回复",已回复:"已回复",查看:"查看",关闭:"关闭",新的工单:"新的工单",确认:"确认",请输入工单主题:"请输入工单主题",工单等级:"工单等级",请选择工单等级:"请选择工单等级",消息:"消息",请描述你遇到的问题:"请描述您遇到的问题",记录时间:"记录时间",实际上行:"实际上行",实际下行:"实际下行",合计:"合计","公式:(实际上行 + 实际下行) x 扣费倍率 = 扣除流量":"公式:(实际上行 + 实际下行) x 扣费倍率 = 扣除流量",复制订阅地址:"复制订阅地址",导入到:"导入到",一键订阅:"一键订阅",复制订阅:"复制订阅",推广佣金划转至余额:"推广佣金划转至余额","划转后的余额仅用于{title}消费使用":"划转后的余额仅用于{title}消费使用",当前推广佣金余额:"当前推广佣金余额",划转金额:"划转金额",请输入需要划转到余额的金额:"请输入需要划转到余额的金额","输入内容回复工单...":"输入内容回复工单...",申请提现:"申请提现",取消:"取消",提现方式:"提现方式",请选择提现方式:"请选择提现方式",提现账号:"提现账号",请输入提现账号:"请输入提现账号",我知道了:"我知道了",第一步:"第一步",第二步:"第二步",打开Telegram搜索:"打开 Telegram 搜索",向机器人发送你的:"向机器人发送您的",最后更新:"{date}",还有没支付的订单:"还有没支付的订单",立即支付:"立即支付",条工单正在处理中:"条工单正在处理中",立即查看:"立即查看",节点状态:"节点状态",商品信息:"商品信息",产品名称:"产品名称","类型/周期":"类型/周期",产品流量:"产品流量",订单信息:"订单信息",关闭订单:"关闭订单",订单号:"订单号",优惠金额:"优惠金额",旧订阅折抵金额:"旧订阅折抵金额",退款金额:"退款金额",余额支付:"余额支付",工单历史:"工单历史","已用流量将在 {reset_day} 日后重置":"已用流量将在 {reset_day} 日后重置",已用流量已在今日重置:"已用流量已在今日重置",重置已用流量:"重置已用流量",查看节点状态:"查看节点状态","当前已使用流量达{rate}%":"当前已使用流量达 {rate}%",节点名称:"节点名称","于 {date} 到期,距离到期还有 {day} 天。":"于 {date} 到期,距离到期还有 {day} 天。","Telegram 讨论组":"Telegram 讨论组",立即加入:"立即加入","该订阅无法续费,仅允许新用户购买":"该订阅无法续费,仅允许新用户购买",重置当月流量:"重置当月流量","流量明细仅保留近月数据以供查询。":"流量明细仅保留近一个月数据以供查询。",扣费倍率:"扣费倍率",支付手续费:"支付手续费",续费订阅:"续费订阅",学习如何使用:"学习如何使用",快速将节点导入对应客户端进行使用:"快速将节点导入对应客户端进行使用",对您当前的订阅进行续费:"对您当前的订阅进行续费",对您当前的订阅进行购买:"对您当前的订阅进行购买",捷径:"捷径","不会使用,查看使用教程":"不会使用,查看使用教程",使用支持扫码的客户端进行订阅:"使用支持扫码的客户端进行订阅",扫描二维码订阅:"扫描二维码订阅",续费:"续费",购买:"购买",查看教程:"查看教程",注意:"注意","你还有未完成的订单,购买前需要先进行取消,确定取消先前的订单吗?":"您还有未完成的订单,购买前需要先取消,确定要取消之前的订单吗?",确定取消:"确定取消",返回我的订单:"返回我的订单","如果你已经付款,取消订单可能会导致支付失败,确定取消订单吗?":"如果您已经付款,取消订单可能会导致支付失败,确定要取消订单吗?",选择最适合你的计划:"选择最适合您的计划",全部:"全部",按周期:"按周期",遇到问题:"遇到问题",遇到问题可以通过工单与我们沟通:"遇到问题可以通过工单与我们沟通",按流量:"按流量",搜索文档:"搜索文档",技术支持:"技术支持",当前剩余佣金:"当前剩余佣金",三级分销比例:"三级分销比例",累计获得佣金:"累计获得佣金","您邀请的用户再次邀请用户将按照订单金额乘以分销等级的比例进行分成。":"您邀请的用户再次邀请用户将按照订单金额乘以分销等级的比例进行分成。",发放时间:"发放时间","{number} 人":"{number} 人","当你的订阅地址或账户发生泄漏被他人滥用时,可以在此重置订阅信息。避免带来不必要的损失。":"当你的订阅地址或账户发生泄漏被他人滥用时,可以在此重置订阅信息。避免带来不必要的损失。",再次输入密码:"再次输入密码",返回登陆:"返回登录",选填:"选填",必填:"必填",最后回复时间:"最后回复时间",请选项工单等级:"请选择工单优先级",回复:"回复",输入内容回复工单:"输入内容回复工单",已生成:"已生成",选择协议:"选择协议",自动:"自动",流量重置包:"流量重置包",复制失败:"复制失败",提示:"提示","确认退出?":"确认退出?",已退出登录:"已成功退出登录",请输入邮箱地址:"请输入邮箱地址","{second}秒后可重新发送":"{second}秒后可重新发送",发送成功:"发送成功",请输入账号密码:"请输入账号密码",请确保两次密码输入一致:"请确保两次密码输入一致",注册成功:"注册成功","重置密码成功,正在返回登录":"重置密码成功,正在返回登录",确认取消:"确认取消","请注意,变更订阅会导致当前订阅被覆盖。":"请注意,变更订阅会导致当前订阅被覆盖。","订单提交成功,正在跳转支付":"订单提交成功,正在跳转支付",回复成功:"回复成功",工单详情:"工单详情",登录成功:"登录成功","确定退出?":"确定退出?",支付成功:"支付成功",正在前往收银台:"正在前往收银台",请输入正确的划转金额:"请输入正确的划转金额",划转成功:"划转成功",提现方式不能为空:"提现方式不能为空",提现账号不能为空:"提现账号不能为空",已绑定:"已绑定",创建成功:"创建成功",关闭成功:"关闭成功"},Wk=Object.freeze(Object.defineProperty({__proto__:null,default:iNe},Symbol.toStringTag,{value:"Module"})),aNe={请求失败:"請求失敗",月付:"月繳制",季付:"季繳",半年付:"半年缴",年付:"年繳",两年付:"兩年繳",三年付:"三年繳",一次性:"一次性",重置流量包:"重置流量包",待支付:"待支付",开通中:"開通中",已取消:"已取消",已完成:"已完成",已折抵:"已折抵",待确认:"待確認",发放中:"發放中",已发放:"已發放",无效:"無效",个人中心:"您的帳戸",登出:"登出",搜索:"搜尋",仪表盘:"儀表板",订阅:"訂閱",我的订阅:"我的訂閱",购买订阅:"購買訂閱",财务:"財務",我的订单:"我的訂單",我的邀请:"我的邀請",用户:"使用者",我的工单:"我的工單",流量明细:"流量明細",使用文档:"說明文件",绑定Telegram获取更多服务:"綁定 Telegram 獲取更多服務",点击这里进行绑定:"點擊這裡進行綁定",公告:"公告",总览:"總覽",该订阅长期有效:"該訂閱長期有效",已过期:"已過期","已用 {used} / 总计 {total}":"已用 {used} / 總計 {total}",查看订阅:"查看訂閱",邮箱:"郵箱",邮箱验证码:"郵箱驗證碼",发送:"傳送",重置密码:"重設密碼",返回登入:"返回登錄",邀请码:"邀請碼",复制链接:"複製鏈接",完成时间:"完成時間",佣金:"佣金",已注册用户数:"已註冊用戶數",佣金比例:"佣金比例",确认中的佣金:"確認中的佣金","佣金将会在确认后会到达你的佣金账户。":"佣金將會在確認後到達您的佣金帳戶。",邀请码管理:"邀請碼管理",生成邀请码:"生成邀請碼",佣金发放记录:"佣金發放記錄",复制成功:"複製成功",密码:"密碼",登入:"登入",注册:"註冊",忘记密码:"忘記密碼","# 订单号":"# 訂單號",周期:"週期",订单金额:"訂單金額",订单状态:"訂單狀態",创建时间:"創建時間",操作:"操作",查看详情:"查看詳情",请选择支付方式:"請選擇支付方式",请检查信用卡支付信息:"請檢查信用卡支付資訊",订单详情:"訂單詳情",折扣:"折扣",折抵:"折抵",退款:"退款",支付方式:"支付方式",填写信用卡支付信息:"填寫信用卡支付資訊","您的信用卡信息只会被用作当次扣款,系统并不会保存,这是我们认为最安全的。":"您的信用卡資訊只會被用作當次扣款,系統並不會保存,我們認為這是最安全的。",订单总额:"訂單總額",总计:"總計",结账:"結賬",等待支付中:"等待支付中","订单系统正在进行处理,请稍等1-3分钟。":"訂單系統正在進行處理,請稍等 1-3 分鐘。","订单由于超时支付已被取消。":"訂單由於支付超時已被取消","订单已支付并开通。":"訂單已支付並開通",选择订阅:"選擇訂閱",立即订阅:"立即訂閱",配置订阅:"配置訂閱",付款周期:"付款週期","有优惠券?":"有優惠券?",验证:"驗證",下单:"下單","变更订阅会导致当前订阅被新订阅覆盖,请注意。":"請注意,變更訂閱會導致當前訂閱被新訂閱覆蓋。",该订阅无法续费:"該訂閱無法續費",选择其他订阅:"選擇其它訂閱",我的钱包:"我的錢包","账户余额(仅消费)":"賬戶餘額(僅消費)","推广佣金(可提现)":"推廣佣金(可提現)",钱包组成部分:"錢包組成部分",划转:"劃轉",推广佣金提现:"推廣佣金提現",修改密码:"修改密碼",保存:"儲存",旧密码:"舊密碼",新密码:"新密碼",请输入旧密码:"請輸入舊密碼",请输入新密码:"請輸入新密碼",通知:"通知",到期邮件提醒:"到期郵件提醒",流量邮件提醒:"流量郵件提醒",绑定Telegram:"綁定 Telegram",立即开始:"立即開始",重置订阅信息:"重置訂閲資訊",重置:"重置","确定要重置订阅信息?":"確定要重置訂閱資訊?","如果你的订阅地址或信息泄露可以进行此操作。重置后你的UUID及订阅将会变更,需要重新进行订阅。":"如果您的訂閱位址或資訊發生洩露可以執行此操作。重置後您的 UUID 及訂閱將會變更,需要重新導入訂閱。",重置成功:"重置成功",两次新密码输入不同:"兩次新密碼輸入不同",两次密码输入不同:"兩次密碼輸入不同","邀请码(选填)":"邀請碼(選填)",'我已阅读并同意 服务条款':'我已閱讀並同意 服務條款',请同意服务条款:"請同意服務條款",名称:"名稱",标签:"標籤",状态:"狀態",节点五分钟内节点在线情况:"五分鐘內節點線上情況",倍率:"倍率",使用的流量将乘以倍率进行扣除:"使用的流量將乘以倍率進行扣除",更多操作:"更多操作","没有可用节点,如果您未订阅或已过期请":"沒有可用節點,如果您未訂閱或已過期請","确定重置当前已用流量?":"確定重置當前已用流量?","点击「确定」将会跳转到收银台,支付订单后系统将会清空您当月已使用流量。":"點擊「確定」將會跳轉到收銀台,支付訂單後系統將會清空您當月已使用流量。",确定:"確定",低:"低",中:"中",高:"高",主题:"主題",工单级别:"工單級別",工单状态:"工單狀態",最后回复:"最新回復",已关闭:"已關閉",待回复:"待回復",已回复:"已回復",查看:"檢視",关闭:"關閉",新的工单:"新的工單",确认:"確認",请输入工单主题:"請輸入工單主題",工单等级:"工單等級",请选择工单等级:"請選擇工單等級",消息:"訊息",请描述你遇到的问题:"請描述您遇到的問題",记录时间:"記錄時間",实际上行:"實際上行",实际下行:"實際下行",合计:"合計","公式:(实际上行 + 实际下行) x 扣费倍率 = 扣除流量":"公式:(實際上行 + 實際下行) x 扣費倍率 = 扣除流量",复制订阅地址:"複製訂閲位址",导入到:"导入到",一键订阅:"一鍵訂閲",复制订阅:"複製訂閲",推广佣金划转至余额:"推廣佣金劃轉至餘額","划转后的余额仅用于{title}消费使用":"劃轉后的餘額僅用於 {title} 消費使用",当前推广佣金余额:"當前推廣佣金餘額",划转金额:"劃轉金額",请输入需要划转到余额的金额:"請輸入需要劃轉到餘額的金額","输入内容回复工单...":"輸入内容回復工單…",申请提现:"申請提現",取消:"取消",提现方式:"提現方式",请选择提现方式:"請選擇提現方式",提现账号:"提現賬號",请输入提现账号:"請輸入提現賬號",我知道了:"我知道了",第一步:"步驟一",第二步:"步驟二",打开Telegram搜索:"打開 Telegram 並搜索",向机器人发送你的:"向機器人發送您的","最后更新: {date}":"最後更新: {date}",还有没支付的订单:"還有未支付的訂單",立即支付:"立即支付",条工单正在处理中:"條工單正在處理中",立即查看:"立即檢視",节点状态:"節點狀態",商品信息:"商品資訊",产品名称:"產品名稱","类型/周期":"類型/週期",产品流量:"產品流量",订单信息:"訂單信息",关闭订单:"關閉訂單",订单号:"訂單號",优惠金额:"優惠金額",旧订阅折抵金额:"舊訂閲折抵金額",退款金额:"退款金額",余额支付:"餘額支付",工单历史:"工單歷史","已用流量将在 {reset_day} 日后重置":"已用流量將在 {reset_day} 日后重置",已用流量已在今日重置:"已用流量已在今日重置",重置已用流量:"重置已用流量",查看节点状态:"查看節點狀態","当前已使用流量达{rate}%":"當前已用流量達 {rate}%",节点名称:"節點名稱","于 {date} 到期,距离到期还有 {day} 天。":"於 {date} 到期,距離到期還有 {day} 天。","Telegram 讨论组":"Telegram 討論組",立即加入:"立即加入","该订阅无法续费,仅允许新用户购买":"該訂閲無法續費,僅允許新用戶購買",重置当月流量:"重置當月流量","流量明细仅保留近月数据以供查询。":"流量明細僅保留近一個月資料以供查詢。",扣费倍率:"扣费倍率",支付手续费:"支付手續費",续费订阅:"續費訂閲",学习如何使用:"學習如何使用",快速将节点导入对应客户端进行使用:"快速將訂閲導入對應的客戶端進行使用",对您当前的订阅进行续费:"對您的當前訂閲進行續費",对您当前的订阅进行购买:"重新購買您的當前訂閲",捷径:"捷徑","不会使用,查看使用教程":"不會使用,檢視使用檔案",使用支持扫码的客户端进行订阅:"使用支持掃碼的客戶端進行訂閲",扫描二维码订阅:"掃描二維碼訂閲",续费:"續費",购买:"購買",查看教程:"查看教程",注意:"注意","你还有未完成的订单,购买前需要先进行取消,确定取消先前的订单吗?":"您还有未完成的订单,购买前需要先取消,确定要取消之前的订单吗?",确定取消:"確定取消",返回我的订单:"返回我的訂單","如果你已经付款,取消订单可能会导致支付失败,确定取消订单吗?":"如果您已經付款,取消訂單可能會導致支付失敗,確定要取消訂單嗎?",选择最适合你的计划:"選擇最適合您的計劃",全部:"全部",按周期:"按週期",遇到问题:"遇到問題",遇到问题可以通过工单与我们沟通:"遇到問題您可以通過工單與我們溝通",按流量:"按流量",搜索文档:"搜尋文檔",技术支持:"技術支援",当前剩余佣金:"当前剩余佣金",三级分销比例:"三级分销比例",累计获得佣金:"累计获得佣金","您邀请的用户再次邀请用户将按照订单金额乘以分销等级的比例进行分成。":"您邀请的用户再次邀请用户将按照订单金额乘以分销等级的比例进行分成。",发放时间:"发放时间","{number} 人":"{number} 人","当你的订阅地址或账户发生泄漏被他人滥用时,可以在此重置订阅信息。避免带来不必要的损失。":"如果您的訂閱地址或帳戶洩漏並被他人濫用,您可以在此重置訂閱資訊,以避免不必要的損失。",再次输入密码:"請再次輸入密碼",返回登陆:"返回登入",选填:"選填",必填:"必填",最后回复时间:"最後回覆時間",请选项工单等级:"請選擇工單優先級",回复:"回覆",输入内容回复工单:"輸入內容回覆工單",已生成:"已生成",选择协议:"選擇協議",自动:"自動",流量重置包:"流量重置包",复制失败:"複製失敗",提示:"提示","确认退出?":"確認退出?",已退出登录:"已成功登出",请输入邮箱地址:"請輸入電子郵件地址","{second}秒后可重新发送":"{second} 秒後可重新發送",发送成功:"發送成功",请输入账号密码:"請輸入帳號和密碼",请确保两次密码输入一致:"請確保兩次密碼輸入一致",注册成功:"註冊成功","重置密码成功,正在返回登录":"重置密碼成功,正在返回登入",确认取消:"確認取消","请注意,变更订阅会导致当前订阅被覆盖。":"請注意,變更訂閱會導致目前的訂閱被覆蓋。","订单提交成功,正在跳转支付":"訂單提交成功,正在跳轉支付",回复成功:"回覆成功",工单详情:"工單詳情",登录成功:"登入成功","确定退出?":"確定退出?",支付成功:"支付成功",正在前往收银台:"正在前往收銀台",请输入正确的划转金额:"請輸入正確的劃轉金額",划转成功:"劃轉成功",提现方式不能为空:"提現方式不能為空",提现账号不能为空:"提現帳號不能為空",已绑定:"已綁定",创建成功:"創建成功",关闭成功:"關閉成功"},Uk=Object.freeze(Object.defineProperty({__proto__:null,default:aNe},Symbol.toStringTag,{value:"Module"}))});export default sNe(); diff --git a/public/theme/Xboard/assets/umi.js.br b/public/theme/Xboard/assets/umi.js.br deleted file mode 100644 index 001f11b7a..000000000 Binary files a/public/theme/Xboard/assets/umi.js.br and /dev/null differ diff --git a/public/theme/Xboard/assets/umi.js.gz b/public/theme/Xboard/assets/umi.js.gz deleted file mode 100644 index 0e6b3412d..000000000 Binary files a/public/theme/Xboard/assets/umi.js.gz and /dev/null differ diff --git a/public/theme/Xboard/config.json b/public/theme/Xboard/config.json deleted file mode 100644 index 4268ecd74..000000000 --- a/public/theme/Xboard/config.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "Xboard", - "description": "Xboard", - "version": "1.0.0", - "images": "", - "configs": [ - { - "label": "主题色", - "placeholder": "请选择主题颜色", - "field_name": "theme_color", - "field_type": "select", - "select_options": { - "default": "默认(绿色)", - "blue": "蓝色", - "black": "黑色", - "darkblue": "暗蓝色" - }, - "default_value": "default" - }, - { - "label": "背景", - "placeholder": "请输入背景图片URL", - "field_name": "background_url", - "field_type": "input" - }, - { - "label": "自定义页脚HTML", - "placeholder": "可以实现客服JS代码的加入等", - "field_name": "custom_html", - "field_type": "textarea" - } - ] -} diff --git a/public/theme/Xboard/dashboard.blade.php b/public/theme/Xboard/dashboard.blade.php deleted file mode 100644 index 3c9afc852..000000000 --- a/public/theme/Xboard/dashboard.blade.php +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - {{$title}} - - - - - - -
- {!! $theme_config['custom_html'] !!} - - - \ No newline at end of file diff --git a/resources/lang/en-US.json b/resources/lang/en-US.json index 3007aa989..1007453a9 100644 --- a/resources/lang/en-US.json +++ b/resources/lang/en-US.json @@ -95,5 +95,23 @@ "Sending frequently, please try again later": "Sending frequently, please try again later", "Current product is sold out": "Current product is sold out", "There are too many password errors, please try again after :minute minutes.": "There are too many password errors, please try again after :minute minutes.", - "Reset failed, Please try again later": "Reset failed, Please try again later" + "Reset failed, Please try again later": "Reset failed, Please try again later", + "Subscribe": "Subscribe", + "User Information": "User Information", + "Username": "Username", + "Status": "Status", + "Active": "Active", + "Inactive": "Inactive", + "Data Used": "Data Used", + "Data Limit": "Data Limit", + "Expiration Date": "Expiration Date", + "Reset In": "Reset In", + "Days": "Days", + "Subscription Link": "Subscription Link", + "Copy": "Copy", + "Copied": "Copied", + "QR Code": "QR Code", + "Unlimited": "Unlimited", + "Device Limit": "Device Limit", + "Devices": "Devices" } diff --git a/resources/lang/zh-CN.json b/resources/lang/zh-CN.json index 6d11779f3..b6a4251c8 100644 --- a/resources/lang/zh-CN.json +++ b/resources/lang/zh-CN.json @@ -95,5 +95,23 @@ "Sending frequently, please try again later": "发送频繁,请稍后再试", "Current product is sold out": "当前商品已售罄", "There are too many password errors, please try again after :minute minutes.": "密码错误次数过多,请 :minute 分钟后再试", - "Reset failed, Please try again later": "重置失败,请稍后再试" + "Reset failed, Please try again later": "重置失败,请稍后再试", + "Subscribe": "订阅信息", + "User Information": "用户信息", + "Username": "用户名", + "Status": "状态", + "Active": "正常", + "Inactive": "未激活", + "Data Used": "已用流量", + "Data Limit": "流量限制", + "Expiration Date": "到期时间", + "Reset In": "距离重置", + "Days": "天", + "Subscription Link": "订阅链接", + "Copy": "复制", + "Copied": "已复制", + "QR Code": "二维码", + "Unlimited": "长期有效", + "Device Limit": "设备限制", + "Devices": "台设备" } diff --git a/resources/lang/zh-TW.json b/resources/lang/zh-TW.json index eff5f587b..c83473e05 100644 --- a/resources/lang/zh-TW.json +++ b/resources/lang/zh-TW.json @@ -95,5 +95,23 @@ "Sending frequently, please try again later": "發送頻繁,請稍後再試", "Current product is sold out": "當前商品已售罄", "There are too many password errors, please try again after :minute minutes.": "密碼錯誤次數過多,請 :minute 分鐘後再試", - "Reset failed, Please try again later": "重置失敗,請稍後再試" + "Reset failed, Please try again later": "重置失敗,請稍後再試", + "Subscribe": "訂閱資訊", + "User Information": "用戶資訊", + "Username": "用戶名", + "Status": "狀態", + "Active": "正常", + "Inactive": "未啟用", + "Data Used": "已用流量", + "Data Limit": "流量限制", + "Expiration Date": "到期時間", + "Reset In": "距離重置", + "Days": "天", + "Subscription Link": "訂閱連結", + "Copy": "複製", + "Copied": "已複製", + "QR Code": "二維碼", + "Unlimited": "長期有效", + "Device Limit": "設備限制", + "Devices": "台設備" } diff --git a/resources/views/admin.blade.php b/resources/views/admin.blade.php index 0f7eef98b..6a3dc2346 100644 --- a/resources/views/admin.blade.php +++ b/resources/views/admin.blade.php @@ -7,14 +7,19 @@ {{ $title }} - - + + + + + + diff --git a/resources/views/client/subscribe.blade.php b/resources/views/client/subscribe.blade.php new file mode 100644 index 000000000..9895b7742 --- /dev/null +++ b/resources/views/client/subscribe.blade.php @@ -0,0 +1,296 @@ + + + + + + + {{ __('Subscribe') }} + + + + +
+

{{ __('User Information') }}

+ +
+
+
{{ __('Username') }}
+
{{ $username }}
+
+ +
+
{{ __('Status') }}
+
+ + {{ $status === 'active' ? __('Active') : __('Inactive') }} + +
+
+ +
+
{{ __('Data Used') }}
+
{{ $data_used }}
+
+ +
+
{{ __('Data Limit') }}
+
{{ $data_limit }}
+
+ +
+
{{ __('Expiration Date') }}
+
{{ $expired_date }}
+
+ + @if (isset($device_limit)) +
+
{{ __('Device Limit') }}
+
{{ $device_limit }} {{ __('Devices') }}
+
+ @endif + + @if ($reset_day) +
+
{{ __('Reset In') }}
+
{{ $reset_day }} {{ __('Days') }}
+
+ @endif +
+ + +
+ + + + + diff --git a/resources/views/mail/classic/notify.blade.php b/resources/views/mail/classic/notify.blade.php index 1d08b70e9..61cba96b4 100644 --- a/resources/views/mail/classic/notify.blade.php +++ b/resources/views/mail/classic/notify.blade.php @@ -1,242 +1,187 @@ - -
-
- - - - - - -
- - Unit A11/2a Westall Rd, Clayton VIC 3168, Australia | 61 3 9018 5678 - - - - - - -
- -
-
-
- -
-
-
- -
-
-
-
- - {%ShippingOption.ShippingOptionDisplayName#%} -
-
-
-
-
- - {%IfEmpty(Customer.CustomerCompany, "", HTMLEncode(Customer.CustomerCompany) + "
")#%}
- - {%IfEmpty(ShippingAddress.AddressPersonalName, "", HTMLEncode(ShippingAddress.AddressPersonalName) + "
")#%}{%HTMLEncode(ShippingAddress.AddressFirstName)#%} - {%HTMLEncode(ShippingAddress.AddressLastName)#%} - {% IfEmpty(ShippingAddress.AddressPhone, "", "Tel: " + HTMLEncode(ShippingAddress.AddressPhone) + "
") #%} - {%HTMLEncode(ShippingAddress.AddressLine1)#%}, - {%HTMLEncode(ShippingAddress.AddressLine2)==""?"":HTMLEncode(ShippingAddress.AddressLine2)+","#%} - {%HTMLEncode(ShippingAddress.AddressCity)#%}, - {%HTMLEncode(ShippingAddress.AddressState.DisplayName)#%}, - {%HTMLEncode(ShippingAddress.AddressZip)#%},{%HTMLEncode(ShippingAddress.AddressCountry.CountryDisplayName)#%}. -
- {% IfEmpty(Order.OrderNote, "", "
- Order Note: - " + HTMLEncode(Order.OrderNote) + "
") #%} -
-
- -
-
-
-
-
-
- -
-
-
-
- - -
-
-
-
-
-
- - {%foreach (item in Order.OrderItems) { %} - - - - - -
- {%item.OrderItemSKUName%} - -

{%item.OrderItemSKUName%}

-

{%item.OrderItemSKU.SKUNumber%}

-

Quantity : {%item.OrderItemUnitCount%}

-

- {%FormatPrice(item.OrderItemTotalPrice)%}

- {%if (GetOrderItemDiscount(item.OrderItemID).Any()) {%} - {%foreach (x in GetOrderItemDiscount(item.OrderItemID)) { %} -

***Special offers: {%StripTags(x.Name)%} - (-{%(x.Value == item.OrderItemTotalPrice ? "Limited Time Offer!!! " : "") + FormatPrice(x.Value)%}) -

- {%}%} - {%}%} -
{%}#%} - -
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Subtotal: - - {%FormatPrice(Order.OrderItems.Sum("OrderItemTotalPrice")#%} -
- Total GST 10%: - - {%FormatPrice(Order.OrderTotalTax#%} -
- Shipping - - {%FormatPrice(Order.OrderTotalShipping#%} -
- Discounts: - {%HTMLEncode(GetOrderCouponCodes(Order.OrderCouponCodes))#%} - - - - {%FormatPrice(TotalCartItemLevelDiscount(GetShoppingCartInfoFromOrder(Order.OrderID))+TotalCartLevelDiscount(GetShoppingCartInfoFromOrder(Order.OrderID)))#%} - -
-
-
- Total: - - {%FormatPrice(Order.OrderGrandTotal)#%} -
- -
-
-
-
-
-
- -
-
-
-
- - {%IfEmpty(Customer.CustomerCompany, "", HTMLEncode(Customer.CustomerCompany) + "
")#%} - {%IfEmpty(ShippingAddress.AddressPersonalName, "", HTMLEncode(ShippingAddress.AddressPersonalName) + "
")#%} - {%HTMLEncode(BillingAddress.AddressFirstName)#%} - {%HTMLEncode(BillingAddress.AddressLastName)#%} - {% IfEmpty(BillingAddress.AddressPhone, "", "Tel: " + HTMLEncode(BillingAddress.AddressPhone) + "
") #%} - {%HTMLEncode(BillingAddress.AddressLine1)#%}, - {%HTMLEncode(BillingAddress.AddressLine2)==""?"":HTMLEncode(BillingAddress.AddressLine2)+","#%} - {%HTMLEncode(BillingAddress.AddressCity)#%}, - {%HTMLEncode(BillingAddress.AddressState.DisplayName)#%}, - {%HTMLEncode(BillingAddress.AddressZip)#%},{%HTMLEncode(BillingAddress.AddressCountry.CountryDisplayName)#%}.
-
-
-
+ + -
-
-
- {%Order.OrderPaymentOption.DisplayName#%} -
-
- - {%Order.OrderCouponCodes#%} -
-
-
-
-
-
- -
-
-
- -
-
- -
-
- CUSTOMERS MUST NOTIFY ABZ PACKAGING CUSTOMER SUPPORT IN WRITING TO - sales@abzpackaging.com.au - WITHIN 14 DAYS OF RECEIPT OF GOODS IF THEY HAVE RECEIVED THE INCORRECT PRODUCT OR IT - DOES NOT MEET REQUIREMENTS. - CUSTOMERS THEN HAVE 30 DAYS TO RETURN THE ITEM IF APPROVED BY ABZ PACKAGING. - READ THE FULL POLICY HERE: - - www.abzpackaging.com.au/returns-refund-policy - -
+ + + 网站通知 + + + + + + + + + + +
+ +
+ + + + + + + +
+ 网站通知 +
+ + + + + + + + + + + + + +
+ Dear Customer +
+ {!! nl2br($content) !!} +
+ (本邮件由系统自动发出,请勿直接回复) +
+ 登录 {{$name}} +
+
+ -
- - - \ No newline at end of file +
+
+ + + \ No newline at end of file diff --git a/routes/channels.php b/routes/channels.php index 2bcb553ba..12c1b9138 100755 --- a/routes/channels.php +++ b/routes/channels.php @@ -1,5 +1,8 @@ middleware('client')->name('client.subscribe'); Route::get('/', function (Request $request) { if (admin_setting('app_url') && admin_setting('safe_mode_enable', 0)) { @@ -22,22 +24,52 @@ abort(403); } } - $renderParams = [ - 'title' => admin_setting('app_name', 'Xboard'), - 'theme' => admin_setting('frontend_theme', 'Xboard'), - 'version' => config('app.version'), - 'description' => admin_setting('app_description', 'Xboard is best'), - 'logo' => admin_setting('logo') - ]; $theme = admin_setting('frontend_theme', 'Xboard'); + $themeService = new ThemeService(); - if (!admin_setting("theme_{$theme}")) { - ThemeService::switchTheme($theme); - } + try { + // 检查主题是否存在,不存在则尝试切换到默认主题 + if (!$themeService->exists($theme)) { + if ($theme !== 'Xboard') { + Log::warning('Theme not found, switching to default theme', ['theme' => $theme]); + $theme = 'Xboard'; + admin_setting(['frontend_theme' => $theme]); + } + $themeService->switch($theme); + } + + // 检查主题视图文件是否存在 + if (!$themeService->getThemeViewPath($theme)) { + throw new Exception('主题视图文件不存在'); + } - $renderParams['theme_config'] = (new ThemeService())->getConfig($theme); - return view('theme::' . $theme . '.dashboard', $renderParams); + // 检查主题是否已复制到public目录 + $publicThemePath = public_path('theme/' . $theme); + if (!File::exists($publicThemePath)) { + $themePath = $themeService->getThemePath($theme); + if (!$themePath || !File::copyDirectory($themePath, $publicThemePath)) { + throw new Exception('主题初始化失败'); + } + Log::info('Theme initialized in public directory', ['theme' => $theme]); + } + + $renderParams = [ + 'title' => admin_setting('app_name', 'Xboard'), + 'theme' => $theme, + 'version' => config('app.version'), + 'description' => admin_setting('app_description', 'Xboard is best'), + 'logo' => admin_setting('logo'), + 'theme_config' => $themeService->getConfig($theme) + ]; + return view('theme::' . $theme . '.dashboard', $renderParams); + } catch (Exception $e) { + Log::error('Theme rendering failed', [ + 'theme' => $theme, + 'error' => $e->getMessage() + ]); + abort(500, '主题加载失败'); + } }); //TODO:: 兼容 @@ -53,3 +85,7 @@ 'secure_path' => admin_setting('secure_path', admin_setting('frontend_admin_path', hash('crc32b', config('app.key')))) ]); }); + +Route::get('/' . (admin_setting('subscribe_path', 's')) . '/{token}', [\App\Http\Controllers\V1\Client\ClientController::class, 'subscribe']) + ->middleware('client') + ->name('client.subscribe'); \ No newline at end of file diff --git a/routes/websocket.php b/routes/websocket.php deleted file mode 100644 index ddebfe146..000000000 --- a/routes/websocket.php +++ /dev/null @@ -1,26 +0,0 @@ -emit('message', $data); -}); diff --git a/server.php b/server.php deleted file mode 100755 index 7f109d961..000000000 --- a/server.php +++ /dev/null @@ -1,21 +0,0 @@ - - */ - -$uri = urldecode( - parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH) -); - -// This file allows us to emulate Apache's "mod_rewrite" functionality from the -// built-in PHP web server. This provides a convenient way to test a Laravel -// application without having installed a "real" web server software here. -if ($uri !== '/' && file_exists(__DIR__ . '/public' . $uri)) { - return false; -} - -require_once __DIR__ . '/public/index.php'; diff --git a/start.php b/start.php deleted file mode 100644 index 01c8bf72e..000000000 --- a/start.php +++ /dev/null @@ -1,38 +0,0 @@ -make(Illuminate\Contracts\Http\Kernel::class); - - -function run() -{ - global $kernel; - - ob_start(); - - $response = $kernel->handle( - $request = Illuminate\Http\Request::capture() - ); - - $response->send(); - - $kernel->terminate($request, $response); - - return ob_get_clean(); -} - diff --git a/storage/theme/.gitignore b/storage/theme/.gitignore new file mode 100644 index 000000000..c96a04f00 --- /dev/null +++ b/storage/theme/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore \ No newline at end of file diff --git a/tests/Bootstrap.php b/tests/Bootstrap.php deleted file mode 100755 index 5fa7829c6..000000000 --- a/tests/Bootstrap.php +++ /dev/null @@ -1,42 +0,0 @@ -createApplication()->make(Kernel::class); - - $commands = [ - 'config:cache', - 'event:cache', - ]; - - foreach ($commands as $command) { - $console->call($command); - } - } - - public function executeAfterLastTest(): void - { - array_map('unlink', glob('bootstrap/cache/*.phpunit.php')); - } -} diff --git a/tests/CreatesApplication.php b/tests/CreatesApplication.php deleted file mode 100755 index ab9240255..000000000 --- a/tests/CreatesApplication.php +++ /dev/null @@ -1,22 +0,0 @@ -make(Kernel::class)->bootstrap(); - - return $app; - } -} diff --git a/tests/Feature/ExampleTest.php b/tests/Feature/ExampleTest.php deleted file mode 100755 index cdb511193..000000000 --- a/tests/Feature/ExampleTest.php +++ /dev/null @@ -1,21 +0,0 @@ -get('/'); - - $response->assertStatus(200); - } -} diff --git a/tests/TestCase.php b/tests/TestCase.php deleted file mode 100755 index 2932d4a69..000000000 --- a/tests/TestCase.php +++ /dev/null @@ -1,10 +0,0 @@ -assertTrue(true); - } -} diff --git a/theme/Xboard/config.json b/theme/Xboard/config.json index 4268ecd74..bcecdbf52 100644 --- a/theme/Xboard/config.json +++ b/theme/Xboard/config.json @@ -1,33 +1,35 @@ { - "name": "Xboard", - "description": "Xboard", - "version": "1.0.0", - "images": "", - "configs": [ - { - "label": "主题色", - "placeholder": "请选择主题颜色", - "field_name": "theme_color", - "field_type": "select", - "select_options": { - "default": "默认(绿色)", - "blue": "蓝色", - "black": "黑色", - "darkblue": "暗蓝色" - }, - "default_value": "default" - }, - { - "label": "背景", - "placeholder": "请输入背景图片URL", - "field_name": "background_url", - "field_type": "input" - }, - { - "label": "自定义页脚HTML", - "placeholder": "可以实现客服JS代码的加入等", - "field_name": "custom_html", - "field_type": "textarea" - } - ] + "name": "Xboard", + "description": "Xboard", + "version": "1.0.0", + "images": [ + "https://raw.githubusercontent.com/cedar2025/Xboard/new/docs/images/dashboard.png" + ], + "configs": [ + { + "label": "主题色", + "placeholder": "请选择主题颜色", + "field_name": "theme_color", + "field_type": "select", + "select_options": { + "default": "默认(绿色)", + "blue": "蓝色", + "black": "黑色", + "darkblue": "暗蓝色" + }, + "default_value": "default" + }, + { + "label": "背景", + "placeholder": "请输入背景图片URL", + "field_name": "background_url", + "field_type": "input" + }, + { + "label": "自定义页脚HTML", + "placeholder": "可以实现客服JS代码的加入等", + "field_name": "custom_html", + "field_type": "textarea" + } + ] } diff --git a/update.sh b/update.sh index 02e77693d..d4a6d0bca 100755 --- a/update.sh +++ b/update.sh @@ -11,12 +11,12 @@ if ! command -v git &> /dev/null; then fi git config --global --add safe.directory $(pwd) -git fetch --all && git reset --hard origin/dev && git pull origin dev +git fetch --all && git reset --hard origin/master && git pull origin master rm -rf composer.lock composer.phar wget https://github.com/composer/composer/releases/latest/download/composer.phar -O composer.phar php composer.phar update -vvv php artisan xboard:update -if [ -f "/etc/init.d/bt" ] || [ "$docker" ]; then +if [ -f "/etc/init.d/bt" ] || [ -f "/.dockerenv" ]; then chown -R www:www $(pwd); fi diff --git a/update_dev.sh b/update_dev.sh deleted file mode 100755 index 2a22baa44..000000000 --- a/update_dev.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash - -if [ ! -d ".git" ]; then - echo "Please deploy using Git." - exit 1 -fi - -if ! command -v git &> /dev/null; then - echo "Git is not installed! Please install git and try again." - exit 1 -fi - -git config --global --add safe.directory $(pwd) -git fetch --all && git reset --hard origin/dev && git pull origin dev -git checkout dev -rm -rf composer.lock composer.phar -wget https://github.com/composer/composer/releases/latest/download/composer.phar -O composer.phar -php composer.phar update -vvv -php artisan xboard:update - -if [ -f "/etc/init.d/bt" ] || [ "$docker" ]; then - chown -R www:www $(pwd); -fi diff --git a/webman.php b/webman.php deleted file mode 100644 index 4c7e28c37..000000000 --- a/webman.php +++ /dev/null @@ -1,79 +0,0 @@ -count = getenv('WEBMAN_WORKERS') ?: max(swoole_cpu_num(), 2); -$http_worker->name = 'Xboard'; -$http_worker->onWorkerStart = static function () { - require __DIR__ . '/start.php'; -}; -$http_worker->onMessage = static function ($connection, $request) { - static $request_count; - $connection->send(run()); - if (++$request_count > 10000) { - Worker::stopAll(); - } -}; - -if (extension_loaded('inotify')) { - $worker = new Worker(); - $worker->name = 'FileMonitor'; - $worker->reloadable = false; - $monitor_dirs = ['app', 'bootstrap', 'config', 'resources', 'routes', 'public', '.env']; - $monitor_files = array(); - - // 进程启动后创建inotify监控句柄 - $worker->onWorkerStart = function ($worker) { - if (!extension_loaded('inotify')) { - echo "FileMonitor : Please install inotify extension.\n"; - return; - } - global $monitor_dirs, $monitor_files; - $worker->inotifyFd = inotify_init(); - stream_set_blocking($worker->inotifyFd, 0); - - foreach ($monitor_dirs as $monitor_dir) { - $monitor_realpath = realpath(__DIR__ . "/{$monitor_dir}"); - addInofity($monitor_realpath, $worker->inotifyFd); - if (is_file($monitor_realpath)) - continue; - $iterator = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($monitor_realpath, \FilesystemIterator::SKIP_DOTS), \RecursiveIteratorIterator::SELF_FIRST); - foreach ($iterator as $file) { - if ($file->isDir()) { - $realpath = realpath($file); - addInofity($realpath, $worker->inotifyFd); - } - } - } - Worker::$globalEvent->add($worker->inotifyFd, EventInterface::EV_READ, 'check_files_change'); - }; -} - -function addInofity(string $realpath, $fd) -{ - global $monitor_files; - $wd = inotify_add_watch($fd, $realpath, IN_MODIFY | IN_CREATE | IN_DELETE); - $monitor_files[$wd] = $realpath; - -} -function check_files_change($inotify_fd) -{ - global $monitor_files; - $events = inotify_read($inotify_fd); - if ($events) { - foreach ($events as $ev) { - $file = $monitor_files[$ev['wd']]; - echo $file . "/{$ev['name']} update and reload\n"; - } - posix_kill(posix_getppid(), SIGUSR1); - } -} -Worker::runAll();